-
Notifications
You must be signed in to change notification settings - Fork 159
Description
When you run queue.bess with g++6 and -Ofast it crashes.
Here's what you see in GDB:
Thread 20 "bessd" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffedb27700 (LWP 41252)]
0x000000000062990e in __llring_mp_do_enqueue (behavior=LLRING_QUEUE_VARIABLE, n=32, obj_table=, r=0x7fffe001a5f0) at modules/../kmod/llring.h:433
433 modules/../kmod/llring.h: No such file or directory.
And the backtrace:
#0 0x000000000062990e in __llring_mp_do_enqueue (behavior=LLRING_QUEUE_VARIABLE, n=32, obj_table=, r=0x7fffe001a5f0) at modules/../kmod/llring.h:433
#1 llring_mp_enqueue_burst (n=32, obj_table=, r=0x7fffe001a5f0) at modules/../kmod/llring.h:1009
#2 Queue::ProcessBatch (this=, batch=0x7fffed916770) at modules/queue.cc:109
#3 0x000000000063a6c6 in Module::RunChooseModule (batch=0x7fffed916770, ogate_idx=0, this=) at modules/../module.h:321
#4 Module::RunNextModule (batch=0x7fffed916770, this=) at modules/../module.h:325
#5 Source::RunTask (this=) at modules/source.cc:83
#6 0x00000000005fa085 in Task::Scheduled (this=) at task.cc:36
#7 0x00000000005f8c0e in bess::LeafTrafficClass::RunTasks (this=0x7fffe0026620) at traffic_class.h:440
#8 bess::Scheduler::ScheduleOnce (this=) at scheduler.h:69
#9 bess::Scheduler::ScheduleLoop (this=0x7fffe4210c10) at scheduler.cc:30
#10 0x00000000005fd9e6 in Worker::Run (this=0x7fffed917340, _arg=_arg@entry=0x7ffff64a84e0) at worker.cc:241
#11 0x00000000005fe063 in run_worker (_arg=0x7ffff64a84e0) at worker.cc:254
#12 0x0000000000b00faf in execute_native_thread_routine ()
#13 0x00007ffff749d6ba in start_thread (arg=0x7fffedb27700) at pthread_create.c:333
#14 0x00007ffff71d382d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
Unfortunately, many of the variables wind up optimized out so it's not easy to figure out how the code winds up at this point...