[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