[Varnish] #1564: segfault in jemalloc_linux.c

Varnish varnish-bugs at varnish-cache.org
Thu Jul 31 22:11:41 CEST 2014


#1564: segfault in jemalloc_linux.c
----------------------+----------------------
 Reporter:  dcarlier  |       Owner:
     Type:  defect    |      Status:  closed
 Priority:  low       |   Milestone:
Component:  varnishd  |     Version:  unknown
 Severity:  major     |  Resolution:  invalid
 Keywords:            |
----------------------+----------------------
Changes (by phk):

 * status:  new => closed
 * resolution:   => invalid


Old description:

> warning: Could not load shared library symbols for ./vcl.A9lWNYFW.so.
> Do you need "set solib-search-path" or "set sysroot"?
> [Thread debugging using libthread_db enabled]
> Using host libthread_db library "/lib/x86_64-linux-
> gnu/libthread_db.so.1".
> Core was generated by `/opt/local/sbin/varnishd -P /var/run/varnishd.pid
> -a :80 -T localhost:6082 -f /'.
> Program terminated with signal SIGSEGV, Segmentation fault.
> #0  0x000000000046de5b in arena_dalloc_small (arena=0x7f9f74000020,
> chunk=0x7f9f74000000, ptr=0x7f9f740008c0, mapelm=0x7f9f74000020) at
> jemalloc_linux.c:3687
> 3687    jemalloc_linux.c: No such file or directory.
> (gdb) bt
> #0  0x000000000046de5b in arena_dalloc_small (arena=0x7f9f74000020,
> chunk=0x7f9f74000000, ptr=0x7f9f740008c0, mapelm=0x7f9f74000020) at
> jemalloc_linux.c:3687
> #1  0x000000000046e1d5 in arena_dalloc (arena=0x7f9f74000020,
> chunk=0x7f9f74000000, ptr=0x7f9f740008c0) at jemalloc_linux.c:3939
> #2  0x000000000046e244 in idalloc (ptr=0x7f9f740008c0) at
> jemalloc_linux.c:3957
> #3  0x000000000047050a in free (ptr=0x7f9f740008c0) at
> jemalloc_linux.c:5586
> #4  0x00007f9fe9b58fb9 in __GI__dl_deallocate_tls
> (tcb=tcb at entry=0x7f9f9d9fe700, dealloc_tcb=dealloc_tcb at entry=false) at
> dl-tls.c:482
> #5  0x00007f9fe898b027 in __free_stacks (limit=limit at entry=41943040) at
> allocatestack.c:282
> #6  0x00007f9fe898b13f in queue_stack (stack=0x47050a <free+31>) at
> allocatestack.c:310
> #7  __deallocate_stack (pd=pd at entry=0x7f9f9a1f7700) at
> allocatestack.c:771
> #8  0x00007f9fe898c275 in __free_tcb (pd=0x7f9f9a1f7700) at
> pthread_create.c:226
> #9  start_thread (arg=0x7f9f9a1f7700) at pthread_create.c:432
> #10 0x00007f9fe86b930d in clone () at
> ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
> (gdb) quit
>
> To make it workable I added this :
> 3686
> - assert(run->magic == ARENA_RUN_MAGIC);
> + if (run == NULL || run->bin == NULL)
> +     return;
> + assert(run->magic == ARENA_RUN_MAGIC);
>
> Not sure it addresses really the issue but it went really missy without.

New description:

 {{{
 warning: Could not load shared library symbols for ./vcl.A9lWNYFW.so.
 Do you need "set solib-search-path" or "set sysroot"?
 [Thread debugging using libthread_db enabled]
 Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
 Core was generated by `/opt/local/sbin/varnishd -P /var/run/varnishd.pid
 -a :80 -T localhost:6082 -f /'.
 Program terminated with signal SIGSEGV, Segmentation fault.
 #0  0x000000000046de5b in arena_dalloc_small (arena=0x7f9f74000020,
 chunk=0x7f9f74000000, ptr=0x7f9f740008c0, mapelm=0x7f9f74000020) at
 jemalloc_linux.c:3687
 3687    jemalloc_linux.c: No such file or directory.
 (gdb) bt
 #0  0x000000000046de5b in arena_dalloc_small (arena=0x7f9f74000020,
 chunk=0x7f9f74000000, ptr=0x7f9f740008c0, mapelm=0x7f9f74000020) at
 jemalloc_linux.c:3687
 #1  0x000000000046e1d5 in arena_dalloc (arena=0x7f9f74000020,
 chunk=0x7f9f74000000, ptr=0x7f9f740008c0) at jemalloc_linux.c:3939
 #2  0x000000000046e244 in idalloc (ptr=0x7f9f740008c0) at
 jemalloc_linux.c:3957
 #3  0x000000000047050a in free (ptr=0x7f9f740008c0) at
 jemalloc_linux.c:5586
 #4  0x00007f9fe9b58fb9 in __GI__dl_deallocate_tls
 (tcb=tcb at entry=0x7f9f9d9fe700, dealloc_tcb=dealloc_tcb at entry=false) at dl-
 tls.c:482
 #5  0x00007f9fe898b027 in __free_stacks (limit=limit at entry=41943040) at
 allocatestack.c:282
 #6  0x00007f9fe898b13f in queue_stack (stack=0x47050a <free+31>) at
 allocatestack.c:310
 #7  __deallocate_stack (pd=pd at entry=0x7f9f9a1f7700) at allocatestack.c:771
 #8  0x00007f9fe898c275 in __free_tcb (pd=0x7f9f9a1f7700) at
 pthread_create.c:226
 #9  start_thread (arg=0x7f9f9a1f7700) at pthread_create.c:432
 #10 0x00007f9fe86b930d in clone () at
 ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
 (gdb) quit
 }}}

 To make it workable I added this :
 {{{
 3686
 - assert(run->magic == ARENA_RUN_MAGIC);
 + if (run == NULL || run->bin == NULL)
 +     return;
 + assert(run->magic == ARENA_RUN_MAGIC);
 }}}
 Not sure it addresses really the issue but it went really missy without.

--

Comment:

 There is nothing in that backtrace that indicates that varnish has
 anything to do with that failure.

 I'm closing this ticket because there is nothing we can do about it.

-- 
Ticket URL: <https://www.varnish-cache.org/trac/ticket/1564#comment:1>
Varnish <https://varnish-cache.org/>
The Varnish HTTP Accelerator



More information about the varnish-bugs mailing list