planB
11-06-2010 09:47:47
hi!
i found the new critter in Commit: Haddock can not combile, it may not suit the new nxogre in Commit: Haddock .
am i right or just some other reason?
betajaen
11-06-2010 10:27:43
What is the error message?
planB
11-06-2010 13:22:15
error C2039: “RigidBodyType_USER_BEGIN”: is not the member of “NxOgre::Enums”
error C2039“ShapeDescription”: is not the member of “NxOgre”
error C2039: “UserBigClassAllocatable”: is not the member of “NxOgre”
.........
and some other errors because of these errors.
betajaen
11-06-2010 13:45:20
planB
12-06-2010 04:31:28
it can combile now.
but it will crash down when use,
mWorld = NxOgre::World::createWorld();
NxOgre::ResourceSystem::getSingleton()->openProtocol(new Critter::OgreResourceProtocol());
//mWorld->getRemoteDebugger()->connect(); <----------------------------crash down firstly and then been commented
// Create the scene
NxOgre::SceneDescription scene_description;
scene_description.mGravity = NxOgre::Constants::MEAN_EARTH_GRAVITY;
scene_description.mUseHardware = false;
mScene = mWorld->createScene(scene_description);
// Set default material properties
mScene->getMaterial(0)->setAll(0.1, 0.9, 0.5);
// Create the rendersystem.
mRenderSystem = new Critter::RenderSystem(mScene, mSceneMgr); <----------------------------crash down here, no other clue
betajaen
12-06-2010 13:35:43
Do you get any error messages, or could you trace the error to the offending line?
planB
12-06-2010 14:35:51
there are no messages in ogre.log(no nxogre.log),
when i traced the error, when the app run to the line below, it will die directly
mRenderSystem = new Critter::RenderSystem(mScene, mSceneMgr);
the calling stack at the time of the crash:
> NxOgreDebug.dll!std::_Tree<std::_Tmap_traits<enum NxOgre::Enums::Priority,NxOgre::TimeListenerGroup *,std::less<enum NxOgre::Enums::Priority>,std::allocator<std::pair<enum NxOgre::Enums::Priority const ,NxOgre::TimeListenerGroup *> >,0> >::_Lbound(const NxOgre::Enums::Priority & _Keyval=Priority_MediumLow) line 1264 + 0x8 byte C++
NxOgreDebug.dll!std::_Tree<std::_Tmap_traits<enum NxOgre::Enums::Priority,NxOgre::TimeListenerGroup *,std::less<enum NxOgre::Enums::Priority>,std::allocator<std::pair<enum NxOgre::Enums::Priority const ,NxOgre::TimeListenerGroup *> >,0> >::lower_bound(const NxOgre::Enums::Priority & _Keyval=Priority_MediumLow) line 1004 + 0x10 byte C++
NxOgreDebug.dll!std::_Tree<std::_Tmap_traits<enum NxOgre::Enums::Priority,NxOgre::TimeListenerGroup *,std::less<enum NxOgre::Enums::Priority>,std::allocator<std::pair<enum NxOgre::Enums::Priority const ,NxOgre::TimeListenerGroup *> >,0> >::find(const NxOgre::Enums::Priority & _Keyval=Priority_MediumLow) line978 + 0x10 byte C++
NxOgreDebug.dll!NxOgre::map<enum NxOgre::Enums::Priority,NxOgre::TimeListenerGroup *,NxOgre::GC::HasGarbageCollection>::has(const NxOgre::Enums::Priority & key=Priority_MediumLow) line 216 + 0x3e byte C++
NxOgreDebug.dll!NxOgre::Scene::addRenderListener(NxOgre::TimeListener * listener=0x05b2f688, NxOgre::Enums::Priority priority=Priority_MediumLow) line 316 + 0x12 byte C++
test_nxogre.exe!Critter::RenderSystem::RenderSystem() + 0xcb byte
test_nxogre.exe!Ogre::BaseApplication::setupNxOgre() line 637 + 0x46 byte C++
betajaen
12-06-2010 15:10:39
You have PhysX and the PhysX SDK installed right? Because the crash on your remote debugger line is indicative of the SDK not being initialised.
planB
13-06-2010 00:40:03
yes, i installed the PhysX. i can run its sample and have created an environmental variable for PhysX like
PHYSX_DIR=D:\Develop\PhysX
i installed PhysX SDK 2.8.3 and PhysX_9.10.0129_SystemSoftware
when crash, the vs file xtree will open and point to the line below,
_Nodeptr _Lbound(const key_type& _Keyval) const
{// find leftmost node not less than _Keyval
_Nodeptr _Pnode = _Root(); <----------------------------crash down here
_Nodeptr _Wherenode = _Myhead; // end() if search fails
while (!_Isnil(_Pnode))
if (_DEBUG_LT_PRED(this->comp, _Key(_Pnode), _Keyval))
Pnode = _Right(_Pnode); // descend right subtree
else
{ // _Pnode not less than _Keyval, remember it
_Wherenode = _Pnode;
_Pnode = _Left(_Pnode); // descend left subtree
}
return (_Wherenode); // return best remembered candidate
}
when crash, the value of variable is like below,
+this 0x05b41928 {_Myhead=0xcdcd0101 _Mysize=4261281277 } const std::_Tree<std::_Tmap_traits<enum NxOgre::Enums::Priority,NxOgre::TimeListenerGroup *,std::less<enum NxOgre::Enums::Priority>,std::allocator<std::pair<enum NxOgre::Enums::Priority const ,NxOgre::TimeListenerGroup *> >,0> > * const
_Keyval Priority_MediumLow const NxOgre::Enums::Priority &
+Pnode 0x3c50898e {_Left=??? _Parent=??? _Right=??? ...} std::_Tree_nod<std::_Tmap_traits<enum NxOgre::Enums::Priority,NxOgre::TimeListenerGroup *,std::less<enum NxOgre::Enums::Priority>,std::allocator<std::pair<enum NxOgre::Enums::Priority const ,NxOgre::TimeListenerGroup *> >,0> >::_Node *
+_Wherenode 0x05b41928 {_Left=0x0012f4b4 _Parent=0x05b41928 _Right=0x05b41928 ...} std::_Tree_nod<std::_Tmap_traits<enum NxOgre::Enums::Priority,NxOgre::TimeListenerGroup *,std::less<enum NxOgre::Enums::Priority>,std::allocator<std::pair<enum NxOgre::Enums::Priority const ,NxOgre::TimeListenerGroup *> >,0> >::_Node *
the result in vs output window is like below,
“test_nxogre.exe”: loaded“C:\Program Files\NVIDIA Corporation\PhysX\Engine\v2.8.3\PhysXCooking.dll”
“test_nxogre.exe”: loaded“C:\WINDOWS\system32\wsock32.dll”
“test_nxogre.exe”:loaded“C:\Program Files\NVIDIA Corporation\PhysX\Engine\v2.8.3\PhysXCore.dll”
“test_nxogre.exe”: loaded“C:\Program Files\NVIDIA Corporation\PhysX\Common\cudart32_30_9.dll”,did not use the debug info to generate binary。
“test_nxogre.exe”: loaded“C:\Program Files\NVIDIA Corporation\PhysX\Common\PhysXDevice.dll”,did not use the debug info to generate binary。
“test_nxogre.exe”: loaded“C:\WINDOWS\system32\nvcuda.dll”,did not use the debug info to generate binary。
“test_nxogre.exe”: loaded“C:\WINDOWS\system32\nvapi.dll”
“test_nxogre.exe”: unloaded“C:\Program Files\NVIDIA Corporation\PhysX\Common\PhysXDevice.dll”
Unhandled exception at 0x01055124 (NxOgreDebug.dll) in test_nxogre.exe:0xC0000005: Access violation reading location 0xcdcd0105
planB
19-06-2010 02:49:03
i have checked the old Commit which before the Commit: Haddock, it can run and have no crash,
seems that only the Commit: Haddock will crash down.