Yes this is fixed in .17. 1.4.20 is the recommended version.

The corruption isn't in this function, it's outside of it:

https://github.com/memcached/memcached/pull/67

On Wed, 4 Jun 2014, Denis Samoylov wrote:

> 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.
>
>

-- 

--- 
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