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.
