<html>
<head>
<base href="https://bugs.freedesktop.org/">
</head>
<body><span class="vcard"><a class="email" href="mailto:nixscripter@gmail.com" title="nixscripter@gmail.com">nixscripter@gmail.com</a>
</span> changed
<a class="bz_bug_link
bz_status_NEW "
title="NEW - [r600g]ImageMagick issues in Gaussian Blur kernel"
href="https://bugs.freedesktop.org/show_bug.cgi?id=99488">bug 99488</a>
<br>
<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>What</th>
<th>Removed</th>
<th>Added</th>
</tr>
<tr>
<td style="text-align:right;">Summary</td>
<td>[r600g]OpenCL driver causes ImageMagick to hang on JPEG input in Gaussian Blur kernel
</td>
<td>[r600g]ImageMagick issues in Gaussian Blur kernel
</td>
</tr></table>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW - [r600g]ImageMagick issues in Gaussian Blur kernel"
href="https://bugs.freedesktop.org/show_bug.cgi?id=99488#c13">Comment # 13</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW - [r600g]ImageMagick issues in Gaussian Blur kernel"
href="https://bugs.freedesktop.org/show_bug.cgi?id=99488">bug 99488</a>
from <span class="vcard"><a class="email" href="mailto:nixscripter@gmail.com" title="nixscripter@gmail.com">nixscripter@gmail.com</a>
</span></b>
<pre>I have updated the bug's title to expand the scope in order to continue work on
the assert.
With my debug build and that patch, I can now run the ImageMagick self-tests
and easily replicate the assert. Here is the easiest way:
1. Before you configure ImageMagick set the CFLAGS environment variable to "-O
-ggdb".
2. Build ImageMagick with "make".
3. Run "make check" to build all the self-tests (it's not done by default).
4. From the top level of the source tree, run "bash
test/tests/validate-formats-memory.tap".
This is the output you will see:
[... snip ...]
test 856: XWD/Undefined/TrueColor/12-bits... pass
test 857: XWD/Undefined/TrueColor/16-bits... pass
lt-validate:
/home/admin/Software/r600/llvm-svn/src/llvm/include/llvm/MC/MCRegisterInfo.h:64:
unsigned int llvm::MCRegisterClass::getRegister(unsigned int) const: Assertion
`i < getNumRegs() && "Register number out of range!"' failed.
test 858: YUV/Undefined/TrueColor/8-bits
That last test is where the issue is.
Here is the backtrace (now that I have debug symbols for everything):
(gdb) bt
#0 0x00000381c351c04f in raise () from /usr/lib/libc.so.6
#1 0x00000381c351d47a in abort () from /usr/lib/libc.so.6
#2 0x00000381c3514ea7 in __assert_fail_base () from /usr/lib/libc.so.6
#3 0x00000381c3514f52 in __assert_fail () from /usr/lib/libc.so.6
#4 0x00000381ac85cd47 in llvm::MCRegisterClass::getRegister (
i=<optimized out>, this=<optimized out>)
at
/home/admin/Software/r600/llvm-svn/src/llvm/include/llvm/MC/MCRegisterInfo.h:64
#5 llvm::TargetRegisterClass::getRegister (this=<optimized out>,
i=<optimized out>)
at
/home/admin/Software/r600/llvm-svn/src/llvm/include/llvm/Target/TargetRegisterInfo.h:81
#6 0x00000381adc07b0c in llvm::TargetRegisterClass::getRegister (
this=<optimized out>, i=<optimized out>)
at
/home/admin/Software/r600/llvm-svn/src/llvm/include/llvm/MC/MCRegisterInfo.h:64
#7 llvm::R600InstrInfo::buildIndirectRead (this=this@entry=0x1a29020,
MBB=0x1aae9a0, I=I@entry=..., ValueReg=1611, Address=<optimized out>,
OffsetReg=OffsetReg@entry=1621, AddrChan=2)
at
/home/admin/Software/r600/llvm-svn/src/llvm/lib/Target/AMDGPU/R600InstrInfo.cpp:1156
#8 0x00000381adc07f6a in llvm::R600InstrInfo::expandPostRAPseudo (
this=0x1a29020, MI=...)
at
/home/admin/Software/r600/llvm-svn/src/llvm/lib/Target/AMDGPU/R600InstrInfo.cpp:1070
#9 0x00000381acb1bc7b in (anonymous
namespace)::ExpandPostRA::runOnMachineFunction (this=0xcc6b10, MF=...)
at
/home/admin/Software/r600/llvm-svn/src/llvm/lib/CodeGen/ExpandPostRAPseudos.cpp:200
#10 0x00000381acc03ea4 in llvm::MachineFunctionPass::runOnFunction (
this=0xcc6b10, F=...)
at
/home/admin/Software/r600/llvm-svn/src/llvm/lib/CodeGen/MachineFunctionPass.cpp:62
#11 0x00000381aca54caf in llvm::FPPassManager::runOnFunction (this=0xbfd9d0,
F=...)
at
/home/admin/Software/r600/llvm-svn/src/llvm/lib/IR/LegacyPassManager.cpp:1513
#12 0x00000381aca54d5c in llvm::FPPassManager::runOnModule (this=0xbfd9d0,
M=...)
at
/home/admin/Software/r600/llvm-svn/src/llvm/lib/IR/LegacyPassManager.cpp:1534
#13 0x00000381aca55930 in (anonymous namespace)::MPPassManager::runOnModule (
M=..., this=<optimized out>)
at
/home/admin/Software/r600/llvm-svn/src/llvm/lib/IR/LegacyPassManager.cpp:1590
#14 llvm::legacy::PassManagerImpl::run (this=0x1b04d20, M=...)
at
/home/admin/Software/r600/llvm-svn/src/llvm/lib/IR/LegacyPassManager.cpp:1693
#15 0x00000381afb7e4ec in (anonymous namespace)::emit_code(llvm::Module&,
clover::llvm::target const&, llvm::TargetMachine::CodeGenFileType,
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>
<span class="quote">>&) ()</span >
from /usr/lib/libMesaOpenCL.so.1
#16 0x00000381afb7eb50 in clover::llvm::build_module_native(llvm::Module&,
clover::llvm::target const&, clang::CompilerInstance const&,
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>
<span class="quote">>&) ()</span >
from /usr/lib/libMesaOpenCL.so.1
#17 0x00000381afb7ad5d in
clover::llvm::link_program(std::vector<clover::module,
std::allocator<clover::module> > const&, pipe_shader_ir,
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >
const&, std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > const&, std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >&) ()
from /usr/lib/libMesaOpenCL.so.1
#18 0x00000381afb6b9a1 in
clover::program::link(clover::ref_vector<clover::device> const&,
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >
const&, clover::ref_vector<clover::program> const&) ()
from /usr/lib/libMesaOpenCL.so.1
#19 0x00000381afb494ec in clBuildProgram () from /usr/lib/libMesaOpenCL.so.1
#20 0x00000381b15bb50b in clBuildProgram () from /usr/lib/libOpenCL.so
#21 0x00000381c4213f12 in CompileOpenCLKernel (exception=0xac7490,
signature=<optimized out>,
options=0x3d8f0b54500 "-cl-single-precision-constant -cl-mad-enable
-DMAGICKCORE_HDRI_SUPPORT=1 -DCLQuantum=float -DCLSignedQuantum=float
-DCLPixelType=float4 -DQuantumRange=65535.000000f -DQuantumScale=0.000015
-DCharQuant"...,
kernel=<optimized out>, device=0xac5760) at MagickCore/opencl.c:1361
#22 HasOpenCLDevices (clEnv=clEnv@entry=0xac4d50,
exception=exception@entry=0xac7490) at MagickCore/opencl.c:2104
#23 0x00000381c4215327 in InitializeOpenCL (clEnv=clEnv@entry=0xac4d50,
exception=exception@entry=0xac7490) at MagickCore/opencl.c:2321
#24 0x00000381c411c19b in getOpenCLEnvironment (
exception=exception@entry=0xac7490) at MagickCore/accelerate.c:223
#25 0x00000381c411d729 in AccelerateBlurImage (image=image@entry=0xb250d0,
radius=radius@entry=10, sigma=sigma@entry=3.5,
exception=exception@entry=0xac7490) at MagickCore/accelerate.c:773
#26 0x00000381c41afa48 in BlurImage (image=image@entry=0xb250d0,
radius=radius@entry=10, sigma=sigma@entry=3.5,
exception=exception@entry=0xac7490) at MagickCore/effect.c:789
#27 0x00000381c421392c in RunOpenCLBenchmark (is_cpu=is_cpu@entry=MagickFalse)
at MagickCore/opencl.c:1048
#28 0x00000381c4215aa3 in RunDeviceBenckmark (device=0xac5760,
testEnv=0xac4d50, clEnv=0xa729d0) at MagickCore/opencl.c:1088
#29 BenchmarkOpenCLDevices (clEnv=0xa729d0) at MagickCore/opencl.c:1177
#30 AutoSelectOpenCLDevices (clEnv=0xa729d0) at MagickCore/opencl.c:975
#31 InitializeOpenCL (clEnv=clEnv@entry=0xa729d0,
exception=exception@entry=0x98b990) at MagickCore/opencl.c:2328
#32 0x00000381c411c19b in getOpenCLEnvironment (
exception=exception@entry=0x98b990) at MagickCore/accelerate.c:223
#33 0x00000381c4124a45 in AccelerateResizeImage (image=image@entry=0xa72c50,
resizedColumns=resizedColumns@entry=70, resizedRows=resizedRows@entry=46,
resizeFilter=resizeFilter@entry=0xa71bf0,
exception=exception@entry=0x98b990) at MagickCore/accelerate.c:4430
#34 0x00000381c4274c9f in ResizeImage (image=image@entry=0xa72c50,
columns=columns@entry=70, rows=rows@entry=46,
filter=filter@entry=TriangleFilter, exception=exception@entry=0x98b990)
at MagickCore/resize.c:2877
#35 0x00000381b17d11f4 in WriteYUVImage (image_info=0xa67840, image=0xa72c50,
exception=0x98b990) at coders/yuv.c:649
#36 0x00000381c416bcb2 in WriteImage (image_info=image_info@entry=0x98ca10,
image=image@entry=0xa72c50, exception=exception@entry=0x98b990)
at MagickCore/constitute.c:1114
#37 0x00000000004021bb in ValidateImageFormatsInMemory (
image_info=image_info@entry=0x98ca10,
reference_filename=reference_filename@entry=0x3d8f0b5abb0
"/tmp/magick-308288PpulFoRmPFl",
output_filename=output_filename@entry=0x3d8f0b5bbb0
"/tmp/magick-30828ayJzZh43jT2f", fail=fail@entry=0x3d8f0b5aba8,
exception=exception@entry=0x98b990)
at tests/validate.c:1623
#38 0x000000000040548a in main (argc=<optimized out>, argv=<optimized out>)
at tests/validate.c:2629</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>