NetBSD Problem Report #49195
From apb@cequrux.com Thu Sep 11 10:52:31 2014
Return-Path: <apb@cequrux.com>
Received: from mail.netbsd.org (mail.netbsd.org [149.20.53.66])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(Client CN "mail.netbsd.org", Issuer "Postmaster NetBSD.org" (verified OK))
by mollari.NetBSD.org (Postfix) with ESMTPS id B7DB0CD3E9
for <gnats-bugs@gnats.NetBSD.org>; Thu, 11 Sep 2014 10:52:31 +0000 (UTC)
Message-Id: <20140911105226.DC1801D2CCDF@apb-laptoy.apb.alt.za>
Date: Thu, 11 Sep 2014 12:52:26 +0200 (SAST)
From: apb@cequrux.com
To: gnats-bugs@NetBSD.org
Subject: drm2 panic in i915_gem.c
X-Send-Pr-Version: 3.95
>Number: 49195
>Category: kern
>Synopsis: drm2 panic in i915_gem.c -- DRMKMS
>Confidential: no
>Severity: critical
>Priority: medium
>Responsible: riastradh
>State: closed
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Thu Sep 11 10:55:00 +0000 2014
>Closed-Date: Wed May 13 23:57:55 +0000 2015
>Last-Modified: Thu Jul 30 15:40:00 +0000 2015
>Originator: Alan Barrett
>Release: NetBSD 7.99.1
>Organization:
Not much
>Environment:
NetBSD 7.99.1 i386
>Description:
I have seen this panic a few times.
kernel diagnostic assertion "!(obj->base.write_domain & ~(0x00000002 | 0x00000004 | 0x00000008 | 0x00000010 | 0x00000020))" failed: file "src/sys/external/bsd/drm2/dist/drm/i915/i915_gem.c", line 2833
Here's a backtrace from gdb:
#10 0xc098c611 in vpanic (fmt=<optimized out>, ap=<optimized out>)
at src/sys/kern/subr_prf.c:338
#11 0xc0b6489b in kern_assert (
fmt=0xc0db35b6 "kernel %sassertion \"%s\" failed: file \"%s\", line %d ")
at src/sys/lib/libkern/kern_assert.c:51
#12 0xc03fabf3 in i915_gem_object_move_to_inactive (obj=<optimized out>)
at src/sys/external/bsd/drm2/dist/drm/i915/i915_gem.c:2833
#13 0xc03f6b3b in i915_gem_retire_requests_ring (ring=0xc49ea344)
at src/sys/external/bsd/drm2/dist/drm/i915/i915_gem.c:3228
#14 0xc03f8910 in i915_gem_object_flush_active (obj=<optimized out>)
at src/sys/external/bsd/drm2/dist/drm/i915/i915_gem.c:3326
#15 i915_gem_busy_ioctl (dev=<optimized out>, data=<optimized out>,
file=<optimized out>)
at src/sys/external/bsd/drm2/dist/drm/i915/i915_gem.c:4803
#16 0xc02f170e in drm_ioctl (fp=0xc6709500, cmd=3221775447, data=0x0)
at src/sys/external/bsd/drm2/drm/drm_drv.c:664
#17 0xc09a7f0a in sys_ioctl (l=<optimized out>, uap=0x0, retval=0xdebbbf88)
at src/sys/kern/sys_generic.c:681
#18 0xc09b3de4 in sy_call (sy=<unavailable>, l=<optimized out>,
uap=<optimized out>, rval=<optimized out>)
at src/sys/sys/syscallvar.h:61
#19 sy_invoke (sy=<unavailable>, l=<optimized out>, code=54,
uap=<optimized out>, rval=<optimized out>)
at src/sys/sys/syscallvar.h:85
#20 syscall (frame=<optimized out>)
at src/sys/arch/x86/x86/syscall.c:156
#21 0xc01005cd in Xsyscall ()
#22 0xdebbbfa8 in ?? ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
>How-To-Repeat:
Have an i386 kernel with drm2. Use X11 for a while. I don't know
how to replicate the problem, but I have seen it a few times.
>Fix:
>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: kern-bug-people->riastradh
Responsible-Changed-By: riastradh@NetBSD.org
Responsible-Changed-When: Sat, 04 Oct 2014 15:42:24 +0000
Responsible-Changed-Why:
mine
State-Changed-From-To: open->feedback
State-Changed-By: snj@NetBSD.org
State-Changed-When: Tue, 04 Nov 2014 06:56:31 +0000
State-Changed-Why:
This seems to be fixed with revision 1.18 of i915_gem.c. Please test.
From: Alan Barrett <apb@cequrux.com>
To: gnats-bugs@NetBSD.org
Cc:
Subject: Re: kern/49195 (drm2 panic in i915_gem.c)
Date: Mon, 17 Nov 2014 11:46:53 +0200
On Tue, 04 Nov 2014, snj@NetBSD.org wrote:
>Synopsis: drm2 panic in i915_gem.c
>
>State-Changed-From-To: open->feedback
>State-Changed-By: snj@NetBSD.org
>State-Changed-When: Tue, 04 Nov 2014 06:56:31 +0000
>State-Changed-Why:
>This seems to be fixed with revision 1.18 of i915_gem.c. Please test.
I haven't yet tested that change. However, I can report that the
problem appears with both AccelMethod "UXA" and AccelMethod "SNA"
but not with Accel off, in this part of the xorg.conf file:
Section "Device"
Identifier "My Device 0"
Driver "intel"
#Option "AccelMethod" "UXA"
#Option "AccelMethod" "SNA"
Option "Accel" "off"
EndSection
--apb (Alan Barrett)
From: Alan Barrett <apb@cequrux.com>
To: gnats-bugs@netbsd.org
Cc:
Subject: Re: kern/49195 (drm2 panic in i915_gem.c)
Date: Mon, 17 Nov 2014 18:16:06 +0200
On Mon, 17 Nov 2014, Alan Barrett wrote:
> >This seems to be fixed with revision 1.18 of i915_gem.c. Please test.
>
> I haven't yet tested that change. However, I can report that the
> problem appears with both AccelMethod "UXA" and AccelMethod "SNA"
> but not with Accel off, in this part of the xorg.conf file:
I have now tested with i915_gem.c revision 1.18. I still get the
write_domain panic with AccelMethod "SNA", although the back trace may
not always be the same.
With AccelMethod "UXA", I get such badly corrupted images that I didn't
test for long enough to see whtether it panics.
Here's a backtrace from the most recent write_domain panic.
#11 0xc0b62a34 in kern_assert (
fmt=fmt@entry=0xc0df5830 "kernel %sassertion \"%s\" failed: file \"%s\", line %d ") at src/sys/lib/libkern/kern_assert.c:51
#12 0xc03e7ad7 in i915_gem_object_move_to_inactive (obj=0xc868ef00)
at src/sys/external/bsd/drm2/dist/drm/i915/i915_gem.c:2854
#13 0xc03e7b46 in i915_gem_retire_requests_ring (ring=0xc4b24344)
at src/sys/external/bsd/drm2/dist/drm/i915/i915_gem.c:3249
#14 0xc03e9a57 in i915_gem_object_flush_active (obj=0xc868ef00)
at src/sys/external/bsd/drm2/dist/drm/i915/i915_gem.c:3347
#15 i915_gem_busy_ioctl (dev=0xc504564c, data=0xdd8e1eb0, file=0xc659f5e8)
at src/sys/external/bsd/drm2/dist/drm/i915/i915_gem.c:4836
#16 0xc02ea1dc in drm_ioctl (fp=0xc65a9c00, cmd=3221775447, data=0xdd8e1eb0)
at src/sys/external/bsd/drm2/drm/drm_drv.c:663
#17 0xc09b8fd0 in sys_ioctl (l=0xc53fbd40, uap=0xdd8e1f68, retval=0xdd8e1f60)
at src/sys/kern/sys_generic.c:681
#18 0xc09c4693 in sy_call (rval=0xdd8e1f60, uap=0xdd8e1f68, l=0xc53fbd40,
sy=<optimized out>) at src/sys/sys/syscallvar.h:61
#19 sy_invoke (code=54, rval=0xdd8e1f60, uap=0xdd8e1f68, l=0xc53fbd40,
sy=<optimized out>) at src/sys/sys/syscallvar.h:85
#20 syscall (frame=0xdd8e1fa8)
at src/sys/arch/x86/x86/syscall.c:156
#21 0xc01005c6 in Xsyscall ()
#22 0xdd8e1fa8 in ?? ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
--apb (Alan Barrett)
From: "Taylor R Campbell" <riastradh@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/49195 CVS commit: src/sys/external/bsd/drm2/dist/drm/i915
Date: Tue, 3 Mar 2015 14:31:48 +0000
Module Name: src
Committed By: riastradh
Date: Tue Mar 3 14:31:48 UTC 2015
Modified Files:
src/sys/external/bsd/drm2/dist/drm/i915: i915_gem.c
Log Message:
Re-enable prints to diagnose PR 49195.
I believe I fixed this problem by fixing __wait_seqno, but before I
remove the workaround I'll try to make sure it's not getting hit any
more.
To generate a diff of this commit:
cvs rdiff -u -r1.24 -r1.25 src/sys/external/bsd/drm2/dist/drm/i915/i915_gem.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
State-Changed-From-To: feedback->closed
State-Changed-By: riastradh@NetBSD.org
State-Changed-When: Wed, 13 May 2015 23:57:55 +0000
State-Changed-Why:
nobody's hollered about the workaround message, so assume fixed
From: "Taylor R Campbell" <riastradh@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/49195 CVS commit: src/sys/external/bsd/drm2/dist/drm/i915
Date: Wed, 13 May 2015 23:57:02 +0000
Module Name: src
Committed By: riastradh
Date: Wed May 13 23:57:02 UTC 2015
Modified Files:
src/sys/external/bsd/drm2/dist/drm/i915: i915_gem.c
Log Message:
Remove workaround for PR kern/49195.
Problem seems to have been properly fixed in rev. 1.25.
To generate a diff of this commit:
cvs rdiff -u -r1.29 -r1.30 src/sys/external/bsd/drm2/dist/drm/i915/i915_gem.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
From: "Soren Jacobsen" <snj@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/49195 CVS commit: [netbsd-7] src/sys/external/bsd/drm2/dist/drm/i915
Date: Thu, 30 Jul 2015 15:38:39 +0000
Module Name: src
Committed By: snj
Date: Thu Jul 30 15:38:39 UTC 2015
Modified Files:
src/sys/external/bsd/drm2/dist/drm/i915 [netbsd-7]: i915_gem.c
Log Message:
Pull up following revision(s) (requested by riastradh in ticket #901):
sys/external/bsd/drm2/dist/drm/i915/i915_gem.c: revision 1.30
Remove workaround for PR kern/49195.
Problem seems to have been properly fixed in rev. 1.25.
To generate a diff of this commit:
cvs rdiff -u -r1.14.2.9 -r1.14.2.10 \
src/sys/external/bsd/drm2/dist/drm/i915/i915_gem.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
>Unformatted:
(Contact us)
$NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2014
The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.