I now get this fatal in the testsuite (x86_64 with rtldebug):
Doing tests in testsuite (11311 tests)
Testing scoped variables 255:1...
Testing scoped variables 256:1 expecting a compilation error...
Testing scoped variables 16:17...
Testing scoped variables 17:16...
test 578, line 3250
Testing vtables and scope access.
1:2 2:6 3:20 4:73 5:280 6:1118 7:4590 8:19279
/home/mast/Pike/git/src/threads.c:515: Fatal error:
exit_threads_disable() called too many times!
Backtrace at time of fatal:
src/threads.c:2578: unknown function()
testsuite:59: testsuite()->__class_313106_0_line_5()->thread_disabler()
Aborted (core dumped)
(gdb) bt
#0 0x00002b524301ba75 in *__GI_raise (sig=<value optimized out>)
at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#1 0x00002b524301f5c0 in *__GI_abort () at abort.c:92
#2 0x0000000000571eed in debug_va_fatal (
fmt=0x984ce8 "exit_threads_disable() called too many times!\n", args=0x2b5246932c70)
at /home/mast/Pike/git/src/error.c:644
#3 0x0000000000571fb0 in debug_fatal (
fmt=0x984ce8 "exit_threads_disable() called too many times!\n")
at /home/mast/Pike/git/src/error.c:651
#4 0x00000000006ea306 in exit_threads_disable (o=0x35219b0)
at /home/mast/Pike/git/src/threads.c:515
#5 0x0000000000687bd6 in compat_event_handler (e=1)
at /home/mast/Pike/git/src/program.c:3823
#6 0x000000000062cb85 in destruct_object (o=0x35219b0, reason=DESTRUCT_NO_REFS)
at /home/mast/Pike/git/src/object.c:869
#7 0x000000000062d90d in schedule_really_free_object (o=0x35219b0)
at /home/mast/Pike/git/src/object.c:1044
#8 0x00000000007514d4 in really_free_svalue (s=0x2b5246053030)
at /home/mast/Pike/git/src/svalue.c:129
#9 0x00000000004951c7 in eval_instruction_without_debug (pc=0x3434b03 "R\037\t\034\v\262")
at /home/mast/Pike/git/src/interpret_functions.h:527
#10 0x00000000004a746e in eval_instruction (pc=0x3434acc "R\037\t\034\b\262")
at /home/mast/Pike/git/src/interpret.c:1544
#11 0x00000000004b1014 in mega_apply (type=APPLY_STACK, args=1, arg1=0x0, arg2=0x0)
at /home/mast/Pike/git/src/interpret.c:2213
#12 0x00000000004b1299 in f_call_function (args=1)
at /home/mast/Pike/git/src/interpret.c:2266
#13 0x00000000006ec890 in new_thread_func (data=0x7fffe5589170)
at /home/mast/Pike/git/src/threads.c:1111
#14 0x00002b5242b979ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#15 0x00002b52430ce6cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#16 0x0000000000000000 in ?? ()
Git bisect pins it on:
commit d4b72bd
Author: Henrik Grubbström (Grubba) <grubba(a)grubba.org>
Date: Thu Jul 1 11:25:18 2010 +0000
Allocate object storage with xcalloc() to reduce the amount of work for call_c_initializers().