hi,
We got a segfault today (stack is below if interesting, we use 1.4.15 and
yes i saw Dormando comment about some fixes in .17 but I cannot trace any
fix related). My question is actually slightly different - i do grep and i
do not see where we initialize slabclass_t->slots. It is set to 0(zero) in
slabs_init
(by memset). And also I see 8 usages across the file slabs.c including one
declaration and one assert (that will cause segfault :) ).
in do_slabs_alloc, i immediately see code:
it = (item *)p->slots;
p->slots = it->next;
which assumes that p->slots contains something. But i do not see where
slots gets value. I definitely miss something simple. Pls point this field
initialization code.
(all other usages in free and rebalance that we do not use and i assume are
used after something is allocated :) )
Thank you!
segfault call stack:
#0 do_slabs_alloc (size=853, id=11) at slabs.c:241
#1 slabs_alloc (size=853, id=11) at slabs.c:404
#2 0x000000000040edc4 in do_item_alloc (
key=0x7f256713e4d4
"d_1_v1422c8a1df8a89589777042ac1257ea35|folder_by_id.2041369764.children",
nkey=71,
flags=<value optimized out>, exptime=1049722, nbytes=717,
cur_hv=2547497763) at items.c:150
#3 0x0000000000409476 in process_update_command (c=0x7f256451ed50,
tokens=<value optimized out>,
ntokens=<value optimized out>, comm=2, handle_cas=<value optimized
out>) at memcached.c:2917
#4 0x00000000004099ab in process_command (c=0x7f256451ed50, command=<value
optimized out>) at memcached.c:3258
#5 0x000000000040a5a2 in try_read_command (c=0x7f256451ed50) at
memcached.c:3504
#6 0x000000000040b1a8 in drive_machine (fd=<value optimized out>,
which=<value optimized out>, arg=0x7f256451ed50) at memcached.c:3824
--
---
You received this message because you are subscribed to the Google Groups
"memcached" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.