Re: [CrystalSpace] #989: Assertion failed in meshgen.cpp:1048

"CrystalSpace" <[email protected]> Sun, 21 Jul 2013 04:03:25 -0000
Newsgroups gmane.comp.graphics.crystalspace.tracker
Message-ID <[email protected]>
#989: Assertion failed in meshgen.cpp:1048
---------------------------+------------------------------------------------
 Reporter:  ralphcampbell  |       Owner:  jorrit
     Type:  defect         |      Status:  new   
 Priority:  major          |   Milestone:        
Component:  engine         |     Version:  V2.1  
 Keywords:                 |  
---------------------------+------------------------------------------------
Description changed by sunshine:

Old description:

> I hit this assertion in a modified version of PlaneShift.
> I'm not sure what the fix is although I can say that in
> csMeshGenerator::AllocateBlock() the last "else" clause is
> executed just before the assertion meaning that the block was not
> found and the cache_blocks array was empty so there is likely a
> problem with reusing the last block.
>

> {{{
> #0  0x00000036dce0eedb in raise (sig=5)
>     at ../nptl/sysdeps/unix/sysv/linux/pt-raise.c:41
> #1  0x00007ffff771ed7c in CS::Debug::DebugBreak () at
> ./include/cssysdef.h:971
> #2  0x00007ffff771efec in CS::Debug::AssertMessage (expr=
>     0x7fffebe057ca "block", filename=
>     0x7fffebe05700
> "/home/ralphc/src/CS_LATEST/plugins/engine/3d/meshgen/meshgen.cpp",
> line=1046, msg=0x0)
>     at /home/ralphc/src/CS_LATEST/libs/csutil/csassert.cpp:82
> #3  0x00007fffebdeaab0 in
> CS::Plugin::Engine::csMeshGenerator::AllocateMeshes (
>     this=0x7fff9dfbb4d8, cam=0x7ffee7d572a0, cidx=1799, cell=...,
> pos=...,
>     delta=...)
>     at
> /home/ralphc/src/CS_LATEST/plugins/engine/3d/meshgen/meshgen.cpp:1046
> #4  0x00007fffebdeb568 in
> CS::Plugin::Engine::csMeshGenerator::UpdateForPosition
> (this=0x7fff9dfbb4d8, cam=0x7ffee7d572a0, pos=...)
>     at
> /home/ralphc/src/CS_LATEST/plugins/engine/3d/meshgen/meshgen.cpp:1206
> #5  0x00007fffebd5733c in csSector::PrepareDraw (this=0x7fff9e0038a8,
> rview=
>     0x7fff3385f2c8)
>     at /home/ralphc/src/CS_LATEST/plugins/engine/3d/sector.cpp:933
> #6  0x00007fffdfa36494 in
> CS::Plugin::RMUnshadowed::StandardContextSetup<CS::RenderManager::RenderTree<CS::RenderManager::RenderTreeLightingTraits>,
> CS::RenderManager::MultipleRenderLayer>::operator() (this=0x7fffffffd730,
> context=...,
>     portalSetupData=..., recursePortals=true)
>     at
> /home/ralphc/src/CS_LATEST/plugins/rendermanager/unshadowed/unshadowed.cpp:84
> #7  0x00007fffdfa46bad in
> CS::RenderManager::StandardPortalSetup<CS::RenderManager::RenderTree<CS::RenderManager::RenderTreeLightingTraits>,
> CS::Plugin::RMUnshadowed::StandardContextSetup<CS::RenderManager::RenderTree<CS::RenderManager::RenderTreeLightingTraits>,
> CS::RenderManager::MultipleRenderLayer> >::SetupSimplePortal
> (this=0x7fffffffd020, context=..., setupData=..., portal=0x7ffeedbf4830,
>     sector=0x7fff9e003908, portalVerts2d=0x7ffee6de3760, portalVerts3d=
>     0x7ffee898e220, count=4, screenW=1280, screenH=720, holder=...)
>     at ./include/csplugincommon/rendermanager/portalsetup.h:461
> #8  0x00007fffdfa3e6a9 in
> CS::RenderManager::StandardPortalSetup<CS::RenderManager::RenderTree<CS::RenderManager::RenderTreeLightingTraits>,
> CS::Plugin::RMUnshadowed::StandardContextSetup<CS::RenderManager::RenderTree<CS::RenderManager::RenderTreeLightingTraits>,
> CS::RenderManager::MultipleRenderLayer> >::operator() (
>     this=0x7fffffffd020, context=..., setupData=...)
>     at ./include/csplugincommon/rendermanager/portalsetup.h:373
> #9  0x00007fffdfa36576 in
> CS::Plugin::RMUnshadowed::StandardContextSetup<CS::RenderManager::RenderTree<CS::RenderManager::RenderTreeLightingTraits>,
> CS::RenderManager::MultipleRenderLayer>::operator() (this=0x7fffffffd730,
> context=...,
>     portalSetupData=..., recursePortals=true)
>     at
> /home/ralphc/src/CS_LATEST/plugins/rendermanager/unshadowed/unshadowed.cpp:100
> #10 0x00007fffdfa46bad in
> CS::RenderManager::StandardPortalSetup<CS::RenderManager::RenderTree<CS::RenderManager::RenderTreeLightingTraits>,
> CS::Plugin::RMUnshadowed::StandardContextSetup<CS::RenderManager::RenderTree<CS::RenderManager::RenderTreeLightingTraits>,
> CS::RenderManager::MultipleRenderLayer> >::SetupSimplePortal
> (this=0x7fffffffd480, context=..., setupData=..., portal=0x7ffefe261f10,
>     sector=0x7ffefe272c58, portalVerts2d=0x7fff7e953520, portalVerts3d=
>     0x7ffee5d68128, count=4, screenW=1280, screenH=720, holder=...)
>     at ./include/csplugincommon/rendermanager/portalsetup.h:461
> #11 0x00007fffdfa3e6a9 in
> CS::RenderManager::StandardPortalSetup<CS::RenderManager::RenderTree<CS::RenderManager::RenderTreeLightingTraits>,
> CS::Plugin::RMUnshadowed::StandardContextSetup<CS::RenderManager::RenderTree<CS::RenderManager::RenderTreeLightingTraits>,
> CS::RenderManager::MultipleRenderLayer> >::operator() (
>     this=0x7fffffffd480, context=..., setupData=...)
>     at ./include/csplugincommon/rendermanager/portalsetup.h:373
> #12 0x00007fffdfa36576 in
> CS::Plugin::RMUnshadowed::StandardContextSetup<CS::RenderManager::RenderTree<CS::RenderManager::RenderTreeLightingTraits>,
> CS::RenderManager::MultipleRenderLayer>::operator() (this=0x7fffffffd730,
> context=...,
>     portalSetupData=..., recursePortals=true)
>     at
> /home/ralphc/src/CS_LATEST/plugins/rendermanager/unshadowed/unshadowed.cpp:100
> #13 0x00007fffdfa30bec in
> CS::Plugin::RMUnshadowed::RMUnshadowed::RenderView (
>     this=0x7fffeaec7000, view=0x7fffc8bcc720, recursePortals=true)
>     at
> /home/ralphc/src/CS_LATEST/plugins/rendermanager/unshadowed/unshadowed.cpp:289
> #14 0x00007fffdfa30e64 in
> CS::Plugin::RMUnshadowed::RMUnshadowed::RenderView (
>     this=0x7fffeaec7000, view=0x7fffc8bcc720)
>     at
> /home/ralphc/src/CS_LATEST/plugins/rendermanager/unshadowed/unshadowed.cpp:326
> #15 0x00007ffff7926f42 in csView::Draw (this=0x7fffc8bcc708, mesh=0x0)
>     at /home/ralphc/src/CS_LATEST/libs/cstool/csview.cpp:187
> #16 0x00000000004e9df2 in psCamera::Draw (this=0x3592f30)
>     at src/client/pscamera.cpp:818
> #17 0x0000000000491c69 in psEngine::Process3D (this=0xe47800, ev=...)
>     at src/client/psengine.cpp:1018
> #18 0x00000000004773e5 in psEngine::EventHandler3D::HandleEvent (this=
>     0x7fffdc147ed8, ev=...) at src/client/psengine.h:858
> #19 0x00007ffff7736ec5 in csEventTree::Dispatch (this=0xaf3a70, e=...)
>     at /home/ralphc/src/CS_LATEST/libs/csutil/cssubscription.cpp:576
> #20 0x00007ffff7736dab in csEventTree::Notify (this=0xaf3a70)
>     at /home/ralphc/src/CS_LATEST/libs/csutil/cssubscription.cpp:546
> #21 0x00007ffff76e8c11 in csEventQueue::Notify (this=0x7ffff751d540,
> name=...)
>     at /home/ralphc/src/CS_LATEST/libs/csutil/cseventq.cpp:239
> #22 0x00007ffff76e8d04 in csEventQueue::Process (this=0x7ffff751d540)
>     at /home/ralphc/src/CS_LATEST/libs/csutil/cseventq.cpp:255
> #23 0x00007ffff77ea13f in csDefaultRunLoop (r=0x7ffff10bfc60)
>     at /home/ralphc/src/CS_LATEST/libs/csutil/generic/runloop.cpp:99
> #24 0x000000000049882d in main (argc=1, argv=0x7fffffffe008)
>     at src/client/psengine.cpp:2123
> }}}

New description:

 I hit this assertion in a modified version of PlaneShift.
 I'm not sure what the fix is although I can say that in
 `csMeshGenerator::AllocateBlock()` the last `else` clause is
 executed just before the assertion meaning that the block was not
 found and the `cache_blocks` array was empty so there is likely a
 problem with reusing the last block.

 {{{
 #0  0x00000036dce0eedb in raise (sig=5)
     at ../nptl/sysdeps/unix/sysv/linux/pt-raise.c:41
 #1  0x00007ffff771ed7c in CS::Debug::DebugBreak () at
 ./include/cssysdef.h:971
 #2  0x00007ffff771efec in CS::Debug::AssertMessage (expr=
     0x7fffebe057ca "block", filename=
     0x7fffebe05700
 "/home/ralphc/src/CS_LATEST/plugins/engine/3d/meshgen/meshgen.cpp",
 line=1046, msg=0x0)
     at /home/ralphc/src/CS_LATEST/libs/csutil/csassert.cpp:82
 #3  0x00007fffebdeaab0 in
 CS::Plugin::Engine::csMeshGenerator::AllocateMeshes (
     this=0x7fff9dfbb4d8, cam=0x7ffee7d572a0, cidx=1799, cell=..., pos=...,
     delta=...)
     at
 /home/ralphc/src/CS_LATEST/plugins/engine/3d/meshgen/meshgen.cpp:1046
 #4  0x00007fffebdeb568 in
 CS::Plugin::Engine::csMeshGenerator::UpdateForPosition
 (this=0x7fff9dfbb4d8, cam=0x7ffee7d572a0, pos=...)
     at
 /home/ralphc/src/CS_LATEST/plugins/engine/3d/meshgen/meshgen.cpp:1206
 #5  0x00007fffebd5733c in csSector::PrepareDraw (this=0x7fff9e0038a8,
 rview=
     0x7fff3385f2c8)
     at /home/ralphc/src/CS_LATEST/plugins/engine/3d/sector.cpp:933
 #6  0x00007fffdfa36494 in
 CS::Plugin::RMUnshadowed::StandardContextSetup<CS::RenderManager::RenderTree<CS::RenderManager::RenderTreeLightingTraits>,
 CS::RenderManager::MultipleRenderLayer>::operator() (this=0x7fffffffd730,
 context=...,
     portalSetupData=..., recursePortals=true)
     at
 /home/ralphc/src/CS_LATEST/plugins/rendermanager/unshadowed/unshadowed.cpp:84
 #7  0x00007fffdfa46bad in
 CS::RenderManager::StandardPortalSetup<CS::RenderManager::RenderTree<CS::RenderManager::RenderTreeLightingTraits>,
 CS::Plugin::RMUnshadowed::StandardContextSetup<CS::RenderManager::RenderTree<CS::RenderManager::RenderTreeLightingTraits>,
 CS::RenderManager::MultipleRenderLayer> >::SetupSimplePortal
 (this=0x7fffffffd020, context=..., setupData=..., portal=0x7ffeedbf4830,
     sector=0x7fff9e003908, portalVerts2d=0x7ffee6de3760, portalVerts3d=
     0x7ffee898e220, count=4, screenW=1280, screenH=720, holder=...)
     at ./include/csplugincommon/rendermanager/portalsetup.h:461
 #8  0x00007fffdfa3e6a9 in
 CS::RenderManager::StandardPortalSetup<CS::RenderManager::RenderTree<CS::RenderManager::RenderTreeLightingTraits>,
 CS::Plugin::RMUnshadowed::StandardContextSetup<CS::RenderManager::RenderTree<CS::RenderManager::RenderTreeLightingTraits>,
 CS::RenderManager::MultipleRenderLayer> >::operator() (
     this=0x7fffffffd020, context=..., setupData=...)
     at ./include/csplugincommon/rendermanager/portalsetup.h:373
 #9  0x00007fffdfa36576 in
 CS::Plugin::RMUnshadowed::StandardContextSetup<CS::RenderManager::RenderTree<CS::RenderManager::RenderTreeLightingTraits>,
 CS::RenderManager::MultipleRenderLayer>::operator() (this=0x7fffffffd730,
 context=...,
     portalSetupData=..., recursePortals=true)
     at
 /home/ralphc/src/CS_LATEST/plugins/rendermanager/unshadowed/unshadowed.cpp:100
 #10 0x00007fffdfa46bad in
 CS::RenderManager::StandardPortalSetup<CS::RenderManager::RenderTree<CS::RenderManager::RenderTreeLightingTraits>,
 CS::Plugin::RMUnshadowed::StandardContextSetup<CS::RenderManager::RenderTree<CS::RenderManager::RenderTreeLightingTraits>,
 CS::RenderManager::MultipleRenderLayer> >::SetupSimplePortal
 (this=0x7fffffffd480, context=..., setupData=..., portal=0x7ffefe261f10,
     sector=0x7ffefe272c58, portalVerts2d=0x7fff7e953520, portalVerts3d=
     0x7ffee5d68128, count=4, screenW=1280, screenH=720, holder=...)
     at ./include/csplugincommon/rendermanager/portalsetup.h:461
 #11 0x00007fffdfa3e6a9 in
 CS::RenderManager::StandardPortalSetup<CS::RenderManager::RenderTree<CS::RenderManager::RenderTreeLightingTraits>,
 CS::Plugin::RMUnshadowed::StandardContextSetup<CS::RenderManager::RenderTree<CS::RenderManager::RenderTreeLightingTraits>,
 CS::RenderManager::MultipleRenderLayer> >::operator() (
     this=0x7fffffffd480, context=..., setupData=...)
     at ./include/csplugincommon/rendermanager/portalsetup.h:373
 #12 0x00007fffdfa36576 in
 CS::Plugin::RMUnshadowed::StandardContextSetup<CS::RenderManager::RenderTree<CS::RenderManager::RenderTreeLightingTraits>,
 CS::RenderManager::MultipleRenderLayer>::operator() (this=0x7fffffffd730,
 context=...,
     portalSetupData=..., recursePortals=true)
     at
 /home/ralphc/src/CS_LATEST/plugins/rendermanager/unshadowed/unshadowed.cpp:100
 #13 0x00007fffdfa30bec in
 CS::Plugin::RMUnshadowed::RMUnshadowed::RenderView (
     this=0x7fffeaec7000, view=0x7fffc8bcc720, recursePortals=true)
     at
 /home/ralphc/src/CS_LATEST/plugins/rendermanager/unshadowed/unshadowed.cpp:289
 #14 0x00007fffdfa30e64 in
 CS::Plugin::RMUnshadowed::RMUnshadowed::RenderView (
     this=0x7fffeaec7000, view=0x7fffc8bcc720)
     at
 /home/ralphc/src/CS_LATEST/plugins/rendermanager/unshadowed/unshadowed.cpp:326
 #15 0x00007ffff7926f42 in csView::Draw (this=0x7fffc8bcc708, mesh=0x0)
     at /home/ralphc/src/CS_LATEST/libs/cstool/csview.cpp:187
 #16 0x00000000004e9df2 in psCamera::Draw (this=0x3592f30)
     at src/client/pscamera.cpp:818
 #17 0x0000000000491c69 in psEngine::Process3D (this=0xe47800, ev=...)
     at src/client/psengine.cpp:1018
 #18 0x00000000004773e5 in psEngine::EventHandler3D::HandleEvent (this=
     0x7fffdc147ed8, ev=...) at src/client/psengine.h:858
 #19 0x00007ffff7736ec5 in csEventTree::Dispatch (this=0xaf3a70, e=...)
     at /home/ralphc/src/CS_LATEST/libs/csutil/cssubscription.cpp:576
 #20 0x00007ffff7736dab in csEventTree::Notify (this=0xaf3a70)
     at /home/ralphc/src/CS_LATEST/libs/csutil/cssubscription.cpp:546
 #21 0x00007ffff76e8c11 in csEventQueue::Notify (this=0x7ffff751d540,
 name=...)
     at /home/ralphc/src/CS_LATEST/libs/csutil/cseventq.cpp:239
 #22 0x00007ffff76e8d04 in csEventQueue::Process (this=0x7ffff751d540)
     at /home/ralphc/src/CS_LATEST/libs/csutil/cseventq.cpp:255
 #23 0x00007ffff77ea13f in csDefaultRunLoop (r=0x7ffff10bfc60)
     at /home/ralphc/src/CS_LATEST/libs/csutil/generic/runloop.cpp:99
 #24 0x000000000049882d in main (argc=1, argv=0x7fffffffe008)
     at src/client/psengine.cpp:2123
 }}}

--

-- 
Ticket URL: <http://trac.crystalspace3d.org/trac/CS/ticket/989#comment:1>
CrystalSpace <http://www.crystalspace3d.org/>
Free open-source 3D SDK.
------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk