Ticket #10221 (closed: wontfix)

Opened 6 years ago

Last modified 5 years ago

Crash when running LoadInstrumentFromNexus

Reported by: Harry Jeffery Owned by: Nick Draper
Priority: critical Milestone: Release 3.3
Component: Framework Keywords:
Cc: Blocked By:
Blocking: Tester: Karl Palmen

Description

To reproduce

  1. CreateWorkspace with X values '1,2,3,4,5', and Y values '1,2,3,4'.
  2. Run LoadInstrumentFromNexus on the workspace with nexus file = 'Test/AutoTestData/INTER00013460.nxs'
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffba9c4700 (LWP 7756)]
0x00007fffe39ff090 in H5SL_search () from /usr/lib/x86_64-linux-gnu/libhdf5.so.7
(gdb) bt
#0  0x00007fffe39ff090 in H5SL_search () from /usr/lib/x86_64-linux-gnu/libhdf5.so.7
#1  0x00007fffe39d5179 in H5P_get () from /usr/lib/x86_64-linux-gnu/libhdf5.so.7
#2  0x00007fffe39c0566 in ?? () from /usr/lib/x86_64-linux-gnu/libhdf5.so.7
#3  0x00007fffe39d1803 in H5P_close () from /usr/lib/x86_64-linux-gnu/libhdf5.so.7
#4  0x00007fffe397d722 in H5I_dec_ref () from /usr/lib/x86_64-linux-gnu/libhdf5.so.7
#5  0x00007fffe38f76f0 in H5D_close () from /usr/lib/x86_64-linux-gnu/libhdf5.so.7
#6  0x00007fffe397d722 in H5I_dec_ref () from /usr/lib/x86_64-linux-gnu/libhdf5.so.7
#7  0x00007fffe397d7d2 in H5I_dec_app_ref () from /usr/lib/x86_64-linux-gnu/libhdf5.so.7
#8  0x00007fffe397daa2 in H5I_dec_app_ref_always_close () from /usr/lib/x86_64-linux-gnu/libhdf5.so.7
#9  0x00007fffe38df327 in H5Dclose () from /usr/lib/x86_64-linux-gnu/libhdf5.so.7
#10 0x00007fffece0275a in ?? () from /usr/lib/libNeXus.so.0
#11 0x00007fffecdfb717 in nxiclosedata_ () from /usr/lib/libNeXus.so.0
#12 0x00007fffeeaee590 in NeXus::File::closeData() () from /usr/lib/libNeXusCPP.so.0
#13 0x00007fffda5634a7 in MuonNexusReader::readFromFile (this=0x7fffba9c37d0, filename="/home/harry/MantidProject/data/INTER00013460.nxs")
    at /home/harry/MantidProject/main/repo/Code/Mantid/Framework/Nexus/src/MuonNexusReader.cpp:102
#14 0x00007fffd9e8574d in Mantid::DataHandling::LoadInstrumentFromNexus::exec (this=0x3ed4e00)
    at /home/harry/MantidProject/main/repo/Code/Mantid/Framework/DataHandling/src/LoadInstrumentFromNexus.cpp:61
#15 0x00007ffff6892fe9 in Mantid::API::Algorithm::execute (this=0x3ed4e00) at /home/harry/MantidProject/main/repo/Code/Mantid/Framework/API/src/Algorithm.cpp:614
#16 0x00007ffff68988f2 in Mantid::API::Algorithm::executeAsyncImpl (this=0x3ed4e00) at /home/harry/MantidProject/main/repo/Code/Mantid/Framework/API/src/Algorithm.cpp:1544
#17 0x00007ffff68d0bed in Mantid::API::AlgorithmProxy::executeAsyncImpl (this=0x3eba630, dummy=...)
    at /home/harry/MantidProject/main/repo/Code/Mantid/Framework/API/src/AlgorithmProxy.cpp:113
#18 0x00007ffff68d35e8 in Poco::ActiveRunnable<bool, Poco::Void, Mantid::API::AlgorithmProxy>::run (this=0x3ce66f0) at /usr/include/Poco/ActiveRunnable.h:85
#19 0x00007ffff12547bf in Poco::PooledThread::run (this=0x1991fe0) at src/ThreadPool.cpp:203
#20 0x00007ffff1251cbb in Poco::ThreadImpl::runnableEntry (pThread=0x1992008) at src/Thread_POSIX.cpp:345
#21 0x00007fffeffe4182 in start_thread (arg=0x7fffba9c4700) at pthread_create.c:312
#22 0x00007fffefd10fbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Change History

comment:1 Changed 6 years ago by Nick Draper

  • Owner changed from Anyone to Nick Draper
  • Status changed from new to verify
  • Resolution set to wontfix

What were you expecting from this?

Obviously a crash is not good, but the purpose of this algorithm is to load an instrument from the same nexus file as the data.

Using it to attach an instrument to "other" data is misuse really, you should use LoadInstrument for that if that is what you want.

comment:2 Changed 6 years ago by Karl Palmen

  • Status changed from verify to verifying
  • Tester set to Karl Palmen

comment:3 Changed 6 years ago by Karl Palmen

  • Status changed from verifying to closed

I find that LoadInstrument also crashes when used on a workspace created by CreateWorkspace. It seems that workspaces created by CreateWorkspace are unsuitable for loading instruments into, perhaps because Mantid can't create a correspondence between the spectra and the detectors.

The usage examples for LoadInstrument, LoadInstrumentFromNexus and LoadInstrumentFromRaw all use a workspace created by CreateSampleWorkspace. Besides the usage examples, I did not find anything in the documentation indicating that workspaces created by CreateWorkspace are unsuitable for load instruments in.

I'll pass this on the basis of the usage examples, although it would be desirable for an error massage to be given instead of a crash and/or the documentation to be explicit on this issue.

comment:4 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 11063

Note: See TracTickets for help on using tickets.