Experimental Physics and Industrial Control System
I've solved this problem.
The issue was that when ADSpinnaker called the vendor library function EndAcquisition() that call never returned. It did not throw an exception, it just hung. I have seen this before, and even opened an issue with the vendor, but never received a satisfactory answer. The recurrence of the problem may be due to changing the message queue receive with timeout logic to sending a special message.
However, I was able to work around the problem by changing the order in which I call EndAcquisition versus shutting down my image consuming thread when stopping acquisition. It is working fine now.
I think the error message from base was a side effect of the asyn port driver thread being hung because the vendor library function not returning.
Thanks,
Mark
-----Original Message-----
From: Michael Davidsaver <mdavidsaver at gmail.com>
Sent: Sunday, March 22, 2020 10:59 AM
To: Mark Rivers <rivers at cars.uchicago.edu>
Cc: EPICS core-talk <core-talk at aps.anl.gov>
Subject: Re: Error (511,511)
On 3/22/20 8:53 AM, Mark Rivers wrote:
> Hi Michael,
>
>
> Before I got your message I got as far as figuring out that the message was from this line in errSymLib.c::errRawCopy.
>
>
> epicsSnprintf(pBuf, bufLength, "Error (%u,%u)", modnum, errnum);
>
>
> And this line in errMdef.h defines 511 to be the module Database access:
>
>
> #define M_dbAccess (511 << 16) /* Database Access Routines */
>
> How did you determine that it is recGblRecordError, and how do I track it down?
The string "PV: " doesn't appear in Base nearly as often as you might think.
> It is not an error I ever recall seeing before.
recGblRecordError() isn't often used. The unique part is the trailing "ReadOut".
That's not in Base.
> Thanks,
> Mark
>
>
>
>
>
> ________________________________
> From: Core-talk <core-talk-bounces at aps.anl.gov> on behalf of Michael Davidsaver via Core-talk <core-talk at aps.anl.gov>
> Sent: Sunday, March 22, 2020 10:44 AM
> To: core-talk at aps.anl.gov
> Subject: Re: Error (511,511)
>
> On 3/22/20 8:42 AM, Michael Davidsaver wrote:
>> On 3/22/20 8:37 AM, Mark Rivers via Core-talk wrote:
>>> Error (511,511) PV: 13BMDPG1:cam1:TriggerOverlap ReadOut
>>
>> Looks like recGblDbaddrError() in Base 7.0. Maybe called with status==-1 ?
>>
>
> Make that recGblRecordError(), I copied the wrong name...
>
- References:
- Error (511,511) Mark Rivers via Core-talk
- Re: Error (511,511) Michael Davidsaver via Core-talk
- Re: Error (511,511) Michael Davidsaver via Core-talk
- Re: Error (511,511) Michael Davidsaver via Core-talk
- Navigate by Date:
- Prev:
Re: C++ question (Bug in epicsMessageQueue) Michael Davidsaver via Core-talk
- Next:
Re: write to a single element of an array field Ben Franksen via Core-talk
- Index:
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: Error (511,511) Mark Rivers via Core-talk
- Next:
[Bug 1868486] [NEW] epicsMessageQueue lost messages mdavidsaver via Core-talk
- Index:
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
<2020>
2021
2022
2023
2024