[Bug 92913] [radeonsi/LLVM] Clicking on a system in the Star Citizen WebGL Starmap segfaults in LLVM backend

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Thu Nov 12 01:37:36 PST 2015


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

            Bug ID: 92913
           Summary: [radeonsi/LLVM] Clicking on a system in the Star
                    Citizen WebGL Starmap segfaults in LLVM backend
           Product: Mesa
           Version: git
          Hardware: x86-64 (AMD64)
               URL: https://robertsspaceindustries.com/starmap
                OS: Linux (All)
            Status: NEW
          Severity: normal
          Priority: medium
         Component: Drivers/Gallium/radeonsi
          Assignee: dri-devel at lists.freedesktop.org
          Reporter: kai at dev.carbon-project.org
        QA Contact: dri-devel at lists.freedesktop.org

Created attachment 119584
  --> https://bugs.freedesktop.org/attachment.cgi?id=119584&action=edit
StarCitizen Starmap SIGSEGV backtrace and register dump

When opening <https://robertsspaceindustries.com/starmap> with the stack
detailed below in a Firefox 42.0 (called Iceweasel for legal reasons on
Debian), I get a SIGSEGV. The crash seems to happen in TargetLowering of
radeonsi's LLVM backend:

> #0 0x00007f66fcacd85c in () at /usr/lib/x86_64-linux-gnu/libLLVM-3.8.so.1
> #1 0x00007f66fcad251d in llvm::TargetLowering::LowerCallTo(llvm::TargetLowering::CallLoweringInfo&) const () at /usr/lib/x86_64-linux-gnu/libLLVM-3.8.so.1
> #2 0x00007f66fcad74cc in llvm::SelectionDAGBuilder::lowerInvokable(llvm::TargetLowering::CallLoweringInfo&, llvm::BasicBlock const*) () at /usr/lib/x86_64-linux-gnu/libLLVM-3.8.so.1
> #3 0x00007f66fcae9410 in llvm::SelectionDAGBuilder::LowerCallTo(llvm::ImmutableCallSite, llvm::SDValue, bool, llvm::BasicBlock const*) () at /usr/lib/x86_64-linux-gnu/libLLVM-3.8.so.1
> #4 0x00007f66fcafc389 in llvm::SelectionDAGBuilder::visitCall(llvm::CallInst const&) () at /usr/lib/x86_64-linux-gnu/libLLVM-3.8.so.1
> #5 0x00007f66fcafdd54 in llvm::SelectionDAGBuilder::visit(llvm::Instruction const&) () at /usr/lib/x86_64-linux-gnu/libLLVM-3.8.so.1
> #6 0x00007f66fcb093b8 in llvm::SelectionDAGISel::SelectBasicBlock(llvm::ilist_iterator<llvm::Instruction const>, llvm::ilist_iterator<llvm::Instruction const>, bool&) () at /usr/lib/x86_64-linux-gnu/libLLVM-3.8.so.1
> #7 0x00007f66fcb0c6f0 in llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) () at /usr/lib/x86_64-linux-gnu/libLLVM-3.8.so.1
> #8 0x00007f66fcb0de4c in llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) () at /usr/lib/x86_64-linux-gnu/libLLVM-3.8.so.1
> #9 0x00007f66fc1741b2 in llvm::FPPassManager::runOnFunction(llvm::Function&) () at /usr/lib/x86_64-linux-gnu/libLLVM-3.8.so.1
> #10 0x00007f66fc1744eb in llvm::FPPassManager::runOnModule(llvm::Module&) () at /usr/lib/x86_64-linux-gnu/libLLVM-3.8.so.1
> #11 0x00007f66fc173e2f in llvm::legacy::PassManagerImpl::run(llvm::Module&) () at /usr/lib/x86_64-linux-gnu/libLLVM-3.8.so.1
> #12 0x00007f66fc87ed77 in () at /usr/lib/x86_64-linux-gnu/libLLVM-3.8.so.1
> #13 0x00007f66fc87f099 in LLVMTargetMachineEmitToMemoryBuffer () at /usr/lib/x86_64-linux-gnu/libLLVM-3.8.so.1
> #14 0x00007f66ff020cbb in radeon_llvm_compile (M=M at entry=0x7f66e5467800, binary=binary at entry=0x7f66dbd5b830, gpu_family=<optimized out>, dump_ir=dump_ir at entry=false, dump_asm=dump_asm at entry=false, tm=tm at entry=0x7f671c63e000)
> at ../../../../../../src/gallium/drivers/radeon/radeon_llvm_emit.c:184
> cpu = "\210\b`\345f\177\000\000@\000`Yg\177\000\000H\000`Yg\177\000\000\000\260e\345f\177"
> fs = "p\221\376\335\376\177\000\000\032b\023!\206U\000\000\000\000\000\000\000\000\000\000\032b\023!\206U"
> err = 0x0
> dispose_tm = false
> llvm_ctx = <optimized out>
> rval = 1
> out_buffer = 0x8a9104b68f463d00
> buffer_size = <optimized out>
> buffer_data = <optimized out>
> triple = "\000\000\000\000\000\000"
> mem_err = <optimized out>
> __func__ = "radeon_llvm_compile"

See the attached backtrace for a full backtrace and register dump.

Steps to reproduce:
1. go to <https://robertsspaceindustries.com/starmap>
2. Wait for the Starmap to load and select fullscreen or windowed mode (doesn't
matter for this bug).
3. Acknowledge the two dialogs.
4. Click on any system, e.g. "Oso" (do not click on the information disc thing,
that works).
5. Watch the WebGL application try to load into the system (in the upper left
corner you see a change of the active mode from "GLX" to "SYS").
6. SIGSEGV

Even though I don't think it is related, I bring it up: the rendering of the
Starmap is partly incorrect. The first error is on the loading screen where you
should see a sort of check board pattern and not these random flickering
flakes. See <https://youtu.be/4eAD0liNeis> for how it should look. Apart from
that the performance seems abysmal.


The WebGL application was run on the following stack (Debian testing as a
base):
GPU: Hawaii PRO [Radeon R9 290] (ChipID = 0x67b1)
Mesa: Git:master/d57ede92b7
libdrm: 2.4.65-3
LLVM: SVN:trunk/r252721 (3.8 devel)
X.Org: 2:1.17.3-2
Linux: 4.3.0
Firmware: <https://secure.freedesktop.org/~agd5f/radeon_ucode/hawaii/>
# e9099c5de16bef1f2a4c9485085dcc35 hawaii_ce.bin
# 161105a73f7dfb2fca513327491c32d6 hawaii_mc.bin
# 0e01c60c02de89f15cacfad4605b3688 hawaii_me.bin
# e8dd41b3c2abb1d70a8349d1d4f577d5 hawaii_mec.bin
# 72ea83bfa076f66241d2df9f57b5dc78 hawaii_pfp.bin
# 5b72c73acf0cbd0cbb639302f65bc7dc hawaii_rlc.bin
# 084389ee7523fd04003779ee4d4a4335 hawaii_sdma1.bin
# 7be93381e34d1d4cf9b16740a7c69c78 hawaii_sdma.bin
# 7b6ca5302b56bd35bf52804919d57e63 hawaii_smc.bin
# 9f2ba7e720e2af4d7605a9a4fd903513 hawaii_uvd.bin
# d8188b0ca84749c029f7012d7aea17ae hawaii_vce.bin
libclc: Git:master/4346c30bae
DDX: Git:master/7186a8713b

Let me know, if you need something else.

-- 
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/20151112/43ebd127/attachment-0001.html>


More information about the dri-devel mailing list