Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019 
<== Date ==> <== Thread ==>

Subject: RE: asyn+streamDevice hangs with synchronousLock:Yes
From: Mark Rivers <rivers@cars.uchicago.edu>
To: Dirk Zimoch <dirk.zimoch@psi.ch>
Cc: "tech-talk@aps.anl.gov" <tech-talk@aps.anl.gov>
Date: Wed, 3 Jul 2013 17:37:42 +0000
> I am not an expert of the internals of asyn. What does
> "synchronousLock:Yes" mean?

The "synchronousLock" is a per-port epicsMutex.  synchchronousLock:Yes means that the mutex is currently being held by some thread.  The synchronousLock is used to protect code in several places, including when a synchronous driver (i.e. one created without the ASYN_CANBLOCK attribute) calls the client callback.  It is also the mutex that is used by pasynManager-lockPort().

There is one other per-port mutex used by asyn which is called asynManagerLock.  I have looked at the asyn code carefully and I believe that asynManagerLock and synchronousLock are always locked/unlocked properly.

Brian, can you please send your StreamDevice protocol file?  Also, are you using the standard asyn IP driver, or are you using some other asyn port driver?

Mark



________________________________________
From: Dirk Zimoch [dirk.zimoch@psi.ch]
Sent: Wednesday, July 03, 2013 6:49 AM
To: Mark Rivers
Cc: Brian McAllister; tech-talk@aps.anl.gov
Subject: Re: asyn+streamDevice hangs with synchronousLock:Yes

On 02.07.2013 20:27, Mark Rivers wrote:
> When it is hung please do
>
> epicsMutexShowAll 1
>
> I think you have probably run into a deadlock, which can happen when multiple mutexes are taken/released in the wrong order.
>
> If you simplfy your problem to a single record does the problem go away?
>
> I am not an expert on using I/O Intr scanned records with StreamDevice, particularly multiple records on the same port.  Dirk may be able to help with this.
>
> Mark
>

I am not an expert of the internals of asyn. What does
"synchronousLock:Yes" mean?

Dirk


>
> ________________________________________
> From: brian@hotrats.mit.edu [brian@hotrats.mit.edu] on behalf of Brian McAllister [mcallister@mit.edu]
> Sent: Tuesday, July 02, 2013 1:23 PM
> To: Mark Rivers
> Cc: tech-talk@aps.anl.gov
> Subject: Re: asyn+streamDevice hangs with synchronousLock:Yes
>
> What does it mean if synchronousLock is permanently "Yes" ?
>
> I see it's a mutex and that it's used in many places.  Is there any way to
> find out where it is being locked/not unlocked ?
>
> - brian

References:
RE: asyn+streamDevice hangs with synchronousLock:Yes Mark Rivers
Re: asyn+streamDevice hangs with synchronousLock:Yes Brian McAllister
RE: asyn+streamDevice hangs with synchronousLock:Yes Mark Rivers
Re: asyn+streamDevice hangs with synchronousLock:Yes Dirk Zimoch

Navigate by Date:
Prev: RE: weird error Hill, Jeff
Next: Re: asyn+streamDevice hangs with synchronousLock:Yes Brian McAllister
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019 
Navigate by Thread:
Prev: Re: asyn+streamDevice hangs with synchronousLock:Yes Dirk Zimoch
Next: Re: asyn+streamDevice hangs with synchronousLock:Yes Brian McAllister
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019 
ANJ, 20 Apr 2015 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·