Ticket #5963 (closed: fixed)

Opened 8 years ago

Last modified 5 years ago

Crash when trying to load muon nexus twice on Linux (using load dialog)

Reported by: Martyn Gigg Owned by: Roman Tolchenov
Priority: blocker Milestone: Release 2.4
Component: Mantid Keywords:
Cc: Blocked By:
Blocking: Tester: Nick Draper

Description

This was seen on Ubuntu 12.04. To reproduce:

  • Open MantidPlot
  • Click Load
  • Browse to the MUSR15189.nxs file in AutoTestData
  • Click run to load the file
  • Close down MantidPlot
  • Open again and click Load. Mantid will crash.

I think it's seems to be something to do with thread access to NeXus files.

Change History

comment:1 Changed 8 years ago by Nick Draper

  • Milestone changed from Release 2.3 to Release 2.4

Moved to milestone 2.4

comment:2 Changed 8 years ago by Martyn Gigg

  • Priority changed from critical to blocker

It also seems to crash if I run these scripts simultaneously in two separate tabs:

for i in range(150):
    ws1 = Load('MUSR00015190.nxs')

and

for i in range(150):
    ws2 = Load('MUSR00015190.nxs')

so it must be a threading issue.

comment:3 Changed 8 years ago by Martyn Gigg

Backtrace

(gdb) bt
#0  0x00007fffe6ab9444 in HAPatom_object () from /usr/lib/libdf.so.0
#1  0x00007fffe6ae3e5a in Happendable () from /usr/lib/libdf.so.0
#2  0x00007fffe6b0a831 in VSattach () from /usr/lib/libdf.so.0
#3  0x00007fffe6d62a56 in hdf_read_dims () from /usr/lib/libmfhdf.so.0
#4  0x00007fffe6d63987 in hdf_read_xdr_cdf () from /usr/lib/libmfhdf.so.0
#5  0x00007fffe6d640b5 in hdf_xdr_cdf () from /usr/lib/libmfhdf.so.0
#6  0x00007fffe6d642f8 in xdr_cdf () from /usr/lib/libmfhdf.so.0
#7  0x00007fffe6d648e2 in NC_new_cdf () from /usr/lib/libmfhdf.so.0
#8  0x00007fffe6d65578 in ?? () from /usr/lib/libmfhdf.so.0
#9  0x00007fffe6d698fa in SDstart () from /usr/lib/libmfhdf.so.0
#10 0x00007fffed46504e in ?? () from /usr/lib/libNeXus.so.0
#11 0x00007fffed45e930 in ?? () from /usr/lib/libNeXus.so.0
#12 0x00007fffed45edf5 in nxiopen_ () from /usr/lib/libNeXus.so.0
#13 0x00007fffd4d783dc in Mantid::NeXus::NXRoot::NXRoot (this=0x7fffd8e86230, fname=...)
    at /home/dmn58364/Code/mantid/Code/Mantid/Framework/Nexus/src/NexusClasses.cpp:411
#14 0x00007fffbf259be7 in Mantid::DataHandling::LoadMuonNexus2::exec (this=0x5363900)
    at /home/dmn58364/Code/mantid/Code/Mantid/Framework/DataHandling/src/LoadMuonNexus2.cpp:61
#15 0x00007ffff6a19f68 in Mantid::API::Algorithm::execute (this=0x5363900) at /home/dmn58364/Code/mantid/Code/Mantid/Framework/API/src/Algorithm.cpp:540
#16 0x00007fffbf1603f8 in Mantid::DataHandling::Load::loadSingleFile (this=0x5364200)

comment:4 Changed 8 years ago by Martyn Gigg

This was a problem on Windows and doesn't appear on RedHat where we are using NeXus 4.3, which I think has mutexes around all of the HDF calls...On Red Hat you do get this on shutdown after opening a HDF4 file though

HDF5: infinite loop closing library
      D,T,F,FD,P,FD,P,FD,P,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E
Last edited 8 years ago by Martyn Gigg (previous) (diff)

comment:5 Changed 8 years ago by Nick Draper

  • Status changed from new to assigned
  • Owner set to Roman Tolchenov

comment:6 Changed 8 years ago by Roman Tolchenov

  • Status changed from assigned to accepted

comment:7 Changed 8 years ago by Roman Tolchenov

Re #5963. Temporary fix by preventing parallel file checking

Changeset: ae1de7745389f7b76f19f3a634eca7518bbdc104

comment:8 Changed 8 years ago by Roman Tolchenov

  • Status changed from accepted to verify
  • Resolution set to fixed

comment:9 Changed 8 years ago by Roman Tolchenov

Re #5963. Temporary fix by preventing parallel file checking

Changeset: ae1de7745389f7b76f19f3a634eca7518bbdc104

comment:10 Changed 8 years ago by Nick Draper

  • Status changed from verify to verifying
  • Tester set to Nick Draper

comment:11 Changed 8 years ago by Nick Draper

  • Status changed from verifying to closed

script provided in comment 2 works fine on windows 7 64

comment:12 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 6809

Note: See TracTickets for help on using tickets.