[Bug 69805] New: flightgear crashes on r600 (rs880)

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Wed Sep 25 03:52:00 PDT 2013


https://bugs.freedesktop.org/show_bug.cgi?id=69805

          Priority: medium
            Bug ID: 69805
          Assignee: dri-devel at lists.freedesktop.org
           Summary: flightgear crashes on r600 (rs880)
          Severity: normal
    Classification: Unclassified
                OS: Linux (All)
          Reporter: marvin24 at gmx.de
          Hardware: x86-64 (AMD64)
            Status: NEW
           Version: git
         Component: Drivers/Gallium/r600
           Product: Mesa

flightgear 2.12 crashes on git mesa. Works with R600_LLVM=0. I initially
thought it is due to missing trig functions, but after applying a workaround
(from some other bug), it still crashes, so this must be something different.

environment init
Missing separate debuginfo for /usr/lib64/osgPlugins-3.0.1/osgdb_freetype.so
Try: zypper install -C
"debuginfo(build-id)=462971b0ab27e0a7e0e887d5a49071eda4dd3258"
Missing separate debuginfo for /usr/lib64/libfreetype.so.6
Try: zypper install -C
"debuginfo(build-id)=0d930f71e40c49e05024dd84de90ec2bbd703a02"
KMA20 audio panel initialized
KI266 dme indicator #0 initialized
Missing separate debuginfo for /usr/lib64/libXcursor.so.1
Try: zypper install -C
"debuginfo(build-id)=36dc7be208365a4e9d2c4e6e67bf20c04907fe97"
[New Thread 0x7fffc673e700 (LWP 4495)]
[New Thread 0x7fffc5f3d700 (LWP 4496)]
[Thread 0x7fffe5eca700 (LWP 4489) exited]
Electrical system initialized

Program received signal SIGSEGV, Segmentation fault.
0x00007fffea71f024 in r600_sb::bc_decoder::decode_alu(unsigned int&,
r600_sb::bc_alu&) () from /usr/lib64/dri/r600_dri.so
(gdb) bt
#0  0x00007fffea71f024 in r600_sb::bc_decoder::decode_alu(unsigned int&,
r600_sb::bc_alu&) () from /usr/lib64/dri/r600_dri.so
#1  0x00007fffea725982 in
r600_sb::bc_parser::decode_alu_group(r600_sb::cf_node*, unsigned int&, unsigned
int&) ()
   from /usr/lib64/dri/r600_dri.so
#2  0x00007fffea725bbb in
r600_sb::bc_parser::decode_alu_clause(r600_sb::cf_node*) () from
/usr/lib64/dri/r600_dri.so
#3  0x00007fffea725d2b in r600_sb::bc_parser::decode_cf(unsigned int&, bool&)
() from /usr/lib64/dri/r600_dri.so
#4  0x00007fffea725d94 in r600_sb::bc_parser::decode_shader() () from
/usr/lib64/dri/r600_dri.so
#5  0x00007fffea725e8b in r600_sb::bc_parser::decode() () from
/usr/lib64/dri/r600_dri.so
#6  0x00007fffea72993f in r600_sb_bytecode_process () from
/usr/lib64/dri/r600_dri.so
#7  0x00007fffea7006e2 in ?? () from /usr/lib64/dri/r600_dri.so
#8  0x00007fffea7153cd in ?? () from /usr/lib64/dri/r600_dri.so
#9  0x00007fffea71555a in ?? () from /usr/lib64/dri/r600_dri.so
#10 0x00007fffea456864 in ?? () from /usr/lib64/dri/r600_dri.so
#11 0x00007fffea457386 in ?? () from /usr/lib64/dri/r600_dri.so
#12 0x00007fffea416ad7 in ?? () from /usr/lib64/dri/r600_dri.so
#13 0x00007fffea412e9f in ?? () from /usr/lib64/dri/r600_dri.so
#14 0x00007fffea429712 in ?? () from /usr/lib64/dri/r600_dri.so
#15 0x00007fffea4125db in ?? () from /usr/lib64/dri/r600_dri.so
#16 0x00007fffea2862c2 in ?? () from /usr/lib64/dri/r600_dri.so
#17 0x00007fffea2a51f8 in ?? () from /usr/lib64/dri/r600_dri.so
#18 0x00007ffff6a44364 in osgUtil::RenderLeaf::render(osg::RenderInfo&,
osgUtil::RenderLeaf*) () from /usr/lib64/libosgUtil.so.80
#19 0x00007ffff6a3e7e5 in
osgUtil::RenderBin::drawImplementation(osg::RenderInfo&, osgUtil::RenderLeaf*&)
()
   from /usr/lib64/libosgUtil.so.80
#20 0x00007ffff6a3e824 in
osgUtil::RenderBin::drawImplementation(osg::RenderInfo&, osgUtil::RenderLeaf*&)
()
   from /usr/lib64/libosgUtil.so.80
#21 0x00007ffff6a457c3 in
osgUtil::RenderStage::drawImplementation(osg::RenderInfo&,
osgUtil::RenderLeaf*&) ()
   from /usr/lib64/libosgUtil.so.80
#22 0x00007ffff6a48c96 in osgUtil::RenderStage::drawInner(osg::RenderInfo&,
osgUtil::RenderLeaf*&, bool&) ()
   from /usr/lib64/libosgUtil.so.80
#23 0x00007ffff6a488ba in osgUtil::RenderStage::draw(osg::RenderInfo&,
osgUtil::RenderLeaf*&) () from /usr/lib64/libosgUtil.so.80
#24 0x00007ffff6a524a5 in osgUtil::SceneView::draw() () from
/usr/lib64/libosgUtil.so.80
#25 0x00007ffff66743f5 in osgViewer::Renderer::cull_draw() () from
/usr/lib64/libosgViewer.so.80
#26 0x00007ffff60075f9 in osg::GraphicsContext::runOperations() () from
/usr/lib64/libosg.so.80
#27 0x00007ffff66a9964 in osgViewer::ViewerBase::renderingTraversals() () from
/usr/lib64/libosgViewer.so.80
#28 0x0000000000b2d7a5 in fgOSMainLoop() ()
#29 0x000000000064317a in fgMainInit(int, char**) ()
#30 0x000000000060a474 in main ()
(gdb)


workaround patch:
--- a/lib/Target/R600/R600Instructions.td
+++ b/lib/Target/R600/R600Instructions.td
@@ -1165,6 +1165,8 @@ let Predicates = [isR600] in {
   def UINT_TO_FLT_r600 : UINT_TO_FLT_Common<0x6d>;
   def SIN_r600 : SIN_Common<0x6E>;
   def COS_r600 : COS_Common<0x6F>;
+  def : Pat<(fcos f32:$src),(COS_r600 $src)>;
+  def : Pat<(fsin f32:$src),(SIN_r600 $src)>;
   def ASHR_r600 : ASHR_Common<0x70>;
   def LSHR_r600 : LSHR_Common<0x71>;
   def LSHL_r600 : LSHL_Common<0x72>;

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20130925/f74f42a2/attachment.html>


More information about the dri-devel mailing list