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 | 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 |
<== Date ==> | <== Thread ==> |
---|
Subject: | Re: Port scan with nmap causes infinite loop in casDGClient::processDG() [Re: CA gatway runs away when zero length PV name in UDP search request] |
From: | Ralph Lange <[email protected]> |
To: | EPICS Tech Talk <[email protected]> |
Date: | Mon, 15 Jan 2018 09:36:01 +0100 |
Dear all,
Last april I posted to teck-talk an problem that cagateway runs away
on rare occasions ( https://epics.anl.gov/tech-talk/2017/msg00714.php
).I successfully reproduced the problem by UDP-port scan with nmap.
When I run nmap as following:
nmap -sU -p 5064 -A ip.address.of.cagateway
- all PVs subscribing via cagateway become disconnected,
- cagateway is eating up the CPU,
- no distinguishable log messege, no "zero length PV name in UDP
search request?" either,
- excas shows the same simptom.
There is no way to exiting the the wile() loop in
casDGClient::processDG() when program reaches at the end of while()
block with a condition such that:
- this->in.bytesPresent()>0 && dgInBytesConsumed == 0 && status ==
S_cas_success.
We are using base R3.14.12.3 for production and R3.15.5 for evaluation
at our site and both have the problem. Also R3.14.12.7 and R3.16.1
seem to have the same problem. Please find a naiive fix for this in
the attatchment.
best regards,
Shuei
--
----------------------------------------------------
Shuei Yamada,
High Energy Accelerator Research Organization (KEK)
mailto:[email protected]
----------------------------------------------------