Opened 10 years ago

Last modified 10 years ago

#1759 closed defect

Crash when BYE is received while adding new media — at Version 4

Reported by: riza Owned by: bennylp
Priority: normal Milestone: release-2.3
Component: pjsua-lib Version: trunk
Keywords: Cc:
Backport to 1.x milestone: Backported: no

Description (last modified by nanang)

Crash is reported to happen when adding media with STUN and ICE enabled.

Scenario:

  1. When adding media, pjsua will create a new ICE media transport, and currently such transport creation for adding media is a synchronous operation, so technically there is busy waiting loop for STUN resolution etc.
  2. While the transport creation process is ongoing (in the busy waiting loop), there is incoming BYE which clears the call states, and when the busy waiting loop is done, crash occurs as media transport (call_med->tp) is NULL.

Reproducing steps:

  1. make a call using pjsua app with ICE and STUN enabled
  2. kill/block the STUN server
  3. add video for the call, it will take time as the STUN server is off (optionally, set PJ_STUN_RTO_VALUE to 1000 to make it much longer)
  4. send BYE from other endpoint

Thanks to Itay Bianco for the report.

Change History (4)

comment:1 Changed 10 years ago by riza

  • Description modified (diff)

comment:2 Changed 10 years ago by riza

  • Description modified (diff)

comment:3 Changed 10 years ago by riza

  • Description modified (diff)

comment:4 Changed 10 years ago by nanang

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