Ticket #3746 (closed: fixed)

Opened 9 years ago

Last modified 5 years ago

Segfault relating to InstrumentView and possibly masking?

Reported by: Janik Zikovsky Owned by: Roman Tolchenov
Priority: critical Milestone: Release 2.0
Component: Mantid Keywords:
Cc: Blocked By:
Blocking: Tester: Michael Reuter

Description

Steps to reproduce:

  • LoadEventNexus('CNCS_7860_event.nxs', 'cncs')
  • Right-click workspace and choose instrument view
  • Go to mask tab
  • Mask out some detectors
  • Run LoadEventNexus with the same file and output workspace name again.
  • While LoadEventNexus, AFTER it has deleted the original workspace but BEFORE it has finished and replaced the workspace in the mantid workspace list, CLICK on where the workspace USED to be.
    • I sometimes have to do the steps twice, but I didn't get it to crash without clicking on that spot.
  • Segfault.

Weird, I know. This is on Ubuntu 11.04

Thread [7] (Suspended: Signal 'SIGSEGV' received. Description: Segmentation fault.)	
	40 glIsList()  0x00007ffff0cd7f49	
	39 Mantid::Geometry::CacheGeometryRenderer::~CacheGeometryRenderer() CacheGeometryRenderer.cpp:32 0x00007ffff74082f1	
	38 Mantid::Geometry::CacheGeometryHandler::~CacheGeometryHandler() CacheGeometryHandler.cpp:34 0x00007ffff7407c35	
	37 Mantid::Geometry::CacheGeometryHandler::~CacheGeometryHandler() CacheGeometryHandler.cpp:35 0x00007ffff7407c9c	
	36 boost::checked_delete<Mantid::Geometry::CacheGeometryHandler>() checked_delete.hpp:34 0x00007ffff73e5440	
	35 boost::detail::sp_counted_impl_p<Mantid::Geometry::CacheGeometryHandler>::dispose() sp_counted_impl.hpp:78 0x00007ffff73e959c	
	34 boost::detail::sp_counted_base::release() sp_counted_base_gcc_x86.hpp:145 0x0000000000692fec	
	33 boost::detail::shared_count::~shared_count() shared_count.hpp:217 0x0000000000693065	
	32 boost::shared_ptr<Mantid::Geometry::GeometryHandler>::~shared_ptr() shared_ptr.hpp:169 0x00007ffff73e2a0c	
	31 Mantid::Geometry::Object::~Object() Object.cpp:120 0x00007ffff73dabcb	
	30 Mantid::API::Sample::~Sample() Sample.h:57 0x00007ffff6d724c1	
	29 boost::checked_delete<Mantid::API::Sample>() checked_delete.hpp:34 0x00007ffff6d7254f	
	28 boost::detail::sp_counted_impl_p<Mantid::API::Sample>::dispose() sp_counted_impl.hpp:78 0x00007ffff6d74618	
	27 boost::detail::sp_counted_base::release() sp_counted_base_gcc_x86.hpp:145 0x0000000000692fec	
	26 boost::detail::shared_count::~shared_count() shared_count.hpp:217 0x0000000000693065	
	25 boost::shared_ptr<Mantid::API::Sample>::~shared_ptr() shared_ptr.hpp:169 0x00007ffff6d6da4a	
	24 Mantid::Kernel::cow_ptr<Mantid::API::Sample>::~cow_ptr() cow_ptr.h:136 0x00007ffff6d6dabc	
	23 Mantid::API::ExperimentInfo::~ExperimentInfo() ExperimentInfo.cpp:50 0x00007ffff6d67e0f	
	22 Mantid::API::MatrixWorkspace::~MatrixWorkspace() MatrixWorkspace.cpp:57 0x00007ffff6db8c58	
	21 Mantid::API::IEventWorkspace::~IEventWorkspace() IEventWorkspace.h:39 0x00007fffd679da65	
	20 Mantid::DataObjects::EventWorkspace::~EventWorkspace() EventWorkspace.cpp:42 0x00007fffd67999b6	
	19 Mantid::DataObjects::EventWorkspace::~EventWorkspace() EventWorkspace.cpp:53 0x00007fffd6799a20	
	18 boost::checked_delete<Mantid::DataObjects::EventWorkspace>() checked_delete.hpp:34 0x00007fffd67a6b98	
	17 boost::detail::sp_counted_impl_p<Mantid::DataObjects::EventWorkspace>::dispose() sp_counted_impl.hpp:78 0x00007fffd67a6c20	
	16 boost::detail::sp_counted_base::release() sp_counted_base_gcc_x86.hpp:145 0x0000000000692fec	
	15 boost::detail::shared_count::~shared_count() shared_count.hpp:217 0x0000000000693065	
	14 boost::shared_ptr<Mantid::API::IEventWorkspace>::~shared_ptr() shared_ptr.hpp:169 0x0000000000931326	
	13 Mantid::Kernel::PropertyWithValue<boost::shared_ptr<Mantid::API::IEventWorkspace> >::operator=() PropertyWithValue.h:351 0x00007ffff6e2b2f4	
	12 Mantid::API::WorkspaceProperty<Mantid::API::IEventWorkspace>::operator=() WorkspaceProperty.h:115 0x00007ffff6e25459	
	11 Mantid::Kernel::IPropertyManager::setProperty<boost::shared_ptr<Mantid::API::IEventWorkspace> >() IPropertyManager.h:101 0x00007fffd4f54d95	
	10 Mantid::DataHandling::LoadEventNexus::exec() LoadEventNexus.cpp:770 0x00007fffd4f4a740	
	9 Mantid::API::Algorithm::execute() Algorithm.cpp:300 0x00007ffff6d15b4f	
	8 Mantid::API::Algorithm::executeAsyncImpl() Algorithm.cpp:1214 0x00007ffff6d1b1e2	
	7 Mantid::API::AlgorithmProxy::executeAsyncImpl() AlgorithmProxy.cpp:215 0x00007ffff6d487bb	
	6 Poco::ActiveRunnable<bool, Poco::Void, Mantid::API::AlgorithmProxy>::run() ActiveRunnable.h:85 0x00007ffff6d4aa40	
	5 Poco::PooledThread::run() ThreadPool.cpp:203 0x00007fffef054185	
	4 Poco::ThreadImpl::runnableEntry() Thread_POSIX.cpp:345 0x00007fffef050cbd	
	3 start_thread() pthread_create.c:304 0x00007fffecfded8c	
	2 clone() clone.S:112 0x00007fffed2dc04d	
	1 <symbol is not available> 0x0000000000000000	

Change History

comment:1 Changed 9 years ago by Nick Draper

  • Status changed from new to assigned
  • Owner changed from Nick Draper to Roman Tolchenov

Fix if fast and safe, otherwise move to iteration 31

comment:2 Changed 9 years ago by Roman Tolchenov

  • Milestone changed from Iteration 30 to Iteration 31

Observed segfault on rhel5 but not on Windows7 or Ubuntu10.04. Without clicking it happens 100% on the 3rd run of LoadEventNexus. I don't have a quick solution.

comment:3 Changed 9 years ago by Roman Tolchenov

  • Status changed from assigned to accepted

comment:4 Changed 9 years ago by Roman Tolchenov

Re #3746. A quick fix prventing calling a gl command outside OpenGL

Changeset: ff67170b581782d75c6ef97834c3e13e1220589e

comment:5 Changed 9 years ago by Roman Tolchenov

Re #3746. Something didn't work with SingletonHolder.

Changeset: 9cd26bc3ea47cac1ac040cba29f63ed71515849d

comment:6 Changed 9 years ago by Roman Tolchenov

Re #3746. Using Singleton was a bad idea. Reverting.

Changeset: 1bc34d7f8ff6ad29d17b077a3b30ce6860a4ac79

comment:7 Changed 9 years ago by Roman Tolchenov

Re #3746. A quick fix prventing calling a gl command outside OpenGL

Changeset: ff67170b581782d75c6ef97834c3e13e1220589e

comment:8 Changed 9 years ago by Roman Tolchenov

Re #3746. Something didn't work with SingletonHolder.

Changeset: 9cd26bc3ea47cac1ac040cba29f63ed71515849d

comment:9 Changed 9 years ago by Roman Tolchenov

Re #3746. Using Singleton was a bad idea. Reverting.

Changeset: 1bc34d7f8ff6ad29d17b077a3b30ce6860a4ac79

comment:10 Changed 9 years ago by Roman Tolchenov

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

The last commit message was lost. I removed display lists from the renderers in Geometry. It is done to remove opengl commands from destructors.

comment:11 Changed 9 years ago by Michael Reuter

  • Status changed from verify to verifying
  • Tester set to Michael Reuter

comment:12 Changed 9 years ago by Michael Reuter

  • Status changed from verifying to closed

I tried this on Mac, RHEL6 and Windows 7 and I can't get it to crash via the mechanism described, so it must be fixed.

comment:13 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 4593

Note: See TracTickets for help on using tickets.