You are not logged in.
Pages: 1
I'm trying to debug some app. It uses ogre and has been built with debuging symbols. So... There is a bug somewhere in program, it segfaults after some actions. To get a backtrace I doing next:
$ ulimit -c unlimited
$ ./program
...
<Segfault there>
$ gdb program core
...
(gdb) bt
#0 0xb767af96 in memcpy () from /lib/libc.so.6
#1 0x00000004 in ?? ()
#2 0xb66ffc3e in elt () from /usr/lib/xorg/modules/dri/libdricore.so
#3 0x00000018 in ?? ()
#4 0x00000008 in ?? ()
#5 0xb7676093 in malloc () from /lib/libc.so.6
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
What it means? And how to get useful backtrace?
Offline
No clue about why it stopped, but look at the lines before the "??"s -- I'd guess you should rebuild glibc with debugging symbols, and whatever packager has libdricore.so.
Offline
- are u compiling that app with the correct options (-g and -pg if using gcc) ?
maybe gprof can help (or valgrind) both support verbose/detailed messages..
If people do not believe that mathematics is simple, it is only because they do not realize how complicated life is.
Simplicity is the ultimate sophistication.
Offline
With valgrind I've got more verbose output:
==6471== Process terminating with default action of signal 11
(SIGSEGV): dumping core
==6471== Access not within mapped region at address 0x1F
==6471== at 0x4025C30: memcpy (in /usr/lib/valgrind/x86-linux/vgpreload_memcheck.so)
==6471== by 0x5CFAC3D: elt (in /usr/lib/xorg/modules/dri/libdricore.so)
==6471== by 0x5CFB22A: vbo_split_copy (in /usr/lib/xorg/modules/dri/libdricore.so)
==6471== by 0x5CFA9CE: vbo_split_prims (in /usr/lib/xorg/modules/dri/libdricore.so)
==6471== by 0x5D02608: _tnl_draw_prims (in /usr/lib/xorg/modules/dri/libdricore.so)
==6471== by 0x5CF903E: vbo_exec_DrawRangeElements (in /usr/lib/xorg/modules/dri/libdricore.so)
==6471== by 0x5CF92BB: vbo_exec_DrawElements (in /usr/lib/xorg/modules/dri/libdricore.so)
==6471== by 0x59E5C97: Ogre::GLRenderSystem::_render(Ogre::RenderOperation const&) (in /usr/lib/OGRE/RenderSystem_GL.so)
==6471== by 0x43655AE: Ogre::SceneManager::renderSingleObject(Ogre::Renderable*, Ogre::Pass const*, bool, bool, std::vector<Ogre::Light*, std::allocator<Ogre::Light*> > const*) (in /usr/lib/libOgreMain-1.6.2.so)
==6471== by 0x4359D98: Ogre::SceneManager::SceneMgrQueuedRenderableVisitor::visit(Ogre::Renderable*) (in /usr/lib/libOgreMain-1.6.2.so)
==6471== by 0x4318010: Ogre::QueuedRenderableCollection::acceptVisitorGrouped(Ogre::QueuedRenderableVisitor*) const (in /usr/lib/libOgreMain-1.6.2.so)
==6471== by 0x431806A: Ogre::QueuedRenderableCollection::acceptVisitor(Ogre::QueuedRenderableVisitor*, Ogre::QueuedRenderableCollection::OrganisationMode) const (in /usr/lib/libOgreMain-1.6.2.so)
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
So maybe this bug is related to ogre...
Offline
Pages: 1