mikrosimage/duke

crash on start

Closed this issue · 4 comments

$ ./duke -b /path/to/my/image.jpg
[PrototypeFactory] add cineontolin
[PrototypeFactory] add srgbtolin
[PrototypeFactory] add rgbatobgra
[PrototypeFactory] add lintosrgb
[PrototypeFactory] add tenbitunpackfloat
[PrototypeFactory] add lintocineon
[PrototypeFactory] add expand_cgrtosmpte
[PrototypeFactory] add contract_smptetocgr
[PrototypeFactory] add sample2d
[PrototypeFactory] reading from path "shader_prototypes"
[Shader] using default shaders
Unknown event type 75 0x4b
Unknown event 10
Unknown event type 170 0xaa
Unknown event 10
Unknown event type 97 0x61
Unknown event 10
Unknown event type 39 0x27
Unknown event 10
Unknown event type 68 0x44
Unknown event 10
Unknown event type 68 0x44
Unknown event 10
Unknown event type 70 0x46
Unknown event 10
Unknown event type 70 0x46
Unknown event 10
Unknown event type 13 0xd
Unknown event 10
Unknown event type 17 0x11
Unknown event 10
Unknown event type 26 0x1a
Unknown event 10
Unknown event type 67 0x43
Unknown event 10
Unknown event type 68 0x44
Unknown event 10
Unknown event type 74 0x4a
Unknown event 10
Unknown event type 71 0x47
Unknown event 10
Unknown event type 77 0x4d
Unknown event 10
Unknown event type 12 0xc
Unknown event 10
Unknown event type 67 0x43
Unknown event 10
Unknown event type 70 0x46
Unknown event 10
Unknown event type 71 0x47
Unknown event 10
Unknown event type 68 0x44
Unknown event 10
duke: swrast/s_context.c :251 : _swrast_update_fog_state: L'assertion « (fp == ((void *)0)) || (fp->Base.Target == 0x8804) » a échoué.
Abandon (core dumped)

Maybe the same trouble than described in issue #5.

swrast/s_context.c is not part of duke. Searching the Internet reveals swrast is a driver for mesa3d and it looks like an issue with the driver's implementation : we're simply not using the fixed pipeline where the fog state is used. So I doubt this has something to do with duke.

Are you trying to get duke working on a remote workstation ? I saw bug reports about swart and remote X. I don't think this is related to duke but I could be wrong. Can you provide at stacktrace ?

Also I don't think this has to do with #5 which is a Windows related issue. MinGW is using Windows OpenGL's implementation which is the graphic card's one so nothing to do with Mesa and Swrast.

I have an NVidia Optimus. I get this error with the NVidia card disabled, but it works when it's enabled.
So maybe a problem with my intel driver.

OK. I'm closing this issue then.

For archiving if someone encounters a similar problem.

The error is on:
glDrawElements(GL_TRIANGLES, count * 3, indicesType, 0);

Full backtrace:

#0  0xb7fdd424 in __kernel_vsyscall ()
#1  0xb5ef31ef in __GI_raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#2  0xb5ef6835 in __GI_abort () at abort.c:91
#3  0xb5eec095 in __assert_fail_base (fmt=0xb3c37755 "%s%s%s :%u : %s%s L'assertion « %s » a échoué.\n%n", assertion=0xb735f6b0 "(fp == ((void *)0)) || (fp->Base.Target == 0x8804)", 
    file=0xb735f69a "swrast/s_context.c", line=251, function=0xb735f6ec "_swrast_update_fog_state") at assert.c:94
#4  0xb5eec147 in __GI___assert_fail (assertion=0xb735f6b0 "(fp == ((void *)0)) || (fp->Base.Target == 0x8804)", file=0xb735f69a "swrast/s_context.c", line=251, function=0xb735f6ec "_swrast_update_fog_state")
    at assert.c:103
#5  0xb7219e87 in ?? () from /usr/lib/i386-linux-gnu/mesa/libGL.so.1
#6  0xb7219f4c in ?? () from /usr/lib/i386-linux-gnu/mesa/libGL.so.1
#7  0xb721a14e in ?? () from /usr/lib/i386-linux-gnu/mesa/libGL.so.1
#8  0xb724e7de in ?? () from /usr/lib/i386-linux-gnu/mesa/libGL.so.1
#9  0xb71ef53b in ?? () from /usr/lib/i386-linux-gnu/mesa/libGL.so.1
#10 0xb71efc66 in ?? () from /usr/lib/i386-linux-gnu/mesa/libGL.so.1
#11 0xb71e849e in ?? () from /usr/lib/i386-linux-gnu/mesa/libGL.so.1
#12 0xb71edb81 in ?? () from /usr/lib/i386-linux-gnu/mesa/libGL.so.1
#13 0xb71efb7f in ?? () from /usr/lib/i386-linux-gnu/mesa/libGL.so.1
#14 0xb71e54cf in ?? () from /usr/lib/i386-linux-gnu/mesa/libGL.so.1
#15 0xb71e5ec7 in ?? () from /usr/lib/i386-linux-gnu/mesa/libGL.so.1
#16 0xb71e6581 in ?? () from /usr/lib/i386-linux-gnu/mesa/libGL.so.1
#17 0xb71db88e in ?? () from /usr/lib/i386-linux-gnu/mesa/libGL.so.1
#18 0xb71dba74 in ?? () from /usr/lib/i386-linux-gnu/mesa/libGL.so.1
#19 0x080d33bb in OGLRenderer::drawIndexedPrimitives (this=0xbfffec4c, meshType=PT_TRIANGLELIST, count=2) at src/duke/libraries/dukeengine/dukeengine/renderer/ogl/OGLRenderer.cpp:204
#20 0x0811ca34 in IMeshBase::render (this=0x8c51248, renderer=...) at src/duke/libraries/dukeengine/dukeengine/renderer/resource/IMeshBase.cpp:18
#21 0x080fcc49 in RenderHelper::displayMeshWithName (this=0xbfffdde4, name=...) at src/duke/libraries/dukeengine/dukeengine/renderer/DukeEngine_Render.cpp:313
#22 0x08107591 in boost::_mfi::mf1<void, RenderHelper, std::string const&>::operator() (this=0xbfffda7c, p=0xbfffdde4, a1=...) at /home/fab/dev/extern/boost_1_49_0/boost/bind/mem_fn_template.hpp:165
#23 0x08105c16 in boost::_bi::list2<boost::_bi::value<RenderHelper*>, boost::arg<1> >::operator()<boost::_mfi::mf1<void, RenderHelper, std::string const&>, boost::_bi::list1<std::string const&> > (
    this=0xbfffda84, f=..., a=...) at /home/fab/dev/extern/boost_1_49_0/boost/bind/bind.hpp:313
#24 0x081032d9 in boost::_bi::bind_t<void, boost::_mfi::mf1<void, RenderHelper, std::string const&>, boost::_bi::list2<boost::_bi::value<RenderHelper*>, boost::arg<1> > >::operator()<std::string> (
    this=0xbfffda7c, a1=...) at /home/fab/dev/extern/boost_1_49_0/boost/bind/bind_template.hpp:47
#25 0x08100cfb in std::for_each<google::protobuf::internal::RepeatedPtrIterator<std::string const>, boost::_bi::bind_t<void, boost::_mfi::mf1<void, RenderHelper, std::string const&>, boost::_bi::list2<boost::_bi::value<RenderHelper*>, boost::arg<1> > > > (__first=..., __last=..., __f=...) at /usr/include/c++/4.6/bits/stl_algo.h:4379
#26 0x080fcaab in RenderHelper::displayPass (this=0xbfffdde4, pass=...) at src/duke/libraries/dukeengine/dukeengine/renderer/DukeEngine_Render.cpp:292
#27 0x081070c3 in boost::_mfi::mf1<void, RenderHelper, duke::protocol::RenderPass const&>::operator() (this=0xbfffdc0c, p=0xbfffdde4, a1=...)
    at /home/fab/dev/extern/boost_1_49_0/boost/bind/mem_fn_template.hpp:165
#28 0x08105560 in boost::_bi::list2<boost::_bi::value<RenderHelper*>, boost::arg<1> >::operator()<boost::_mfi::mf1<void, RenderHelper, duke::protocol::RenderPass const&>, boost::_bi::list1<duke::protocol::RenderPass const&> > (this=0xbfffdc14, f=..., a=...) at /home/fab/dev/extern/boost_1_49_0/boost/bind/bind.hpp:313
#29 0x08102ea7 in boost::_bi::bind_t<void, boost::_mfi::mf1<void, RenderHelper, duke::protocol::RenderPass const&>, boost::_bi::list2<boost::_bi::value<RenderHelper*>, boost::arg<1> > >::operator()<duke::protocol::RenderPass> (this=0xbfffdc0c, a1=...) at /home/fab/dev/extern/boost_1_49_0/boost/bind/bind_template.hpp:47
#30 0x081008d7 in std::for_each<google::protobuf::internal::RepeatedPtrIterator<duke::protocol::RenderPass const>, boost::_bi::bind_t<void, boost::_mfi::mf1<void, RenderHelper, duke::protocol::RenderPass const&>, boost::_bi::list2<boost::_bi::value<RenderHelper*>, boost::arg<1> > > > (__first=..., __last=..., __f=...) at /usr/include/c++/4.6/bits/stl_algo.h:4379
#31 0x080fc2e4 in RenderHelper::displayClip (this=0xbfffdde4, clip=...) at src/duke/libraries/dukeengine/dukeengine/renderer/DukeEngine_Render.cpp:214
#32 0x08107037 in boost::_mfi::mf1<void, RenderHelper, duke::protocol::Clip const&>::operator() (this=0xbfffdd5c, p=0xbfffdde4, a1=...) at /home/fab/dev/extern/boost_1_49_0/boost/bind/mem_fn_template.hpp:165
#33 0x0810543a in boost::_bi::list2<boost::_bi::value<RenderHelper*>, boost::arg<1> >::operator()<boost::_mfi::mf1<void, RenderHelper, duke::protocol::Clip const&>, boost::_bi::list1<duke::protocol::Clip const&> > (this=0xbfffdd64, f=..., a=...) at /home/fab/dev/extern/boost_1_49_0/boost/bind/bind.hpp:313
#34 0x08102d5f in boost::_bi::bind_t<void, boost::_mfi::mf1<void, RenderHelper, duke::protocol::Clip const&>, boost::_bi::list2<boost::_bi::value<RenderHelper*>, boost::arg<1> > >::operator()<duke::protocol::Clip> (this=0xbfffdd5c, a1=...) at /home/fab/dev/extern/boost_1_49_0/boost/bind/bind_template.hpp:47
#35 0x08100636 in std::for_each<__gnu_cxx::__normal_iterator<duke::protocol::Clip const*, std::vector<duke::protocol::Clip, std::allocator<duke::protocol::Clip> > >, boost::_bi::bind_t<void, boost::_mfi::mf1<void, RenderHelper, duke::protocol::Clip const&>, boost::_bi::list2<boost::_bi::value<RenderHelper*>, boost::arg<1> > > > (__first=..., __last=..., __f=...) at /usr/include/c++/4.6/bits/stl_algo.h:4379
#36 0x080fbf32 in RenderHelper::render (this=0xbfffdde4) at src/duke/libraries/dukeengine/dukeengine/renderer/DukeEngine_Render.cpp:182
#37 0x080fdc7e in DukeEngine::render (this=0xbfffea24, widget=...) at src/duke/libraries/dukeengine/dukeengine/renderer/DukeEngine_Render.cpp:484
#38 0x080c71f9 in DukeEngine::onUpdate (this=0xbfffea24, widget=...) at src/duke/libraries/dukeengine/dukeengine/renderer/DukeEngine.cpp:63
#39 0x080c4afb in DukeWidget::updateGL (this=0xbfffec34) at src/duke/libraries/dukeengine/dukeengine/renderer/DukeWidget.cpp:37
#40 0x080e4e4d in DukeWidget::qt_metacall (this=0xbfffec34, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0xbfffdf70)
    at bin/src/duke/libraries/dukeengine/dukeengine/gcc-4.6/debug/link-static/threading-multi/renderer/moc_DukeWidget.cpp:72
#41 0xb6343e33 in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /opt/QtSDK/Desktop/Qt/474/gcc/lib/libQtCore.so.4
#42 0xb63543d4 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /opt/QtSDK/Desktop/Qt/474/gcc/lib/libQtCore.so.4
#43 0xb63ad307 in QTimer::timeout() () from /opt/QtSDK/Desktop/Qt/474/gcc/lib/libQtCore.so.4
#44 0xb635c50e in QTimer::timerEvent(QTimerEvent*) () from /opt/QtSDK/Desktop/Qt/474/gcc/lib/libQtCore.so.4
#45 0xb6350a0a in QObject::event(QEvent*) () from /opt/QtSDK/Desktop/Qt/474/gcc/lib/libQtCore.so.4
#46 0xb65f099c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /opt/QtSDK/Desktop/Qt/474/gcc/lib/libQtGui.so.4
#47 0xb65f4853 in QApplication::notify(QObject*, QEvent*) () from /opt/QtSDK/Desktop/Qt/474/gcc/lib/libQtGui.so.4
#48 0x080a21a8 in DukeApplication::notify (this=0xbfffe9f0, receiver=0xbfffed3c, e=0xbfffe564) at src/duke/app/main.cpp:23
#49 0xb633d30b in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /opt/QtSDK/Desktop/Qt/474/gcc/lib/libQtCore.so.4
#50 0xb63705ef in ?? () from /opt/QtSDK/Desktop/Qt/474/gcc/lib/libQtCore.so.4
#51 0xb636d514 in ?? () from /opt/QtSDK/Desktop/Qt/474/gcc/lib/libQtCore.so.4
#52 0xb5bbfd86 in g_main_context_dispatch () from /lib/i386-linux-gnu/libglib-2.0.so.0
#53 0xb5bc0125 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#54 0xb5bc0201 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#55 0xb636d981 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /opt/QtSDK/Desktop/Qt/474/gcc/lib/libQtCore.so.4
#56 0xb66b1a25 in ?? () from /opt/QtSDK/Desktop/Qt/474/gcc/lib/libQtGui.so.4
#57 0xb633c4cd in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /opt/QtSDK/Desktop/Qt/474/gcc/lib/libQtCore.so.4
#58 0xb633c75a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /opt/QtSDK/Desktop/Qt/474/gcc/lib/libQtCore.so.4
#59 0xb633e8b1 in QCoreApplication::exec() () from /opt/QtSDK/Desktop/Qt/474/gcc/lib/libQtCore.so.4
#60 0xb65effd7 in QApplication::exec() () from /opt/QtSDK/Desktop/Qt/474/gcc/lib/libQtGui.so.4
#61 0x0809878a in runDukeX (argc=2, argv=0xbffff054, configuration=..., io=...) at src/duke/app/main.cpp:93
#62 0x08098c23 in main (argc=2, argv=0xbffff054) at src/duke/app/main.cpp:141