Re: [Gc] race? leads to segfault in GC_suspend_all's call to pthread_kill

Ivan Maidanski ivmai at mail.ru
Thu May 5 23:56:26 PDT 2011


Hi. 

Run the app under debugger and watch where are that broken stackptr and stack_end values set.

Regards

>Hello,
>
>I use libgc in iwhd (http://git.fedorahosted.org/git/?p=iwhd.git)
>and have been very happy with it so far.
>
>However, when I generate many parallel requests to
>the iwhd daemon, I see this segfault during garbage collection:
>
>Core was generated by `iwhd -c /etc/iwhd/conf.js -d localhost 27017'.
>Program terminated with signal 11, Segmentation fault.
>#0 __pthread_kill (threadid=140339734116096, signo=30)
>at ../nptl/sysdeps/unix/sysv/linux/pthread_kill.c:43
>43    pid_t tid = atomic_forced_read (pd->tid);
>Missing separate debuginfos, use: debuginfo-install hail-0.8-0.2.gf9c5b967.el6_0.x86_64 jansson-1.2-1.el6_0.x86_64 libmicrohttpd-0.9.6-1.el6_0.x86_64 mongodb-1.6.4-3.el6_0.x86_64
>(gdb) p pd
>$1 = (struct pthread *) 0x7fa363fff700
>(gdb) bt
>#0 __pthread_kill (threadid=140339734116096, signo=30)
>at ../nptl/sysdeps/unix/sysv/linux/pthread_kill.c:43
>#1 0x000000308201da67 in GC_suspend_all () at pthread_stop_world.c:355
>#2 0x000000308201dac2 in GC_stop_world () at pthread_stop_world.c:395
>#3 0x000000308200d80f in GC_stopped_mark (stop_func=
>0x308200ccb0 <GC_never_stop_func>) at alloc.c:474
>#4 0x000000308200daef in GC_try_to_collect_inner (stop_func=
>0x308200ccb0 <GC_never_stop_func>) at alloc.c:362
>#5 0x000000308200dccc in GC_collect_or_expand (
>needed_blocks=<value optimized out>, ignore_off_page=<value optimized out>)
>at alloc.c:1017
>#6 0x000000308200e320 in GC_allocobj (gran=42, kind=1) at alloc.c:1064
>#7 0x0000003082012d6a in GC_generic_malloc_inner (lb=536, k=1) at malloc.c:119
>#8 0x0000003082012e18 in GC_generic_malloc (lb=536, k=1) at malloc.c:159
>#9 0x000000308201310e in GC_core_malloc (lb=536) at malloc.c:286
>#10 0x0000000000422611 in access_handler (cctx=0x7fffb4fd3330, conn=
>0x7fa37c001180, url=
>0x7fa35c0008c4 "/images/5f6a5844-b8a2-4071-8b1d-e55ca5045f37/target",
>method=0x7fa35c0008c0 "GET", version=0x7fa35c0008f8 "HTTP/1.1", data=0x0,
>data_size=0x7fa37a0fbaf8, rctx=0x7fa37c0011a8) at rest.c:2176
>#11 0x00000030814044a9 in ?? () from /usr/lib64/libmicrohttpd.so.10
>#12 0x0000003081405648 in MHD_connection_handle_idle ()
>from /usr/lib64/libmicrohttpd.so.10
>#13 0x0000003081409315 in ?? () from /usr/lib64/libmicrohttpd.so.10
>#14 0x00000030780077e1 in start_thread (arg=0x7fa37a0fc700)
>at pthread_create.c:301
>#15 0x00000030778e68ed in clone ()
>at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
>
>Looking at GC_suspend_all's *p, I see that the stack_ptr
>address corresponds to a thread that terminated normally:
>
>(gdb) p *p
>$2 = {
>next = 0x13b3960,
>id = 140319506945792,
>stop_info = {
>last_stop_count = 0,
>stack_ptr = 0x7f9eae5de000 <Address 0x7f9eae5de000 out of bounds>
>},
>flags = 2,
>thread_blocked = 0,
>stack_end = 0x7f9eae5de000 <Address 0x7f9eae5de000 out of bounds>,
>activation_frame = 0x0,
>status = 0x0,
>finalizer_nested = 0,
>finalizer_skipped = 0,
>tlfs = {
>ptrfree_freelists = {0x1 <repeats 25 times>},
>normal_freelists = {0x1, 0xb, 0x4, 0x11, 0x1, 0x7, 0x1, 0x1, 0x1, 0x1, 0xc,
>0x1 <repeats 14 times>},
>gcj_freelists = {0xffffffffffffffff, 0x1 <repeats 24 times>}
>}
>}
>
>Bear in mind that I'm relatively new to using gc,
>so I may have done something wrong. For example,
>a few months ago there was a thread started via a library
>that was not GC-initialized. I learned quickly that
>such threads need to be GC-enabled 
>
>Any suggestion would be most welcome.
>
>Jim
>
>In case it helps, here are all thread backtraces from that same session:
>
>(gdb) thread apply all bt
>
>Thread 16 (Thread 0x7f9eae4dc700 (LWP 11585)):
>#0 __lll_lock_wait_private ()
>at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:100
>#1 0x00007f9eb0b376fe in _L_lock_57 () from /lib64/libc-2.13.90.so
>#2 0x00007f9eb0b375fd in ___printf_chk (flag=-1327648432, format=
>0x4283f0 "%d producer posting %zu bytes as %ld (total %u error %u)\n")
>at printf_chk.c:32
>#3 0x000000000041612a in printf (__fmt=
>0x4283f0 "%d producer posting %zu bytes as %ld (total %u error %u)\n")
>at /usr/include/bits/stdio2.h:105
>#4 pipe_prod_signal (ps=0x13c7d90, ptr=<optimized out>, total=2092)
>at mpipe.c:168
>#5 0x000000000041c05a in proxy_put_data (cctx=<optimized out>, conn=0x122cc80,
>url=0x7f9eaecde014 "/b-13/9756a40c-7668-11e0-0022-0015c5f4d7e4",
>method=<optimized out>, version=<optimized out>, data=<optimized out>,
>data_size=0x7f9eae4dbba8, rctx=0x122cca8) at rest.c:482
>#6 0x000000000041b8c1 in access_handler (cctx=0x7fff61672550, conn=0x122cc80,
>url=0x7f9eaecde014 "/b-13/9756a40c-7668-11e0-0022-0015c5f4d7e4", method=
>0x7f9eaecde010 "PUT", version=0x7f9eaecde03f "HTTP/1.1", data=
>0x7f9eaecde820 "652\n19653\n19654\n19655\n19656\n19657\n19658\n19659\n19660\n19661\n19662\n19663\n19664\n19665\n19666\n19667\n19668\n19669\n19670\n19671\n19672\n19673\n19674\n19675\n19676\n19677\n19678\n19679\n19680\n19681\n19682\n19683\n19684\n1968"..., data_size=0x7f9eae4dbba8, rctx=0x122cca8) at rest.c:2181
>#7 0x00007f9eb127de44 in MHD_connection_handle_idle ()
>from /usr/lib64/libmicrohttpd.so.10
>#8 0x00007f9eb127f67f in ?? () from /usr/lib64/libmicrohttpd.so.10
>#9 0x00007f9eb1698cd1 in start_thread (arg=0x7f9eae4dc700)
>at pthread_create.c:305
>#10 0x00007f9eb0b21dfd in clone ()
>at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
>
>Thread 15 (Thread 0x7f9eaa8d2700 (LWP 11594)):
>#0 pthread_cond_wait@@GLIBC_2.3.2 ()
>at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:165
>#1 0x0000000000416039 in pipe_prod_signal (ps=0x13c7110, ptr=<optimized out>,
>total=<optimized out>) at mpipe.c:172
>#2 0x000000000041c05a in proxy_put_data (cctx=<optimized out>, conn=0x122c980,
>url=0x7f9eae9db014 "/b-13/9756a40c-7668-11e0-0024-0015c5f4d7e4",
>method=<optimized out>, version=<optimized out>, data=<optimized out>,
>data_size=0x7f9eaa8d1ba8, rctx=0x122c9a8) at rest.c:482
>#3 0x000000000041b8c1 in access_handler (cctx=0x7fff61672550, conn=0x122c980,
>url=0x7f9eae9db014 "/b-13/9756a40c-7668-11e0-0024-0015c5f4d7e4", method=
>0x7f9eae9db010 "PUT", version=0x7f9eae9db03f "HTTP/1.1", data=
>0x7f9eae9db820 "10283\n10284\n10285\n10286\n10287\n10288\n10289\n10290\n10291\n10292\n10293\n10294\n10295\n10296\n10297\n10298\n10299\n10300\n10301\n10302\n10303\n10304\n10305\n10306\n10307\n10308\n10309\n10310\n10311\n10312\n10313\n10314\n10315\n10"..., data_size=0x7f9eaa8d1ba8, rctx=0x122c9a8) at rest.c:2181
>#4 0x00007f9eb127de44 in MHD_connection_handle_idle ()
>from /usr/lib64/libmicrohttpd.so.10
>#5 0x00007f9eb127f67f in ?? () from /usr/lib64/libmicrohttpd.so.10
>#6 0x00007f9eb1698cd1 in start_thread (arg=0x7f9eaa8d2700)
>at pthread_create.c:305
>#7 0x00007f9eb0b21dfd in clone ()
>at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
>
>Thread 14 (Thread 0x7f9ead3d9700 (LWP 11580)):
>#0 pthread_cond_wait@@GLIBC_2.3.2 ()
>at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:165
>#1 0x0000000000416039 in pipe_prod_signal (ps=0x13c5110, ptr=<optimized out>,
>total=<optimized out>) at mpipe.c:172
>#2 0x000000000041c05a in proxy_put_data (cctx=<optimized out>, conn=0x122bb50,
>url=0x7f9eaefe1014 "/b-13/9756a40c-7668-11e0-0020-0015c5f4d7e4",
>method=<optimized out>, version=<optimized out>, data=<optimized out>,
>data_size=0x7f9ead3d8ba8, rctx=0x122bb78) at rest.c:482
>#3 0x000000000041b8c1 in access_handler (cctx=0x7fff61672550, conn=0x122bb50,
>url=0x7f9eaefe1014 "/b-13/9756a40c-7668-11e0-0020-0015c5f4d7e4", method=
>0x7f9eaefe1010 "PUT", version=0x7f9eaefe103f "HTTP/1.1", data=
>0x7f9eaefe1820 "\n4719\n4720\n4721\n4722\n4723\n4724\n4725\n4726\n4727\n4728\n4729\n4730\n4731\n4732\n4733\n4734\n4735\n4736\n4737\n4738\n4739\n4740\n4741\n4742\n4743\n4744\n4745\n4746\n4747\n4748\n4749\n4750\n4751\n4752\n4753\n4754\n4755\n4756\n4757\n4758"..., data_size=0x7f9ead3d8ba8, rctx=0x122bb78) at rest.c:2181
>#4 0x00007f9eb127de44 in MHD_connection_handle_idle ()
>from /usr/lib64/libmicrohttpd.so.10
>#5 0x00007f9eb127f67f in ?? () from /usr/lib64/libmicrohttpd.so.10
>#6 0x00007f9eb1698cd1 in start_thread (arg=0x7f9ead3d9700)
>at pthread_create.c:305
>#7 0x00007f9eb0b21dfd in clone ()
>at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
>
>---Type <return> to continue, or q <return> to quit---
>Thread 13 (Thread 0x7f9ea65ce700 (LWP 11581)):
>#0 0x00007f9eb0a78794 in do_sigsuspend (set=0x3dcc669e00)
>at ../sysdeps/unix/sysv/linux/sigsuspend.c:63
>#1 __sigsuspend (set=<optimized out>)
>at ../sysdeps/unix/sysv/linux/sigsuspend.c:78
>#2 0x0000003dcc41f85c in GC_suspend_handler_inner (sig_arg=<optimized out>,
>context=<optimized out>) at pthread_stop_world.c:236
>#3 0x0000003dcc41f8f3 in GC_suspend_handler (sig=30, info=<optimized out>,
>context=0x7f9ea65cd740) at pthread_stop_world.c:165
>#4 <signal handler called>
>#5 0x00007f9eb0b1569d in write () at ../sysdeps/unix/syscall-template.S:82
>#6 0x00007f9eb0ab5373 in _IO_new_file_write (f=0x7f9eb0dd98e0, data=
>0x7f9eb1acb000, n=54) at fileops.c:1268
>#7 0x00007f9eb0ab523a in new_do_write (fp=0x7f9eb0dd98e0, data=
>0x7f9eb1acb000 "8186 consumer done waiting\n8186 consumer done waiting\n023-0015c5f4d7e4\ng policy 0\nor 13\n40c-7668-11e0-0024-0015c5f4d7e4 (1470)\n 1 error 0)\nerror 0)\n-0015c5f4d7e4 (2946)\n8186 consumer about to wait for"..., to_do=
>54) at fileops.c:522
>#8 0x00007f9eb0ab6985 in _IO_new_do_write (fp=<optimized out>,
>data=<optimized out>, to_do=54) at fileops.c:495
>#9 0x00007f9eb0ab58b0 in _IO_new_file_sync (fp=0x7f9eb0dd98e0) at fileops.c:897
>#10 0x00007f9eb0aaaa2b in _IO_fflush (fp=0x7f9eb0dd98e0) at iofflush.c:43
>#11 0x0000000000415b2c in pipe_cons_wait (pp=0x13c12d0) at mpipe.c:78
>#12 0x0000000000408ea3 in fs_put_child (ctx=0x13c12d0) at backend.c:1283
>#13 0x0000003dcc41e702 in GC_inner_start_routine (sb=<optimized out>, arg=
>0x130bf80) at pthread_support.c:1216
>#14 0x0000003dcc418205 in GC_call_with_stack_base (fn=0x36, arg=<optimized out>)
>at misc.c:1361
>#15 0x00007f9eb1698cd1 in start_thread (arg=0x7f9ea65ce700)
>at pthread_create.c:305
>#16 0x00007f9eb0b21dfd in clone ()
>at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
>
>Thread 12 (Thread 0x7f9ea5dcd700 (LWP 11554)):
>#0 __lll_unlock_wake ()
>at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:377
>#1 0x00007f9eb169bf4a in _L_unlock_559 () from /lib64/libpthread-2.13.90.so
>#2 0x00007f9eb169be05 in __pthread_mutex_unlock_usercnt (mutex=0x13c5438, decr=
>0) at pthread_mutex_unlock.c:53
>#3 0x00007f9eb169c978 in pthread_cond_wait@@GLIBC_2.3.2 ()
>at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:94
>#4 0x0000000000416039 in pipe_prod_signal (ps=0x13c5430, ptr=<optimized out>,
>total=<optimized out>) at mpipe.c:172
>#5 0x000000000041c05a in proxy_put_data (cctx=<optimized out>, conn=0x122e470,
>url=0x7f9eaeddf014 "/b-13/9756a40c-7668-11e0-0016-0015c5f4d7e4",
>method=<optimized out>, version=<optimized out>, data=<optimized out>,
>data_size=0x7f9ea5dccba8, rctx=0x122e498) at rest.c:482
>#6 0x000000000041b8c1 in access_handler (cctx=0x7fff61672550, conn=0x122e470,
>url=0x7f9eaeddf014 "/b-13/9756a40c-7668-11e0-0016-0015c5f4d7e4", method=
>0x7f9eaeddf010 "PUT", version=0x7f9eaeddf03f "HTTP/1.1", data=
>0x7f9eaede0296 "18224\n18225\n18226\n18227\n18228\n18229\n18230\n18231\n18232\n18233\n18234\n18235\n18236\n18237\n18238\n18239\n18240\n18241\n18242\n18243\n18244\n18245\n18246\n18247\n18248\n18249\n18250\n18251\n18252\n18253\n18254\n18255\n18256\n18"..., data_size=0x7f9ea5dccba8, rctx=0x122e498) at rest.c:2181
>#7 0x00007f9eb127de44 in MHD_connection_handle_idle ()
>from /usr/lib64/libmicrohttpd.so.10
>#8 0x00007f9eb127f67f in ?? () from /usr/lib64/libmicrohttpd.so.10
>#9 0x00007f9eb1698cd1 in start_thread (arg=0x7f9ea5dcd700)
>at pthread_create.c:305
>#10 0x00007f9eb0b21dfd in clone ()
>at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
>
>Thread 11 (Thread 0x7f9eab0d3700 (LWP 11558)):
>#0 __lll_lock_wait ()
>at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:140
>#1 0x00007f9eb16a1a28 in _L_cond_lock_878 () from /lib64/libpthread-2.13.90.so
>#2 0x00007f9eb16a17e9 in __pthread_mutex_cond_lock (mutex=0x13c5438)
>at ../nptl/pthread_mutex_lock.c:65
>#3 0x00007f9eb169ca99 in pthread_cond_wait@@GLIBC_2.3.2 ()
>at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:239
>#4 0x0000000000415abb in pipe_cons_wait (pp=0x13c15a0) at mpipe.c:77
>#5 0x0000000000408ea3 in fs_put_child (ctx=0x13c15a0) at backend.c:1283
>#6 0x0000003dcc41e702 in GC_inner_start_routine (sb=<optimized out>, arg=
>0x130bf80) at pthread_support.c:1216
>#7 0x0000003dcc418205 in GC_call_with_stack_base (fn=0xfffffffffffffe00,
>arg=<optimized out>) at misc.c:1361
>#8 0x00007f9eb1698cd1 in start_thread (arg=0x7f9eab0d3700)
>at pthread_create.c:305
>#9 0x00007f9eb0b21dfd in clone ()
>at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
>---Type <return> to continue, or q <return> to quit---
>
>Thread 10 (Thread 0x7f9eaa0d1700 (LWP 11588)):
>#0 0x00007f9eb0a78794 in do_sigsuspend (set=0x3dcc669e00)
>at ../sysdeps/unix/sysv/linux/sigsuspend.c:63
>#1 __sigsuspend (set=<optimized out>)
>at ../sysdeps/unix/sysv/linux/sigsuspend.c:78
>#2 0x0000003dcc41f85c in GC_suspend_handler_inner (sig_arg=<optimized out>,
>context=<optimized out>) at pthread_stop_world.c:236
>#3 0x0000003dcc41f8f3 in GC_suspend_handler (sig=30, info=<optimized out>,
>context=0x7f9eaa0d0780) at pthread_stop_world.c:165
>#4 <signal handler called>
>#5 pthread_cond_wait@@GLIBC_2.3.2 ()
>at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:163
>#6 0x0000000000415abb in pipe_cons_wait (pp=0x13c1210) at mpipe.c:77
>#7 0x0000000000408ea3 in fs_put_child (ctx=0x13c1210) at backend.c:1283
>#8 0x0000003dcc41e702 in GC_inner_start_routine (sb=<optimized out>, arg=
>0x130bf80) at pthread_support.c:1216
>#9 0x0000003dcc418205 in GC_call_with_stack_base (fn=0xca, arg=<optimized out>)
>at misc.c:1361
>#10 0x00007f9eb1698cd1 in start_thread (arg=0x7f9eaa0d1700)
>at pthread_create.c:305
>#11 0x00007f9eb0b21dfd in clone ()
>at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
>
>Thread 9 (Thread 0x7f9eadcdb700 (LWP 11587)):
>#0 0x00007f9eb0a78794 in do_sigsuspend (set=0x3dcc669e00)
>at ../sysdeps/unix/sysv/linux/sigsuspend.c:63
>#1 __sigsuspend (set=<optimized out>)
>at ../sysdeps/unix/sysv/linux/sigsuspend.c:78
>#2 0x0000003dcc41f85c in GC_suspend_handler_inner (sig_arg=<optimized out>,
>context=<optimized out>) at pthread_stop_world.c:236
>#3 0x0000003dcc41f8f3 in GC_suspend_handler (sig=30, info=<optimized out>,
>context=0x7f9eadcda780) at pthread_stop_world.c:165
>#4 <signal handler called>
>#5 pthread_cond_wait@@GLIBC_2.3.2 ()
>at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:163
>#6 0x0000000000415abb in pipe_cons_wait (pp=0x13c1270) at mpipe.c:77
>#7 0x0000000000408ea3 in fs_put_child (ctx=0x13c1270) at backend.c:1283
>#8 0x0000003dcc41e702 in GC_inner_start_routine (sb=<optimized out>, arg=
>0x130bf80) at pthread_support.c:1216
>#9 0x0000003dcc418205 in GC_call_with_stack_base (fn=0xca, arg=<optimized out>)
>at misc.c:1361
>#10 0x00007f9eb1698cd1 in start_thread (arg=0x7f9eadcdb700)
>at pthread_create.c:305
>#11 0x00007f9eb0b21dfd in clone ()
>at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
>
>Thread 8 (Thread 0x7f9eaf9e2700 (LWP 8192)):
>#0 0x00007f9eb0b1e707 in munmap () at ../sysdeps/unix/syscall-template.S:82
>#1 0x00007f9eb0abab3a in munmap_chunk (p=0x7f9eaeadc000) at malloc.c:3548
>#2 0x00007f9eb1281930 in MHD_pool_destroy ()
>from /usr/lib64/libmicrohttpd.so.10
>#3 0x00007f9eb127fa98 in ?? () from /usr/lib64/libmicrohttpd.so.10
>#4 0x00007f9eb1280875 in ?? () from /usr/lib64/libmicrohttpd.so.10
>#5 0x00007f9eb1698cd1 in start_thread (arg=0x7f9eaf9e2700)
>at pthread_create.c:305
>#6 0x00007f9eb0b21dfd in clone ()
>at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
>
>Thread 7 (Thread 0x7f9eb1a99800 (LWP 8186)):
>#0 sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
>#1 0x0000000000407a8b in main (argc=8, argv=0x7fff61672678) at rest.c:2414
>
>Thread 6 (Thread 0x7f9ea75d0700 (LWP 11584)):
>#0 __lll_lock_wait ()
>at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:140
>#1 0x00007f9eb169aeb7 in _L_lock_862 () from /lib64/libpthread-2.13.90.so
>#2 0x00007f9eb169ad0b in __pthread_mutex_lock (mutex=0x3dcc6692e0)
>at pthread_mutex_lock.c:65
>#3 0x0000003dcc41e645 in GC_register_my_thread (sb=0x7f9ea75cfb10)
>at pthread_support.c:1168
>#4 0x000000000041b893 in access_handler (cctx=0x7fff61672550, conn=0x122c5c0,
>url=0x7f9eaeee0014 "/b-13/9756a40c-7668-11e0-0021-0015c5f4d7e4", method=
>0x7f9eaeee0010 "PUT", version=0x7f9eaeee003f "HTTP/1.1", data=
>0x7f9eaeee0820 "3\n13094\n13095\n13096\n13097\n13098\n13099\n13100\n13101\n13102\n13103\n13104\n13105\n13106\n13107\n13108\n13109\n13110\n13111\n13112\n13113\n13114\n13115\n13116\n13117\n13118\n13119\n13120\n13121\n13122\n13123\n13124\n13125\n13126\n"..., data_size=0x7f9ea75cfba8, rctx=0x122c5e8) at rest.c:2178
>#5 0x00007f9eb127de44 in MHD_connection_handle_idle ()
>from /usr/lib64/libmicrohttpd.so.10
>---Type <return> to continue, or q <return> to quit---
>#6 0x00007f9eb127f67f in ?? () from /usr/lib64/libmicrohttpd.so.10
>#7 0x00007f9eb1698cd1 in start_thread (arg=0x7f9ea75d0700)
>at pthread_create.c:305
>#8 0x00007f9eb0b21dfd in clone ()
>at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
>
>Thread 5 (Thread 0x7f9eb01e3700 (LWP 8191)):
>#0 sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
>#1 0x00000000004168df in repl_worker (notused=<optimized out>) at replica.c:169
>#2 0x0000003dcc41e702 in GC_inner_start_routine (sb=<optimized out>, arg=
>0x130bfc0) at pthread_support.c:1216
>#3 0x0000003dcc418205 in GC_call_with_stack_base (fn=0xfffffffffffffe00,
>arg=<optimized out>) at misc.c:1361
>#4 0x00007f9eb1698cd1 in start_thread (arg=0x7f9eb01e3700)
>at pthread_create.c:305
>#5 0x00007f9eb0b21dfd in clone ()
>at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
>
>Thread 4 (Thread 0x7f9eac3d7700 (LWP 11595)):
>#0 0x00007f9eb0a78794 in do_sigsuspend (set=0x3dcc669e00)
>at ../sysdeps/unix/sysv/linux/sigsuspend.c:63
>#1 __sigsuspend (set=<optimized out>)
>at ../sysdeps/unix/sysv/linux/sigsuspend.c:78
>#2 0x0000003dcc41f85c in GC_suspend_handler_inner (sig_arg=<optimized out>,
>context=<optimized out>) at pthread_stop_world.c:236
>#3 0x0000003dcc41f8f3 in GC_suspend_handler (sig=30, info=<optimized out>,
>context=0x7f9eac3d6700) at pthread_stop_world.c:165
>#4 <signal handler called>
>#5 __lll_lock_wait_private ()
>at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:98
>#6 0x00007f9eb0aaaac7 in _L_lock_32 () from /lib64/libc-2.13.90.so
>#7 0x00007f9eb0aaaa0f in _IO_fflush (fp=0x7f9eb0dd98e0) at iofflush.c:42
>#8 0x0000000000415b2c in pipe_cons_wait (pp=0x13c10f0) at mpipe.c:78
>#9 0x0000000000408ea3 in fs_put_child (ctx=0x13c10f0) at backend.c:1283
>#10 0x0000003dcc41e702 in GC_inner_start_routine (sb=<optimized out>, arg=
>0x130bf80) at pthread_support.c:1216
>#11 0x0000003dcc418205 in GC_call_with_stack_base (fn=0xca, arg=<optimized out>)
>at misc.c:1361
>#12 0x00007f9eb1698cd1 in start_thread (arg=0x7f9eac3d7700)
>at pthread_create.c:305
>#13 0x00007f9eb0b21dfd in clone ()
>at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
>
>Thread 3 (Thread 0x7f9ea90cf700 (LWP 11549)):
>#0 __lll_lock_wait_private ()
>at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:100
>#1 0x00007f9eb0aaaac7 in _L_lock_32 () from /lib64/libc-2.13.90.so
>#2 0x00007f9eb0aaaa0f in _IO_fflush (fp=0x7f9eb0dd98e0) at iofflush.c:42
>#3 0x00000000004160a5 in pipe_prod_signal (ps=0x13bfd90, ptr=<optimized out>,
>total=<optimized out>) at mpipe.c:173
>#4 0x000000000041c05a in proxy_put_data (cctx=<optimized out>, conn=0x122de70,
>url=0x7f9eb1997014 "/b-13/9756a40c-7668-11e0-0015-0015c5f4d7e4",
>method=<optimized out>, version=<optimized out>, data=<optimized out>,
>data_size=0x7f9ea90ceba8, rctx=0x122de98) at rest.c:482
>#5 0x000000000041b8c1 in access_handler (cctx=0x7fff61672550, conn=0x122de70,
>url=0x7f9eb1997014 "/b-13/9756a40c-7668-11e0-0015-0015c5f4d7e4", method=
>0x7f9eb1997010 "PUT", version=0x7f9eb199703f "HTTP/1.1", data=
>0x7f9eb1997820 "1\n8092\n8093\n8094\n8095\n8096\n8097\n8098\n8099\n8100\n8101\n8102\n8103\n8104\n8105\n8106\n8107\n8108\n8109\n8110\n8111\n8112\n8113\n8114\n8115\n8116\n8117\n8118\n8119\n8120\n8121\n8122\n8123\n8124\n8125\n8126\n8127\n8128\n8129\n8130\n813"..., data_size=0x7f9ea90ceba8, rctx=0x122de98) at rest.c:2181
>#6 0x00007f9eb127de44 in MHD_connection_handle_idle ()
>from /usr/lib64/libmicrohttpd.so.10
>#7 0x00007f9eb127f67f in ?? () from /usr/lib64/libmicrohttpd.so.10
>#8 0x00007f9eb1698cd1 in start_thread (arg=0x7f9ea90cf700)
>at pthread_create.c:305
>#9 0x00007f9eb0b21dfd in clone ()
>at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
>
>Thread 2 (Thread 0x7f9ea45ca700 (LWP 11553)):
>#0 pthread_cond_wait@@GLIBC_2.3.2 ()
>at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:165
>#1 0x0000000000415abb in pipe_cons_wait (pp=0x13c1750) at mpipe.c:77
>#2 0x0000000000408ea3 in fs_put_child (ctx=0x13c1750) at backend.c:1283
>#3 0x0000003dcc41e702 in GC_inner_start_routine (sb=<optimized out>, arg=
>0x130bf80) at pthread_support.c:1216
>#4 0x0000003dcc418205 in GC_call_with_stack_base (fn=0xfffffffffffffe00,
>arg=<optimized out>) at misc.c:1361
>#5 0x00007f9eb1698cd1 in start_thread (arg=0x7f9ea45ca700)
>at pthread_create.c:305
>---Type <return> to continue, or q <return> to quit---
>#6 0x00007f9eb0b21dfd in clone ()
>at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
>
>Thread 1 (Thread 0x7f9eacbd8700 (LWP 11589)):
>#0 __pthread_kill (threadid=140319506945792, signo=30)
>at ../nptl/sysdeps/unix/sysv/linux/pthread_kill.c:43
>#1 0x0000003dcc41f5e6 in GC_suspend_all () at pthread_stop_world.c:404
>#2 0x0000003dcc41f9e0 in GC_stop_world () at pthread_stop_world.c:453
>#3 0x0000003dcc40e652 in GC_stopped_mark (stop_func=
>0x3dcc40d980 <GC_never_stop_func>) at alloc.c:584
>#4 0x0000003dcc40e96a in GC_try_to_collect_inner (stop_func=
>0x3dcc40d980 <GC_never_stop_func>) at alloc.c:436
>#5 0x0000003dcc40ecb7 in GC_collect_or_expand (needed_blocks=1,
>ignore_off_page=0, retry=0) at alloc.c:1212
>#6 0x0000003dcc40f29f in GC_allocobj (gran=1, kind=1) at alloc.c:1299
>#7 0x0000003dcc4142aa in GC_generic_malloc_inner (lb=8, k=1) at malloc.c:126
>#8 0x0000003dcc414358 in GC_generic_malloc (lb=8, k=1) at malloc.c:166
>#9 0x0000003dcc414644 in GC_core_malloc (lb=8) at malloc.c:289
>#10 0x0000000000417950 in yyalloc (size=8, yyscanner=0x131bf00) at qlexer.c:1987
>#11 yyensure_buffer_stack (yyscanner=0x131bf00) at qlexer.c:1532
>#12 yyensure_buffer_stack (yyscanner=0x131bf00) at qlexer.c:1519
>#13 0x00000000004179e4 in yy_switch_to_buffer (new_buffer=0x131cfa0, yyscanner=
>0x131bf00) at qlexer.c:1319
>#14 0x0000000000418f23 in yy_scan_buffer (base=0x13a6000 "0", size=3, yyscanner=
>0x131bf00) at qlexer.c:1593
>#15 0x0000000000418fbc in yy_scan_bytes (yybytes=0x13a6020 "0", _yybytes_len=1,
>yyscanner=0x131bf00) at qlexer.c:1637
>#16 0x00000000004195a3 in parse (text=<optimized out>) at qparser.y:401
>#17 0x0000000000416c4c in replicate (url=
>0x7f9eacbd7990 "b-13/9756a40c-7668-11e0-0023-0015c5f4d7e4", size=108894,
>policy=0x13a6020 "0", ms=0x13c7640) at replica.c:290
>#18 0x000000000041be34 in recheck_replication (ms=0x13c7640, policy=
>0x13a6020 "0") at rest.c:395
>#19 0x000000000041c147 in proxy_put_data (cctx=<optimized out>, conn=0x122c360,
>url=<optimized out>, method=<optimized out>, version=<optimized out>,
>data=<optimized out>, data_size=0x7f9eacbd7b48, rctx=0x122c388)
>at rest.c:511
>#20 0x000000000041b8c1 in access_handler (cctx=0x7fff61672550, conn=0x122c360,
>url=0x7f9eaebdd014 "/b-13/9756a40c-7668-11e0-0023-0015c5f4d7e4", method=
>0x7f9eaebdd010 "PUT", version=0x7f9eaebdd03f "HTTP/1.1", data=0x0,
>data_size=0x7f9eacbd7b48, rctx=0x122c388) at rest.c:2181
>#21 0x00007f9eb127cac9 in ?? () from /usr/lib64/libmicrohttpd.so.10
>#22 0x00007f9eb127d458 in MHD_connection_handle_idle ()
>from /usr/lib64/libmicrohttpd.so.10
>#23 0x00007f9eb127f67f in ?? () from /usr/lib64/libmicrohttpd.so.10
>#24 0x00007f9eb1698cd1 in start_thread (arg=0x7f9eacbd8700)
>at pthread_create.c:305
>#25 0x00007f9eb0b21dfd in clone ()
>at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
>(gdb)
>_______________________________________________
>Gc mailing list
>Gc at linux.hpl.hp.com
>http://www.hpl.hp.com/hosted/linux/mail-archives/gc/
>
>


More information about the Gc mailing list