[pjsip] os_core_unix.c:1201: pj_mutex_lock: Assertion `mutex' failed

Curt Sampson cjs at cynic.net
Tue Feb 28 01:41:23 EST 2012


I'm using PJSIP 2.0-beta (2011/12/29). In one fairly simple application
I have an endpoint that sets up a TLS transport and then attempts to
make a call to an arbitrary SIP(S) URI.

When I make a call to a SIPS URI with a host part that resolves to an
IP address, albeit one with nobody listening for SIP connections on it,
the program fails in the appropriate manner. However, when I make a call
with a SIPS URI that does not resolve in DNS (i.e., there's no A or any
other type of record for it), the program instead dies due to an ABRT
(6) signal, which appears to be due to the following assertion failure:

  ../src/pj/os_core_unix.c:1201: pj_mutex_lock: Assertion `mutex' failed.

The logging I get to this point (at level five) is:

15:34:40.773   pjsua_call.c  Making call with acc #0 to sips:mixer-1 at bank-a.atp.cynic.net
15:34:40.773   dlg0x9f4acf4  .UAC dialog created
15:34:40.773   dlg0x9f4acf4  ..Session count inc to 1 by mod-pjsua
15:34:40.773  pjsua_media.c  .Call 0: initializing media..
15:34:40.773  pjsua_media.c  ..RTP socket reachable at 192.168.5.34:40000
15:34:40.773  pjsua_media.c  ..RTCP socket reachable at 192.168.5.34:40001
15:34:40.773  pjsua_media.c  ..Media index 0 selected for audio call 0
15:34:40.773   dlg0x9f4acf4  ..Session count dec to 1 by mod-pjsua
15:34:40.773   dlg0x9f4acf4  .Module mod-invite added as dialog usage, data=0x9f4b50c
15:34:40.773   dlg0x9f4acf4  ..Session count inc to 3 by mod-invite
15:34:40.773   dlg0x9f4acf4  .Module mod-100rel added as dialog usage, data=0x9f505f4
15:34:40.773   dlg0x9f4acf4  .100rel module attached
15:34:40.773   inv0x9f4acf4  .UAC invite session created for dialog dlg0x9f4acf4
15:34:40.773       endpoint  .Request msg INVITE/cseq=28626 (tdta0x9f506a0) created.
15:34:40.773   inv0x9f4acf4  ..Sending Request msg INVITE/cseq=28626 (tdta0x9f506a0)
15:34:40.773   dlg0x9f4acf4  ...Sending Request msg INVITE/cseq=28626 (tdta0x9f506a0)
15:34:40.773   tsx0x9f526b4  ....Transaction created for Request msg INV
ITE/cseq=28625 (tdta0x9f506a0)
15:34:40.773   tsx0x9f526b4  ...Sending Request msg INVITE/cseq=28625 (tdta0x9f506a0) in state Null
15:34:40.773  sip_resolve.c  ....DNS resolver not available, target 'bank-a.atp.cynic.net:0' type=TLS will be resolved with getaddrinfo()
15:34:40.828  sip_resolve.c  ....Failed to resolve 'bank-a.atp.cynic.net'. Err=70018 (gethostbyname() has returned error (PJ_ERESOLVE))
15:34:40.828   tsx0x9f526b4  ....Failed to send Request msg INVITE/cseq=28625 (tdta0x9f506a0)! err=70018 (gethostbyname() has returned error (PJ_ERESOLVE))
15:34:40.828   tsx0x9f526b4  ....State changed from Null to Terminated, event=TRANSPORT_ERROR
15:34:40.828   dlg0x9f4acf4  .....Transaction tsx0x9f526b4 state changed to Terminated
Call 0 State: DISCONNCTD
15:34:40.828  pjsua_media.c  .......Call 0: deinitializing media..
15:34:40.828  pjsua_media.c  .........Media session call00:0 is destroyed
15:34:40.828   dlg0x9f4acf4  .......Session count dec to 3 by mod-invite
15:34:40.828   pjsua_call.c  .Unable to send initial INVITE request: gethostbyname() has returned error (PJ_ERESOLVE) [status=70018]
Call 0 State: 
15:34:40.828   dlg0x9f4acf4  .Dialog destroyed
15:34:40.828  pjsua_media.c  .Call 0: deinitializing media..

Looks like a bug in PJSIP, given that it's an assertion failure. Anybody
have a fix, or ideas on where this is going wrong, or even thoughts on
how I might debug this?

cjs
-- 
Curt Sampson         <cjs at cynic.net>         +81 90 7737 2974
             http://www.starling-software.com/
I have always wished for my computer to be as easy to use as my telephone;
my wish has come true because I can no longer figure out how to use my
telephone.  --Bjarne Stroustrup



More information about the pjsip mailing list