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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions