EPICS Controls 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  2020  2021  2022  2023  2024  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  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: RE: asyn+streamDevice hangs with synchronousLock:Yes
From: Mark Rivers <[email protected]>
To: Dirk Zimoch <[email protected]>
Cc: "[email protected]" <[email protected]>
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 [[email protected]]
Sent: Wednesday, July 03, 2013 6:49 AM
To: Mark Rivers
Cc: Brian McAllister; [email protected]
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: [email protected] [[email protected]] on behalf of Brian McAllister [[email protected]]
> Sent: Tuesday, July 02, 2013 1:23 PM
> To: Mark Rivers
> Cc: [email protected]
> 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  2020  2021  2022  2023  2024 
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  2020  2021  2022  2023  2024 
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 ·