-
Notifications
You must be signed in to change notification settings - Fork 852
Closed
Labels
Description
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.
Reactions are currently unavailable