I've got something really strange happening:
#0 0xa7c24629 in free () from /lib/tls/i686/cmov/libc.so.6
#1 0xa647be93 in __sip_destroy (p=0x5040, lockowner=1) at chan_sip.c:2195
#2 0xa647c2df in sip_destroy (p=0x90a7400) at chan_sip.c:2368
#3 0xa647c40a in sip_poke_noanswer (data=0x808f2f8) at chan_sip.c:12074
#4 0xa7e8a919 in opbx_sched_runq (con=0x80730d8) at sched.c:459
#5 0xa7e8a9bd in timer_func (t=0x8073100, user_data=0x80730d8) at
sched.c:115
#6 0xa7ef3991 in sighandler (sigval={sival_int = -1479583740, sival_ptr
= 0xa7cf5804}) at timer.c:43
#7 0xa7e497bc in mq_timedreceive () from /lib/tls/i686/cmov/librt.so.1
It looks like sip_destroy is calling __sip_destroy with an entirely
different pointer than it is called with. How is this possible?
sip_destroy looks like this:
static void sip_destroy(struct sip_pvt *p)
{
opbx_mutex_lock(&iflock);
__sip_destroy(p, 1);
opbx_mutex_unlock(&iflock);
}
I can't see any way for that to happen.
Does anyone have any ideas?
_______________________________________________
Openpbx-dev mailing list
[email protected]
http://lists.openpbx.org/mailman/listinfo/openpbx-dev