[Bug 99488] [r600g]OpenCL driver causes ImageMagick to hang on JPEG input in Gaussian Blur kernel

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Sun Feb 5 16:37:04 UTC 2017


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

--- Comment #6 from nixscripter at gmail.com ---
Replicating the issue again, here is the backtrace you requested:

(gdb) bt
#0  0x000003b11dea95d4 in
llvm::MachineInstr::findRegisterUseOperandIdx(unsigned int, bool,
llvm::TargetRegisterInfo const*) const ()
   from /usr/lib/libLLVM-5.0svn.so
#1  0x000003b11ed8c96e in (anonymous
namespace)::R600EmitClauseMarkers::MakeALUClause(llvm::MachineBasicBlock&,
llvm::MachineInstrBundleIterator<llvm::MachineInstr, false>) () from
/usr/lib/libLLVM-5.0svn.so
#2  0x000003b11ed8d7fe in (anonymous
namespace)::R600EmitClauseMarkers::runOnMachineFunction(llvm::MachineFunction&)
() from /usr/lib/libLLVM-5.0svn.so
#3  0x000003b11dea3bf1 in
llvm::MachineFunctionPass::runOnFunction(llvm::Function&) () from
/usr/lib/libLLVM-5.0svn.so
#4  0x000003b11dd19342 in llvm::FPPassManager::runOnFunction(llvm::Function&)
    () from /usr/lib/libLLVM-5.0svn.so
#5  0x000003b11dd193e3 in llvm::FPPassManager::runOnModule(llvm::Module&) ()
   from /usr/lib/libLLVM-5.0svn.so
#6  0x000003b11dd19d94 in llvm::legacy::PassManagerImpl::run(llvm::Module&) ()
   from /usr/lib/libLLVM-5.0svn.so
#7  0x000003b120ede12c in ?? () from /usr/lib/libMesaOpenCL.so.1
#8  0x000003b120ede790 in ?? () from /usr/lib/libMesaOpenCL.so.1
#9  0x000003b120eda9ad in ?? () from /usr/lib/libMesaOpenCL.so.1
#10 0x000003b120ecb9f9 in ?? () from /usr/lib/libMesaOpenCL.so.1
#11 0x000003b120ea98dc in ?? () from /usr/lib/libMesaOpenCL.so.1
#12 0x000003b1220f450b in clBuildProgram () from /usr/lib/libOpenCL.so
#13 0x000003b127156afe in CompileOpenCLKernels ()
   from /usr/lib/libMagickCore-6.Q16HDRI.so.4
#14 0x000003b12715728d in InitOpenCLEnvInternal ()
   from /usr/lib/libMagickCore-6.Q16HDRI.so.4
#15 0x000003b1271573f1 in AcceleratePerfEvaluator ()
   from /usr/lib/libMagickCore-6.Q16HDRI.so.4
#16 0x000003b127157e5a in autoSelectDevice ()
   from /usr/lib/libMagickCore-6.Q16HDRI.so.4
#17 0x000003b127158944 in InitOpenCLEnv ()
   from /usr/lib/libMagickCore-6.Q16HDRI.so.4
#18 0x000003b127051400 in checkOpenCLEnvironment ()
   from /usr/lib/libMagickCore-6.Q16HDRI.so.4
#19 0x000003b127054a2d in AccelerateBlurImage ()
   from /usr/lib/libMagickCore-6.Q16HDRI.so.4
#20 0x000003b1270f0c13 in BlurImageChannel ()
   from /usr/lib/libMagickCore-6.Q16HDRI.so.4
#21 0x000003b126d9efd0 in MogrifyImage ()
   from /usr/lib/libMagickWand-6.Q16HDRI.so.4
#22 0x000003b126da6200 in MogrifyImages ()
   from /usr/lib/libMagickWand-6.Q16HDRI.so.4
#23 0x000003b126d2bb86 in ConvertImageCommand ()
   from /usr/lib/libMagickWand-6.Q16HDRI.so.4
#24 0x000003b126d9b3ee in MagickCommandGenesis ()
   from /usr/lib/libMagickWand-6.Q16HDRI.so.4
#25 0x00000000004007c7 in main ()

As you can see, it's a different function at the top of the stack this time.
That's beacuse, as you suspected, it is not the culprit. I was just lucky
finding findRegisterDefOperandIdx at the top of the stack when I tested this
before several times.

Per your suggestion, I did "finish" repeatedly until I could find the danging
function:

gdb) finish
Run till exit from #0  0x000003b11dea95d4 in
llvm::MachineInstr::findRegisterUseOperandIdx(unsigned int, bool,
llvm::TargetRegisterInfo const*) const ()
   from /usr/lib/libLLVM-5.0svn.so
0x000003b11ed8c96e in (anonymous
namespace)::R600EmitClauseMarkers::MakeALUClause(llvm::MachineBasicBlock&,
llvm::MachineInstrBundleIterator<llvm::MachineInstr, false>) () from
/usr/lib/libLLVM-5.0svn.so
(gdb) finish
Run till exit from #0  0x000003b11ed8c96e in (anonymous
namespace)::R600EmitClauseMarkers::MakeALUClause(llvm::MachineBasicBlock&,
llvm::MachineInstrBundleIterator<llvm::MachineInstr, false>) () from
/usr/lib/libLLVM-5.0svn.so
0x000003b11ed8d7fe in (anonymous
namespace)::R600EmitClauseMarkers::runOnMachineFunction(llvm::MachineFunction&)
() from /usr/lib/libLLVM-5.0svn.so
(gdb) finish
Run till exit from #0  0x000003b11ed8d7fe in (anonymous
namespace)::R600EmitClauseMarkers::runOnMachineFunction(llvm::MachineFunction&)
()
   from /usr/lib/libLLVM-5.0svn.so
[ ... hangs... ]

So it seems your patch is on the right track.

In addition, I was making a release build. because that was the default in the
recipe file. I am building a debug build as I write this, including your
attached patch.

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


More information about the dri-devel mailing list