Crystal Space
Welcome, Guest. Please login or register.
September 02, 2014, 10:54:21 am

Login with username, password and session length
Search:     Advanced search
9009 Posts in 2043 Topics by 8376 Members
Latest Member: Al guzman
* Home Help Search Login Register
+  Crystal Space
|-+  Crystal Space Development
| |-+  Support
| | |-+  pure virtual method called
« previous next »
Pages: [1] Print
Author Topic: pure virtual method called  (Read 4762 times)
zamme
Newbie
*
Posts: 16


View Profile Email
« on: August 02, 2009, 01:30:29 pm »

Hi all.

A problem with regions unloading.
When the player pass through a portal, CS crashes when it try to unload a region
or load the next one (I don't know exactly when to).

error message:
pure virtual method called
terminate called without an active exception

BT:
Program received signal SIGABRT, Aborted.
[Switching to Thread 0x7f23c0eb6730 (LWP 3918)]
0x00007f23bf821015 in raise () from /lib/libc.so.6
(gdb) bt
#0  0x00007f23bf821015 in raise () from /lib/libc.so.6
#1  0x00007f23bf822b83 in abort () from /lib/libc.so.6
#2  0x00007f23c00c5f94 in __gnu_cxx::__verbose_terminate_handler ()
   from /usr/lib/libstdc++.so.6
#3  0x00007f23c00c4396 in ?? () from /usr/lib/libstdc++.so.6
#4  0x00007f23c00c43c3 in std::terminate () from /usr/lib/libstdc++.so.6
#5  0x00007f23c00c4c6f in __cxa_pure_virtual () from /usr/lib/libstdc++.so.6
#6  0x00007f23ba55332f in csEngine::GetNearbyMeshList (this=0x7f23c0e9dfc0,
    sector=0xf4e, pos=@0x6, radius=2, list=@0xffffffffffffffff,
    visited_sectors=@0xffffff00, crossPortals=true)
    at /home/zamme/src/crystal/CS/plugins/engine/3d/engine.cpp:2819
#7  0x00007f23ba553dfc in csEngine::GetNearbyMeshes (this=0x7f23c0e9dfc0,
    sector=0x7f23aa9331b8, pos=@0x7f23ae24eef8, radius=2, crossPortals=true)
    at /home/zamme/src/crystal/CS/plugins/engine/3d/engine.cpp:2908
#8  0x00007f23b2ab40ae in celPlLayer::FindNearbyEntities (this=0x7f23c0e55810,
    sector=0x7f23aa9331b8, pos=@0x7f23ae24eef8, radius=2, do_invisible=false,
    cls=18446744073709551615)
    at /home/zamme/src/crystal/CEL/plugins/stdphyslayer/pl.cpp:984
#9  0x00007f23aca3b53d in celPcTrigger::TickOnce (this=0x7f23ae24ecc0)
    at /home/zamme/src/crystal/CEL/plugins/propclass/trigger/trigger.cpp:742
#10 0x00007f23b2abf896 in celPlLayer::HandleEvent (this=0x7f23c0e55810,
    ev=<value optimized out>)
    at /home/zamme/src/crystal/CEL/plugins/stdphyslayer/pl.cpp:126
---Type <return> to continue, or q <return> to quit---
#11 0x00007f23c076c281 in csEventTree::Dispatch (this=0x7f23b4006d50,
    e=@0x7f23b0d1ad48)
    at /home/zamme/src/crystal/CS/libs/csutil/cssubscription.cpp:576
#12 0x00007f23c076c688 in csEventTree::Notify (this=0x7f23b4006d50)
    at /home/zamme/src/crystal/CS/libs/csutil/cssubscription.cpp:546
#13 0x00007f23c06fd9e1 in csEventQueue::iTypedFrameEventDispatcher::HandleEvent
    (this=<value optimized out>) at ./include/csutil/cseventq.h:258
#14 0x00007f23c076c281 in csEventTree::Dispatch (this=0x229ab60,
    e=@0x7f23c0dec088)
    at /home/zamme/src/crystal/CS/libs/csutil/cssubscription.cpp:576
#15 0x00007f23c076c688 in csEventTree::Notify (this=0x229ab60)
    at /home/zamme/src/crystal/CS/libs/csutil/cssubscription.cpp:546
#16 0x00007f23c06f953a in csEventQueue::Process (this=0x7f23c0ea2a00)
    at /home/zamme/src/crystal/CS/libs/csutil/cseventq.cpp:285
#17 0x00007f23c077ea96 in csDefaultRunLoop (r=0x7f23c0ea33d0)
    at /home/zamme/src/crystal/CS/libs/csutil/generic/runloop.cpp:99
#18 0x00000000004095f2 in csApplicationFramework::Run ()
    at /home/zamme/src/crystal/CS/include/cstool/csapplicationframework.h:330
#19 0x0000000000406b73 in MainApp::Application (this=0x7fffc8fdce90)
    at ../app.cpp:159
#20 0x00007f23c0819253 in csApplicationFramework::Main (this=0x7fffc8fdce90,
    argc=<value optimized out>, argv=<value optimized out>)
    at /home/zamme/src/crystal/CS/libs/cstool/csapplicationframework.cpp:131
---Type <return> to continue, or q <return> to quit---
#21 0x00000000004326c4 in main (argc=1, argv=0x7fffc8fdd078) at ../main.cpp:9

----------------------------------------------------------------------------------------------------------------------------------

Can it be from not attached meshes?


Thank you.
Logged
Vincent
Full Member
***
Posts: 191


View Profile WWW
« Reply #1 on: August 03, 2009, 09:06:27 am »

Hello,

  it's a bit hard to find out, without code nor data.
Do you use CEL zone manager system with zones ?
Logged
zamme
Newbie
*
Posts: 16


View Profile Email
« Reply #2 on: August 03, 2009, 03:52:18 pm »

Hi Vincent.

Yes. I didn't put code because using the zonemager.
I will try to attach all the entities and meshes to regions before zonemanager unloads them.
Is possible that zonemanager crashes when it try to unload not attached meshes?

Thanks.

P.S.: Do you remember when we talk about uvanim and animated texture, on the IRC?
I've tried uvanim with billboards but it doesn't works. It's only for meshes.
Logged
zamme
Newbie
*
Posts: 16


View Profile Email
« Reply #3 on: August 03, 2009, 04:43:23 pm »

Ok.
I attached all the entities and the "pure virtual method called" error has disappeared.
Now it crashes in:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ff54c6fb730 (LWP 10508)]
csEngine::GetNearbyMeshList (this=0x7ff54c6e2fc0, sector=0x7ff53950a978,
    pos=@0x7ff540041ee8, radius=2, list=@0x7ff5381de000,
    visited_sectors=@0x7fff54820b60, crossPortals=true)
    at /home/zamme/src/crystal/CS/plugins/engine/3d/engine.cpp:2819
2819     iVisibilityCuller* culler = sector->GetVisibilityCuller ();
(gdb) bt
#0  csEngine::GetNearbyMeshList (this=0x7ff54c6e2fc0, sector=0x7ff53950a978,
    pos=@0x7ff540041ee8, radius=2, list=@0x7ff5381de000,
    visited_sectors=@0x7fff54820b60, crossPortals=true)
    at /home/zamme/src/crystal/CS/plugins/engine/3d/engine.cpp:2819
#1  0x00007ff545d98dfc in csEngine::GetNearbyMeshes (this=0x7ff54c6e2fc0,
    sector=0x7ff53950a978, pos=@0x7ff540041ee8, radius=2, crossPortals=true)
    at /home/zamme/src/crystal/CS/plugins/engine/3d/engine.cpp:2908

I haven't included iengine/viscull.h. iVisibilityCuller depends on it. Is it the problem?
Logged
Vincent
Full Member
***
Posts: 191


View Profile WWW
« Reply #4 on: August 06, 2009, 12:01:59 pm »

Can you attach an archive with code & data so we can try to reproduce that ?
Also, which CS & CEL version/revision do you use ?
Logged
zamme
Newbie
*
Posts: 16


View Profile Email
« Reply #5 on: August 08, 2009, 01:54:44 am »

Hi Vincent.

Svn:
https://opensvn.csie.org/svmres/trunk/

There is much code.
Look for world_Estabulari, at "Debug/data/level1/" directory.
The problem is when the zonemanager unloads the world_Estabulari region.

All is managed by the Zonemanager.
Is better to manage them manually?
I'm thinking to make it all whithout the zonemanager.

Thanks.

Logged
zamme
Newbie
*
Posts: 16


View Profile Email
« Reply #6 on: August 08, 2009, 10:40:35 am »

Sorry, Vincent.

CS trunk revision 32697.
CEL trunk revision 3929.

See you.
Logged
Pages: [1] Print 
« previous next »
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.2 | SMF © 2006-2007, Simple Machines LLC Valid XHTML 1.0! Valid CSS!
Page created in 6.195 seconds with 16 queries.