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.

Reply via email to