[vtk-developers] Crashes after recent checkins

Berk Geveci berk.geveci at kitware.com
Mon Aug 26 10:16:22 EDT 2013


Thanks for tracking it btw :-)


On Mon, Aug 26, 2013 at 10:15 AM, Berk Geveci <berk.geveci at kitware.com>wrote:

> Grrr. This is a really annoying issue with using globals like this. It
> looks like on that machines, the order of deletion during cleanup is
> different and causes this crash. I'll work on this today.
>
> -berk
>
>
>
> On Sun, Aug 25, 2013 at 11:57 AM, Bill Lorensen <bill.lorensen at gmail.com>wrote:
>
>> Looks to me that
>> static vtkAtomicInt32 GlobalTimeStamp(0)
>>
>> is being deleted during the finalization before some of the objects have
>> been deleted.
>>
>> I verified that by printing out the this pointer in the atomic destructor
>> and printing out a message if Increment() is called with an Internal = 0.
>>
>>
>>
>> On Sun, Aug 25, 2013 at 11:29 AM, Bill Lorensen <bill.lorensen at gmail.com>wrote:
>>
>>> My linux builds (Fedora and Ubuntu) have started crashing after recent
>>> checkins. My MAc builds and runs fine.
>>>
>>>
>>> The executables crash on exit. Looks like this->Internal is NULL.
>>>
>>> For example when I run Cone,
>>> Program received signal SIGSEGV, Segmentation fault.
>>> 0x011671b8 in vtkAtomicInt32::Increment (this=0x12b1a30)
>>>     at
>>> /home/lorensen/ProjectsGIT/VTKGerrit/Common/Core/Sequential/vtkAtomicInt32.cxx:49
>>> 49        this->Internal->AtomicInt32CritSec);
>>> Missing separate debuginfos, use: debuginfo-install
>>> python-libs-2.6.4-27.fc13.i686
>>> (gdb) list
>>> 44
>>> 45    int vtkAtomicInt32::Increment()
>>> 46    {
>>> 47      return vtkAtomicInt32Increment(
>>> 48        &this->Internal->Value,
>>> 49        this->Internal->AtomicInt32CritSec);
>>> 50
>>> 51    }
>>> 52
>>> 53    int vtkAtomicInt32::Add(int val)
>>> (gdb) print this
>>> $1 = (vtkAtomicInt32 * const) 0x12b1a30
>>> (gdb) print this->Internal
>>> $2 = (vtkAtomicInt32Internal *) 0x0
>>> (gdb)
>>>
>>> Here is the traceback:
>>> #0  0x011671b8 in vtkAtomicInt32::Increment (this=0x12b1a30)
>>>     at
>>> /home/lorensen/ProjectsGIT/VTKGerrit/Common/Core/Sequential/vtkAtomicInt32.cxx:49
>>> #1  0x0112e899 in vtkTimeStamp::Modified (this=0x805c234)
>>>     at
>>> /home/lorensen/ProjectsGIT/VTKGerrit/Common/Core/vtkTimeStamp.cxx:51
>>> #2  0x010afdfa in vtkObject::Modified (this=0x805c220)
>>>     at /home/lorensen/ProjectsGIT/VTKGerrit/Common/Core/vtkObject.cxx:854
>>> #3  0x00ffa2ab in vtkCollection::RemoveAllItems (this=0x805c220)
>>>     at
>>> /home/lorensen/ProjectsGIT/VTKGerrit/Common/Core/vtkCollection.cxx:197
>>> #4  0x00ff9ec9 in vtkCollection::~vtkCollection (this=0x805c220,
>>>     __in_chrg=<value optimized out>)
>>>     at
>>> /home/lorensen/ProjectsGIT/VTKGerrit/Common/Core/vtkCollection.cxx:39
>>> #5  0x010b23cb in
>>> vtkObjectFactoryCollection::~vtkObjectFactoryCollection (
>>>     this=0x805c220, __in_chrg=<value optimized out>)
>>>     at
>>> /home/lorensen/ProjectsGIT/VTKGerrit/Common/Core/vtkObjectFactoryCollection.h:61
>>> #6  0x010b2403 in
>>> vtkObjectFactoryCollection::~vtkObjectFactoryCollection (
>>>     this=0x805c220, __in_chrg=<value optimized out>)
>>>     at
>>> /home/lorensen/ProjectsGIT/VTKGerrit/Common/Core/vtkObjectFactoryCollection.h:61
>>> #7  0x010addc6 in vtkObjectBase::UnRegisterInternal (this=0x805c220,
>>> check=1)
>>>     at
>>> /home/lorensen/ProjectsGIT/VTKGerrit/Common/Core/vtkObjectBase.cxx:232
>>> #8  0x010b04ee in vtkObject::UnRegisterInternal (this=0x805c220, o=0x0,
>>> check=
>>>     1) at
>>> /home/lorensen/ProjectsGIT/VTKGerrit/Common/Core/vtkObject.cxx:904
>>> #9  0x00ffa5d9 in vtkCollection::UnRegister (this=0x805c220, o=0x0)
>>>     at
>>> /home/lorensen/ProjectsGIT/VTKGerrit/Common/Core/vtkCollection.cxx:349
>>> #10 0x010ada04 in vtkObjectBase::Delete (this=0x805c220)
>>>     at
>>> /home/lorensen/ProjectsGIT/VTKGerrit/Common/Core/vtkObjectBase.cxx:134
>>> #11 0x010b3807 in vtkObjectFactory::UnRegisterAllFactories ()
>>>     at
>>> /home/lorensen/ProjectsGIT/VTKGerrit/Common/Core/vtkObjectFactory.cxx:444
>>> #12 0x010b45e9 in vtkCleanUpObjectFactory::~vtkCleanUpObjectFactory
>>> (this=
>>>     0x12b15fe, __in_chrg=<value optimized out>)
>>>     at
>>> /home/lorensen/ProjectsGIT/VTKGerrit/Common/Core/vtkObjectFactory.cxx:40
>>> #13 0x006ff618 in __cxa_finalize (d=0x1295678) at cxa_finalize.c:56
>>> #14 0x00ee0fa5 in __do_global_dtors_aux ()
>>>    from
>>> /home/lorensen/ProjectsGIT/VTKGerrit-linux/lib/libvtkCommonCore-6.1.so.1
>>> #15 0x01177490 in _fini ()
>>>    from
>>> /home/lorensen/ProjectsGIT/VTKGerrit-linux/lib/libvtkCommonCore-6.1.so.1
>>> #16 0x006be3c5 in _dl_fini () at dl-fini.c:248
>>> #17 0x006ff29f in __run_exit_handlers (status=0) at exit.c:78
>>> #18 exit (status=0) at exit.c:100
>>> #19 0x006e7cce in __libc_start_main (main=0x8049c40 <main()>, argc=1,
>>> ubp_av=
>>>     0xbffff264, init=0x8049be0 <__libc_csu_init>, fini=
>>>     0x8049bd0 <__libc_csu_fini>, rtld_fini=0x6be220 <_dl_fini>,
>>> stack_end=
>>>     0xbffff25c) at libc-start.c:258
>>> #20 0x08049b31 in _start ()
>>>
>>>
>>> --
>>> Unpaid intern in BillsBasement at noware dot com
>>>
>>
>>
>>
>> --
>> Unpaid intern in BillsBasement at noware dot com
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/vtk-developers/attachments/20130826/4feca8ea/attachment.html>


More information about the vtk-developers mailing list