possible lock order issue with epicsTimerQueueRelease()

Bug #1731074 reported by mdavidsaver
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
EPICS Base
In Progress
Undecided
mdavidsaver

Bug Description

The helgrind tool finds a possible lock order issue in epicsTimerQueueAllocate()/epicsTimerQueueRelease() as used in callback.c.

I'm mostly convinced that this is a false positive and no deadlock is possible. However, the timer queue code is confusing to me, so I might be wrong. Also, the potential conflict can be avoiding by removing what looks like a pointless cycling through a mutex.

> timerQueueActiveMgr::~timerQueueActiveMgr ()
> {
> epicsGuard < epicsMutex > locker ( this->mutex );
> }

May be related to one of the issues reported in lp:1479316

Revision history for this message
mdavidsaver (mdavidsaver) wrote :
Revision history for this message
mdavidsaver (mdavidsaver) wrote :

This particular log comes from running dbLockTest

Revision history for this message
Andrew Johnson (anj) wrote :

Might this lock & unlock be there to prevent the destructor from completing until the last timerQueueActive thread has exited? Something like that seems most likely to me from past experience with Jeff's coding style.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.