Opened 2 years ago

Last modified 20 months ago

#5509 new defect

race on I/O service/context destructor

Reported by: fdupont Owned by:
Priority: medium Milestone: Outstanding Tasks
Component: Unclassified Version: git
Keywords: Cc:
CVSS Scoring: Parent Tickets:
Sensitive: no Defect Severity: N/A
Sub-Project: DHCP Feature Depending on Ticket:
Estimated Difficulty: 0 Add Hours to Ticket: 0
Total Hours: 0 Internal?: no


I investigated about random crashes in http and agent unit tests. Even if they are not likely (I had to make the debugger to loop on them) they appears on multiple systems so signal a bug in our ASIO code.

It seems the issue is from ASIO acceptor sockets which are not closed when the I/O service/context is destroyed at its last reference drop.

I propose 2 actions:

  • add a note in guide style saying sockets must be closed, i.e., not rely on destruction of global objects to clean them, in particular for hook libraries.
  • modify existing code to follow that. IMHO 1.4 final low is the maximal milestone / priority this part should get.


Change History (6)

comment:1 Changed 2 years ago by fdupont

1.4 low by 2018-01-18 conf call

comment:2 Changed 2 years ago by fdupont

  • Milestone changed from Kea-proposed to Kea1.4

comment:3 Changed 23 months ago by fdupont

Can be an issue from the -DBOOST_ASIO_DISABLE_THREADS=1 set in and IMHO far to be consistent with current code (timer manager for instance use a thread?).

comment:4 Changed 21 months ago by tomek

  • Milestone changed from Kea1.4 to Kea1.4-final

As discussed on 2018-04-26 call, moving low and some med priority tickets to 1.4-final.

comment:5 Changed 20 months ago by tomek

  • Priority changed from low to medium

comment:6 Changed 20 months ago by tomek

  • Milestone changed from Kea1.4-final to Outstanding Tasks

As discussed on 2018-06-20 call.

Note: See TracTickets for help on using tickets.