[Bf-committers] Re: Blender (CVS) crashing on loading a .blend file

erwin at erwincoumans.com erwin at erwincoumans.com
Fri Jun 2 20:19:34 CEST 2006


The problem is with C++, dereferencing an STL iterators. 

If someone is using std::vector, please use std::swap, when removing an 
element in the middle, instead of dereferencing.
Also, dereferencing an iterator should use (*iterator), and not *iterator. 

There was already one patch for a related bug in the Booleans code. 

LOD and Booleans both had the issues, so whoever works on that, please be 
careful :)
See http://projects.blender.org/pipermail/bf-committers/2006-May/014608.html 


Will be fixed in next commit. 

One more reason for Ton not to switch to C++ :-)
Erwin 

 

 

Ton Roosendaal writes: 

> Hi, 
> 
> Loads correct here (OSX). 
> 
> -Ton- 
> 
> On 2 Jun, 2006, at 15:56, Erwin Coumans wrote: 
> 
>> 
>> Hi, 
>> 
>> Someone posted a .blend file created with Blender 2.41 but it crashes  
>> with latest Blender 2.42.
>> I might be my visual studio 8 build, but can someone else verify this? 
>> 
>> It crashes in LOD_Vertex::RemoveEdge 
>> 
>> This is the file that causes the crash (it's 2.5 Mb zipfile)
>> http://www.continuousphysics.com/ftp/pub/test/index.php?dir=blender/ 
>> &file=Open%20the%20Door.zip 
>> 
>> Could someone look into this? Below is the stackframe at crash.
>> Thanks,
>> Erwin 
>> 
>>  
>> 
>>  
>> 
>>> blender.exe!std::_Debug_message(const wchar_t * message=0x014bb320,  
>>> const wchar_t * file=0x014b96a0, unsigned int line=0x00000063)  Line  23 
>>> C++
>>   blender.exe!std:: 
>> _Vector_const_iterator<CTR_TaggedIndex<24,16777215>,std:: 
>> allocator<CTR_TaggedIndex<24,16777215> > >::operator*()  Line 99 +  0x11 
>> bytes C++
>>   blender.exe!std::_Vector_iterator<CTR_TaggedIndex<24,16777215>,std:: 
>> allocator<CTR_TaggedIndex<24,16777215> > >::operator*()  Line 327 C++
>>  blender.exe!LOD_Vertex::RemoveEdge(CTR_TaggedIndex<24,16777215>  
>> e={...}) Line 69 + 0x8 bytes C++
>>   blender.exe!LOD_EdgeCollapser:: 
>> CollapseEdge(CTR_TaggedIndex<24,16777215> ei={...}, LOD_ManMesh2 &  
>> mesh={...},  std::vector<CTR_TaggedIndex<24,16777215>,std:: 
>> allocator<CTR_TaggedIndex<24,16777215> > > &  
>> degenerate_edges=[0x0000000b]({m_val=0x00000199 },{m_val=0x0000019a  
>> },{m_val=0x000002f7 },{m_val=0x000002f8 },{m_val=0x00001103  
>> },{m_val=0x000001df },...),  
>> std::vector<CTR_TaggedIndex<24,16777215>,std:: 
>> allocator<CTR_TaggedIndex<24,16777215> > > &  
>> degenerate_faces=[0x00000000](),  
>> std::vector<CTR_TaggedIndex<24,16777215>,std:: 
>> allocator<CTR_TaggedIndex<24,16777215> > > &  
>> degenerate_vertices=[0x00000000](),  
>> std::vector<CTR_TaggedIndex<24,16777215>,std:: 
>> allocator<CTR_TaggedIndex<24,16777215> > > & new_edges=[0x00000000](),  
>> std::vector<CTR_TaggedIndex<24,16777215>,std:: 
>> allocator<CTR_TaggedIndex<24,16777215> > > &  
>> update_faces=[0x00000000](),  
>> std::vector<CTR_TaggedIndex<24,16777215>,std:: 
>> allocator<CTR_TaggedIndex<24,16777215> > > &  
>> update_vertices=[0x00000000]())  Line 282 C++
>>  blender.exe!LOD_QSDecimator::CollapseEdge()  Line 154 + 0x4f bytes C++
>>  blender.exe!LOD_QSDecimator::Step()  Line 88 C++
>>  blender.exe!LOD_CollapseEdge(LOD_Decimation_Info * info=0x0012f9a0)   
>> Line 141 + 0xf bytes C++
>>  blender.exe!decimateModifier_applyModifier(ModifierData *  
>> md=0x04d08ae8, Object * ob=0x04d08730, void * derivedData=0x00000000,  
>> float [3]* vertexCos=0x00000000, int useRenderParams=0x00000000, int  
>> isFinalCalc=0x00000001)  Line 1340 + 0x9 bytes C
>>  blender.exe!mesh_calc_modifiers(Object * ob=0x04d08730, float [3]*  
>> inputVertexCos=0x00000000, DerivedMesh * * deform_r=0x04d08a14,  
>> DerivedMesh * * final_r=0x04d08a18, int useRenderParams=0x00000000,  int 
>> useDeform=0x00000001, int needMapping=0x00000000)  Line 1624 +  0x28 
>> bytes C
>>  blender.exe!mesh_build_data(Object * ob=0x04d08730)  Line 1906 + 0x26  
>> bytes C
>>  blender.exe!mesh_get_derived_deform(Object * ob=0x04d08730, int *  
>> needsFree_r=0x0012fae0)  Line 1971 + 0x9 bytes C
>>  blender.exe!draw_mesh_object(Base * base=0x04c52438, int  dt=0x00000004) 
>> Line 1988 + 0xd bytes C
>>  blender.exe!draw_object(Base * base=0x04c52438, int flag=0x00000000)   
>> Line 3777 + 0xe bytes C
>>  blender.exe!drawview3dspace(ScrArea * sa=0x04c45e70, void *  
>> spacedata=0x04c461b0)  Line 2588 + 0xb bytes C
>>  blender.exe!scrarea_do_windraw(ScrArea * area=0x04c45e70)  Line 114 +  
>> 0x18 bytes C
>>  blender.exe!scrarea_dispatch_events(ScrArea * sa=0x04c45e70)  Line  596 
>> + 0xc bytes C
>>  blender.exe!screen_dispatch_events()  Line 1176 + 0x9 bytes C
>>  blender.exe!screenmain()  Line 1440 C
>>  blender.exe!main(int argc=0x00000001, char * * argv=0x024d4290)  Line  
>> 691 C
>>  blender.exe!__tmainCRTStartup()  Line 318 + 0x19 bytes C
>>  blender.exe!mainCRTStartup()  Line 187 C 
>> 
>> 
>> _______________________________________________
>> Bf-committers mailing list
>> Bf-committers at projects.blender.org
>> http://projects.blender.org/mailman/listinfo/bf-committers 
>> 
>>  
>> 
> ------------------------------------------------------------------------ 
> --
> Ton Roosendaal  Blender Foundation ton at blender.org  http://www.blender.org 
> 
> _______________________________________________
> Bf-committers mailing list
> Bf-committers at projects.blender.org
> http://projects.blender.org/mailman/listinfo/bf-committers
 



More information about the Bf-committers mailing list