EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  <20212022  2023  2024  Index 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  <20212022  2023  2024 
<== Date ==> <== Thread ==>

Subject: AW: Deadlock on VxWorks 6.7
From: "Zimoch Dirk \(PSI\) via Core-talk" <core-talk at aps.anl.gov>
To: Michael Davidsaver <mdavidsaver at gmail.com>
Cc: "'core-talk at aps.anl.gov'" <core-talk at aps.anl.gov>
Date: Wed, 2 Jun 2021 14:35:25 +0000
taskLock() does not disable interrupts intLock() does. epicsSpinLock() calls both.

But the vxWorks manual suggest to call taskLock first and then intLock. epicsSpinLock calls intLock first and then taskLock.
Not sure if this contributes to the problem. I will try the other way round....

> -----Ursprüngliche Nachricht-----
> Von: Zimoch Dirk (PSI)
> Gesendet: Mittwoch, 2. Juni 2021 15:50
> An: 'Michael Davidsaver' <mdavidsaver at gmail.com>
> Cc: 'core-talk at aps.anl.gov' <core-talk at aps.anl.gov>
> Betreff: AW: Deadlock on VxWorks 6.7
> 
> Checking taskLock for differences now....
> 
> > -----Ursprüngliche Nachricht-----
> > Von: Michael Davidsaver <mdavidsaver at gmail.com>
> > Gesendet: Mittwoch, 2. Juni 2021 15:45
> > An: Zimoch Dirk (PSI) <dirk.zimoch at psi.ch>
> > Cc: 'core-talk at aps.anl.gov' <core-talk at aps.anl.gov>
> > Betreff: Re: Deadlock on VxWorks 6.7
> >
> > On 6/2/21 2:23 AM, Zimoch Dirk (PSI) via Core-talk wrote:
> > > Hi,
> > >
> > > When I use EPICS 7.0.5.1 or 7.0.4.1 on mv mv5100 running VxWorks 6.7, I
> > see shortly after booting:
> > >
> > > 0x132f380 (timerQueue): epicsSpinLock(0x1fda0b79): Deadlock.
> > > Recursive lock, missed unlock or block when locked.Thread timerQueue
> > (0x132f380) can't proceed, suspending.
> > >
> > > Any idea?
> >
> > Not immediately, though I'm more familiar with the RTEMS side.
> > I don't see any recursive call in the stack trace you provided.
> > Is it possible that the behavior of taskLock() has changed wrt. disabling
> > interrupts?
> >
> > > Why spinlocks on a single core CPU machine?
> >
> > The RTEMS and vxWorks implementations don't actually spin.
> >
> > https://github.com/epics-base/epics-
> >
> base/blob/b777233efb06fa4e988c4f0738b0270dd3d095a3/modules/libcom/
> > src/osi/os/vxWorks/osdSpin.c#L64-L86

Replies:
AW: Deadlock on VxWorks 6.7 Zimoch Dirk (PSI) via Core-talk
References:
Deadlock on VxWorks 6.7 Zimoch Dirk (PSI) via Core-talk
Re: Deadlock on VxWorks 6.7 Michael Davidsaver via Core-talk
AW: Deadlock on VxWorks 6.7 Zimoch Dirk (PSI) via Core-talk

Navigate by Date:
Prev: AW: Deadlock on VxWorks 6.7 Zimoch Dirk (PSI) via Core-talk
Next: Heads-Up: Next Release of Base (C++) Ralph Lange via Core-talk
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  <20212022  2023  2024 
Navigate by Thread:
Prev: AW: Deadlock on VxWorks 6.7 Zimoch Dirk (PSI) via Core-talk
Next: AW: Deadlock on VxWorks 6.7 Zimoch Dirk (PSI) via Core-talk
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  <20212022  2023  2024 
ANJ, 07 Jun 2021 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·