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: pasynOctetSyncIO error reading image status=4 |
From: | Mark Rivers via Tech-talk <tech-talk at aps.anl.gov> |
To: | "Sintschuk, Michael" <michael.sintschuk at bam.de>, tech-talk <tech-talk at aps.anl.gov> |
Date: | Thu, 2 Mar 2023 17:43:21 +0000 |
Hi Michael, The message is printed here: The status is the return from pasynOctetSyncIO->read in this line: pasynOctetSyncIO->read is here, and it just returns the status from pasynOctet->read(). The asynStatus enums are defined here: status=4 thus means asynDisconnected. That seems to indicated that the socket between the IOC and the PSL server has disconnected. You can turn on asynTraceIODriver on that socket and see exactly what is being sent and received. You can uncomment and change these lines in your st.cmd: asynSetTraceIOMask("PSLServer",0,ESCAPE) asynSetTraceMask("PSLServer",0,ERROR|DRIVER) asynSetTraceFile("PSLServer", 0, "PSLServer.out") The last line will send the output to a file, which may be more convenient. You may also need to add this line: asynSetTraceIOTruncateSize(“PSLServer”, 0, 10000000) so that you do not limit the output to just 80 bytes. Mark From: Tech-talk <tech-talk-bounces at aps.anl.gov> On Behalf Of
Sintschuk, Michael via Tech-talk Hi all, like announced in this tech-talk: https://epics.anl.gov/tech-talk/2021/msg02173.php I’m now trying to setup a FDS camera from Photonic Science with the ADPSL module. After adding some slightly changes to the Keywords that are send to the PSViewer-server or received from it, I can communicate with the camera without any
IOC-crashes. I forked the ADPSL-module here: https://github.com/MichaS-git/ADPSL However, from time to time I receive some deprecated images (some lines show ~50k counts, although it is a darkfield image and the rest image has ~200 counts) and the IOC shows this error code: 2023/03/02 16:51:43.266 PSL:getImage: error reading image, status=4, dataLen=12117504, nCopied=12117503, maxRead=1, nRead=1453 In the PSViewer (the vendor software that runs parallel) the image appears fine. It seems to appear random but I have the feeling that it happens more often when I increase the exposure time to higher than ~2s. Can anyone say what that
error with status=4 actually means? Here is my complete IOC-start with the errors: #!../../bin/linux-x86_64/PSLioc ## You may have to change PSLioc to something else ## everywhere it appears in this file < envPaths epicsEnvSet("IOC","PSLioc") epicsEnvSet("TOP","/mnt/soft-bam01/epics/IOC/PSLioc") epicsEnvSet("SUPPORT","/soft/epics/inst-3.15.7") epicsEnvSet("ASYN","/soft/epics/inst-3.15.7/asyn/4-40-1") epicsEnvSet("BUSY","/soft/epics/inst-3.15.7/busy/1-7-2") epicsEnvSet("CALC","/soft/epics/inst-3.15.7/calc/3-7-4") epicsEnvSet("SSCAN","/soft/epics/inst-3.15.7/sscan/2-11-3") epicsEnvSet("AUTOSAVE","/soft/epics/inst-3.15.7/autosave/5-10-1") epicsEnvSet("AREA_DETECTOR","/soft/epics/inst-3.15.7/areaDetector-R3-11") epicsEnvSet("ADCORE","/soft/epics/inst-3.15.7/areaDetector-R3-11/ADCore") epicsEnvSet("ADSUPPORT","/soft/epics/inst-3.15.7/areaDetector-R3-11/ADSupport") epicsEnvSet("ADPSL","/soft/epics/inst-3.15.7/areaDetector-R3-11/ADPSL") epicsEnvSet("EPICS_BASE","/soft/epics/base") ## Register all support components dbLoadDatabase("../../dbd/PSLioc.dbd",0,0) PSLioc_registerRecordDeviceDriver(pdbbase)
epicsEnvSet("PREFIX", "XRFDS:") epicsEnvSet("PORT", "PSL") epicsEnvSet("QSIZE", "20") epicsEnvSet("XSIZE", "2744") epicsEnvSet("YSIZE", "2208") epicsEnvSet("NCHANS", "2048") #epicsEnvSet("CBUFFS", "500") # The search path for database files epicsEnvSet("EPICS_DB_INCLUDE_PATH", "/soft/epics/inst-3.15.7/areaDetector-R3-11/ADCore/db") ### # Create the asyn port to talk to the PSL server on port 50000 drvAsynIPPortConfigure("PSLServer","hzb1.exp.helmholtz-berlin.de:50000", 0, 0, 0) asynOctetSetOutputEos("PSLServer", 0, "\n") asynOctetSetInputEos("PSLServer", 0, "\n") #asynSetTraceIOMask("PSLServer",0,2) #asynSetTraceMask("PSLServer",0,255) #asynSetTraceFile("PSLServer", 0, "PSLServer.out") # PSLConfig(const char *portName, const char *serverPort,
# int maxBuffers, size_t maxMemory, # int priority, int stackSize) PSLConfig("PSL", "PSLServer", 0, 0) #asynSetTraceIOMask("$(PORT)",0,2) #asynSetTraceMask("$(PORT)",0,9) dbLoadRecords("/soft/epics/inst-3.15.7/areaDetector-R3-11/ADCore/db/ADBase.template","P=XRFDS:,R=cam1:,PORT=PSL,ADDR=0,TIMEOUT=1") dbLoadRecords("/soft/epics/inst-3.15.7/areaDetector-R3-11/ADCore/db/NDFile.template","P=XRFDS:,R=cam1:,PORT=PSL,ADDR=0,TIMEOUT=1") dbLoadRecords("/soft/epics/inst-3.15.7/areaDetector-R3-11/ADPSL/db/PSL.template", "P=XRFDS:,R=cam1:,PORT=PSL,ADDR=0,TIMEOUT=1") # Create a standard arrays plugin NDStdArraysConfigure("Image1", 5, 0, "PSL", 0, 0) dbLoadRecords("/soft/epics/inst-3.15.7/areaDetector-R3-11/ADCore/db/NDPluginBase.template","P=XRFDS:,R=image1:,PORT=Image1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=PSL,NDARRAY_ADDR=0") # Make NELEMENTS in the following be a little bigger than 2744*2208 dbLoadRecords("/soft/epics/inst-3.15.7/areaDetector-R3-11/ADCore/db/NDStdArrays.template", "P=XRFDS:,R=image1:,PORT=Image1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=PSL,TYPE=Int16,FTVL=SHORT,NELEMENTS=6100000") # Create a TIFF file saving plugin NDFileTIFFConfigure("FileTIFF1", 20, 0, "PSL", 0) dbLoadRecords("NDFileTIFF.template", "P=XRFDS:,R=TIFF1:,PORT=FileTIFF1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=PSL") # Create 1 statistics plugins NDStatsConfigure("STATS1", 20, 0, "PSL", 0, 0, 0, 0, 0, 5) dbLoadRecords("NDStats.template", "P=XRFDS:,R=Stats1:, PORT=STATS1,ADDR=0,TIMEOUT=1,HIST_SIZE=256,XSIZE=2744,YSIZE=2208,NCHANS=2048,NDARRAY_PORT=PSL") NDTimeSeriesConfigure("STATS1_TS", 20, 0, "STATS1", 1, 23) dbLoadRecords("/soft/epics/inst-3.15.7/areaDetector-R3-11/ADCore/db/NDTimeSeries.template", "P=XRFDS:,R=Stats1:TS:, PORT=STATS1_TS,ADDR=0,TIMEOUT=1,NDARRAY_PORT=STATS1,NDARRAY_ADDR=1,NCHANS=2048,ENABLED=1") # Load all other plugins using commonPlugins.cmd #< $(ADCORE)/iocBoot/commonPlugins.cmd set_savefile_path("/soft/epics/IOC/PSLioc/iocBoot/PSLioc/autosave") set_requestfile_path("/soft/epics/inst-3.15.7/areaDetector-R3-11/ADPSL/pslApp/Db") set_requestfile_path("/soft/epics/IOC/PSLioc/iocBoot/PSLioc") set_requestfile_path("/soft/epics/inst-3.15.7/areaDetector-R3-11/ADCore/ADApp/Db") set_requestfile_path("/soft/epics/inst-3.15.7/calc/3-7-4/calcApp/Db") set_pass1_restoreFile("auto_settings.sav") iocInit() Starting iocInit ############################################################################ ## EPICS R3.15.7 ## EPICS Base built Dec 20 2019 ############################################################################ reboot_restore: entry for file 'auto_settings.sav' reboot_restore: Found filename 'auto_settings.sav' in restoreFileList. *** restoring from '/soft/epics/IOC/PSLioc/iocBoot/PSLioc/autosave/auto_settings.sav' at initHookState 7 (after record/device init) *** reboot_restore: done with file 'auto_settings.sav' iocRun: All initialization complete # save things every thirty seconds create_monitor_set("auto_settings.req", 30,"P=XRFDS:,D=cam1:") epics> auto_settings.sav: 352 of 352 PV's connected 2023/03/02 16:48:49.460 PSL:getImage: error reading image, status=4, dataLen=12117504, nCopied=12117502, maxRead=2, nRead=1377 epics> epics> 2023/03/02 16:51:32.720 PSL:getImage: error reading image, status=4, dataLen=12117504, nCopied=12117503, maxRead=1, nRead=1185 2023/03/02 16:51:43.266 PSL:getImage: error reading image, status=4, dataLen=12117504, nCopied=12117503, maxRead=1, nRead=1453 2023/03/02 16:51:48.603 PSL:getImage: error reading image, status=4, dataLen=12117504, nCopied=12117503, maxRead=1, nRead=1959 2023/03/02 16:51:55.546 PSL:writeReadServer, status=1, sent Stop 2023/03/02 16:51:55.552 PSL:getImage: error reading image, status=1, dataLen=12117504, nCopied=8333289, maxRead=2048, nRead=0 2023/03/02 16:51:55.581 PSL:writeInt32: error, status=1 function=8, value=0 2023/03/02 16:51:55.581 XRFDS:cam1:Acquire devAsynInt32::processCallbackOutput process write error
2023/03/02 16:52:05.499 PSL:getImage: error reading image, status=4, dataLen=12117504, nCopied=12117502, maxRead=2, nRead=1603 2023/03/02 16:52:10.847 PSL:getImage: error reading image, status=4, dataLen=12117504, nCopied=12117502, maxRead=2, nRead=51 Best Regards Michael |