Ticket #42 (closed defect: fixed)

Opened 12 years ago

Last modified 12 years ago

TCP/TLS transport bug when connection is closed

Reported by: bennylp Owned by: bennylp
Priority: major Milestone: release-0.5.10
Component: pjsip Version: 0.5.9
Keywords: transport, TCP, TLS Cc:
Backport to 1.x milestone: Backported:

Description

When TCP connection is closed by remote, it will be marked as being shutdown so that it will not be used by subsequent requests. This is the correct behavior.

When application needs to send another message to the destination, the transport manager will see that there is a transport object for the destination, but this transport object is being shutdown, so the transport manager will create a new transport for the same destination. This is also the correct behavior.

But unfortunately the new transport created will have the same key as the transport being shutdown, so it will overwrite the entry in the hash table. Then the first transport is finally destroyed, it will set the hash table key to NULL, and this causes the second transport's entry to be inadvertly nullified.

Change History

comment:1 Changed 12 years ago by bennylp

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

Fixed in r866.

Note: See TracTickets for help on using tickets.