I've poked around. It doesn't fail in gdb. (or maybe I just haven't
figured out how to make it fail)
I don't have any good ideas. It could be:
a bug in ntpd that just happens to get triggered in this case
a bug in the hardware
a bug in the OS
a bug in the tool chain
an operator error
I recompiled things. It gets the same error and objdump of both
versions is identical.
Here is something fishy:
#4 0x0000000000437285 in ereallocz (ptr=0x80180a140, newsz=32, priorsz=0,
zero_init=1) at ../../libntp/emalloc.c:43
get_worker_context is growing the array of pointers to worker contexts.
I think it's growing it from empty. If so, ptr should be NULL.
The version in memory is NULL.
That address comes from several layers back the call stack:
#8 0x000000000043c619 in blocking_thread (ThreadArg=0x80180a140)
at ../../libntp/work_thread.c:663
I'll look carefully at the compiled code after some sleep.
I'm up to 6 core dumps now. All identical.
I've poked around. It doesn't fail in gdb. (or maybe I just haven't
figured out how to make it fail)
I don't have any good ideas. It could be:
a bug in ntpd that just happens to get triggered in this case
a bug in the hardware
a bug in the OS
a bug in the tool chain
an operator error
I recompiled things. It gets the same error and objdump of both
versions is identical.
Here is something fishy: emalloc. c:43
#4 0x0000000000437285 in ereallocz (ptr=0x80180a140, newsz=32, priorsz=0,
zero_init=1) at ../../libntp/
get_worker_context is growing the array of pointers to worker contexts.
I think it's growing it from empty. If so, ptr should be NULL.
The version in memory is NULL.
That address comes from several layers back the call stack: 0x80180a140) work_thread. c:663
#8 0x000000000043c619 in blocking_thread (ThreadArg=
at ../../libntp/
I'll look carefully at the compiled code after some sleep.