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