Skip to content

Core dump due to assertion failure in LogFieldList::marshal_len() in 9.0.2. #8454

@pbchou

Description

@pbchou

Hi. We have observed some core dumps due to an assertion failure in LogFieldList::marshal_len() in ATS 9.0.2.

The back-trace is --

(gdb) bt
#0  0x00002ae205c9d3d7 in raise () from /lib64/libc.so.6
#1  0x00002ae205c9eac8 in abort () from /lib64/libc.so.6
#2  0x00002ae203e3d3fe in ink_abort (message_format=message_format@entry=0x2ae203ea28cf "%s:%d: failed assertion `%s`") at ink_error.cc:99
#3  0x00002ae203e3aa85 in _ink_assert (expression=<optimized out>, file=<optimized out>, line=<optimized out>) at ink_assert.cc:37
#4  0x00000000006263e7 in LogFieldList::marshal_len(LogAccess*) ()
#5  0x000000000063600c in LogObjectManager::log(LogAccess*) ()
#6  0x0000000000614a65 in Log::access(LogAccess*) ()
#7  0x00000000005625f8 in HttpSM::kill_this() ()
#8  0x00000000005629c8 in HttpSM::main_handler(int, void*) ()
#9  0x00000000005b463c in HttpTunnel::main_handler(int, void*) ()
#10 0x0000000000782d2f in write_to_net_io(NetHandler*, UnixNetVConnection*, EThread*) ()
#11 0x000000000076fcac in NetHandler::process_ready_list() ()
#12 0x000000000077001d in NetHandler::waitForActivity(long) ()
#13 0x00000000007c5bd2 in EThread::execute_regular() ()
#14 0x00000000007c633e in EThread::execute() ()
#15 0x00000000007c3e49 in spawn_thread_internal(void*) ()
#16 0x00002ae20502eea5 in start_thread () from /lib64/libpthread.so.0
#17 0x00002ae205d659fd in clone () from /lib64/libc.so.6

The relevant code is --

    803 unsigned
    804 LogFieldList::marshal_len(LogAccess *lad)
    805 {
    806   int bytes = 0;
    807   for (LogField *f = first(); f; f = next(f)) {
    808     if (f->type() != LogField::sINT) {
    809       const int len = f->marshal_len(lad);
    810       ink_release_assert(len >= INK_MIN_ALIGN);
    811       bytes += len;
    812     }
    813   }
    814   return m_marshal_len + bytes;
    815 }

It looks like the assertion was added by commit d0e9277.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions