> There's a page on running Asterisk under valgrind on the wiki here: Thanks for the pointer. Valgrind wasn't needed since Asterisk MALLOC_DEBUG was enough.
It took almost 1.5 hours in GDB, but I found it. Because I was having problems with res_speech_lumenvox, I was using UniMRCP, which uses Sofia-SIP. But there's a bug: *** su_uniqueid.c.old 2011-08-22 07:05:02.000000000 -0400 --- su_uniqueid.c 2012-09-04 23:46:02.000000000 -0400 *************** *** 100,104 **** static pthread_once_t once = PTHREAD_ONCE_INIT; ! static int done_once = 1; static pthread_key_t state_key; --- 100,104 ---- static pthread_once_t once = PTHREAD_ONCE_INIT; ! static int done_once = 0; static pthread_key_t state_key; This was causing Sofia-SIP to call pthread_key_delete with a key that wasn't actually created, meaning key 0. Key 0 is used in Asterisk for the thread storage for verbose_buf when MALLOC_DEBUG is enabled. Deleting that key by itself didn't cause a problem, but mySQL's initialization created another key, so 0 was reassigned. When it then used pthread_setspecific for its own purpose, it messed up Asterisk's memory allocation. -- _____________________________________________________________________ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- New to Asterisk? Join us for a live introductory webinar every Thurs: http://www.asterisk.org/hello asterisk-users mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
