Closed GoogleCodeExporter closed 9 years ago
Can you install stuntrally-dbg from ppa and do the stack trace again? There are
no symbols in this one.
Original comment by scrawl...@gmail.com
on 4 Apr 2011 at 8:10
Original comment by scrawl...@gmail.com
on 4 Apr 2011 at 8:10
Original comment by tapiovie...@gmail.com
on 4 Apr 2011 at 8:37
I installed stuntrally-dbg :
Program received signal SIGSEGV, Segmentation fault.
0x026386ba in ?? () from /usr/lib/nvidia-current/libnvidia-glcore.so.270.29
(gdb) thread apply all bt
Thread 3 (Thread 0xa8b1db70 (LWP 6307)):
#0 0x0012e416 in __kernel_vsyscall ()
#1 0x00bd8038 in ppoll () from /lib/libc.so.6
#2 0x011b6b8a in pa_mainloop_poll () from /usr/lib/libpulse.so.0
#3 0x011b8a73 in pa_mainloop_iterate () from /usr/lib/libpulse.so.0
#4 0x00966e96 in ?? () from /usr/lib/libSDL-1.2.so.0
#5 0x00938a80 in ?? () from /usr/lib/libSDL-1.2.so.0
#6 0x0094080e in ?? () from /usr/lib/libSDL-1.2.so.0
#7 0x0098870d in ?? () from /usr/lib/libSDL-1.2.so.0
#8 0x009c4cc9 in start_thread () from /lib/libpthread.so.0
#9 0x00be669e in clone () from /lib/libc.so.6
Thread 1 (Thread 0xb7fca710 (LWP 6303)):
#0 0x026386ba in ?? () from /usr/lib/nvidia-current/libnvidia-glcore.so.270.29
Cannot access memory at address 0xfc5
Original comment by skankerr...@hotmail.com
on 4 Apr 2011 at 11:20
Hm, this stack trace is still pretty useless to me. Can you run the OGRE
samples? (Run OgreSampleBrowser in a terminal)
Original comment by scrawl...@gmail.com
on 5 Apr 2011 at 9:02
Sorry I can't find this binary. Which package or source ?
Original comment by skankerr...@hotmail.com
on 5 Apr 2011 at 3:23
Looked up the ubuntu packages and it seems it's included nowhere. You would
need to compile from source to check. But lets focus on the problem itself. I
found 2 threads on the ogre forums with similiar problems:
http://www.ogre3d.org/forums/viewtopic.php?f=2&t=59892
http://www.ogre3d.org/forums/viewtopic.php?f=2&t=60864
I can definitely say now it's not our issue, but a bug in the NVidia drivers
(however only for some cards, apparently).
A proposed workaround that is mentioned in these threads is to switch to
PBuffer. I could put it into the game, so you can compile it and see if it
works then.
This in the change in question: Open BaseApp_Create.cpp and insert these lines:
-
#if OGRE_PLATFORM == OGRE_PLATFORM_LINUX
mRoot->getRenderSystem()->setConfigOption("RTT Preferred Mode", "PBuffer");
#endif
after line 80 (after
mRoot->setRenderSystem(*mRoot->getAvailableRenderers().begin()); )
Original comment by scrawl...@gmail.com
on 5 Apr 2011 at 4:44
Original comment by scrawl...@gmail.com
on 5 Apr 2011 at 4:44
Forgot to mention: BaseApp_Create.cpp in source/ogre/BaseApp_Create.cpp
Original comment by scrawl...@gmail.com
on 5 Apr 2011 at 4:45
You might also just try to switch to an older version of the nvidia driver.
Original comment by scrawl...@gmail.com
on 5 Apr 2011 at 4:48
I don't have this on line 80.
Something near that lines 280-290 :
RenderSystem* rs;
if (rs = mRoot->getRenderSystemByName(pSet->rendersystem))
{
mRoot->setRenderSystem(rs);
}
else
{
Log("RenderSystem '" + pSet->rendersystem + "' is not available. Exiting.");
return false;
}
mRoot->getRenderSystem()->setConfigOption("RTT Preferred Mode", pSet->buffer);
mRoot->initialise(false);
??
Original comment by skankerr...@hotmail.com
on 5 Apr 2011 at 8:26
Then you already have the newest version i commited today. You can leave it
as-is and compile it. I introduced a setting in the config file that lets you
switch to PBuffer.
Then, do the following:
create a new file in this directory in your home directory:
$HOME/.config/stuntrally/game.cfg
open config/game-default.cfg from source and copy the contents into the new file
Go to the end of the new file and change buffer in hte [ video ] section to
PBuffer instead of FBO
Then, run ./stuntrally in the build directory!
Original comment by scrawl...@gmail.com
on 5 Apr 2011 at 8:59
Thanks it solved my problem, but here's what happen now :
ResourceTrueTypeFont 'font_Vera.17' using texture size 256 x 256 |
/build/buildd/mygui-3.0.1/MyGUIEngine/src/MyGUI_ResourceTrueTypeFont.cpp | 203
ResourceTrueTypeFont 'font_Vera.17' using real height 17 pixels |
/build/buildd/mygui-3.0.1/MyGUIEngine/src/MyGUI_ResourceTrueTypeFont.cpp | 204
ResourceTrueTypeFont 'font_Vera.14' using texture size 256 x 128 |
/build/buildd/mygui-3.0.1/MyGUIEngine/src/MyGUI_ResourceTrueTypeFont.cpp | 203
ResourceTrueTypeFont 'font_Vera.14' using real height 16 pixels |
/build/buildd/mygui-3.0.1/MyGUIEngine/src/MyGUI_ResourceTrueTypeFont.cpp | 204
Load ini file 'core_resource.xml' |
/build/buildd/mygui-3.0.1/MyGUIEngine/src/MyGUI_ResourceManager.cpp | 152
Load ini file 'core_skin.xml' |
/build/buildd/mygui-3.0.1/MyGUIEngine/src/MyGUI_ResourceManager.cpp | 152
stuntrally: /usr/include/boost/thread/pthread/recursive_mutex.hpp:67: void
boost::recursive_mutex::lock(): Assertion `!pthread_mutex_lock(&m)' failed.
Program received signal SIGABRT, Aborted.
0x0012e416 in __kernel_vsyscall ()
(gdb) thread apply all bt
Thread 4 (Thread 0xa67feb70 (LWP 24780)):
#0 0x0012e416 in __kernel_vsyscall ()
#1 0x00a174dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2 0x0058729d in void
boost::condition_variable_any::wait<boost::unique_lock<boost::recursive_mutex>
>(boost::unique_lock<boost::recursive_mutex>&) ()
from /usr/lib/libOgreMain.so.1.7.2
#3 0x005855ed in Ogre::DefaultWorkQueue::waitForNextRequest() () from
/usr/lib/libOgreMain.so.1.7.2
#4 0x00586548 in Ogre::DefaultWorkQueue::_threadMain() () from
/usr/lib/libOgreMain.so.1.7.2
#5 0x0056f593 in Ogre::DefaultWorkQueueBase::WorkerFunc::operator()() () from
/usr/lib/libOgreMain.so.1.7.2
#6 0x00586f22 in
boost::detail::thread_data<Ogre::DefaultWorkQueueBase::WorkerFunc>::run() ()
from /usr/lib/libOgreMain.so.1.7.2
#7 0x009410f5 in thread_proxy () from /usr/lib/libboost_thread.so.1.42.0
#8 0x00a12cc9 in start_thread () from /lib/libpthread.so.0
#9 0x00c3d69e in clone () from /lib/libc.so.6
Thread 3 (Thread 0xa8b1db70 (LWP 24779)):
#0 0x0012e416 in __kernel_vsyscall ()
#1 0x00c2f038 in ppoll () from /lib/libc.so.6
#2 0x0129eb8a in pa_mainloop_poll () from /usr/lib/libpulse.so.0
#3 0x012a0a73 in pa_mainloop_iterate () from /usr/lib/libpulse.so.0
#4 0x009b4e96 in ?? () from /usr/lib/libSDL-1.2.so.0
#5 0x00986a80 in ?? () from /usr/lib/libSDL-1.2.so.0
#6 0x0098e80e in ?? () from /usr/lib/libSDL-1.2.so.0
#7 0x009d670d in ?? () from /usr/lib/libSDL-1.2.so.0
#8 0x00a12cc9 in start_thread () from /lib/libpthread.so.0
#9 0x00c3d69e in clone () from /lib/libc.so.6
Thread 1 (Thread 0xb7fca710 (LWP 24775)):
#0 0x0012e416 in __kernel_vsyscall ()
#1 0x00b97941 in raise () from /lib/libc.so.6
#2 0x00b9ae42 in abort () from /lib/libc.so.6
#3 0x00b908e8 in __assert_fail () from /lib/libc.so.6
#4 0x082f71c5 in boost::recursive_mutex::lock (this=0x8513368) at
/usr/include/boost/thread/pthread/recursive_mutex.hpp:67
#5 0x082fa9ad in boost::unique_lock<boost::recursive_mutex>::lock
(this=0xbfffdfb4) at /usr/include/boost/thread/locks.hpp:349
#6 0x082fa5e2 in boost::unique_lock<boost::recursive_mutex>::unique_lock
(this=0xbfffdfb4, m_=...) at /usr/include/boost/thread/locks.hpp:227
#7 0x082fab9b in Ogre::SharedPtr<Ogre::Resource>::release (this=0xbfffe040) at
/usr/include/OGRE/OgreSharedPtr.h:208
#8 0x082fa8af in Ogre::SharedPtr<Ogre::Resource>::~SharedPtr (this=0xbfffe040,
__in_chrg=<value optimized out>) at /usr/include/OGRE/OgreSharedPtr.h:155
#9 0x0842c7cf in MyGUI::OgreRenderManager::getTexture(std::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&) ()
#10 0x008da5f6 in
MyGUI::texture_utility::getTextureSize(std::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&, bool) () from
/usr/lib/libMyGUIEngine.so.3
#11 0x008c92a1 in ?? () from /usr/lib/libMyGUIEngine.so.3
#12 0x0086dc7a in MyGUI::ResourceSkin::deserialization(MyGUI::xml::Element*,
MyGUI::Version) () from /usr/lib/libMyGUIEngine.so.3
#13 0x008b9163 in MyGUI::ResourceManager::_load(MyGUI::xml::Element*,
std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&,
MyGUI::Version) ()
from /usr/lib/libMyGUIEngine.so.3
#14 0x008bdf41 in ?? () from /usr/lib/libMyGUIEngine.so.3
#15 0x008bd406 in
MyGUI::ResourceManager::_loadImplement(std::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&, bool,
std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&,
std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
() from /usr/lib/libMyGUIEngine.so.3
#16 0x008bdbb4 in MyGUI::ResourceManager::_loadList(MyGUI::xml::Element*,
std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&,
MyGUI::Version) ()
from /usr/lib/libMyGUIEngine.so.3
#17 0x008bdf41 in ?? () from /usr/lib/libMyGUIEngine.so.3
#18 0x008bd406 in
MyGUI::ResourceManager::_loadImplement(std::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&, bool,
std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&,
std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
() from /usr/lib/libMyGUIEngine.so.3
#19 0x008bde9e in MyGUI::ResourceManager::load(std::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&) () from
/usr/lib/libMyGUIEngine.so.3
#20 0x00893277 in MyGUI::Gui::initialise(std::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&) () from
/usr/lib/libMyGUIEngine.so.3
#21 0x08307b4c in BaseApp::setup (this=0x8534d40) at
/home/ray/stuntrally/source/ogre/BaseApp_Create.cpp:342
#22 0x08306289 in BaseApp::Run (this=0x8534d40, showDialolg=true) at
/home/ray/stuntrally/source/ogre/BaseApp_Create.cpp:197
#23 0x0833f90f in main (argc=1, argv=0xbffff424) at
/home/ray/stuntrally/source/ogre/main.cpp:82
Original comment by skankerr...@hotmail.com
on 5 Apr 2011 at 9:18
Ok, this is a problem with MyGUI now. Can you attach the two MyGUI.log files,
one is in the directory where you started the game from, another is in config
directory $HOME/.config/stuntrally
Original comment by scrawl...@gmail.com
on 5 Apr 2011 at 9:29
To solve the issue, you could maybe compile OGRE yourself and disable threading
by setting OGRE_THREADING_MODE to 0 in OgreMain/include/OgreConfig.h
But the root of the problem is a bug in mygui, I'd say.
Original comment by scrawl...@gmail.com
on 5 Apr 2011 at 9:34
Now it works, I had packages from ogre-team and some from andrewfenn.
I deleted all them from ogre-team, recompiled it and everything works.
Original comment by skankerr...@hotmail.com
on 5 Apr 2011 at 10:37
Ok, great!
I will sum up (if maybe someone has the same problem): The crash discussed
initially is caused by a bug in the NVIdia driver. A workaround is to set
buffer to PBuffer in the game config file ($HOME/.config/stuntrally/game.cfg)
Closing now to Invalid, because it's not our fault.
Original comment by scrawl...@gmail.com
on 6 Apr 2011 at 9:51
Original comment by Cry...@gmail.com
on 8 May 2011 at 1:45
Original issue reported on code.google.com by
skankerr...@hotmail.com
on 4 Apr 2011 at 7:52Attachments: