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>, "tech-talk@aps.anl.gov" <tech-talk@aps.anl.gov>
Date: Tue, 2 Jul 2013 07:03:54 +0000
The only document on asynTrace is the section in the asynDriver manual:

http://www.aps.anl.gov/epics/modules/soft/asyn/R4-21/asynDriver.html

 From that document these define the bits for when to print messages:

/*asynTrace is implemented by asynManager*/
/*All asynTrace methods can be called from any thread*/
/* traceMask definitions*/
#define ASYN_TRACE_ERROR     0x0001
#define ASYN_TRACEIO_DEVICE  0x0002
#define ASYN_TRACEIO_FILTER  0x0004
#define ASYN_TRACEIO_DRIVER  0x0008
#define ASYN_TRACE_FLOW      0x0010

These define the bits for how to display I/O data:
/* traceIO mask definitions*/
#define ASYN_TRACEIO_NODATA 0x0000
#define ASYN_TRACEIO_ASCII  0x0001
#define ASYN_TRACEIO_ESCAPE 0x0002
#define ASYN_TRACEIO_HEX    0x0004

In your case if you issue this command it will print messages in ASCII with escape codes.  The 0 means address 0, since you have a device that supports only a single address.  The 2 means ASYN_TRACEIO_ESCAPE.

asynSetTraceIOMask 0 HX86PA 2

This command will turn on all possible debugging messages.  The 255 sets all the bits ASYN_TRACE_ERROR | ASYN_TRACEIO_DEVICE, etc.

asynSetTraceMask 0 HX86PA 255

Note that streamDevice does not use the asynTrace facility, so you will have to look at the streamDevice documentation on how to turn on debugging messages for your records at the device support level.  asynTrace will only tell you what is going on in the TCP driver and in asynManager.

Mark



________________________________________
From: tech-talk-bounces@aps.anl.gov [tech-talk-bounces@aps.anl.gov] on behalf of Brian McAllister [mcallister@mit.edu]
Sent: Monday, July 01, 2013 3:56 PM
To: tech-talk@aps.anl.gov
Subject: asyn+streamDevice hangs with synchronousLock:Yes

I'm using Asyn 4-21 and StreamDevice 2-6, working with a device that uses
serial I/O to send a periodic, unsolicited string which does not have a
terminating character.

The string contains 3 data fields, so I have 3 records using the same INP,
all set to I/O Event scanning.

It works for a few minutes after starting the IOC, but eventually it gets
stuck.  The records stop updating and "Characters read" from asynReport
stops increasing.  Packet inspection with Wireshark shows that the device
is still sending data.

After this happens, the "synchronousLock" field in asynReport is always
"Yes".

istCooling> asynReport 2 HX86PA
HX86PA multiDevice:No canBlock:Yes autoConnect:Yes
    enabled:Yes connected:Yes numberConnects 1
    nDevices 0 nQueued 0 blocked:No
    asynManagerLock:No synchronousLock:Yes
    exceptionActive:No exceptionUsers 0 exceptionNotifys 0
    interposeInterfaceList
        asynOctet pinterface 0x8198120 drvPvt 0x82d2608
    interfaceList
        asynCommon pinterface 0x8192e10 drvPvt 0x82d3ad0
        asynOctet pinterface 0x82d3b20 drvPvt 0x82d3ad0
    Port 172.18.0.13:2000 TCP: Connected
                    fd: 8
    Characters written: 0
       Characters read: 3366



Is there a document that shows how to use asynTrace effectively ?  The
asynDriver and asynRecord docs don't explain very much about it.

----
Brian McAllister                                   Senior Software Engineer
mcallister@mit.edu                                                Bates Lab
(617) 253-9537                                                Middleton, MA

Replies:
Re: asyn+streamDevice hangs with synchronousLock:Yes Brian McAllister
References:
asyn+streamDevice hangs with synchronousLock:Yes Brian McAllister

Navigate by Date:
Prev: Re: ChanneIRPC never connected White, Greg
Next: naming services Silver
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: asyn+streamDevice hangs with synchronousLock:Yes Brian McAllister
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 ·