John,
I'm willing to bet this problem is because you have not applied the patch to macLib in EPICS 3.14.11?
This is from the areaDetector Release Notes:
Known problems. This release of areaDetector exposed two bugs in EPICS 3.14.11. Links to the required patches can be found on the EPICS 3.4.11 Known Problems page <http://www.aps.anl.gov/epics/base/R3-14/11-docs/KnownProblems.html> .
* The epicsThreadOnceOsd problem can cause crashes with an "assert" error on IOC initialization on Win32 systems.
* The macLib problem can cause crashes or memory corruption when the commonPlugins.cmd script expands lines with macros longer than 256 characters.
The line that is crashing for you:
dbLoadRecords("$(AREA_DETECTOR)/ADApp/Db/NDOverlayN.template", ...
generates a very long line when macro expansion is done. This causes a buffer overflow in macLib, which Windows detects in the call to free().
Here is the note on the 3.14.11 Known Problems page:
2010-05-11: macLib has an off-by-one buffer overflow bug which only appears when using very long input lines. This patch <https://carsmail1.cars.aps.anl.gov/exchange/rivers/Drafts/RE:%20areaDetector%20problem.EML/macCore.patch> modifies the src/libCom/macLib/macCore.c file to fix this issue. A more extensive patch can be found on the Launchpad bug #551909 page.
Mark
________________________________
From: [email protected] on behalf of John Dobbins
Sent: Thu 7/15/2010 3:44 PM
To: EPICS Techtalk
Subject: areaDetector problem
I am using areaDetector with Flea2 Firewire cameras on WindowsXP.
I can create a camera driver (WinFDC_Config) and pipe the output through a chain of plugins:
camera_driver -> process-> overlay -> NDStdArray -> stats
and everything works. I next tried to create an IOC with two cameras and found
{camera_driver_1, camera_driver_2} -> process
works, where process can receive output from one camera or the other. However
{camera_driver_1, camera_driver_2} -> process -> overlay
crashes. In particular the IOC crashes on start up at the last of these lines:
NDOverlayConfigure("OVER1", $(QSIZE), 0, "PROC1", 0, 8, -1, -1)
dbLoadRecords("$(AREA_DETECTOR)/ADApp/Db/NDPluginBase.template",...
dbLoadRecords("$(AREA_DETECTOR)/ADApp/Db/NDOverlay.template"
dbLoadRecords("$(AREA_DETECTOR)/ADApp/Db/NDOverlayN.template", ...
I get an error message "myIOC.exe has encountered a problem and needs to close". If I omit the last line the IOC will start up. Note that these are the same db files that work in the single camera IOC.
I don't know how to proceed. Hoping someone can suggest a next step. Any wild guesses as to what might be a problem?
Regards,
John Dobbins
Lab for Elementary Particle Physics
Cornell University
- Replies:
- RE: areaDetector problem John Dobbins
- References:
- areaDetector problem John Dobbins
- Navigate by Date:
- Prev:
Re: areaDetector problem John Hammonds
- Next:
devGpib problem Mark Rivers
- 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
- Navigate by Thread:
- Prev:
Re: areaDetector problem John Hammonds
- Next:
RE: areaDetector problem John Dobbins
- 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
|