Opened 11 years ago

Closed 11 years ago

Last modified 7 years ago

#1706 closed defect (fixed)

Race condition fix in SIP transaction

Reported by: ming Owned by: bennylp
Priority: normal Milestone: release-2.2
Component: pjsip Version: trunk
Keywords: Cc:
Backport to 1.x milestone: Backported: no

Description (last modified by ming)

Fix race condition which may cause the transaction to be destroyed before we have chance to lock the group lock.

10:19:57.797 (52608) [PJ:5] -  tsx0x6d9db88c        pjsua  .State changed from Terminated to Destroyed, event=TIMER
10:19:57.797 (44440) [PJ:4] -   pjsua_core.c        media  .RX <-- 1329 bytes Response msg 200/INVITE/cseq=26892 (rdata0x69dcc1cc) from TCP
10:19:57.798 (44440) [PJ:5] -  tsx0x6d9db88c        media  .Incoming Response msg 200/INVITE/cseq=26892 (rdata0x69dcc1cc) in state Destroyed
10:19:57.818 (52608) [PJ:5] -  tsx0x6d9db88c        pjsua  ..Transaction destroyed!

The problem seems to happen because the transaction lock is destroyed after the first line, and then the media thread tries to lock it in the retransmitted response.

Change History (2)

comment:1 Changed 11 years ago by ming

  • Resolution set to fixed
  • Status changed from new to closed

In 4630:

Fixed #1706: Race condition in SIP transaction

comment:2 Changed 7 years ago by ming

  • Description modified (diff)
Note: See TracTickets for help on using tickets.