From mboxrd@z Thu Jan 1 00:00:00 1970
From: bugzilla-daemon@freedesktop.org
Subject: [Bug 99488] [r600g]OpenCL driver causes ImageMagick to hang on JPEG
input in Gaussian Blur kernel
Date: Fri, 03 Feb 2017 03:39:04 +0000
Message-ID:
References:
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="===============1005963847=="
Return-path:
Received: from culpepper.freedesktop.org (culpepper.freedesktop.org
[131.252.210.165])
by gabe.freedesktop.org (Postfix) with ESMTP id 1B0C7891CC
for ; Fri, 3 Feb 2017 03:39:04 +0000 (UTC)
In-Reply-To:
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
Errors-To: dri-devel-bounces@lists.freedesktop.org
Sender: "dri-devel"
To: dri-devel@lists.freedesktop.org
List-Id: dri-devel@lists.freedesktop.org
--===============1005963847==
Content-Type: multipart/alternative; boundary="14860931440.c6c0EE.3655";
charset="UTF-8"
--14860931440.c6c0EE.3655
Date: Fri, 3 Feb 2017 03:39:03 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Bugzilla-URL: http://bugs.freedesktop.org/
Auto-Submitted: auto-generated
https://bugs.freedesktop.org/show_bug.cgi?id=3D99488
--- Comment #3 from Jan Vesely ---
(In reply to nixscripter from comment #1)
> I'm still trying some versions in order to help you guys pin this down (i=
t's
> not always easy to tell what reinstall is having what effect, since Arch
> Linux has three packages involved). In the mean time, I did the basics on
> the process in its hung state.
>=20
> It's currently running three threads, two blocked, one continuing to run:
>=20
> (gdb) info threads=20
> Id Target Id Frame=20
> * 1 Thread 0x39ac9cdf7c0 (LWP 3806) "display" 0x0000039abefef921 in
> llvm::MachineInstr::findRegisterDefOperandIdx(unsigned int, bool, bool,
> llvm::TargetRegisterInfo const*) const () from /usr/lib/libLLVM-5.0svn.so
can you get backtrace of this thread?
does it ever leave this function? you can check by adding breakpoint on that
function and checking if it gets hit.
this can be repeated going up the stack to find the function that won't exi=
t.
> 2 Thread 0x39abd04f700 (LWP 3809) "radeon_cs:0" 0x0000039ac6b0310f in
> pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
> 3 Thread 0x39abadd4700 (LWP 3814) "display" futex_wait (val=3D8,=20
> addr=3D0x25349d4)
> at /build/gcc-multilib/src/gcc/libgomp/config/linux/x86/futex.h:44
> (gdb)
>=20
>=20
> What is that call to findRegisterDefOperandIdx doing?
there's a loop, it can't be infinite, but if the num of operands is corrupt=
ed,
it can take a very long time to finish. can you check "p e" in gdb?
> It's not entirely
> clear, but it's sucking up a lot of memory. Running strace confirms that:=
=20
>=20
> strace: Process 3806 attached with 3 threads
> strace: [ Process PID=3D3806 runs in x32 mode. ]
> [pid 3809] futex(0x2599e64, FUTEX_WAIT_PRIVATE, 1, NULL
> [pid 3814] futex(0x25349d4, FUTEX_WAIT_PRIVATE, 8, NULL
> [pid 3806] mmap(NULL, 8392704, PROT_READ|PROT_WRITE,
> MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =3D 0x640f4000
> strace: [ Process PID=3D3806 runs in 64 bit mode. ]
> [pid 3806] mmap(NULL, 8392704, PROT_READ|PROT_WRITE,
> MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =3D 0x39a638f3000
> [pid 3806] mmap(NULL, 8392704, PROT_READ|PROT_WRITE,
> MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =3D 0x39a630f2000
> [pid 3806] mmap(NULL, 8392704, PROT_READ|PROT_WRITE,
> MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =3D 0x39a628f1000
> [...]
>=20
> And down the address space it goes, 0x1000 bytes (4k) a time or two per
> second.
the above mmaps show 8M (+4K, probably for bookkeeping) allocations. is the=
re
any other, not shown? I haven't found anything in the mentioned function th=
at
would need such big amount of memory, the hand if probably higher in the ca=
ll
stack.
>=20
> Looking at the function name, I'm thinking about what Jan said on another
> bug:
>=20
> > the hang is probably a separate bug. ImageMagick test suite results on =
my Turks GPU are:
> > # TOTAL: 86
> > # PASS: 78
> > # SKIP: 0
> > # XFAIL: 0
> > # FAIL: 3
> > # XPASS: 0
> > # ERROR: 5
> >
> > the errors and failures are accompanied by:
> > Assertion `i < getNumRegs() && "Register number out of range!"' failed.
>=20
> Could this be perhaps the same registers that were out of range on a
> different card?
all cards of one class have the same number of architecturally available
registers.
I see you have debug symbols, is that a debug build? if not, it can be that=
the
assert is not hit, and the hang is just fallout.
>=20
> Either way, I will continue to investigate, and hope to narrow down the
> issue soon.
thanks.
--=20
You are receiving this mail because:
You are the assignee for the bug.=
--14860931440.c6c0EE.3655
Date: Fri, 3 Feb 2017 03:39:04 +0000
MIME-Version: 1.0
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Bugzilla-URL: http://bugs.freedesktop.org/
Auto-Submitted: auto-generated
Comment=
# 3
on bug 99488<=
/a>
from Jan Vesely
(In reply to nixscripter from comment #1)
> I'm still trying some versions in order to help =
you guys pin this down (it's
> not always easy to tell what reinstall is having what effect, since Ar=
ch
> Linux has three packages involved). In the mean time, I did the basics=
on
> the process in its hung state.
>=20
> It's currently running three threads, two blocked, one continuing to r=
un:
>=20
> (gdb) info threads=20
> Id Target Id Frame=20
> * 1 Thread 0x39ac9cdf7c0 (LWP 3806) "display" 0x0000039ab=
efef921 in
> llvm::MachineInstr::findRegisterDefOperandIdx(unsigned int, bool, bool,
> llvm::TargetRegisterInfo const*) const () from /usr/lib/libLLVM-5.0svn=
.so
can you get backtrace of this thread?
does it ever leave this function? you can check by adding breakpoint on that
function and checking if it gets hit.
this can be repeated going up the stack to find the function that won't exi=
t.
> 2 Thread 0x39abd04f700 (LWP 3809) "rad=
eon_cs:0" 0x0000039ac6b0310f in
> pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
> 3 Thread 0x39abadd4700 (LWP 3814) "display" futex_wait =
(val=3D8,=20
> addr=3D0x25349d4)
> at /build/gcc-multilib/src/gcc/libgomp/config/linux/x86/futex.h:44
> (gdb)
>=20
>=20
> What is that call to findRegisterDefOperandIdx doing?
there's a loop, it can't be infinite, but if the num of operands is corrupt=
ed,
it can take a very long time to finish. can you check "p e" in gd=
b?
> It's not entirely
> clear, but it's sucking up a lot of memory. Running strace confirms th=
at:=20
>=20
> strace: Process 3806 attached with 3 threads
> strace: [ Process PID=3D3806 runs in x32 mode. ]
> [pid 3809] futex(0x2599e64, FUTEX_WAIT_PRIVATE, 1, NULL <unfinishe=
d ...>
> [pid 3814] futex(0x25349d4, FUTEX_WAIT_PRIVATE, 8, NULL <unfinishe=
d ...>
> [pid 3806] mmap(NULL, 8392704, PROT_READ|PROT_WRITE,
> MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =3D 0x640f4000
> strace: [ Process PID=3D3806 runs in 64 bit mode. ]
> [pid 3806] mmap(NULL, 8392704, PROT_READ|PROT_WRITE,
> MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =3D 0x39a638f3000
> [pid 3806] mmap(NULL, 8392704, PROT_READ|PROT_WRITE,
> MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =3D 0x39a630f2000
> [pid 3806] mmap(NULL, 8392704, PROT_READ|PROT_WRITE,
> MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =3D 0x39a628f1000
> [...]
>=20
> And down the address space it goes, 0x1000 bytes (4k) a time or two per
> second.
the above mmaps show 8M (+4K, probably for bookkeeping) allocations. is the=
re
any other, not shown? I haven't found anything in the mentioned function th=
at
would need such big amount of memory, the hand if probably higher in the ca=
ll
stack.
>=20
> Looking at the function name, I'm thinking about what Jan said on anot=
her
> bug:
>=20
> > the hang is probably a separate bug. ImageMagick test suite resul=
ts on my Turks GPU are:
> > # TOTAL: 86
> > # PASS: 78
> > # SKIP: 0
> > # XFAIL: 0
> > # FAIL: 3
> > # XPASS: 0
> > # ERROR: 5
> >
> > the errors and failures are accompanied by:
> > Assertion `i < getNumRegs() && "Register number o=
ut of range!"' failed.
>=20
> Could this be perhaps the same registers that were out of range on a
> different card?
all cards of one class have the same number of architecturally available
registers.
I see you have debug symbols, is that a debug build? if not, it can be that=
the
assert is not hit, and the hang is just fallout.
>=20
> Either way, I will continue to investigate, and hope to narrow down the
> issue soon.
thanks.
You are receiving this mail because:
- You are the assignee for the bug.
=
--14860931440.c6c0EE.3655--
--===============1005963847==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVs
IG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz
dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==
--===============1005963847==--