Page 1 of 1

Segfault on Linux

Posted: 05 Nov 2018, 11:20
by BaronPampa
Hi,

I've got segmentation fault issues when playing. They seem to occur when switching cells, but not everytime, and the same cell sometimes load, and sometimes crash. The error is given to occur in few minutes of running around.

Backtrace:
Thread 3 "openmw" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffe3fff700 (LWP 2147)]
0x00007ffff7d190bb in osg::GLBufferObject::compileBuffer() () from /usr/lib/libosg.so.158
(gdb) bt
#0 0x00007ffff7d190bb in osg::GLBufferObject::compileBuffer() () from /usr/lib/libosg.so.158
#1 0x00007ffff7d7d5e2 in osg::Geometry::compileGLObjects(osg::RenderInfo&) const () from /usr/lib/libosg.so.158
#2 0x00007ffff7a39961 in osgUtil::IncrementalCompileOperation::CompileDrawableOp::compile(osgUtil::IncrementalCompileOperation::CompileInfo&) ()
from /usr/lib/libosgUtil.so.158
#3 0x00007ffff7a3a190 in osgUtil::IncrementalCompileOperation::CompileList::compile(osgUtil::IncrementalCompileOperation::CompileInfo&) () from /usr/lib/libosgUtil.so.158
#4 0x00007ffff7a3adcc in osgUtil::IncrementalCompileOperation::CompileSet::compile(osgUtil::IncrementalCompileOperation::CompileInfo&) () from /usr/lib/libosgUtil.so.158
#5 0x00007ffff7a3d6de in osgUtil::IncrementalCompileOperation::compileSets(std::__cxx11::list<osg::ref_ptr<osgUtil::IncrementalCompileOperation::CompileSet>, std::allocator<osg::ref_ptr<osgUtil::IncrementalCompileOperation::CompileSet> > >&, osgUtil::IncrementalCompileOperation::CompileInfo&) () from /usr/lib/libosgUtil.so.158
#6 0x00007ffff7a3dc2c in osgUtil::IncrementalCompileOperation::operator()(osg::GraphicsContext*) () from /usr/lib/libosgUtil.so.158
#7 0x00007ffff7d9249e in osg::GraphicsContext::runOperations() () from /usr/lib/libosg.so.158
#8 0x00007ffff7e1e8be in osg::OperationThread::run() () from /usr/lib/libosg.so.158
#9 0x00007ffff7d9439e in non-virtual thunk to osg::GraphicsThread::run() () from /usr/lib/libosg.so.158
#10 0x00007ffff7be3fa9 in OpenThreads::ThreadPrivateActions::StartThread(void*) () from /usr/lib/libOpenThreads.so.21
#11 0x00007ffff56bea9d in start_thread () from /usr/lib/libpthread.so.0
#12 0x00007ffff4be5b23 in clone () from /usr/lib/libc.so.6
(gdb)

EDIT:
I've messed with setting up the wizard and launcher again. This time, I got a little bit different backtrace:

Thread 3 "openmw" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffe3fff700 (LWP 2997)]
0x00007ffff7d1909d in osg::GLBufferObject::compileBuffer() () from /usr/lib/libosg.so.158
(gdb) bt
#0 0x00007ffff7d1909d in osg::GLBufferObject::compileBuffer() () from /usr/lib/libosg.so.158
#1 0x00007ffff7e26779 in osg::DrawElementsUShort::draw(osg::State&, bool) const () from /usr/lib/libosg.so.158
#2 0x00007ffff7d7715b in osg::Geometry::drawPrimitivesImplementation(osg::RenderInfo&) const () from /usr/lib/libosg.so.158
#3 0x00007ffff7d781f1 in osg::Geometry::drawImplementation(osg::RenderInfo&) const () from /usr/lib/libosg.so.158
#4 0x00007ffff7d66b50 in osg::Drawable::draw(osg::RenderInfo&) const () from /usr/lib/libosg.so.158
#5 0x00007ffff7abb844 in osgUtil::RenderLeaf::render(osg::RenderInfo&, osgUtil::RenderLeaf*) () from /usr/lib/libosgUtil.so.158
#6 0x00007ffff7ab5f7d in osgUtil::RenderBin::drawImplementation(osg::RenderInfo&, osgUtil::RenderLeaf*&) () from /usr/lib/libosgUtil.so.158
#7 0x00007ffff7ab6f83 in osgUtil::RenderBin::draw(osg::RenderInfo&, osgUtil::RenderLeaf*&) () from /usr/lib/libosgUtil.so.158
#8 0x00007ffff7ab5fc4 in osgUtil::RenderBin::drawImplementation(osg::RenderInfo&, osgUtil::RenderLeaf*&) () from /usr/lib/libosgUtil.so.158
#9 0x00007ffff7ab6f83 in osgUtil::RenderBin::draw(osg::RenderInfo&, osgUtil::RenderLeaf*&) () from /usr/lib/libosgUtil.so.158
#10 0x00007ffff7ab5fc4 in osgUtil::RenderBin::drawImplementation(osg::RenderInfo&, osgUtil::RenderLeaf*&) () from /usr/lib/libosgUtil.so.158
#11 0x00007ffff7ac1408 in osgUtil::RenderStage::drawImplementation(osg::RenderInfo&, osgUtil::RenderLeaf*&) () from /usr/lib/libosgUtil.so.158
#12 0x00007ffff7ab6f83 in osgUtil::RenderBin::draw(osg::RenderInfo&, osgUtil::RenderLeaf*&) () from /usr/lib/libosgUtil.so.158
#13 0x00007ffff7ac03c7 in osgUtil::RenderStage::drawInner(osg::RenderInfo&, osgUtil::RenderLeaf*&, bool&) () from /usr/lib/libosgUtil.so.158
#14 0x00007ffff7ac23d2 in osgUtil::RenderStage::draw(osg::RenderInfo&, osgUtil::RenderLeaf*&) () from /usr/lib/libosgUtil.so.158
#15 0x00007ffff7abbdeb in osgUtil::RenderStage::drawPreRenderStages(osg::RenderInfo&, osgUtil::RenderLeaf*&) () from /usr/lib/libosgUtil.so.158
#16 0x00007ffff7acdfb1 in osgUtil::SceneView::draw() () from /usr/lib/libosgUtil.so.158
#17 0x00007ffff775b871 in osgViewer::Renderer::draw() () from /usr/lib/libosgViewer.so.158
#18 0x00007ffff7d92449 in osg::GraphicsContext::runOperations() () from /usr/lib/libosg.so.158
#19 0x00007ffff7e1e8be in osg::OperationThread::run() () from /usr/lib/libosg.so.158
#20 0x00007ffff7d9439e in non-virtual thunk to osg::GraphicsThread::run() () from /usr/lib/libosg.so.158
#21 0x00007ffff7be3fa9 in OpenThreads::ThreadPrivateActions::StartThread(void*) () from /usr/lib/libOpenThreads.so.21
#22 0x00007ffff56bea9d in start_thread () from /usr/lib/libpthread.so.0
#23 0x00007ffff4be5b23 in clone () from /usr/lib/libc.so.6



System: Arch Linux
GPU : Nvidia with proprietary driver and Intel, both have the problem.
OpenMW version 0.44.0
Revision: d3633bbada

Can you guys help me? Should I give you more information?

Re: Segfault on Linux

Posted: 05 Nov 2018, 12:19
by akortunov
Since you use Arch, I suppose you encountered this issue.
OpenMW is supposed to work with OSG 3.4.x and is not compatible with OSG 3.6.3+

Re: Segfault on Linux

Posted: 05 Nov 2018, 13:00
by BaronPampa
Thanks. I'll check it out and write again if it turns out that I have a different problem.