Comment #28 on issue 99 by thomc...@gmail.com: Memcached 1.4.2 server
segmentation fault
http://code.google.com/p/memcached/issues/detail?id=99
Okay, sorry about that. Because I am able to experience a "Segmentation
Fault" immediately on the official 1.4.6 release, I only did a cursory test
of 1.6 (50 iterations) with no failure. Did a quick grep to see if
anything changed in relation to the event.ev_base variable and noticed it
being set at line 5510, without backtracing everything to confirm that
portion of the code is even being hit.
Upon further inspection of 1.6, I am noticing there is a local source build
of libevent that has differing behavior from the standard builds I am
installing via Gentoo. I did some primitive debugging in conn_new() to
inspect c->event.ev_base and base before and after the event_base_set()
call. In 1.6, c->event.ev_base is set to the value of base, but in 1.4.6,
the value is left untouched (remains NULL). This is the most likely reason
why I am not experiencing the problem in 1.6.
Which "assert patch" are you referring to (not seeing it in this thread)?
I did a clean build of the 1.4.6 source and was able to crash it
immediately. I then applied the memcached_thread_base_fix.patch and I have
not been able to get it to crash.