Bug 66317 - FlightGear 2.10 crashes on load
Summary: FlightGear 2.10 crashes on load
Status: RESOLVED NOTABUG
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/Gallium/r600 (show other bugs)
Version: git
Hardware: Other All
: medium normal
Assignee: Default DRI bug account
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-06-28 10:55 UTC by Marc Dietrich
Modified: 2013-07-02 13:05 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Description Marc Dietrich 2013-06-28 10:55:41 UTC
Flightgear crashes while initializing some llvm stuff:

....
Animated jetways ... initialized
KMA20 audio panel initialized
KI266 dme indicator #0 initialized
loading scenario 'nimitz_demo'
Unable to find target for this triple (no targets are registered)

Program received signal SIGSEGV, Segmentation fault.
0x00007fffead86a0d in create_jit_texture_type (gallivm=0x0, struct_name=0x7fffeb02d6a0 "texture") at draw/draw_llvm.c:124
124        LLVMTargetDataRef target = gallivm->target;
(gdb) bt
#0  0x00007fffead86a0d in create_jit_texture_type (gallivm=0x0, struct_name=0x7fffeb02d6a0 "texture") at draw/draw_llvm.c:124
#1  0x00007fffead87886 in create_jit_types (variant=0x9d7f9a0) at draw/draw_llvm.c:467
#2  0x00007fffead87b4b in draw_llvm_create_variant (llvm=0x1194ff0, num_inputs=3, key=0x7fffffffbca0) at draw/draw_llvm.c:577
#3  0x00007fffead8e62a in llvm_middle_end_prepare (middle=0x11a59d0, in_prim=0, opt=7, max_vertices=0x11a2bb8)
    at draw/draw_pt_fetch_shade_pipeline_llvm.c:235
#4  0x00007fffeac512ce in vsplit_prepare (frontend=0x11a2b80, in_prim=0, middle=0x11a59d0, opt=7) at draw/draw_pt_vsplit.c:174
#5  0x00007fffeac418e3 in draw_pt_arrays (draw=0x11939e0, prim=0, start=0, count=1) at draw/draw_pt.c:135
#6  0x00007fffeac426d9 in draw_vbo (draw=0x11939e0, info=0x7fffffffc130) at draw/draw_pt.c:543
#7  0x00007fffeab3ab8f in draw_arrays (draw=0x11939e0, mode=0, start=0, count=1) at ../../src/mesa/state_tracker/st_draw_feedback.c:101
#8  0x00007fffeab3b4a9 in st_feedback_draw_vbo (ctx=0x112dde0, prims=0x9d7f158, nr_prims=1, ib=0x0, index_bounds_valid=1 '\001', 
    min_index=0, max_index=1, tfb_vertcount=0x0) at ../../src/mesa/state_tracker/st_draw_feedback.c:269
#9  0x00007fffeab3283d in st_RasterPos (ctx=0x112dde0, v=0x7fffffffc960) at ../../src/mesa/state_tracker/st_cb_rasterpos.c:256
#10 0x00007fffeaa74ee8 in rasterpos (x=0, y=0, z=0, w=1) at ../../src/mesa/main/rastpos.c:61
#11 0x00007fffeaa74f88 in _mesa_RasterPos2i (x=0, y=0) at ../../src/mesa/main/rastpos.c:80
#12 0x00007ffff4f4c7d6 in fntBitmapFont::puts(float*, float, float, char const*) () from /usr/lib64/libplibfnt.so.0
#13 0x00007ffff516ddcb in puFont::drawString(char const*, int, int) () from /usr/lib64/libplibpu.so.0
#14 0x00007ffff5165bee in puButton::draw(int, int) () from /usr/lib64/libplibpu.so.0
#15 0x00007ffff51679da in puGroup::draw(int, int) () from /usr/lib64/libplibpu.so.0
#16 0x00007ffff51679da in puGroup::draw(int, int) () from /usr/lib64/libplibpu.so.0
#17 0x00007ffff51644c9 in puDisplay() () from /usr/lib64/libplibpu.so.0
#18 0x00000000009aea3b in SGPuDrawable::drawImplementation(osg::RenderInfo&) const ()
#19 0x00007ffff6b37667 in osgUtil::RenderLeaf::render(osg::RenderInfo&, osgUtil::RenderLeaf*) () from /usr/lib64/libosgUtil.so.80
#20 0x00007ffff6b317e5 in osgUtil::RenderBin::drawImplementation(osg::RenderInfo&, osgUtil::RenderLeaf*&) ()
   from /usr/lib64/libosgUtil.so.80
#21 0x00007ffff6b31824 in osgUtil::RenderBin::drawImplementation(osg::RenderInfo&, osgUtil::RenderLeaf*&) ()
   from /usr/lib64/libosgUtil.so.80
#22 0x00007ffff6b387c3 in osgUtil::RenderStage::drawImplementation(osg::RenderInfo&, osgUtil::RenderLeaf*&) ()
   from /usr/lib64/libosgUtil.so.80
#23 0x00007ffff6b3bc96 in osgUtil::RenderStage::drawInner(osg::RenderInfo&, osgUtil::RenderLeaf*&, bool&) ()
   from /usr/lib64/libosgUtil.so.80
#24 0x00007ffff6b3b8ba in osgUtil::RenderStage::draw(osg::RenderInfo&, osgUtil::RenderLeaf*&) () from /usr/lib64/libosgUtil.so.80
#25 0x00007ffff6b454a5 in osgUtil::SceneView::draw() () from /usr/lib64/libosgUtil.so.80
#26 0x00007ffff67673f5 in osgViewer::Renderer::cull_draw() () from /usr/lib64/libosgViewer.so.80
#27 0x00007ffff60fa5f9 in osg::GraphicsContext::runOperations() () from /usr/lib64/libosg.so.80
#28 0x00007ffff679c964 in osgViewer::ViewerBase::renderingTraversals() () from /usr/lib64/libosgViewer.so.80
#29 0x000000000099fca1 in fgOSMainLoop() ()
#30 0x00000000005ca1e5 in fgMainInit(int, char**) ()
#31 0x000000000059d514 in main ()
(gdb) quit

Happens with both R600_LLVM=1 or 0.
Comment 1 Andreas Boll 2013-06-28 12:32:00 UTC
Is this a regression? Does it work on mesa 9.1 or 9.0?
If yes, can you bisect?

Does setting the envvar DRAW_USE_LLVM=0 help?
Comment 2 Marc Dietrich 2013-07-02 13:05:10 UTC
DRAW_USE_LLVM=0 helped, release_33 also works

wasted a week of bisecting, just to find out that I configured my llvm branch wrong (I used --enable-targets=r600). It turned out that you need at least --enable-targets=host,r600 or you will get the crash above. Maybe mesa's configure should check for "llvm-config --targets-build" or document this fact somewhere.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.