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 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
<== Date ==> <== Thread ==>

Subject: RE: IOC error message on camonitor disconnect
From: <freddie.akeroyd@stfc.ac.uk>
To: <mdavidsaver@gmail.com>, <tech-talk@aps.anl.gov>
Date: Fri, 28 Jul 2017 17:07:00 +0000
Hi Michael,

I put a breakpoint in camessage where "misssaligned protocol" is initially detected and if I step a few lines to delay that thread before continuing, I always just get the "force disconnect message" in the IOC and no assert; if I immediately continue from the breakpoint I always get an assert failure instead, though I've noticed that sometimes the assert backtrace is to read_reply() ... event_read() rather than to send_err() ... camessage() as shown below. Let me know if there is anything that you would like me to try/examine

Regards,

Freddie

-----Original Message-----
From: Michael Davidsaver [mailto:mdavidsaver@gmail.com] 
Sent: 27 July 2017 11:01
To: Akeroyd, Freddie (STFC,RAL,ISIS); tech-talk@aps.anl.gov
Subject: Re: IOC error message on camonitor disconnect

This looks like it is related to:

https://bugs.launchpad.net/epics-base/+bug/541330

Although I suspect there is more than one bug involved.


On 07/26/2017 07:58 PM, freddie.akeroyd@stfc.ac.uk wrote:
> Apologies, forgot to include the stack trace:
> 
>  
> 
>                 dbCore.dll!cas_commit_msg(client * pClient, unsigned int
> size) Line 357               C
> 
>                dbCore.dll!vsend_err(const caHdrLargeArray * curp, int 
> status, client * client, const char * pformat, char * args) Line
> 245                C
> 
>                dbCore.dll!send_err(const caHdrLargeArray * curp, int 
> status, client * client, const char * pformat, ...) Line 264  C
> 
>                dbCore.dll!camessage(client * client) Line 2571 C
> 
>                 dbCore.dll!camsgtask(void * pParm) Line 129     C
> 
>                Com.dll!epicsWin32ThreadEntry(void * lpParameter) Line
> 501    C
> 
>  
> 
> Regards,
> 
>  
> 
> Freddie
> 
>  
> 
> *From:*tech-talk-bounces@aps.anl.gov
> [mailto:tech-talk-bounces@aps.anl.gov] *On Behalf Of 
> *freddie.akeroyd@stfc.ac.uk
> *Sent:* 26 July 2017 18:25
> *To:* tech-talk@aps.anl.gov
> *Subject:* IOC error message on camonitor disconnect
> 
>  
> 
> Hi,
> 
>  
> 
> I am seeing this using EPICS base 3.15.5 running on windows x64. I 
> start softIOC.exe and then repeatedly connect to a PV with camonitor 
> and then CTRL-C the camonitor, each time I see either:
> 
>  
> 
> epics> CAS: request from 127.0.0.1:20272 => CAS: Missaligned protocol
> rejected
> 
> CAS: Request from 127.0.0.1:20272 => cmmd=26209 cid=0x150008 
> type=14592
> count=0 postsize=24885
> 
> CAS: Request from 127.0.0.1:20272 =>   available=0x0    N=1
> paddr=0000000000000000
> 
> CAS: forcing disconnect from 127.0.0.1:20272
> 
> epics>
> 
>  
> 
> or
> 
>  
> 
> A call to 'assert(size <= ntohs ( pMsg->m_postsize ))'
> 
>     by thread 'CAS-client' failed in 
> ../../../src/ioc/rsrv/caserverio.c
> line 357.
> 
> Dumping a stack trace of thread 'CAS-client':
> 
> [  000007FEEE71D565]
> 
> [  000007FEEE71D206]
> 
> [  000007FEEE714EF8]
> 
> [  000007FEED1A6AD5]
> 
> [  000007FEED1AC21B]
> 
> [  000007FEED1AC29B]
> 
> [  000007FEED1AAF1C]
> 
> [  000007FEED1AAAE5]
> 
> [  000007FEEE7177F1]
> 
> [  000007FECEB3B0A8]
> 
> [  000007FECEB3AD11]
> 
> [  00000000771459CD]
> 
> [  000000007727A561]
> 
> EPICS Release EPICS R3.15.5.
> 
> Local time is 2017-07-26 16:38:50.636232257 GMT Daylight Time
> 
> Please E-mail this message to the author or to tech-talk@aps.anl.gov 
> <mailto:tech-talk@aps.anl.gov>
> 
> Calling epicsThreadSuspendSelf()
> 
> Thread CAS-client (000000000281A040) suspended
> 
>  
> 
> It looks similar to the message reported in 
> http://www.aps.anl.gov/epics/tech-talk/2016/msg01828.php
> 
>  
> 
> If I break into the program at the point of the assert I see the 
> following details:
> 
>  
> 
> size = 56
> 
>  
> 
> *pMsg
> 
>    m_cmmd=256
> 
>    m_postsize=6144
> 
>    m_dataType=5120
> 
>    m_count = 256
> 
>    m_cid = 16777216
> 
>   m_available = 16777216
> 
>  
> 
> We only recently updated to 3.15.5 and I didn't remember seeing such 
> messages before, so I connected to a machine still running 3.14 and 
> confirmed that I don't get any errors reported for the same test on 
> 3.14.12.6.
> 
>  
> 
> Regards,
> 
>  
> 
> Freddie
> 
>  
> 


References:
IOC error message on camonitor disconnect freddie.akeroyd
RE: IOC error message on camonitor disconnect freddie.akeroyd
Re: IOC error message on camonitor disconnect Michael Davidsaver

Navigate by Date:
Prev: Re: PV / record name length Andrew Johnson
Next: Re: PV / record name length Andrew Johnson
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
Navigate by Thread:
Prev: Re: IOC error message on camonitor disconnect Michael Davidsaver
Next: PV / record name length Sebastian Marsching
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
ANJ, 28 Jul 2017 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·