I'm currently trying to replicate the situations.
One that caused us quite some headache is below.
If the player shoots several waves of swarm missiles as fast as he can, the segfault below will appear (Ubuntu 6.10 with most actual files).
It seems like the amount of players or their position has an influence,
To ensure that the missiles are the cause of the problems and not something else happening at the same time, I moved the missiles to OM_ENVIRON and actually reactivated our old distance based "collision detection". Now it does not segfault anymore.
Perhaps it is something specific to our code or something we missed but I made the projectiles similar to the ones already present.
Code: Select all
======================================================= = time: Wed Jan 3 16:32:02 2007 ======================================================= Program received signal SIGABRT, Aborted. [Switching to Thread -1244227888 (LWP 12541)] 0xffffe410 in __kernel_vsyscall () (gdb) #0 0xffffe410 in __kernel_vsyscall () #1 0xb6b5c770 in raise () from /lib/tls/i686/cmov/libc.so.6 #2 0xb6b5e041 in abort () from /lib/tls/i686/cmov/libc.so.6 #3 0xb6b55dbb in __assert_fail () from /lib/tls/i686/cmov/libc.so.6 #4 0x08182d18 in WorldEntity::registerCollision (this=0x98ce7d0, entityA=0x98ce7d0, entityB=0x947a580, bvA=0x98e1fb8, bvB=0x947e538) at world_entity.cc:472 #5 0x0821cf86 in OBBTreeNode::collideWithOBB (this=0x98dff28, treeNode=0x947e438, nodeA=0x98ce7d0, nodeB=0x947a580) at obb_tree_node.cc:569 #6 0x0821ce46 in OBBTreeNode::collideWithOBB (this=0x98deda0, treeNode=0x947e1b8, nodeA=0x98ce7d0, nodeB=0x947a580) at obb_tree_node.cc:517 #7 0x0821ceec in OBBTreeNode::collideWithOBB (this=0x98e5dc8, treeNode=0x947df08, nodeA=0x98ce7d0, nodeB=0x947a580) at obb_tree_node.cc:539 #8 0x0821cf17 in OBBTreeNode::collideWithOBB (this=0x98c9bb0, treeNode=0x947bb50, nodeA=0x98ce7d0, nodeB=0x947a580) at obb_tree_node.cc:544 #9 0x08218e89 in OBBTree::collideWith (this=0x98ca360, entity1=0x98ce7d0, entity2=0x947a580) at obb_tree.cc:113 #10 0x082181b4 in CDEngine::checkCollisions (this=0x84ed130, list1=@0xb1703f64, list2=@0xb1703f7c) at cd_engine.cc:90 #11 0x0814c6ce in GameWorld::collisionDetection (this=0x84ffc28) at story_entities/game_world.cc:471 #12 0x0814bc64 in GameWorld::run (this=0x84ffc28) at story_entities/game_world.cc:324 #13 0x0814baf5 in GameWorld::start (this=0x84ffc28) at story_entities/game_world.cc:249 #14 0x0814913b in Campaign::run (this=0x84ed5f0) at story_entities/campaign.cc:154 #15 0x08148e52 in Campaign::start (this=0x84ed5f0) at story_entities/campaign.cc:85 #16 0x082cf5fc in GameLoader::start (this=0x84ed190) at loading/game_loader.cc:163 #17 0x08170712 in Orxonox::start (this=0x8411cc0) at orxonox.cc:417 #18 0x08172656 in startOrxonox (argc=1, argv=0xbf922424, name=@0xbf922320, port=-1) at orxonox.cc:573 #19 0x08173fc4 in main (argc=1, argv=0xbf922424) at orxonox.cc:481