Ticket #2799 (closed: fixed)
Crash: when clicking Load while still loading
Reported by: | Nick Draper | Owned by: | Martyn Gigg |
---|---|---|---|
Priority: | critical | Milestone: | Iteration 29 |
Component: | MantidPlot | Keywords: | |
Cc: | Blocked By: | ||
Blocking: | Tester: | Andrei Savici |
Description (last modified by Nick Draper) (diff)
To reproduce:
- Load -> File Load Olympic/babylon5/Public/LOQ/2221front_1D_2.0_14.0.nx5
- While still loading, click Load-File again
- BANG
Change History
comment:2 Changed 9 years ago by Nick Draper
- Milestone changed from Iteration 28 to Iteration 29
Bulk move of tickets at the end of iteration 28
comment:3 Changed 9 years ago by Martyn Gigg
Note: This only seems to affect NeXus files. Performing the same procedure with a RAW file does not show the same problem.
comment:4 Changed 9 years ago by Martyn Gigg
Confirmed that this only happens with NeXus and on Windows. The issue is that the version of HDF5 that we currently have is not thread safe. On Windows it cannot be compiled with thread-safety turned on while using Windows threading.
HDF5-1.8.6 offers the thread-safe option with Windows threads: we should upgrade to this. The only other option is a lock around every call we make to NeXus, which is not practical.
comment:6 Changed 9 years ago by Martyn Gigg
(In [12572]) Update the HDF5 library on win64 to version 1.8.6 as this supports the "thread safe" option using Windows threads. The src has been swapped and Freddie has rebuilt NeXus against it. This cures the problem of trying to open two HDF5 NeXus files from separate threads. 32-bit libs to follow. Refs #2799
comment:7 Changed 9 years ago by Martyn Gigg
(In [12626]) Update the Win32 HDF5 libraries to 1.8.6, these are the ones from the website that Freddie has relinked against and updated NeXus to put locks around the HDF5 calls so that different threads can access them. Also swapped the zlib .lib files for the one that HDF use. It is still version 1.2.3 which is why the dll hasn't changed. Re #2799
comment:8 Changed 9 years ago by Martyn Gigg
- Status changed from accepted to verify
- Resolution set to fixed
comment:9 Changed 9 years ago by Andrei Savici
- Status changed from verify to verifying
- Tester set to Andrei Savici
comment:11 Changed 5 years ago by Stuart Campbell
This ticket has been transferred to github issue 3646