Hi Stuart,
I just tested with the master branch of ADCore. I used 1024x1024 RGB1 data and saved a single HDF5 file with the Save button.
Here is the asynTrace output with all asynTrace bits set:
************************************************************************************************
2015/03/04 17:36:16.325 13SIM1:HDF1:EpicsTSSec_RBV devAsynInt32::getCallbackValue from ringBuffer value=794360176
2015/03/04 17:36:16.325 13SIM1:HDF1:EpicsTSNsec_RBV devAsynInt32::getCallbackValue from ringBuffer value=324902139
2015/03/04 17:36:17.894 FileHDF1 addr -1 queueRequest priority 0 not lockHolder
2015/03/04 17:36:17.895 asynManager::portThread port=FileHDF1 callback
2015/03/04 17:36:17.895 NDFileHDF5:writeInt32: function=24, value=1 old=0
2015/03/04 17:36:17.895 NDFileHDF5:writeInt32: calling base class function=24, value=1 old=0
2015/03/04 17:36:17.895 13SIM1:HDF1:WriteFile devAsynBusy::interruptCallback new value=1
2015/03/04 17:36:17.895 13SIM1:HDF1:WriteFile_RBV devAsynInt32::interruptCallbackInput new value=1
2015/03/04 17:36:17.895 13SIM1:HDF1:WriteFile_RBV devAsynInt32::getCallbackValue from ringBuffer value=1
2015/03/04 17:36:17.895 NDFileHDF5::openFile Filename: /home/epics/scratch/test_hdf5_014.h5
2015/03/04 17:36:17.896 NDFileHDF5::openFile attribute list copied. num pArray attributes = 15 local copy = 15
2015/03/04 17:36:17.896 NDFileHDF5::configureDims NDArray: { 3, 1024, 1024, }
2015/03/04 17:36:17.896 NDFileHDF5::configureDims dimension report:
framesize 1024, 1024, 3,
chunkdims 1024, 1024, 3,
maxdims 1024, 1024, 3,
dims 1024, 1024, 3,
offset 0, 0, 0,
virtual 0,
2015/03/04 17:36:17.896 NDFileHDF5::createNewFile Setting istorek=1
2015/03/04 17:36:17.896 NDFileHDF5::createFileLayout Creating dataspace with given dimensions
2015/03/04 17:36:17.896 NDFileHDF5::createFileLayout Configuring chunking
2015/03/04 17:36:17.896 NDFileHDF5::createFileLayout Setting fillvalue
2015/03/04 17:36:17.897 NDFileHDF5::createFileLayout Empty layout file, use default layout
2015/03/04 17:36:17.897 NDFileHDF5::createXMLFileLayout Root tree: < Group: '' groups=1 dsets=0 attr=0>
< Group: '/entry' groups=2 dsets=0 attr=1>
< Group: '/entry/data' groups=0 dsets=0 attr=1>
< Group: '/entry/instrument' groups=3 dsets=0 attr=1>
< Group: '/entry/instrument/NDAttributes' groups=0 dsets=0 attr=1>
< Group: '/entry/instrument/detector' groups=1 dsets=1 attr=1>
< Group: '/entry/instrument/detector/NDAttributes' groups=0 dsets=1 attr=1>
< Group: '/entry/instrument/performance' groups=0 dsets=1 attr=0>
2015/03/04 17:36:17.897 NDFileHDF5::writeH5attrStr name=NX_class value=NXentry
2015/03/04 17:36:17.898 NDFileHDF5::writeH5attrStr name=NX_class value=NXdata
2015/03/04 17:36:17.898 NDFileHDF5::writeH5attrStr name=NX_class value=NXinstrument
2015/03/04 17:36:17.898 NDFileHDF5::writeH5attrStr name=NX_class value=NXcollection
2015/03/04 17:36:17.898 NDFileHDF5::writeH5attrStr name=NX_class value=NXdetector
2015/03/04 17:36:17.898 NDFileHDF5::createDatasetDetector Setting cache size=3145728 slots=53
2015/03/04 17:36:17.898 NDFileHDF5::createDatasetDetector Creating first empty dataset called "data"
2015/03/04 17:36:17.898 NDFileHDF5::writeH5attrStr name=NX_class value=SDS
2015/03/04 17:36:17.898 NDFileHDF5::writeH5attrInt32 name=signal value=1
2015/03/04 17:36:17.898 NDFileHDF5::writeH5attrStr name=NX_class value=NXcollection
2015/03/04 17:36:17.898 NDFileHDF5::createXMLFileLayout Default dataset name: /entry/instrument/detector/data
2015/03/04 17:36:17.898 NDFileHDF5::createAttributeDataset Creating attribute datasets. extradims=0 attribute count=15
2015/03/04 17:36:17.899 NDFileHDF5::writeFile getting attribute list
2015/03/04 17:36:17.899 NDFileHDF5::writeFile copying attribute list
2015/03/04 17:36:17.899 NDFileHDF5::writeFile: set_extent dims={1024,1024,3}
2015/03/04 17:36:17.902 NDFileHDF5::writeFile wrote frame. dt=0.00281s (T=0.00641s)
2015/03/04 17:36:17.902 NDFileHDF5::closeAttributeDataset: closing attribute dataset 'ColorMode'
2015/03/04 17:36:17.902 NDFileHDF5::closeAttributeDataset: closing attribute dataset 'AcquireTime'
2015/03/04 17:36:17.902 NDFileHDF5::closeAttributeDataset: closing attribute dataset 'RingCurrent'
2015/03/04 17:36:17.903 NDFileHDF5::closeAttributeDataset: closing attribute dataset 'ID_Energy'
2015/03/04 17:36:17.903 NDFileHDF5::closeAttributeDataset: closing attribute dataset 'ImageCounter'
2015/03/04 17:36:17.903 NDFileHDF5::closeAttributeDataset: closing attribute dataset 'MaxSizeX'
2015/03/04 17:36:17.903 NDFileHDF5::closeAttributeDataset: closing attribute dataset 'MaxSizeY'
2015/03/04 17:36:17.903 NDFileHDF5::closeAttributeDataset: closing attribute dataset 'Pi'
2015/03/04 17:36:17.903 NDFileHDF5::closeAttributeDataset: closing attribute dataset 'E'
2015/03/04 17:36:17.903 NDFileHDF5::closeAttributeDataset: closing attribute dataset 'Ten'
2015/03/04 17:36:17.903 NDFileHDF5::closeFile closing HDF cparms 167772177
2015/03/04 17:36:17.903 NDFileHDF5::closeFile closing HDF datatype 50331961
2015/03/04 17:36:17.903 NDFileHDF5::closeFile closing groups
2015/03/04 17:36:17.906 NDFileHDF5::closeFile file closed! runtime=0.011 s overall acquisition performance=2219.57 Mbit/s
2015/03/04 17:36:17.906 13SIM1:HDF1:NumCaptured_RBV devAsynInt32::interruptCallbackInput new value=1
2015/03/04 17:36:17.907 13SIM1:HDF1:FileNumber devAsynInt32::interruptCallbackOutput new value=15
2015/03/04 17:36:17.907 13SIM1:HDF1:FileNumber_RBV devAsynInt32::interruptCallbackInput new value=15
2015/03/04 17:36:17.907 13SIM1:HDF1:FileNumber devAsynInt32::getCallbackValue from ringBuffer value=15
2015/03/04 17:36:17.907 13SIM1:HDF1:NumCaptured_RBV devAsynInt32::getCallbackValue from ringBuffer value=1
2015/03/04 17:36:17.907 13SIM1:HDF1:FileNumber_RBV devAsynInt32::getCallbackValue from ringBuffer value=15
2015/03/04 17:36:17.907 13SIM1:HDF1:FullFileName_RBV devAsynOctet::interruptCallbackInput ringSize=0, len=37, callback data:2015/03/04 17:36:17.907 13SIM1:HDF1:NumFramesChunks_RBV devAsynInt32::interruptCallbackInput new value=1024
2015/03/04 17:36:17.907 13SIM1:HDF1:NumRowChunks_RBV devAsynInt32::interruptCallbackInput new value=1024
2015/03/04 17:36:17.907 13SIM1:HDF1:NumColChunks_RBV devAsynInt32::interruptCallbackInput new value=3
2015/03/04 17:36:17.907 13SIM1:HDF1:IOSpeed devAsynFloat64::interruptCallbackInput new value=2219.566552
2015/03/04 17:36:17.907 13SIM1:HDF1:RunTime devAsynFloat64::interruptCallbackInput new value=0.010813
2015/03/04 17:36:17.907 13SIM1:HDF1:WriteFile devAsynBusy::interruptCallback new value=0
2015/03/04 17:36:17.907 13SIM1:HDF1:WriteFile devAsynBusy::interruptCallback 1 to 0 transition, posting monitors and calling recGblFwdLink
2015/03/04 17:36:17.907 13SIM1:HDF1:WriteFile_RBV devAsynInt32::interruptCallbackInput new value=0
2015/03/04 17:36:17.907 13SIM1:HDF1:FullFileName_RBV devAsynOctet::processCommon len=36, data:2015/03/04 17:36:17.907 NDPluginFile:writeInt32: function=24, value=1
2015/03/04 17:36:17.907 13SIM1:HDF1:WriteFile devAsynBusy process value 1
2015/03/04 17:36:17.907 13SIM1:HDF1:NumFramesChunks_RBV devAsynInt32::getCallbackValue from ringBuffer value=1024
2015/03/04 17:36:17.907 13SIM1:HDF1:NumRowChunks_RBV devAsynInt32::getCallbackValue from ringBuffer value=1024
2015/03/04 17:36:17.908 13SIM1:HDF1:NumColChunks_RBV devAsynInt32::getCallbackValue from ringBuffer value=3
2015/03/04 17:36:17.908 13SIM1:HDF1:IOSpeed devAsynFloat64::getCallbackValue from ringBuffer value=2219.566552
2015/03/04 17:36:17.908 13SIM1:HDF1:RunTime devAsynFloat64::getCallbackValue from ringBuffer value=0.010813
2015/03/04 17:36:17.908 13SIM1:HDF1:WriteFile_RBV devAsynInt32::getCallbackValue from ringBuffer value=0
2015/03/04 17:36:18.325 13SIM1:HDF1:ArrayCounter_RBV devAsynInt32::interruptCallbackInput new value=0
2015/03/04 17:36:18.325 13SIM1:HDF1:UniqueId_RBV devAsynInt32::interruptCallbackInput new value=7
2015/03/04 17:36:18.325 13SIM1:HDF1:TimeStamp_RBV devAsynFloat64::interruptCallbackInput new value=794360178.318882
************************************************************************************************
These are the last few lines up to where your IOC crashed:
2015/03/04 17:16:23.569 NDFileHDF5::createDatasetDetector Creating first empty dataset called "data"
2015/03/04 17:16:23.570 NDFileHDF5::writeH5attrStr name=NX_class value=SDS
2015/03/04 17:16:23.570 NDFileHDF5::writeH5attrInt32 name=signal value=1
2015/03/04 17:16:23.570 NDFileHDF5::writeH5attrStr name=NX_class value=NXcollection
2015/03/04 17:16:23.570 NDFileHDF5::createXMLFileLayout Default dataset name: /entry/instrument/detector/data
2015/03/04 17:16:23.570 NDFileHDF5::createAttributeDataset Creating attribute datasets. extradims=0 attribute count=1
2015/03/04 17:16:23.570 NDFileHDF5::writeFile getting attribute list
2015/03/04 17:16:23.570 NDFileHDF5::writeFile copying attribute list
2015/03/04 17:16:23.570 NDFileHDF5::writeFile: set_extent dims={1024,1024,3}
HDF5-DIAG: Error detected in HDF5 (1.8.8) thread 139838595618560:
#000: ../../../src/H5Dio.c line 245 in H5Dwrite(): file selection+offset not within extent
major: Dataspace
minor: Out of range
Segmentation fault
This is the output I get starting at the same point:
2015/03/04 17:36:17.898 NDFileHDF5::createDatasetDetector Creating first empty dataset called "data"
2015/03/04 17:36:17.898 NDFileHDF5::writeH5attrStr name=NX_class value=SDS
2015/03/04 17:36:17.898 NDFileHDF5::writeH5attrInt32 name=signal value=1
2015/03/04 17:36:17.898 NDFileHDF5::writeH5attrStr name=NX_class value=NXcollection
2015/03/04 17:36:17.898 NDFileHDF5::createXMLFileLayout Default dataset name: /entry/instrument/detector/data
2015/03/04 17:36:17.898 NDFileHDF5::createAttributeDataset Creating attribute datasets. extradims=0 attribute count=15
2015/03/04 17:36:17.899 NDFileHDF5::writeFile getting attribute list
2015/03/04 17:36:17.899 NDFileHDF5::writeFile copying attribute list
2015/03/04 17:36:17.899 NDFileHDF5::writeFile: set_extent dims={1024,1024,3}
2015/03/04 17:36:17.902 NDFileHDF5::writeFile wrote frame. dt=0.00281s (T=0.00641s)
So it is very similar up to where yours died. I have 15 attributes and you only have 1, but that is because I am using a different attribute XML file.
I don't know what version of ACCore you are running, but we I don't know of any changes that would fix a problem like the one you are seeing.
On github there are 2 branches that might be of interest to you:
master: This is the branch I just tested above, but it does not yet have some more recent fixes to the HDF5 plugin
hdf5-bugfix This branch has a few recent fixes, and is still being actively worked on. It will be merged with master before ADCore 2-2 is released, hopefully in a week or two.
Cheers,
Mark
________________________________________
From: Wilkins, Stuart [[email protected]]
Sent: Wednesday, March 04, 2015 5:12 PM
To: Mark Rivers
Cc: [email protected]
Subject: Re: Problem with HDF5 plugin for areaDetector
Hi Mark,
Yes this is Linux. Debian 7.
Can try pulling off master of ADCore tonight. I have the defaults set and even wiped save/restore to set to defaults and it still segfaults.
If you get a specific tag or branch to work let me know, I can try this this end.
Best wishes,
Stuart
> On Mar 4, 2015, at 18:10, Mark Rivers <[email protected]> wrote:
>
> Hi Stuart,
>
> Is this on Linux?
>
> It looks like you are using HDF 1.8.8? I have been using 1.8.7, but I think the people at Diamond have been using more recent versions.
>
> ADCore R2-1 was a major re-write of the HDF5 plugin to allow the HDF5 file layout to be configured via an XML file. We have recently found some bugs in it, the most serious of which is that it is not possible to change the NDArray source after iocInit. R2-2 will be out soon, and will fix that bug and a number of others that we are actively working on.
>
> That being said, I think others have been using 2.0 without the problems you are describing. Are you using all of the default settings in terms of compression, chunking, etc?
>
> I'll try building 2-0 and see if I can reproduce your problem.
>
> Mark
>
> ________________________________________
> From: [email protected] [[email protected]] on behalf of Wilkins, Stuart [[email protected]]
> Sent: Wednesday, March 04, 2015 4:21 PM
> To: [email protected]
> Subject: Problem with HDF5 plugin for areaDetector
>
> Hi,
>
> I am having problems with the simdetector in Areadetector 2.0. I am running the HDF5 plugin and on trying to write a frame to disk, it segfaults. I have tried to start from a fresh state by taking away the save/restore files but nothing seems to fix it. Turning on traceback gives the errors below. Has anyone had this problem?
>
> Thanks,
> Stuart
>
> 2015/03/04 17:16:23.543 XF:23ID1-ES{Tst-Cam:1}HDF1:PoolFreeBuffers devAsynInt32 process value=0
> 2015/03/04 17:16:23.566 XF:23ID1-ES{Tst-Cam:1}HDF1:ArrayCounter_RBV devAsynInt32::interruptCallbackInput new value=1
> 2015/03/04 17:16:23.566 XF:23ID1-ES{Tst-Cam:1}HDF1:UniqueId_RBV devAsynInt32::interruptCallbackInput new value=4
> 2015/03/04 17:16:23.566 XF:23ID1-ES{Tst-Cam:1}HDF1:TimeStamp_RBV devAsynFloat64::interruptCallbackInput new value=794355383.558608
> 2015/03/04 17:16:23.566 XF:23ID1-ES{Tst-Cam:1}HDF1:EpicsTSSec_RBV devAsynInt32::interruptCallbackInput new value=794355383
> 2015/03/04 17:16:23.566 XF:23ID1-ES{Tst-Cam:1}HDF1:EpicsTSNsec_RBV devAsynInt32::interruptCallbackInput new value=565638532
> 2015/03/04 17:16:23.566 XF:23ID1-ES{Tst-Cam:1}HDF1:WriteStatus devAsynInt32::interruptCallbackInput new value=0
> 2015/03/04 17:16:23.566 XF:23ID1-ES{Tst-Cam:1}HDF1:ArrayCounter_RBV devAsynInt32::getCallbackValue from ringBuffer value=1
> 2015/03/04 17:16:23.566 XF:23ID1-ES{Tst-Cam:1}HDF1:UniqueId_RBV devAsynInt32::getCallbackValue from ringBuffer value=4
> 2015/03/04 17:16:23.566 XF:23ID1-ES{Tst-Cam:1}HDF1:WriteFile devAsynBusy::interruptCallback new value=1
> 2015/03/04 17:16:23.566 XF:23ID1-ES{Tst-Cam:1}HDF1:TimeStamp_RBV devAsynFloat64::getCallbackValue from ringBuffer value=794355383.558608
> 2015/03/04 17:16:23.566 XF:23ID1-ES{Tst-Cam:1}HDF1:EpicsTSSec_RBV devAsynInt32::getCallbackValue from ringBuffer value=794355383
> 2015/03/04 17:16:23.566 XF:23ID1-ES{Tst-Cam:1}HDF1:EpicsTSNsec_RBV devAsynInt32::getCallbackValue from ringBuffer value=565638532
> 2015/03/04 17:16:23.566 XF:23ID1-ES{Tst-Cam:1}HDF1:WriteStatus devAsynInt32::getCallbackValue from ringBuffer value=0
> 2015/03/04 17:16:23.566 XF:23ID1-ES{Tst-Cam:1}HDF1:WriteFile_RBV devAsynInt32::interruptCallbackInput new value=1
> 2015/03/04 17:16:23.566 XF:23ID1-ES{Tst-Cam:1}HDF1:WriteFile_RBV devAsynInt32::getCallbackValue from ringBuffer value=1
> 2015/03/04 17:16:23.566 NDFileHDF5::openFile Filename: /GPFS/xf23id/xf23id1/ccdtestdata/2015/3/4/4848c262-131d-49bb-b76a-db72c2ede134_000000.h5
> 2015/03/04 17:16:23.567 NDFileHDF5::openFile attribute list copied. num pArray attributes = 1 local copy = 1
> 2015/03/04 17:16:23.567 NDFileHDF5::configureDims NDArray: { 3, 1024, 1024, }
> 2015/03/04 17:16:23.567 NDFileHDF5::configureDims dimension report:
> framesize 1024, 1024, 3,
> chunkdims 1024, 1024, 3,
> maxdims 1024, 1024, 3,
> dims 1024, 1024, 3,
> offset 0, 0, 0,
> virtual 0,
> 2015/03/04 17:16:23.567 NDFileHDF5::createNewFile Setting istorek=1
> 2015/03/04 17:16:23.568 NDFileHDF5::createFileLayout Creating dataspace with given dimensions
> 2015/03/04 17:16:23.568 NDFileHDF5::createFileLayout Configuring chunking
> 2015/03/04 17:16:23.568 NDFileHDF5::createFileLayout Setting fillvalue
> 2015/03/04 17:16:23.568 NDFileHDF5::createFileLayout Empty layout file, use default layout
> 2015/03/04 17:16:23.569 NDFileHDF5::createXMLFileLayout Root tree: < Group: '' groups=1 dsets=0 attr=0>
> < Group: '/entry' groups=2 dsets=0 attr=1>
> < Group: '/entry/data' groups=0 dsets=0 attr=1>
> < Group: '/entry/instrument' groups=3 dsets=0 attr=1>
> < Group: '/entry/instrument/NDAttributes' groups=0 dsets=0 attr=1>
> < Group: '/entry/instrument/detector' groups=1 dsets=1 attr=1>
> < Group: '/entry/instrument/detector/NDAttributes' groups=0 dsets=1 attr=1>
> < Group: '/entry/instrument/performance' groups=0 dsets=1 attr=0>
> 2015/03/04 17:16:23.569 NDFileHDF5::writeH5attrStr name=NX_class value=NXentry
> 2015/03/04 17:16:23.569 NDFileHDF5::writeH5attrStr name=NX_class value=NXdata
> 2015/03/04 17:16:23.569 NDFileHDF5::writeH5attrStr name=NX_class value=NXinstrument
> 2015/03/04 17:16:23.569 NDFileHDF5::writeH5attrStr name=NX_class value=NXcollection
> 2015/03/04 17:16:23.569 NDFileHDF5::writeH5attrStr name=NX_class value=NXdetector
> 2015/03/04 17:16:23.569 NDFileHDF5::createDatasetDetector Setting cache size=3145728 slots=0
> 2015/03/04 17:16:23.569 NDFileHDF5::createDatasetDetector Creating first empty dataset called "data"
> 2015/03/04 17:16:23.570 NDFileHDF5::writeH5attrStr name=NX_class value=SDS
> 2015/03/04 17:16:23.570 NDFileHDF5::writeH5attrInt32 name=signal value=1
> 2015/03/04 17:16:23.570 NDFileHDF5::writeH5attrStr name=NX_class value=NXcollection
> 2015/03/04 17:16:23.570 NDFileHDF5::createXMLFileLayout Default dataset name: /entry/instrument/detector/data
> 2015/03/04 17:16:23.570 NDFileHDF5::createAttributeDataset Creating attribute datasets. extradims=0 attribute count=1
> 2015/03/04 17:16:23.570 NDFileHDF5::writeFile getting attribute list
> 2015/03/04 17:16:23.570 NDFileHDF5::writeFile copying attribute list
> 2015/03/04 17:16:23.570 NDFileHDF5::writeFile: set_extent dims={1024,1024,3}
> HDF5-DIAG: Error detected in HDF5 (1.8.8) thread 139838595618560:
> #000: ../../../src/H5Dio.c line 245 in H5Dwrite(): file selection+offset not within extent
> major: Dataspace
> minor: Out of range
> Segmentation fault
>
>
- Replies:
- Re: Problem with HDF5 plugin for areaDetector Wilkins, Stuart
- References:
- Problem with HDF5 plugin for areaDetector Wilkins, Stuart
- RE: Problem with HDF5 plugin for areaDetector Mark Rivers
- Re: Problem with HDF5 plugin for areaDetector Wilkins, Stuart
- Navigate by Date:
- Prev:
Re: How to handle out-of-index of MBBO/MBBI? Jeong Han Lee
- Next:
Re: How to handle out-of-index of MBBO/MBBI? 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
2018
2019
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
Re: Problem with HDF5 plugin for areaDetector Wilkins, Stuart
- Next:
Re: Problem with HDF5 plugin for areaDetector Wilkins, Stuart
- 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
|