Launching my Ogre application from inside an SDL app fails
Posted: Wed Dec 08, 2004 9:15 pm
I'm having a problem with integrating my Ogre application into an existing SDL application. The main game framework is based on SDL, but for certain game elements my Ogre based class should be started, but when I try to start it I get the following assert triggered:
freebooters: OgreHardwareBufferManager.cpp:40: static Ogre::HardwareBufferManager& Ogre::HardwareBufferManager::getSingleton(): Assertion `ms_Singleton' failed.
Program received signal SIGABRT, Aborted.
[Switching to Thread -1220060416 (LWP 5367)]
0xb7a72ed9 in raise () from /lib/tls/libc.so.6
(gdb) bt
#0 0xb7a72ed9 in raise () from /lib/tls/libc.so.6
#1 0xb7a74771 in abort () from /lib/tls/libc.so.6
#2 0xb7a6c443 in __assert_fail () from /lib/tls/libc.so.6
#3 0xb7d44c52 in Ogre::HardwareBufferManager::getSingleton () from /usr/lib/libOgreMain.so.4
#4 0xb7e4342f in Ogre::VertexData::VertexData () from /usr/lib/libOgreMain.so.4
#5 0xb7d2fda4 in Ogre::Frustum::Frustum () from /usr/lib/libOgreMain.so.4
#6 0xb7cfeee2 in Ogre::Camera::Camera () from /usr/lib/libOgreMain.so.4
#7 0xb4e65ab2 in Ogre::OctreeCamera::OctreeCamera () from /usr/lib/OGRE/Plugin_OctreeSceneManager.so
#8 0xb4e5f881 in Ogre::OctreeSceneManager::createCamera () from /usr/lib/OGRE/Plugin_OctreeSceneManager.so
#9 0xb4e7314e in Ogre::TerrainSceneManager::createCamera () from /usr/lib/OGRE/Plugin_OctreeSceneManager.so
#10 0x080cba50 in Seapassage::setup (this=0xbffff5c0, initial_tile=
{static npos = 4294967295, _M_dataplus = {<std::allocator<char>> = {<No data fields>}, _M_p = 0x829f1ac "center"}, static _S_empty_rep_storage = {0, 0, 20, 0}}) at seapassage.cc:89
#11 0x080c66a0 in Gameplay::turn (this=0xbffffa90, world=0xbffffab0, m=0xbffffb20) at gameplay.cc:530
#12 0x08061cf7 in main (argc=1, argv=0xbffffc24) at freebooters.cc:145
(gdb)
So, I assume this HardwareBufferManager ms_Singleton is some resource that is already blocked by SDL when Ogre tries to re-use it. Can someone please enlighten me which specific resource is referenced here?
Cheers,
Moritz
freebooters: OgreHardwareBufferManager.cpp:40: static Ogre::HardwareBufferManager& Ogre::HardwareBufferManager::getSingleton(): Assertion `ms_Singleton' failed.
Program received signal SIGABRT, Aborted.
[Switching to Thread -1220060416 (LWP 5367)]
0xb7a72ed9 in raise () from /lib/tls/libc.so.6
(gdb) bt
#0 0xb7a72ed9 in raise () from /lib/tls/libc.so.6
#1 0xb7a74771 in abort () from /lib/tls/libc.so.6
#2 0xb7a6c443 in __assert_fail () from /lib/tls/libc.so.6
#3 0xb7d44c52 in Ogre::HardwareBufferManager::getSingleton () from /usr/lib/libOgreMain.so.4
#4 0xb7e4342f in Ogre::VertexData::VertexData () from /usr/lib/libOgreMain.so.4
#5 0xb7d2fda4 in Ogre::Frustum::Frustum () from /usr/lib/libOgreMain.so.4
#6 0xb7cfeee2 in Ogre::Camera::Camera () from /usr/lib/libOgreMain.so.4
#7 0xb4e65ab2 in Ogre::OctreeCamera::OctreeCamera () from /usr/lib/OGRE/Plugin_OctreeSceneManager.so
#8 0xb4e5f881 in Ogre::OctreeSceneManager::createCamera () from /usr/lib/OGRE/Plugin_OctreeSceneManager.so
#9 0xb4e7314e in Ogre::TerrainSceneManager::createCamera () from /usr/lib/OGRE/Plugin_OctreeSceneManager.so
#10 0x080cba50 in Seapassage::setup (this=0xbffff5c0, initial_tile=
{static npos = 4294967295, _M_dataplus = {<std::allocator<char>> = {<No data fields>}, _M_p = 0x829f1ac "center"}, static _S_empty_rep_storage = {0, 0, 20, 0}}) at seapassage.cc:89
#11 0x080c66a0 in Gameplay::turn (this=0xbffffa90, world=0xbffffab0, m=0xbffffb20) at gameplay.cc:530
#12 0x08061cf7 in main (argc=1, argv=0xbffffc24) at freebooters.cc:145
(gdb)
So, I assume this HardwareBufferManager ms_Singleton is some resource that is already blocked by SDL when Ogre tries to re-use it. Can someone please enlighten me which specific resource is referenced here?
Cheers,
Moritz