#5626 closed defect (fixed)

Subnet Cmds unit tests segfault under Centos 7

Reported by: tmark Owned by: tmark
Priority: medium Milestone: Kea1.4-final
Component: tests 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


Subnet Cmds premium hooks library unit tests are segfaulting under Centos 7. The segfault occurs during a logging attempt in TimerMgr::unregisterTimers(), which is invoked by ~TimeMgr?. Since we are not explicitly destroying TimeMgr?, there is no assurance that the loggers will outlive it.

The proposed change is to simply change the destructor to call TimerMgrImpl::unregisterTimers() which does not emit logs.

The attached patch has been tested and works.


Attachments (1)

timer_mgr.patch (325 bytes) - added by tmark 22 months ago.
TimerMgr? patch

Download all attachments as: .zip

Change History (5)

Changed 22 months ago by tmark

TimerMgr? patch

comment:1 Changed 22 months ago by tmark

  • Owner set to tmark
  • Status changed from new to assigned

comment:2 Changed 22 months ago by tmark

  • Owner changed from tmark to UnAssigned
  • Status changed from assigned to reviewing

Ticket is ready for review.


140x.   [bug]       tmark
    Corrected an issue where the destruction of loggers
    prior to the destruction of the TimerMgr singleton
    caused unit tests to segfault.
    (Trac #5626, git TBD)

comment:3 Changed 21 months ago by fdupont

  • Owner changed from UnAssigned to tmark

As I can see on some systems the spurious log message out of phase I am strongly in favor of this change even I am not very convinced it solves all problems...

comment:4 Changed 21 months ago by tmark

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

In testing this also alleviates a crash in forensic log unit tests.

Changes merged with git# 9f4e3f9cd8acf8e7d1d3e714d8f904754377c00f

Added ChangeLog entry 1407.

Ticket is complete.

Note: See TracTickets for help on using tickets.