InternalErrorException: Buffer data corrupted after Ogre update

Problems building or running the engine, queries about how to use features etc.
Post Reply
User avatar
fractile
Gremlin
Posts: 199
Joined: Thu Jan 13, 2005 2:35 pm
Location: Tampere, Finland
x 15
Contact:

InternalErrorException: Buffer data corrupted after Ogre update

Post by fractile »

Ogre Version: stable head
Operating System: Xubuntu 18.10 x86_64
Render System:: GL
GPU: Intel(R) HD Graphics (Coffeelake 3x8 GT2)

I upgraded from Ogre 1.10.x to latest head in "stable" branch and I'm getting this:

Code: Select all

terminate called after throwing an instance of 'Ogre::InternalErrorException'
  what():  InternalErrorException: Buffer data corrupted, please reload in GLHardwareVertexBuffer::unlock at /home/mikko/fractilegames/external/source/ogre/RenderSystems/GL/src/OgreGLHardwareVertexBuffer.cpp (line 164)
Aborted (core dumped)
Core dump shows this:

Code: Select all

#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x00007fbbf0505535 in __GI_abort () at abort.c:79
#2  0x00007fbbef7c4957 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#3  0x00007fbbef7caaa6 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#4  0x00007fbbef7c9b09 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#5  0x00007fbbef7ca4b8 in __gxx_personality_v0 () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#6  0x00007fbbef5a1d73 in ?? () from /lib/x86_64-linux-gnu/libgcc_s.so.1
#7  0x00007fbbef5a25f5 in _Unwind_Resume () from /lib/x86_64-linux-gnu/libgcc_s.so.1
#8  0x00007fbbe8627b4e in Ogre::GLHardwareVertexBuffer::unlockImpl() [clone .cold.26] () from lib/RenderSystem_GL.so
#9  0x00007fbbe8668d52 in Ogre::HardwareBuffer::unlock() () from lib/RenderSystem_GL.so
#10 0x00007fbbef2d2c49 in Ogre::InstanceBatchShader::setupVertices(Ogre::SubMesh const*) () from /home/mikko/fractilegames/external/linux64/lib/libOgreMain.so.1.11.6
#11 0x00007fbbef2c7bbc in Ogre::InstanceBatch::build(Ogre::SubMesh const*) () from /home/mikko/fractilegames/external/linux64/lib/libOgreMain.so.1.11.6
#12 0x00007fbbef2df28f in Ogre::InstanceManager::buildNewBatch(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool) () from /home/mikko/fractilegames/external/linux64/lib/libOgreMain.so.1.11.6
#13 0x00007fbbef2df848 in Ogre::InstanceManager::createInstancedEntity(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) () from /home/mikko/fractilegames/external/linux64/lib/libOgreMain.so.1.11.6
#14 0x00007fbbef3d35db in Ogre::SceneManager::createInstancedEntity(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) ()
   from /home/mikko/fractilegames/external/linux64/lib/libOgreMain.so.1.11.6
#15 0x00007fbbf0324b4d in fg::OgreScene::createSceneNode (this=0x7ffcf8525960, node=@0x557e0f1f9250: 0x557e0e402760, entity=@0x557e0f1f9260: 0x0, parent=0x557e0ec2dae0, meshname="asteroid.mesh", materialname="asteroid") at build/ogrescene.cpp:78
#16 0x00007fbbf043260e in game::Object::activate (this=0x557e0f1f91a0) at build/object.cpp:76
#17 0x00007fbbf047dac6 in game::Asteroid::activate (this=0x557e0f1f91a0) at build/asteroid.cpp:44
#18 0x00007fbbf04468ad in game::Match::spawnAsteroid (this=0x557e0ed58390, fromedge=false) at build/match.cpp:933
#19 0x00007fbbf04438be in game::Match::begin (this=0x557e0ed58390, type=game::Match::T_DEATHMATCH, limit=10) at build/match.cpp:185
#20 0x00007fbbf04799d8 in game::MatchState::beginCompetitiveMatch (this=0x557e0e47c810) at build/matchstate.cpp:302
#21 0x00007fbbf0423bf3 in game::Application::begin (this=0x7ffcf8525f00, argc=1, argv=0x7ffcf85266e8) at build/application.cpp:338
#22 0x00007fbbf02e0433 in fg::OgreApplication::run (this=0x7ffcf8525f00, argc=1, argv=0x7ffcf85266e8, width=1600, height=900, fullscreen=false, monitorname="DP-1", fsaa=4, vsync=1) at build/ogreapplication.cpp:331
#23 0x00007fbbf04218ca in game::Application::run (this=0x7ffcf8525f00, argc=1, argv=0x7ffcf85266e8) at build/application.cpp:171
#24 0x00007fbbf0426e82 in run (argc=1, argv=0x7ffcf85266e8) at build/application.cpp:904
#25 0x0000557e0d6a15d3 in main (argc=1, argv=0x7ffcf85266e8) at /home/mikko/fractilegames/include/fgtk/launcher.h:334
I'm guessing this has something to do with instancing, but 1.11 change log does not mention any relevant changes there. There appears to be two problems: failing Ogre::GLHardwareVertexBuffer::unlockImpl() and crash on exception handling.

Any ideas on what's going on here?

Edit: The 1.11.5 release version works fine.
paroj
OGRE Team Member
OGRE Team Member
Posts: 1995
Joined: Sun Mar 30, 2014 2:51 pm
x 1075
Contact:

Re: InternalErrorException: Buffer data corrupted after Ogre update

Post by paroj »

can you reproduce this with the Sample Browser? Might be this commit https://github.com/OGRECave/ogre/commit ... 916f30ca5a
User avatar
fractile
Gremlin
Posts: 199
Joined: Thu Jan 13, 2005 2:35 pm
Location: Tampere, Finland
x 15
Contact:

Re: InternalErrorException: Buffer data corrupted after Ogre update

Post by fractile »

I tried reverting the single commit, but it did not change anything. This is not reproducible with sample browser, "New instancing" sample (and all others that I tried) works fine.

I'll stick to 1.11.5 release for now.
Post Reply