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  2013  2014  2015  2016  2017  <20182019  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  2013  2014  2015  2016  2017  <20182019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: CA Client crash after "too many open files" error
From: Dirk Zimoch <[email protected]>
To: EPICS <[email protected]>
Date: Wed, 14 Feb 2018 15:36:39 +0100
Hi everyone,

I got a crash in a 3.14.12.4 CA client after it exhausts all file descriptors.

The last thing it prints is:
CAC: exception during virtual circuit creation "CAC: TCP circuit creation failure because "Too many open files""
Then it crashes.

The client is an overview panel for all our IOCs. Thus the excessive use of file descriptors is understandable. Also the error message makes sense.

The real problem is the crash afterwards. Here is the stack trace:

#0 0x00007f5e9943e0e6 in assertIdenticalMutex (this=0x0, guard=..., chan=..., sidIn=4294967295, typeIn=65535, countIn=0)
    at /usr/local/epics/base-3.14.12/include/epicsGuard.h:84
#1 tcpiiu::installChannel (this=0x0, guard=..., chan=..., sidIn=4294967295, typeIn=65535, countIn=0) at ../tcpiiu.cpp:1936 #2 0x00007f5e9942c3fb in cac::transferChanToVirtCircuit (this=<value optimized out>, cid=<value optimized out>, sid=4294967295, typeCode=65535, count=0, minorVersionNumber=13, addr=..., currentTime=...) at ../cac.cpp:631 #3 0x00007f5e9943add8 in udpiiu::searchRespAction (this=<value optimized out>, msg=<value optimized out>, addr=<value optimized out>,
    currentTime=<value optimized out>) at ../udpiiu.cpp:690
#4 0x00007f5e9943aeea in udpiiu::postMsg (this=0x1d120d0, net_addr=..., pInBuf=<value optimized out>, blockSize=24, currentTime=...)
    at ../udpiiu.cpp:857
#5 0x00007f5e9943ce69 in udpRecvThread::run (this=0x1d224f8) at ../udpiiu.cpp:394 #6 0x00007f5ea2066d21 in epicsThreadCallEntryPoint (pPvt=0x1d22518) at ../../../src/libCom/osi/epicsThread.cpp:85 #7 0x00007f5ea206c672 in start_routine (arg=0x1d014e0) at ../../../src/libCom/osi/os/Linux/osdThread.c:395
#8  0x0000003465c07aa1 in start_thread () from /lib64/libpthread.so.0
#9  0x00000034650e8bcd in clone () from /lib64/libc.so.6


As you can see the crash is fully in EPICS base. No user code involved. I find the "this=0x0" arguments highly suspicious.

Is this a known problem? Has it already been fixed in later EPICS base versions? (If not I may try to hunt down the problem but I do not want to waste my time...)

Dirk

Replies:
Re: CA Client crash after "too many open files" error Dirk Zimoch

Navigate by Date:
Prev: Re: "Inspect Waveforms" in CSS DataBrowser Kasemir, Kay
Next: Re: "Inspect Waveforms" in CSS DataBrowser Takashi OBINA
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  <20182019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: "Inspect Waveforms" in CSS DataBrowser Takashi OBINA
Next: Re: CA Client crash after "too many open files" error Dirk Zimoch
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  <20182019  2020  2021  2022  2023  2024 
ANJ, 14 Feb 2018 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·