Comment #19 on issue 99 by [email protected]: Memcached 1.4.2 server segmentation fault
http://code.google.com/p/memcached/issues/detail?id=99

Yes, I am still running this on gentoo, PHP 5.3.3 with a memcache 2.2.5 client (as reported by phpinfo()). Here is a backtrace under gdb:

gdb --args ./memcached-debug -l localhost -vvv
GNU gdb 6.8
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-pc-linux-gnu"...
(gdb) run
Starting program: /home/thom/memcached-memcached-fe2fb1d/memcached-debug -l localhost -vvv
[Thread debugging using libthread_db enabled]
slab class   1: chunk size        80 perslab   13107
slab class   2: chunk size       104 perslab   10082
slab class   3: chunk size       136 perslab    7710
slab class   4: chunk size       176 perslab    5957
slab class   5: chunk size       224 perslab    4681
slab class   6: chunk size       280 perslab    3744
slab class   7: chunk size       352 perslab    2978
slab class   8: chunk size       440 perslab    2383
slab class   9: chunk size       552 perslab    1899
slab class  10: chunk size       696 perslab    1506
slab class  11: chunk size       872 perslab    1202
slab class  12: chunk size      1096 perslab     956
slab class  13: chunk size      1376 perslab     762
slab class  14: chunk size      1720 perslab     609
slab class  15: chunk size      2152 perslab     487
slab class  16: chunk size      2696 perslab     388
slab class  17: chunk size      3376 perslab     310
slab class  18: chunk size      4224 perslab     248
slab class  19: chunk size      5280 perslab     198
slab class  20: chunk size      6600 perslab     158
slab class  21: chunk size      8256 perslab     127
slab class  22: chunk size     10320 perslab     101
slab class  23: chunk size     12904 perslab      81
slab class  24: chunk size     16136 perslab      64
slab class  25: chunk size     20176 perslab      51
slab class  26: chunk size     25224 perslab      41
slab class  27: chunk size     31536 perslab      33
slab class  28: chunk size     39424 perslab      26
slab class  29: chunk size     49280 perslab      21
slab class  30: chunk size     61600 perslab      17
slab class  31: chunk size     77000 perslab      13
slab class  32: chunk size     96256 perslab      10
slab class  33: chunk size    120320 perslab       8
slab class  34: chunk size    150400 perslab       6
slab class  35: chunk size    188000 perslab       5
slab class  36: chunk size    235000 perslab       4
slab class  37: chunk size    293752 perslab       3
slab class  38: chunk size    367192 perslab       2
slab class  39: chunk size    458992 perslab       2
slab class  40: chunk size    573744 perslab       1
slab class  41: chunk size    717184 perslab       1
slab class  42: chunk size   1048576 perslab       1
[New Thread 0xb7eb66c0 (LWP 6457)]
[New Thread 0xb7e74b70 (LWP 6460)]
[New Thread 0xb7673b70 (LWP 6461)]
[New Thread 0xb6e72b70 (LWP 6462)]
[New Thread 0xb6671b70 (LWP 6463)]
[New Thread 0xb5e70b70 (LWP 6464)]
<34 server listening (auto-negotiate)
<35 send buffer was 107520, now 268435456
<35 server listening (udp)
<35 server listening (udp)
<35 server listening (udp)
<35 server listening (udp)
<36 new auto-negotiating client connection
36: going from conn_new_cmd to conn_waiting
36: going from conn_waiting to conn_read
36: going from conn_read to conn_parse_cmd
36: Client using the ascii protocol
<36 set test 0 10 524288
36: going from conn_parse_cmd to conn_nread
NOT FOUND test
36 STORED
36: going from conn_nread to conn_write
36: going from conn_write to conn_new_cmd
36: going from conn_new_cmd to conn_waiting
36: going from conn_waiting to conn_read
<37 new auto-negotiating client connection
36: going from conn_read to conn_closing
<36 connection closed.
37: going from conn_new_cmd to conn_waiting
37: going from conn_waiting to conn_read
37: going from conn_read to conn_parse_cmd
37: Client using the ascii protocol
<37 get test
FOUND KEY test
37 sending key test
37 END
37: going from conn_parse_cmd to conn_mwrite

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb7673b70 (LWP 6461)]
0xb802d1a1 in event_base_set () from /usr/lib/libevent-2.0.so.5
(gdb) backtrace
#0  0xb802d1a1 in event_base_set () from /usr/lib/libevent-2.0.so.5
#1  0x095f67c0 in ?? ()
#2  0x095f67c0 in ?? ()
#3  0x00000014 in ?? ()
#4  0x095f67d0 in ?? ()
#5  0x0804a26b in update_event (c=0xb802d0f7, new_flags=134579104)
    at memcached.c:3353
#6  0x08059d25 in event_handler (fd=37, which=2, arg=0x95f67c0)
    at memcached.c:3438
#7  0xb8030441 in event_base_loop () from /usr/lib/libevent-2.0.so.5

---

2 more additional backtraces only:

#0  0xb7ec41a1 in event_base_set () from /usr/lib/libevent-2.0.so.5
#1  0x0812dad0 in ?? ()
#2  0x0812dad0 in ?? ()
#3  0x00000014 in ?? ()
#4  0x0812dae0 in ?? ()
#5  0x0804a26b in update_event (c=0xb7ec40f7, new_flags=134579104)
    at memcached.c:3353
#6  0x08059d25 in event_handler (fd=36, which=2, arg=0x812dad0)
    at memcached.c:3438
#7  0xb7ec7441 in event_base_loop () from /usr/lib/libevent-2.0.so.5

---

#0  0xb7fcd1a1 in event_base_set () from /usr/lib/libevent-2.0.so.5
#1  0x0847e0a0 in ?? ()
#2  0x0847e0a0 in ?? ()
#3  0x00000014 in ?? ()
#4  0x0847e0b0 in ?? ()
#5  0x0804a26b in update_event (c=0xb7fcd0f7, new_flags=134579104)
    at memcached.c:3353
#6  0x08059d25 in event_handler (fd=36, which=2, arg=0x847e0a0)
    at memcached.c:3438
#7  0xb7fd0441 in event_base_loop () from /usr/lib/libevent-2.0.so.5

---

Seems to always be in the same spot, and I believe it is because the "base" variable does not contain a valid address.

Thanks.

Reply via email to