Ticket #9352 (closed: fixed)
Segfault on shutdown
Reported by: | Peter Peterson | Owned by: | Martyn Gigg |
---|---|---|---|
Priority: | blocker | Milestone: | Release 3.2 |
Component: | Framework | Keywords: | |
Cc: | campbellsi@…, saviciat@… | Blocked By: | |
Blocking: | Tester: | Peter Peterson |
Description ¶
It is unclear what is the actual cause of this, but it has been observed on Fedora 20 and Ubuntu 14.04 both of which have gcc 4.8 and python 2.7.
To reproduce:
python -c "import mantid"
Which will produce an error (amongst lots of extra information)
*** Error in `python': double free or corruption (fasttop): 0x00000000024cdb80 ***
Change History
comment:2 Changed 6 years ago by Andrei Savici
On clean Ubuntu 14.04 I get
[ FATAL ] /home/andrei/Mantid/mantid/Code/Mantid/TestingTools/gmock-1.7.0/gtest/include/gtest/internal/gtest-port.h:1486:: pthread_key_delete(key_)failed with error 22 Aborted (core dumped)
I don't have the problem if I use the debug build :(
comment:3 Changed 6 years ago by Nick Draper
- Owner set to Peter Peterson
- Status changed from new to assigned
comment:4 Changed 6 years ago by Martyn Gigg
It seems to be the presence of the libgmock.so library in the bin directory. If I do
cd bin rm libgmock.so python -c "import mantid"
then all seems fine. Given that the plugins directory is set the bin for a dev copy then it tries to load all .so files in that directory.
Once difference I notice between this and my Ubuntu 12.04 build is that the gmock/gtest libraries are static (.a) for 12.04/gcc-4.6 but dynamic (.so) for 14.04/gcc-4.8.
comment:5 Changed 6 years ago by Martyn Gigg
I think the answer here is to move back to using static libraries for gtest/gmock.
If I insert these lines
# Use static libraries as the dynamic ones are built with different # flags and don't load correctly for us. This does not affect # the global scope set ( BUILD_SHARED_LIBS OFF )
at the top of Code/Mantid/TestingTools/CMakeLists.txt then the problem seems to go away.
comment:7 Changed 6 years ago by Andrei Savici
removing libgmock.so and libgmock_main.so did the trick for me (Ubuntu 14.04)
comment:9 Changed 6 years ago by Martyn Gigg
- Status changed from inprogress to verify
- Resolution set to fixed
comment:10 Changed 6 years ago by Vickie Lynch
- Status changed from verify to verifying
- Tester set to Vickie Lynch
comment:11 Changed 6 years ago by Andrei Savici
Works on Ubuntu 13.10, gcc 4.8.1, Release
Works on Ubuntu 14.04, gcc 4.8.2, Release
comment:12 Changed 6 years ago by Vickie Lynch
- Status changed from verifying to verify
- Tester Vickie Lynch deleted
comment:13 Changed 6 years ago by Vickie Lynch
Works on Redhat6, gcc 4.4.7, RelWithDebInfo (get error after building master with ninja)
comment:14 Changed 6 years ago by Peter Peterson
Works on fedora 20, gcc 4.8.2, ninja, Release - including unit tests Works on fedora 20, gcc 4.8.2, ninja, Debug - including unit tests
comment:15 Changed 6 years ago by Peter Peterson
- Status changed from verify to verifying
- Tester set to Peter Peterson
comment:16 Changed 6 years ago by Michael Reuter
- Priority changed from blocker to trivial
- type changed from defect to enhancement
Works on Fedora 20 VM, gcc 4.8.2, ninja, Release, with unit tests.
comment:17 Changed 6 years ago by Michael Reuter
- Priority changed from trivial to blocker
- type changed from enhancement to defect
comment:18 Changed 6 years ago by Martyn Gigg
comment:19 Changed 6 years ago by Peter Peterson
- Status changed from verifying to closed
For some reason the automatic closing didn't work.
comment:20 Changed 5 years ago by Stuart Campbell
This ticket has been transferred to github issue 10195