Uploaded image for project: 'Traffic Server'
  1. Traffic Server
  2. TS-4764

cruuid log field is misaligned

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 7.0.0
    • Logging
    • None

    Description

      Triggering an assertion when I use the cruuid log field:

      Thread 13542, [ET_NET 1]:
      0    0x000000000051201d crash_logger_invoke(int, siginfo_t*, void*) + 0x98
      1    0x00002b0664cc0330 __restore_rt + (nil)
      2    0x00002b0665928c37 gsignal + 0x37
      3    0x00002b066592c028 abort + 0x148
      4    0x00002b0663a1ec54 ink_warning(char const*, ...) + (nil)
      5    0x00002b0663a1c5ea ats_base64_encode(unsigned char const*, unsigned long, char*, unsigned long, unsigned long*) + (nil)
      6    0x00000000006d52ea LogFieldList::marshal(LogAccess*, char*) + 0x84
      7    0x00000000006e59ce LogObject::log(LogAccess*, char const*) + 0x6a4
      8    0x00000000006e80b1 LogObjectManager::log(LogAccess*) + 0x7b
      9    0x00000000006c0e6e Log::access(LogAccess*) + 0x29c
      10   0x0000000000641df3 HttpSM::kill_this() + 0x571
      11   0x0000000000631fb2 HttpSM::main_handler(int, void*) + 0x364
      #6  0x00000000006d52ea in LogFieldList::marshal (this=0x1255170, lad=0x7ffff2ee3980, buf=0x12589e8 "") at LogField.cc:790
      790    	    ink_assert(bytes % INK_MIN_ALIGN == 0);
      (gdb) l
      785    	  char *ptr;
      786    	  int bytes = 0;
      787    	  for (LogField *f = first(); f; f = next(f)) {
      788    	    ptr = &buf[bytes];
      789    	    bytes += f->marshal(lad, ptr);
      790    	    ink_assert(bytes % INK_MIN_ALIGN == 0);
      791    	  }
      792    	  return bytes;
      793    	}
      794
      (gdb) p *f
      $1 = {m_name = 0x1257d80 "client_req_uuid", m_symbol = 0x1257da0 "cruuid", m_type = LogField::STRING, m_container = LogField::NO_CONTAINER, m_marshal_func = &virtual table offset 224,
        m_unmarshal_func = 0x6c5254 <LogAccess::unmarshal_str(char**, char*, int, LogSlice*)>, m_unmarshal_func_map = 0x0, m_agg_op = LogField::NO_AGGREGATE, m_agg_cnt = 0, m_agg_val = 0,
        m_milestone1 = TS_MILESTONE_LAST_ENTRY, m_milestone2 = TS_MILESTONE_LAST_ENTRY, m_time_field = false, m_alias_map = {m_ptr = 0x0}, m_set_func = NULL, link = {<SLink<LogField>> = {next = 0x1257dc0},
          prev = 0x1257c00}, m_slice = {m_enable = false, m_start = 0, m_end = 2147483647}}
      (gdb) p bytes
      $2 = 198
      (gdb) p bytes % 8
      $3 = 6
      

      Attachments

        Issue Links

          Activity

            People

              jamespeach James Peach
              jamespeach James Peach
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 1h 10m
                  1h 10m