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: [email protected] [mailto:[email protected]] On Behalf Of Brian McAllister
Sent: Monday, July 08, 2013 4:36 PM
To: Mark Rivers
Cc: 'Dirk Zimoch'; '[email protected]'
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
<2013>
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
- 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
<2013>
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
|