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 2025 | 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 2025 |
<== Date ==> | <== Thread ==> |
---|
Subject: | Re: asyn IMAX data transfer exceeding EPICS_CA_MAX_ARRAY_BYTES |
From: | "Marco A. Barra Montevechi Filho via Tech-talk" <tech-talk at aps.anl.gov> |
To: | Mark Rivers <rivers at cars.uchicago.edu>, "Siddons, David" <siddons at bnl.gov> |
Cc: | "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov> |
Date: | Wed, 16 Mar 2022 18:07:45 +0000 |
(sending again as a copy because just now i realized i was replying in private. Sorry!)
Hello, Mark! Good morning. Unfortunately it didnt. Im not sure if i understood the question correctly, but if i did, the answer is the following: The IOC runs in a virtual machine (host) and is accessed by another virtual machine (client) which is configured via EPICS_CA_ADDR_LIST to search in the host's IP. This design works well here in LNLS, so it should not be the problem. EPICS_CA_MAX_ARRAY_BYTES is defined both in the host and in the client and set to the same values. We also tried running caget in a jupyter notebook which also had EPICS_CA_MAX_ARRAY_BYTES defined on it as an environment variable. Neither strategy (runnning caget on the machine or in the notebook) worked. For some reason, the error which i sent here earlier ("data transfer bigger than available memory or EPICS_CA_MAX_ARRAY_BYTES") is not showing up again. Instead, we get a direct segmentation fault that kills the IOC. Thus, i raise the following doubts: -Does it makes sense to think of an IOC segmentation fault? Or is it just reporting a segmentation fault that actually happened inside the equipment controller and terminating for some reason? Does it makes sense to think that the data transfer is
bigger than whats set in IMAX or in EPICS_CA_MAX_ARRAY_BYTES and so the IOC sigfaults and dies?
-If the answer to the first question is no, then does it makes sense to think of the IOC just propagating the segmentation fault message that comes from the equipment controller? - if the answer to both previous questions is no, then should i only believe that sigfault comes from machine memory error? -Is asyn prepared to deal with IMAX as big as 524288? (im not sure if this last question matters, though, since requesting large arrays of data with IMAX set to 256 also resulted in error sometimes). If it helps, the field in which we are trying to caget is .BINP. .IFMT is configured to hybrid. Thanks for your attention! From: Mark Rivers <rivers at cars.uchicago.edu>
Sent: 16 March 2022 14:11 To: Siddons, David <siddons at bnl.gov> Cc: tech-talk at aps.anl.gov <tech-talk at aps.anl.gov>; Marco A. Barra Montevechi Filho <marco.filho at lnls.br> Subject: Re: asyn IMAX data transfer exceeding EPICS_CA_MAX_ARRAY_BYTES Did Pete’s suggestion fix the problem?
Sent from my iPhone
On Mar 15, 2022, at 9:42 AM, Siddons, David via Tech-talk <tech-talk at aps.anl.gov> wrote:
|