Program received signal SIGSEGV, Segmentation fault.
0xf407e0d6 in ralloc_size () from /usr/lib/i386-linux-gnu/libdricore9.1.1.so.1
(gdb) bt
#0 0xf407e0d6 in ralloc_size ()
from /usr/lib/i386-linux-gnu/libdricore9.1.1.so.1
#1 0xf4084986 in ast_expression::hir(exec_list*, _mesa_glsl_parse_state*) ()
from /usr/lib/i386-linux-gnu/libdricore9.1.1.so.1
#2 0xf4084abe in ast_expression::hir(exec_list*, _mesa_glsl_parse_state*) ()
from /usr/lib/i386-linux-gnu/libdricore9.1.1.so.1
#3 0xf4090dcd in _mesa_ast_field_selection_to_hir(ast_expression const*, exec_list*, _mesa_glsl_parse_state*) ()
from /usr/lib/i386-linux-gnu/libdricore9.1.1.so.1
#4 0xf4084cf3 in ast_expression::hir(exec_list*, _mesa_glsl_parse_state*) ()
from /usr/lib/i386-linux-gnu/libdricore9.1.1.so.1
#5 0xf4086885 in ast_expression::hir(exec_list*, _mesa_glsl_parse_state*) ()
from /usr/lib/i386-linux-gnu/libdricore9.1.1.so.1
#6 0xf4086885 in ast_expression::hir(exec_list*, _mesa_glsl_parse_state*) ()
from /usr/lib/i386-linux-gnu/libdricore9.1.1.so.1
#7 0xf40868a3 in ast_expression::hir(exec_list*, _mesa_glsl_parse_state*) ()
from /usr/lib/i386-linux-gnu/libdricore9.1.1.so.1
#8 0xf40868a3 in ast_expression::hir(exec_list*, _mesa_glsl_parse_state*) ()
from /usr/lib/i386-linux-gnu/libdricore9.1.1.so.1
#9 0xf407f1d4 in ?? () from /usr/lib/i386-linux-gnu/libdricore9.1.1.so.1
#10 0xf4080b92 in ast_function_expression::hir(exec_list*, _mesa_glsl_parse_state*) () from /usr/lib/i386-linux-gnu/libdricore9.1.1.so.1
#11 0xf40868a3 in ast_expression::hir(exec_list*, _mesa_glsl_parse_state*) ()
from /usr/lib/i386-linux-gnu/libdricore9.1.1.so.1
#12 0xf4086885 in ast_expression::hir(exec_list*, _mesa_glsl_parse_state*) ()
from /usr/lib/i386-linux-gnu/libdricore9.1.1.so.1
#13 0xf40866ec in ast_expression::hir(exec_list*, _mesa_glsl_parse_state*) ()
from /usr/lib/i386-linux-gnu/libdricore9.1.1.so.1
#14 0xf4087156 in ast_expression_statement::hir(exec_list*, _mesa_glsl_parse_state*) () from /usr/lib/i386-linux-gnu/libdricore9.1.1.so.1
#15 0xf40871a9 in ast_compound_statement::hir(exec_list*, _mesa_glsl_parse_state*) () from /usr/lib/i386-linux-gnu/libdricore9.1.1.so.1
#16 0xf408926b in ast_function_definition::hir(exec_list*, _mesa_glsl_parse_state*) () from /usr/lib/i386-linux-gnu/libdricore9.1.1.so.1
#17 0xf4083a30 in _mesa_ast_to_hir(exec_list*, _mesa_glsl_parse_state*) ()
from /usr/lib/i386-linux-gnu/libdricore9.1.1.so.1
#18 0xf40df11d in _mesa_glsl_compile_shader ()
from /usr/lib/i386-linux-gnu/libdricore9.1.1.so.1
#19 0xf3f886a3 in ?? () from /usr/lib/i386-linux-gnu/libdricore9.1.1.so.1
#20 0xf446f976 in Ogre::GLSLProgram::compile(bool) ()
from /home/bbrick/Downloads/openmw-0.23.0-Linux/./plugins/RenderSystem_GL.so
#21 0xf446072b in Ogre::GLSLLinkProgram::compileAndLink() ()
from /home/bbrick/Downloads/openmw-0.23.0-Linux/./plugins/RenderSystem_GL.so
#22 0xf446143e in Ogre::GLSLLinkProgram::activate() ()
from /home/bbrick/Downloads/openmw-0.23.0-Linux/./plugins/RenderSystem_GL.so
#23 0xf4462908 in Ogre::GLSLLinkProgramManager::getActiveLinkProgram() ()
from /home/bbrick/Downloads/openmw-0.23.0-Linux/./plugins/RenderSystem_GL.so
#24 0xf445bdbc in Ogre::GLSLGpuProgram::bindProgramParameters(Ogre::SharedPtr<Ogre::GpuProgramParameters>, unsigned short) ()
from /home/bbrick/Downloads/openmw-0.23.0-Linux/./plugins/RenderSystem_GL.so
#25 0xf44d31d2 in Ogre::GLRenderSystem::bindGpuProgramParameters(Ogre::GpuProgramType, Ogre::SharedPtr<Ogre::GpuProgramParameters>, unsigned short) ()
from /home/bbrick/Downloads/openmw-0.23.0-Linux/./plugins/RenderSystem_GL.so
#26 0xf7d9abc4 in Ogre::SceneManager::updateGpuProgramParameters(Ogre::Pass const*) () from ./lib/libOgreMain.so.1.8.1
#27 0xf7d918de in Ogre::SceneManager::renderSingleObject(Ogre::Renderable*, Ogre::Pass const*, bool, bool, Ogre::HashedVector<Ogre::Light*> const*) () from ./lib/libOgreMain.so.1.8.1
#28 0xf7d82bf9 in Ogre::SceneManager::SceneMgrQueuedRenderableVisitor::visit(Ogre::Renderable*) () from ./lib/libOgreMain.so.1.8.1
#29 0xf7d2d561 in Ogre::QueuedRenderableCollection::acceptVisitorGrouped(Ogre::QueuedRenderableVisitor*) const () from ./lib/libOgreMain.so.1.8.1
#30 0xf7d2d5bb in Ogre::QueuedRenderableCollection::acceptVisitor(Ogre::QueuedRenderableVisitor*, Ogre::QueuedRenderableCollection::OrganisationMode) const ()
from ./lib/libOgreMain.so.1.8.1
#31 0xf7d86cd7 in Ogre::SceneManager::renderObjects(Ogre::QueuedRenderableCollection const&, Ogre::QueuedRenderableCollection::OrganisationMode, bool, bool, Ogre::HashedVector<Ogre::Light*> const*) () from ./lib/libOgreMain.so.1.8.1
#32 0xf7d86d63 in Ogre::SceneManager::renderBasicQueueGroupObjects(Ogre::RenderQueueGroup*, Ogre::QueuedRenderableCollection::OrganisationMode) ()
from ./lib/libOgreMain.so.1.8.1
#33 0xf7d85d89 in Ogre::SceneManager::_renderQueueGroupObjects(Ogre::RenderQueueGroup*, Ogre::QueuedRenderableCollection::OrganisationMode) ()
from ./lib/libOgreMain.so.1.8.1
#34 0xf7d8756d in Ogre::SceneManager::renderVisibleObjectsDefaultSequence() ()
from ./lib/libOgreMain.so.1.8.1
#35 0xf7d8770d in Ogre::SceneManager::_renderVisibleObjects() ()
from ./lib/libOgreMain.so.1.8.1
#36 0xf7d8cd51 in Ogre::SceneManager::_renderScene(Ogre::Camera*, Ogre::Viewport*, bool) () from ./lib/libOgreMain.so.1.8.1
#37 0xf7b6e24e in Ogre::Camera::_renderScene(Ogre::Viewport*, bool) ()
from ./lib/libOgreMain.so.1.8.1
#38 0xf7e77810 in Ogre::Viewport::update() () from ./lib/libOgreMain.so.1.8.1
#39 0xf7d4c8ee in Ogre::RenderTarget::_updateViewport(Ogre::Viewport*, bool) ()
from ./lib/libOgreMain.so.1.8.1
#40 0xf7d4c9aa in Ogre::RenderTarget::_updateAutoUpdatedViewports(bool) ()
from ./lib/libOgreMain.so.1.8.1
#41 0xf7d4bfd8 in Ogre::RenderTarget::updateImpl() ()
from ./lib/libOgreMain.so.1.8.1
#42 0xf7d4c40c in Ogre::RenderTarget::update(bool) ()
from ./lib/libOgreMain.so.1.8.1
#43 0xf7d33e54 in Ogre::RenderSystem::_updateAllRenderTargets(bool) ()
from ./lib/libOgreMain.so.1.8.1
#44 0xf7d7886d in Ogre::Root::_updateAllRenderTargets() ()
from ./lib/libOgreMain.so.1.8.1
#45 0xf7d789d0 in Ogre::Root::renderOneFrame() ()
from ./lib/libOgreMain.so.1.8.1
#46 0xf7d78a3d in Ogre::Root::startRendering() ()
from ./lib/libOgreMain.so.1.8.1
#47 0x0855a63d in OMW::Engine::go() ()
#48 0x0854f116 in main ()
Looks like the bug in the other thread.
My machine, 64-bit Ubuntu raring using 32-bit tar.gz build. Using opensource radeon graphics.
The Ogre.log ballooned to 20MiB but the last lines (that repeated) was this:
12:06:29: Error prior to using GLSL Program Object : invalid operation
12:06:29: GLSL compile log: openmw_objects_vertex_20287399230:218(68): error: `materialEmissive' undeclared
0:218(72): error: type mismatch
0:218(72): error: Operands to arithmetic operators must be numeric
0:218(72): error: Operands to arithmetic operators must be numeric
0:218(72): error: type mismatch
0:221(54): error: `materialAmbient' undeclared
0:221(59): error: type mismatch
0:221(59): error: Operands to arithmetic operators must be numeric
0:221(71): error: Operands to arithmetic operators must be numeric
0:221(71): error: Operands to arithmetic operators must be numeric
0:221(71): error: type mismatch
12:06:29: Error prior to using GLSL Program Object : invalid operation
12:06:29: GLSL compile log: openmw_objects_vertex_20287399230:218(68): error: `materialEmissive' undeclared
0:218(72): error: type mismatch
0:218(72): error: Operands to arithmetic operators must be numeric
0:218(72): error: Operands to arithmetic operators must be numeric
0:218(72): error: type mismatch
0:221(54): error: `materialAmbient' undeclared
0:221(59): error: type mismatch
0:221(59): error: Operands to arithmetic operators must be numeric
0:221(71): error: Operands to arithmetic operators must be numeric
0:221(71): error: Operands to arithmetic operators must be numeric
0:221(71): error: type mismatch
12:06:29: Error prior to using GLSL Program Object : invalid operation
- There's a bug in Ogre with GLSL programs. If one fails to compile, it tries recompiling it every frame and apparently causes some leakage while doing so, hence the low fps, huge Ogre.log and memory usage. This bug has been around for ages and I have no idea how to fix it.
- The shader preprocessor seems to behave non-deterministically in the 32 bit build. It seems to accept some #if statements regardless of whether they're true or not. Either there's something wrong with the build, or boost 1.53 (which the .tar.gz build uses) maybe broke something with our included copy of boost::wave (unlikely, since the 64 bit build works)
0.22 has the problem too for me. 0.21 works fine. It might be boost's fault, K1ll seems to have switched his package from boost 1.40 to 1.53 starting with the 0.22 release.
I see black instead of a loading screen. (the game works OK)
Ubuntu 12.04, 64b, PPA, Intel 4500MHD
update: I tested on similar system with i5 cpu and intel HD3000 graphics and menu showed just for a moment before gameplay (most of time was still black)