Segfault with ogre 1.9 and intel graphics

Problems building or running the engine, queries about how to use features etc.
Post Reply
tritonas00
Gnoblar
Posts: 1
Joined: Sun Apr 08, 2018 2:21 pm

Segfault with ogre 1.9 and intel graphics

Post by tritonas00 » Sun Apr 08, 2018 2:42 pm

Hi!

I run a game (rigsofrods) with ogre 1.9 under linux (Arch) with onboard intel graphics (i915 module) and it segfaults when trying to load some vehicles. The segfault happens when it loads some .dds. The crash can be fixed by:

1. Removing that .dds (makes the vehicle not showing correctly)
2. Disable 3d acceleration (makes the game unplayable)

When i run the game with ogre 1.8.1 everything works ok with no crashes at all!

So i'm trying to find where is the problem. From the backtraces the problem seems to be with memory allocating. I tried building ogre 1.9 with standard memory allocator and nedmalloc but the crash remains.

Code: Select all

==23659== Process terminating with default action of signal 11 (SIGSEGV): dumping core
==23659==  General Protection Fault
==23659==    at 0x5295710: tmalloc_large (malloc.c.h:4239)
==23659==    by 0x5295710: mspace_malloc (malloc.c.h:5124)
==23659==    by 0x5298859: nedalloc::nedpmalloc(nedalloc::nedpool_t*, unsigned long) (nedmalloc.c:785)
==23659==    by 0x102029C3: allocateBytes (OgreMemoryNedPooling.h:73)
==23659==    by 0x102029C3: operator new (OgreMemoryAllocatedObject.h:75)
==23659==    by 0x102029C3: Ogre::GLTexture::_createSurfaceList() (OgreGLTexture.cpp:409)
==23659==    by 0x10203554: Ogre::GLTexture::createInternalResourcesImpl() (OgreGLTexture.cpp:261)
==23659==    by 0x541479C: Ogre::Texture::createInternalResources() (OgreTexture.cpp:343)
==23659==    by 0x54152E9: Ogre::Texture::_loadImages(std::vector<Ogre::Image const*, Ogre::STLAllocator<Ogre::Image const*, Ogre::CategorisedAllocPolicy<(Ogre::MemoryCategory)0> > > const&) (OgreTexture.cpp:227)
==23659==    by 0x10202777: Ogre::GLTexture::loadImpl() (OgreGLTexture.cpp:370)
==23659==    by 0x5336115: Ogre::Resource::load(bool) (OgreResource.cpp:237)
==23659==    by 0x541A8EE: Ogre::TextureUnitState::ensureLoaded(unsigned long) const (OgreTextureUnitState.cpp:1209)
==23659==    by 0x541AC9F: Ogre::TextureUnitState::_load() (OgreTextureUnitState.cpp:1093)
==23659==    by 0x52E18BB: Ogre::Pass::_load() (OgrePass.cpp:1335)
==23659==    by 0x540FA9B: Ogre::Technique::_load() (OgreTechnique.cpp:662)
Here are extensive gdb and valgrind backtraces:

https://www.dropbox.com/s/ssz988zdbmcdr ... b.txt?dl=1
https://www.dropbox.com/s/8skj78xzf63bl ... b.txt?dl=1
https://www.dropbox.com/s/146vvtdy6lz4t ... grind?dl=1

Any help is appreciated and sorry for bad English!
0 x

Post Reply