[vtk-developers] Crashes after recent checkins

Bill Lorensen bill.lorensen at gmail.com
Mon Aug 26 10:18:37 EDT 2013


I did submit a patch that fixes my problems:
http://review.source.kitware.com/#/c/12438/

Also, I think the same issue is causing the crashes on the vtk mingw
machine.


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

> 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
>>>
>>
>>
>


-- 
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/00405f6c/attachment.html>


More information about the vtk-developers mailing list