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: "'Brian McAllister'" <mcallister@mit.edu>
Cc: "'tech-talk@aps.anl.gov'" <tech-talk@aps.anl.gov>
Date: Mon, 8 Jul 2013 23:51:58 +0000
Hi Brian,

I have reproduced the problem.

I created a simple TCP socket server that sends unsolicited messages every 1 second.  The format of the message is very similar to the ones your Omega device sends, just without the special character for degrees (\0370) that was giving me some trouble.

I created a StreamDevice protocol file based on yours, and a simple 1 record database.

As you observed it runs for a little while and then it hangs up with a deadlock.  Here is the output when I do epicsThreadShowAll 1.  It is OK for a little while, then we get the deadlock.

epics> epicsMutexShowAll 1
ellCount(&mutexList) 85 ellCount(&freeList) 0
epics> epicsMutexShowAll 1
ellCount(&mutexList) 85 ellCount(&freeList) 0
epics> epicsMutexShowAll 1
ellCount(&mutexList) 85 ellCount(&freeList) 0
epics> epicsMutexShowAll 1
ellCount(&mutexList) 85 ellCount(&freeList) 0
epicsMutexId 0x8e6de00 source ../../asyn/asynDriver/asynManager.c line 1886
epicsMutexId 0x8e6f1f0 source ../../../src/libCom/osi/epicsMutex.cpp line 222
epics> epicsMutexShowAll 1
ellCount(&mutexList) 85 ellCount(&freeList) 0
epicsMutexId 0x8e6de00 source ../../asyn/asynDriver/asynManager.c line 1886
epicsMutexId 0x8e6f1f0 source ../../../src/libCom/osi/epicsMutex.cpp line 222

This should be relatively easy to track down now that we can reproduce it with a simple dummy server.

I'll look at it tomorrow.

Mark


-----Original Message-----
From: brian@hotrats.mit.edu [mailto:brian@hotrats.mit.edu] On Behalf Of Brian McAllister
Sent: Monday, July 08, 2013 4:36 PM
To: Mark Rivers
Cc: 'Dirk Zimoch'; 'tech-talk@aps.anl.gov'
Subject: Re: asyn+streamDevice hangs with synchronousLock:Yes 

>>> On 7/8/2013 at 19:59:17 -0000, Mark Rivers wrote:

  > I may try to reproduce the problem using a TCP server that emulates
  > your device.

  > How quickly is it sending the unsolicited messages?

Nominally every 5 seconds. The lower limit is 1 second, which in practice
seems to be 1-2 seconds.

- brian


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

Navigate by Date:
Prev: Re: asyn+streamDevice hangs with synchronousLock:Yes Brian McAllister
Next: multiple servers on the same (loopback) interface Jameson Graef Rollins
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 Brian McAllister
Next: RE: asyn+streamDevice hangs with synchronousLock:Yes Mark Rivers
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 ·