* Patch for crashing intel server
@ 2013-10-11 19:24 Bas Wijnen
2013-10-12 20:46 ` Chris Wilson
0 siblings, 1 reply; 14+ messages in thread
From: Bas Wijnen @ 2013-10-11 19:24 UTC (permalink / raw)
To: intel-gfx; +Cc: 724944-forwarded
Hello,
My X server was crashing when playing video, and I wrote a patch to fix
it. Please find the background and the patch at
http://bugs.debian.org/724944 .
Thanks,
Bas
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Patch for crashing intel server
2013-10-11 19:24 Patch for crashing intel server Bas Wijnen
@ 2013-10-12 20:46 ` Chris Wilson
2013-10-13 3:49 ` Bug#724944: [Intel-gfx] " Bas Wijnen
0 siblings, 1 reply; 14+ messages in thread
From: Chris Wilson @ 2013-10-12 20:46 UTC (permalink / raw)
To: Bas Wijnen; +Cc: intel-gfx, 724944-forwarded
On Fri, Oct 11, 2013 at 09:24:54PM +0200, Bas Wijnen wrote:
> Hello,
>
> My X server was crashing when playing video, and I wrote a patch to fix
> it. Please find the background and the patch at
> http://bugs.debian.org/724944 .
The patch is a shotgun solution, putting NULL pointer checks where the
pointer is explicitly not allowed to be NULL. I need an actual
stacktrace to find the root cause.
-Chris
--
Chris Wilson, Intel Open Source Technology Centre
^ permalink raw reply [flat|nested] 14+ messages in thread
* Bug#724944: [Intel-gfx] Patch for crashing intel server
2013-10-12 20:46 ` Chris Wilson
@ 2013-10-13 3:49 ` Bas Wijnen
2013-10-13 9:43 ` Chris Wilson
0 siblings, 1 reply; 14+ messages in thread
From: Bas Wijnen @ 2013-10-13 3:49 UTC (permalink / raw)
To: intel-gfx; +Cc: 724944
[-- Attachment #1.1: Type: text/plain, Size: 894 bytes --]
On Sat, Oct 12, 2013 at 09:46:14PM +0100, Chris Wilson wrote:
> On Fri, Oct 11, 2013 at 09:24:54PM +0200, Bas Wijnen wrote:
> > Hello,
> >
> > My X server was crashing when playing video, and I wrote a patch to fix
> > it. Please find the background and the patch at
> > http://bugs.debian.org/724944 .
>
> The patch is a shotgun solution, putting NULL pointer checks where the
> pointer is explicitly not allowed to be NULL. I need an actual
> stacktrace to find the root cause.
> -Chris
Sure thing; you can find it attached. Of course it shows when the
segfault is triggered, not when the data became NULL. And that should
be fixed, because even though the server doesn't crash with the patch,
it also doesn't play video.
If you need any more information (like debug statements in the
set_pixmap_private?), please let me know how I can generate it.
Thanks,
Bas
[-- Attachment #1.2: xorg.gdb-log --]
[-- Type: text/plain, Size: 7760 bytes --]
#0 0xb758f424 in __kernel_vsyscall ()
#1 0xb719380f in __GI_raise (sig=sig@entry=6)
at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#2 0xb7196cc3 in __GI_abort () at abort.c:90
#3 0xb77574a9 in OsAbort () at ../../os/utils.c:1299
#4 0xb7630d07 in ddxGiveUp (error=error@entry=EXIT_ERR_ABORT)
at ../../../../hw/xfree86/common/xf86Init.c:1063
#5 0xb7630da3 in AbortDDX (error=error@entry=EXIT_ERR_ABORT)
at ../../../../hw/xfree86/common/xf86Init.c:1107
#6 0xb775cc41 in AbortServer () at ../../os/log.c:767
#7 0xb775d6be in FatalError (
f=f@entry=0xb7785084 "Caught signal %d (%s). Server aborting\n")
at ../../os/log.c:908
#8 0xb7754d84 in OsSigHandler (signo=11, sip=0xbfbe0f0c, unused=0xbfbe0f8c)
at ../../os/osinit.c:147
#9 <signal handler called>
#10 0xb6f26d79 in intel_pixmap_tiled (pixmap=0xb8945808)
at ../../../src/uxa/intel.h:138
#11 I915DisplayVideoTextured (scrn=0xb83f2f08, adaptor_priv=0xb83eed70,
id=808596553, dstRegion=0xbfbe14a8, width=352, height=288,
video_pitch=176, video_pitch2=352, src_w=352, src_h=288, drw_w=384,
drw_h=288, pixmap=0xb8425d98) at ../../../src/uxa/i915_video.c:156
#12 0xb6f22215 in I830PutImageTextured (scrn=0xb83f2f08, src_x=0, src_y=0,
drw_x=1308, drw_y=192, src_w=352, src_h=288, drw_w=384, drw_h=288,
id=808596553, buf=0xb3140000 <Address 0xb3140000 out of bounds>,
width=352, height=288, sync=0, clipBoxes=0xbfbe14a8, data=0xb83eed70,
drawable=0xb88fad78) at ../../../src/uxa/intel_video.c:1584
#13 0xb764877c in xf86XVPutImage (client=0xb8906010, pDraw=0xb88fad78,
pPort=0xb840ce58, pGC=0xb89206d8, src_x=0, src_y=0, src_w=352, src_h=288,
drw_x=0, drw_y=0, drw_w=384, drw_h=288, format=0xb840ccd0,
data=0xb3140000 <Address 0xb3140000 out of bounds>, sync=0, width=352,
height=288) at ../../../../hw/xfree86/common/xf86xv.c:1827
#14 0xb769304c in XvdiPutImage (client=client@entry=0xb8906010,
pDraw=0xb88fad78, pPort=0xb840ce58, pGC=0xb89206d8, src_x=0, src_y=0,
src_w=352, src_h=288, drw_x=0, drw_y=0, drw_w=384, drw_h=288,
image=image@entry=0xb840ccd0,
data=0xb3140000 <Address 0xb3140000 out of bounds>, sync=0,
width=width@entry=352, height=288) at ../../Xext/xvmain.c:673
#15 0xb7694648 in ProcXvShmPutImage (client=0xb8906010)
at ../../Xext/xvdisp.c:1025
#16 0xb7696dae in ProcXvDispatch (client=0xb8906010)
at ../../Xext/xvdisp.c:1212
#17 0xb75ed35d in Dispatch () at ../../dix/dispatch.c:432
#18 0xb75db38a in main (argc=13, argv=0xbfbe1774, envp=0xbfbe17ac)
at ../../dix/main.c:298
#0 0xb758f424 in __kernel_vsyscall ()
No symbol table info available.
#1 0xb719380f in __GI_raise (sig=sig@entry=6)
at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
resultvar = <optimized out>
resultvar = <optimized out>
pid = -1221525504
selftid = 29720
#2 0xb7196cc3 in __GI_abort () at abort.c:90
save_stage = 2
act = {__sigaction_handler = {sa_handler = 0xbfbe0db0,
sa_sigaction = 0xbfbe0db0}, sa_mask = {__val = {3078486656,
3073441792, 171515904, 3076194304, 3076196648, 5, 3078438944,
3076120729, 3076197088, 3071376880, 1, 5, 0, 0, 0, 0, 0, 0, 0,
3076259256, 0, 0, 0, 3071717608, 0, 0, 0, 3078438912, 1,
3078475476, 3078475380, 3076146208}}, sa_flags = -1216480640,
sa_restorer = 0xb7196b80 <__GI_abort>}
sigs = {__val = {32, 0 <repeats 31 times>}}
#3 0xb77574a9 in OsAbort () at ../../os/utils.c:1299
No locals.
#4 0xb7630d07 in ddxGiveUp (error=error@entry=EXIT_ERR_ABORT)
at ../../../../hw/xfree86/common/xf86Init.c:1063
i = <optimized out>
#5 0xb7630da3 in AbortDDX (error=error@entry=EXIT_ERR_ABORT)
at ../../../../hw/xfree86/common/xf86Init.c:1107
i = <optimized out>
#6 0xb775cc41 in AbortServer () at ../../os/log.c:767
No locals.
#7 0xb775d6be in FatalError (
f=f@entry=0xb7785084 "Caught signal %d (%s). Server aborting\n")
at ../../os/log.c:908
args = 0xbfbe0ee4 "\v"
args2 = 0xbfbe0ee4 "\v"
beenhere = 1
#8 0xb7754d84 in OsSigHandler (signo=11, sip=0xbfbe0f0c, unused=0xbfbe0f8c)
at ../../os/osinit.c:147
unused = 0xbfbe0f8c
sip = 0xbfbe0f0c
signo = 11
#9 <signal handler called>
No symbol table info available.
#10 0xb6f26d79 in intel_pixmap_tiled (pixmap=0xb8945808)
at ../../../src/uxa/intel.h:138
No locals.
#11 I915DisplayVideoTextured (scrn=0xb83f2f08, adaptor_priv=0xb83eed70,
id=808596553, dstRegion=0xbfbe14a8, width=352, height=288,
video_pitch=176, video_pitch2=352, src_w=352, src_h=288, drw_w=384,
drw_h=288, pixmap=0xb8425d98) at ../../../src/uxa/i915_video.c:156
ms3 = <optimized out>
s5 = <optimized out>
tiling = <optimized out>
pbox = 0xbfbe14a8
nbox_total = 0
nbox_this_time = 1
dxo = 1308
dyo = 192
pix_xoff = -1308
pix_yoff = -192
target = 0xb8945808
#12 0xb6f22215 in I830PutImageTextured (scrn=0xb83f2f08, src_x=0, src_y=0,
drw_x=1308, drw_y=192, src_w=352, src_h=288, drw_w=384, drw_h=288,
id=808596553, buf=0xb3140000 <Address 0xb3140000 out of bounds>,
width=352, height=288, sync=0, clipBoxes=0xbfbe14a8, data=0xb83eed70,
drawable=0xb88fad78) at ../../../src/uxa/intel_video.c:1584
adaptor_priv = 0xb83eed70
dstPitch = 176
dstPitch2 = 352
dstBox = {x1 = 1308, y1 = 192, x2 = 1692, y2 = 480}
crtc = 0xb83e8930
top = 0
left = 0
npixels = 352
nlines = 288
#13 0xb764877c in xf86XVPutImage (client=0xb8906010, pDraw=0xb88fad78,
pPort=0xb840ce58, pGC=0xb89206d8, src_x=0, src_y=0, src_w=352, src_h=288,
drw_x=0, drw_y=0, drw_w=384, drw_h=288, format=0xb840ccd0,
data=0xb3140000 <Address 0xb3140000 out of bounds>, sync=0, width=352,
height=288) at ../../../../hw/xfree86/common/xf86xv.c:1827
portPriv = 0xb83ecde8
WinRegion = {extents = {x1 = 1308, y1 = 192, x2 = 1692, y2 = 480},
data = 0x0}
ClipRegion = {extents = {x1 = 1308, y1 = 192, x2 = 1692, y2 = 480},
data = 0x0}
WinBox = {x1 = 1308, y1 = 192, x2 = 1692, y2 = <optimized out>}
ret = <optimized out>
clippedAway = 0
#14 0xb769304c in XvdiPutImage (client=client@entry=0xb8906010,
pDraw=0xb88fad78, pPort=0xb840ce58, pGC=0xb89206d8, src_x=0, src_y=0,
src_w=352, src_h=288, drw_x=0, drw_y=0, drw_w=384, drw_h=288,
image=image@entry=0xb840ccd0,
data=0xb3140000 <Address 0xb3140000 out of bounds>, sync=0,
width=width@entry=352, height=288) at ../../Xext/xvmain.c:673
No locals.
#15 0xb7694648 in ProcXvShmPutImage (client=0xb8906010)
at ../../Xext/xvdisp.c:1025
shmdesc = 0xb8932e98
pDraw = 0xb88fad78
pPort = 0xb840ce58
pImage = 0xb840ccd0
pGC = 0xb89206d8
status = <optimized out>
size_needed = <optimized out>
i = <optimized out>
width = 352
height = 288
stuff = 0xb891f0b8
#16 0xb7696dae in ProcXvDispatch (client=0xb8906010)
at ../../Xext/xvdisp.c:1212
stuff = 0xb891f0b8
#17 0xb75ed35d in Dispatch () at ../../dix/dispatch.c:432
clientReady = 0xb85d0d88
result = <optimized out>
client = 0xb8906010
nready = 0
icheck = 0xb77e1438 <checkForInput>
start_tick = 1540
#18 0xb75db38a in main (argc=13, argv=0xbfbe1774, envp=0xbfbe17ac)
at ../../dix/main.c:298
i = <optimized out>
alwaysCheckForInput = {0, 1}
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Patch for crashing intel server
2013-10-13 3:49 ` Bug#724944: [Intel-gfx] " Bas Wijnen
@ 2013-10-13 9:43 ` Chris Wilson
2013-10-15 1:46 ` Bug#724944: [Intel-gfx] " Bas Wijnen
0 siblings, 1 reply; 14+ messages in thread
From: Chris Wilson @ 2013-10-13 9:43 UTC (permalink / raw)
To: Bas Wijnen; +Cc: intel-gfx, 724944
On Sun, Oct 13, 2013 at 05:49:04AM +0200, Bas Wijnen wrote:
> On Sat, Oct 12, 2013 at 09:46:14PM +0100, Chris Wilson wrote:
> > On Fri, Oct 11, 2013 at 09:24:54PM +0200, Bas Wijnen wrote:
> > > Hello,
> > >
> > > My X server was crashing when playing video, and I wrote a patch to fix
> > > it. Please find the background and the patch at
> > > http://bugs.debian.org/724944 .
> >
> > The patch is a shotgun solution, putting NULL pointer checks where the
> > pointer is explicitly not allowed to be NULL. I need an actual
> > stacktrace to find the root cause.
> > -Chris
>
> Sure thing; you can find it attached. Of course it shows when the
> segfault is triggered, not when the data became NULL. And that should
> be fixed, because even though the server doesn't crash with the patch,
> it also doesn't play video.
Ok, I can see the allocation failure that leads to the crash:
commit f9a18c9f38d09c145eb513ca989966dc135c1e9b
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Sun Oct 13 10:36:35 2013 +0100
uxa: Check for allocation failure in i915 video
For a large screen, we have to create a temporary surface for rendering
the textured video. If this pixmap creation fails we may be left with a
system memory only pixmap leading to a segfault.
Reported-by: Bas Wijnen <wijnen@debian.org>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
However, that still leaveas the question as to how you ended up being
unable to allocate bo...
You can watch /sys/kernel/debug/dri/0/i915_gem_objects (or just use
intel-gpu-overlay) and see if there is an object leak.
-Chris
--
Chris Wilson, Intel Open Source Technology Centre
^ permalink raw reply [flat|nested] 14+ messages in thread
* Bug#724944: [Intel-gfx] Patch for crashing intel server
2013-10-13 9:43 ` Chris Wilson
@ 2013-10-15 1:46 ` Bas Wijnen
2013-10-15 8:25 ` Chris Wilson
0 siblings, 1 reply; 14+ messages in thread
From: Bas Wijnen @ 2013-10-15 1:46 UTC (permalink / raw)
To: intel-gfx, 724944
[-- Attachment #1: Type: text/plain, Size: 1750 bytes --]
On Sun, Oct 13, 2013 at 10:43:49AM +0100, Chris Wilson wrote:
> > > > My X server was crashing when playing video, and I wrote a patch to fix
> > > > it. Please find the background and the patch at
> > > > http://bugs.debian.org/724944 .
>
> Ok, I can see the allocation failure that leads to the crash:
>
> commit f9a18c9f38d09c145eb513ca989966dc135c1e9b
> Author: Chris Wilson <chris@chris-wilson.co.uk>
> Date: Sun Oct 13 10:36:35 2013 +0100
This does indeed stop the server from crashing, but actually makes the
problem worse: it used to play video for a few minutes and then crash
when trying. With my patch it would play video for a few minutes and
then present black screens when trying. With your patch, it presents
black screens from the start.
I must say I'm not entirely sure if the backtrace I sent you is a
"typical" case; I managed to crash it sooner than usual, so perhaps it
wasn't the bug that I triggered before. It did stop the crashing
however.
> However, that still leaveas the question as to how you ended up being
> unable to allocate bo...
>
> You can watch /sys/kernel/debug/dri/0/i915_gem_objects (or just use
> intel-gpu-overlay) and see if there is an object leak.
I don't have enough knowledge about the internals to know how that
works. I can see the file if I mount the debugfs, but what am I looking
for?
I don't seem to have intel-gpu-overlay on my system; does it make sense
to install it? If so, where do I get it?
While looking for it I did find and try intel-gpu-time, and noticed that
it always reports the gpu 100% busy, even when running intel-gpu-time
sleep 5 from a linux virtual terminal (so not even X is displayed). Is
that normal?
Thanks,
Bas
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply [flat|nested] 14+ messages in thread
* Bug#724944: [Intel-gfx] Patch for crashing intel server
2013-10-15 1:46 ` Bug#724944: [Intel-gfx] " Bas Wijnen
@ 2013-10-15 8:25 ` Chris Wilson
2013-10-16 14:30 ` Bas Wijnen
0 siblings, 1 reply; 14+ messages in thread
From: Chris Wilson @ 2013-10-15 8:25 UTC (permalink / raw)
To: Bas Wijnen; +Cc: intel-gfx, 724944
On Tue, Oct 15, 2013 at 03:46:08AM +0200, Bas Wijnen wrote:
> On Sun, Oct 13, 2013 at 10:43:49AM +0100, Chris Wilson wrote:
> > > > > My X server was crashing when playing video, and I wrote a patch to fix
> > > > > it. Please find the background and the patch at
> > > > > http://bugs.debian.org/724944 .
> >
> > Ok, I can see the allocation failure that leads to the crash:
> >
> > commit f9a18c9f38d09c145eb513ca989966dc135c1e9b
> > Author: Chris Wilson <chris@chris-wilson.co.uk>
> > Date: Sun Oct 13 10:36:35 2013 +0100
>
> This does indeed stop the server from crashing, but actually makes the
> problem worse: it used to play video for a few minutes and then crash
> when trying. With my patch it would play video for a few minutes and
> then present black screens when trying. With your patch, it presents
> black screens from the start.
Start of video, or beginning of X?
I made two changes. The first to check for a failed GPU pixmap
allocation during video playback and the second to check for a failed
malloc during Screen initialisation.
Neither should be likely.
> I must say I'm not entirely sure if the backtrace I sent you is a
> "typical" case; I managed to crash it sooner than usual, so perhaps it
> wasn't the bug that I triggered before. It did stop the crashing
> however.
>
> > However, that still leaveas the question as to how you ended up being
> > unable to allocate bo...
> >
> > You can watch /sys/kernel/debug/dri/0/i915_gem_objects (or just use
> > intel-gpu-overlay) and see if there is an object leak.
>
> I don't have enough knowledge about the internals to know how that
> works. I can see the file if I mount the debugfs, but what am I looking
> for?
An increase in the number of total objects and allocated bytes.
> I don't seem to have intel-gpu-overlay on my system; does it make sense
> to install it? If so, where do I get it?
It just presents the same information, so not really important if you
are happy with catting the debugfs file.
> While looking for it I did find and try intel-gpu-time, and noticed that
> it always reports the gpu 100% busy, even when running intel-gpu-time
> sleep 5 from a linux virtual terminal (so not even X is displayed). Is
> that normal?
Hmm, looks like it should report correctly on i915.
-Chris
--
Chris Wilson, Intel Open Source Technology Centre
^ permalink raw reply [flat|nested] 14+ messages in thread
* Bug#724944: [Intel-gfx] Patch for crashing intel server
2013-10-15 8:25 ` Chris Wilson
@ 2013-10-16 14:30 ` Bas Wijnen
2013-10-16 15:22 ` Chris Wilson
0 siblings, 1 reply; 14+ messages in thread
From: Bas Wijnen @ 2013-10-16 14:30 UTC (permalink / raw)
To: intel-gfx, 724944
[-- Attachment #1: Type: text/plain, Size: 1662 bytes --]
On Tue, Oct 15, 2013 at 09:25:41AM +0100, Chris Wilson wrote:
> > This does indeed stop the server from crashing, but actually makes the
> > problem worse: it used to play video for a few minutes and then crash
> > when trying. With my patch it would play video for a few minutes and
> > then present black screens when trying. With your patch, it presents
> > black screens from the start.
>
> Start of video, or beginning of X?
Beginning of X. After starting and logging in, I can play them for a
few minutes; afterwards it will crash.
> > I must say I'm not entirely sure if the backtrace I sent you is a
> > "typical" case; I managed to crash it sooner than usual, so perhaps it
> > wasn't the bug that I triggered before. It did stop the crashing
> > however.
> >
> > > However, that still leaveas the question as to how you ended up being
> > > unable to allocate bo...
I didn't check the backtrace myself, but when I wrote my shotgun-patch,
the problem was that pixmap_private was NULL; bo is in there, right? So
at least in that case, it could never have allocated it, or at least it
couldn't store the pointer.
> > While looking for it I did find and try intel-gpu-time, and noticed that
> > it always reports the gpu 100% busy, even when running intel-gpu-time
> > sleep 5 from a linux virtual terminal (so not even X is displayed). Is
> > that normal?
>
> Hmm, looks like it should report correctly on i915.
Due to unrelated problems (unbearable slowness) I switched from gnome to
xfce. It does report 0% now. It seems gnome keeps the gpu busy even if
it's not displaying anything...
Thanks,
Bas
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply [flat|nested] 14+ messages in thread
* Bug#724944: [Intel-gfx] Patch for crashing intel server
2013-10-16 14:30 ` Bas Wijnen
@ 2013-10-16 15:22 ` Chris Wilson
2013-10-23 0:30 ` Bas Wijnen
2013-11-03 15:15 ` Bas Wijnen
0 siblings, 2 replies; 14+ messages in thread
From: Chris Wilson @ 2013-10-16 15:22 UTC (permalink / raw)
To: Bas Wijnen; +Cc: intel-gfx, 724944
On Wed, Oct 16, 2013 at 04:30:57PM +0200, Bas Wijnen wrote:
> On Tue, Oct 15, 2013 at 09:25:41AM +0100, Chris Wilson wrote:
> > > This does indeed stop the server from crashing, but actually makes the
> > > problem worse: it used to play video for a few minutes and then crash
> > > when trying. With my patch it would play video for a few minutes and
> > > then present black screens when trying. With your patch, it presents
> > > black screens from the start.
> >
> > Start of video, or beginning of X?
>
> Beginning of X. After starting and logging in, I can play them for a
> few minutes; afterwards it will crash.
Still weird. Can you attach the Xorg.log from the black screen and/or crash.
> > > I must say I'm not entirely sure if the backtrace I sent you is a
> > > "typical" case; I managed to crash it sooner than usual, so perhaps it
> > > wasn't the bug that I triggered before. It did stop the crashing
> > > however.
> > >
> > > > However, that still leaveas the question as to how you ended up being
> > > > unable to allocate bo...
>
> I didn't check the backtrace myself, but when I wrote my shotgun-patch,
> the problem was that pixmap_private was NULL; bo is in there, right? So
> at least in that case, it could never have allocated it, or at least it
> couldn't store the pointer.
I doubt we failed to malloc the intel_pixmap, so the reason why the
intel_pixmap would be NULL is more likely due to failure to allocate the
GPU buffer object i.e. they are semantically interchangeable, an
attached intel_pixmap to a Pixmap implies we have a GPU bo. Similarly
checking for the intel_pixmap should be enough to assert that the GPU bo
exists.
-Chris
--
Chris Wilson, Intel Open Source Technology Centre
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Patch for crashing intel server
2013-10-16 15:22 ` Chris Wilson
@ 2013-10-23 0:30 ` Bas Wijnen
2013-10-23 8:28 ` Chris Wilson
2013-11-03 15:15 ` Bas Wijnen
1 sibling, 1 reply; 14+ messages in thread
From: Bas Wijnen @ 2013-10-23 0:30 UTC (permalink / raw)
To: intel-gfx, 724944
[-- Attachment #1.1.1: Type: text/plain, Size: 1200 bytes --]
On Wed, Oct 16, 2013 at 04:22:43PM +0100, Chris Wilson wrote:
> On Wed, Oct 16, 2013 at 04:30:57PM +0200, Bas Wijnen wrote:
> > On Tue, Oct 15, 2013 at 09:25:41AM +0100, Chris Wilson wrote:
> > > > This does indeed stop the server from crashing, but actually makes the
> > > > problem worse: it used to play video for a few minutes and then crash
> > > > when trying. With my patch it would play video for a few minutes and
> > > > then present black screens when trying. With your patch, it presents
> > > > black screens from the start.
> > >
> > > Start of video, or beginning of X?
> >
> > Beginning of X. After starting and logging in, I can play them for a
> > few minutes; afterwards it will crash.
>
> Still weird. Can you attach the Xorg.log from the black screen and/or crash.
That took some time, because since I switched to xfce, it is a lot more
stable. However, after running for a few days it still crashed when
trying to play a video. The log is attached.
I would have attached a detailed backtrace as well, but unfortunately I
forgot to switch the core dump option on when switching from gdm to xdm,
so I don't have a core this time.
Thanks,
Bas
[-- Attachment #1.1.2: Xorg.0.log.old --]
[-- Type: application/x-trash, Size: 117224 bytes --]
[-- Attachment #1.2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
[-- Attachment #2: Type: text/plain, Size: 159 bytes --]
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Patch for crashing intel server
2013-10-23 0:30 ` Bas Wijnen
@ 2013-10-23 8:28 ` Chris Wilson
2013-10-25 3:46 ` Bas Wijnen
0 siblings, 1 reply; 14+ messages in thread
From: Chris Wilson @ 2013-10-23 8:28 UTC (permalink / raw)
To: Bas Wijnen; +Cc: intel-gfx, 724944
On Wed, Oct 23, 2013 at 02:30:51AM +0200, Bas Wijnen wrote:
> On Wed, Oct 16, 2013 at 04:22:43PM +0100, Chris Wilson wrote:
> > On Wed, Oct 16, 2013 at 04:30:57PM +0200, Bas Wijnen wrote:
> > > On Tue, Oct 15, 2013 at 09:25:41AM +0100, Chris Wilson wrote:
> > > > > This does indeed stop the server from crashing, but actually makes the
> > > > > problem worse: it used to play video for a few minutes and then crash
> > > > > when trying. With my patch it would play video for a few minutes and
> > > > > then present black screens when trying. With your patch, it presents
> > > > > black screens from the start.
> > > >
> > > > Start of video, or beginning of X?
> > >
> > > Beginning of X. After starting and logging in, I can play them for a
> > > few minutes; afterwards it will crash.
> >
> > Still weird. Can you attach the Xorg.log from the black screen and/or crash.
>
> That took some time, because since I switched to xfce, it is a lot more
> stable. However, after running for a few days it still crashed when
> trying to play a video. The log is attached.
>
> I would have attached a detailed backtrace as well, but unfortunately I
> forgot to switch the core dump option on when switching from gdm to xdm,
> so I don't have a core this time.
No worries, if you can run
addr2line -e /usr/lib/xorg/modules/drivers/intel_drv.so -i 0xfcd79 0xf8215
that should give me the information needed to pinpoint the crash.
-Chris
--
Chris Wilson, Intel Open Source Technology Centre
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Patch for crashing intel server
2013-10-23 8:28 ` Chris Wilson
@ 2013-10-25 3:46 ` Bas Wijnen
2013-10-25 8:33 ` Bug#724944: [Intel-gfx] " Chris Wilson
0 siblings, 1 reply; 14+ messages in thread
From: Bas Wijnen @ 2013-10-25 3:46 UTC (permalink / raw)
To: intel-gfx, 724944
[-- Attachment #1.1: Type: text/plain, Size: 1424 bytes --]
On Wed, Oct 23, 2013 at 09:28:28AM +0100, Chris Wilson wrote:
> No worries, if you can run
>
> addr2line -e /usr/lib/xorg/modules/drivers/intel_drv.so -i 0xfcd79 0xf8215
>
> that should give me the information needed to pinpoint the crash.
$ addr2line -e /usr/lib/xorg/modules/drivers/intel_drv.so -i 0xfcd79
0xf8215
/build/xserver-xorg-video-intel-WbV7Z9/xserver-xorg-video-intel-2.21.15/build/src/uxa/../../../src/uxa/intel.h:138
/build/xserver-xorg-video-intel-WbV7Z9/xserver-xorg-video-intel-2.21.15/build/src/uxa/../../../src/uxa/i915_video.c:156
/build/xserver-xorg-video-intel-WbV7Z9/xserver-xorg-video-intel-2.21.15/build/src/uxa/../../../src/uxa/intel_video.c:1584
Note that I'm running the unpatched Debian version again (so not with
your or my patch), which is why it was crashing.
In case you have different sources, here's some context for those lines:
intel.h:138 is
static inline Bool intel_pixmap_tiled(PixmapPtr pixmap)
{
> return intel_get_pixmap_private(pixmap)->tiling != I915_TILING_NONE;
}
i915_video.c:156 is
/* front buffer, pitch, offset */
> if (intel_pixmap_tiled(target)) {
tiling = BUF_3D_TILED_SURFACE;
and intel_video.c:1584 is
} else {
> I915DisplayVideoTextured(scrn, adaptor_priv, id, clipBoxes,
width, height, dstPitch, dstPitch2,
src_w, src_h, drw_w, drw_h,
pixmap);
}
Thanks,
Bas
[-- Attachment #1.2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
[-- Attachment #2: Type: text/plain, Size: 159 bytes --]
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 14+ messages in thread
* Bug#724944: [Intel-gfx] Patch for crashing intel server
2013-10-25 3:46 ` Bas Wijnen
@ 2013-10-25 8:33 ` Chris Wilson
0 siblings, 0 replies; 14+ messages in thread
From: Chris Wilson @ 2013-10-25 8:33 UTC (permalink / raw)
To: Bas Wijnen; +Cc: intel-gfx, 724944
On Fri, Oct 25, 2013 at 05:46:53AM +0200, Bas Wijnen wrote:
> On Wed, Oct 23, 2013 at 09:28:28AM +0100, Chris Wilson wrote:
> > No worries, if you can run
> >
> > addr2line -e /usr/lib/xorg/modules/drivers/intel_drv.so -i 0xfcd79 0xf8215
> >
> > that should give me the information needed to pinpoint the crash.
>
> $ addr2line -e /usr/lib/xorg/modules/drivers/intel_drv.so -i 0xfcd79
> 0xf8215
> /build/xserver-xorg-video-intel-WbV7Z9/xserver-xorg-video-intel-2.21.15/build/src/uxa/../../../src/uxa/intel.h:138
> /build/xserver-xorg-video-intel-WbV7Z9/xserver-xorg-video-intel-2.21.15/build/src/uxa/../../../src/uxa/i915_video.c:156
> /build/xserver-xorg-video-intel-WbV7Z9/xserver-xorg-video-intel-2.21.15/build/src/uxa/../../../src/uxa/intel_video.c:1584
>
> Note that I'm running the unpatched Debian version again (so not with
> your or my patch), which is why it was crashing.
Ah. Ok, but we still don't know how we end up in this situation. If you
apply the patch to prevent the crash here, can you please report what
the contents of /sys/kernel/debug/dri/0/i915_gem_objects is at the time
the video goes black?
-Chris
--
Chris Wilson, Intel Open Source Technology Centre
^ permalink raw reply [flat|nested] 14+ messages in thread
* Bug#724944: [Intel-gfx] Patch for crashing intel server
2013-10-16 15:22 ` Chris Wilson
2013-10-23 0:30 ` Bas Wijnen
@ 2013-11-03 15:15 ` Bas Wijnen
2013-11-04 9:45 ` Chris Wilson
1 sibling, 1 reply; 14+ messages in thread
From: Bas Wijnen @ 2013-11-03 15:15 UTC (permalink / raw)
To: intel-gfx, 724944
Hi Chris,
I got a black screen while using your patch.
/sys/kernel/debug/dri/0/i915_gem_objects contents are shown below. The first
time is while the video is running; the second after stopping it. AFAICS,
there is no difference between them.
However, after starting a new video, there is a difference in active objects;
not sure if it is related (I don't really know what any of it means). That is
the third one.
Thanks,
Bas
root@star:/sys/kernel/debug/dri/0# cat i915_gem_objects
220 objects, 36782080 bytes
131 [131] objects, 34430976 [34430976] bytes in gtt
0 [0] active objects, 0 [0] bytes
131 [131] inactive objects, 34430976 [34430976] bytes
49 unbound objects, 638976 bytes
1 purgeable objects, 4096 bytes
6 pinned mappable objects, 15884288 bytes
118 fault mappable objects, 27901952 bytes
536870912 [268435456] gtt total
Xorg: 217 objects, 36642816 bytes (0 active, 30703616 inactive, 5922816 unbound)
root@star:/sys/kernel/debug/dri/0# cat i915_gem_objects
220 objects, 36782080 bytes
131 [131] objects, 34430976 [34430976] bytes in gtt
0 [0] active objects, 0 [0] bytes
131 [131] inactive objects, 34430976 [34430976] bytes
49 unbound objects, 638976 bytes
1 purgeable objects, 4096 bytes
6 pinned mappable objects, 15884288 bytes
118 fault mappable objects, 27901952 bytes
536870912 [268435456] gtt total
Xorg: 217 objects, 36642816 bytes (0 active, 30703616 inactive, 5922816 unbound)
root@star:/sys/kernel/debug/dri/0# cat i915_gem_objects
220 objects, 36782080 bytes
131 [131] objects, 34430976 [34430976] bytes in gtt
2 [2] active objects, 32768 [32768] bytes
129 [129] inactive objects, 34398208 [34398208] bytes
49 unbound objects, 638976 bytes
1 purgeable objects, 4096 bytes
6 pinned mappable objects, 15884288 bytes
118 fault mappable objects, 27901952 bytes
536870912 [268435456] gtt total
Xorg: 217 objects, 36642816 bytes (32768 active, 30670848 inactive, 5922816 unbound)
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Patch for crashing intel server
2013-11-03 15:15 ` Bas Wijnen
@ 2013-11-04 9:45 ` Chris Wilson
0 siblings, 0 replies; 14+ messages in thread
From: Chris Wilson @ 2013-11-04 9:45 UTC (permalink / raw)
To: Bas Wijnen; +Cc: intel-gfx, 724944
On Sun, Nov 03, 2013 at 04:15:18PM +0100, Bas Wijnen wrote:
> Hi Chris,
>
> I got a black screen while using your patch.
> /sys/kernel/debug/dri/0/i915_gem_objects contents are shown below. The first
> time is while the video is running; the second after stopping it. AFAICS,
> there is no difference between them.
Indeed, that scuppers my theory about it being an allocation failure to
GEM space exhaustion. I am not sure what else to suggest to explain why
it spontaneously fails to allocate that BO. You could try drm.debug=7,
but searching for the failure would be like hunting for a needle in a
haystack - and I'm not sure if we give any information as to how it
fails, nor does libdrm_intel have any such debug. You can try disabling
the uxa BO cache with Option "BufferCache" "false" and seeing if that
makes any difference.
-Chris
--
Chris Wilson, Intel Open Source Technology Centre
^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2013-11-04 9:46 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-10-11 19:24 Patch for crashing intel server Bas Wijnen
2013-10-12 20:46 ` Chris Wilson
2013-10-13 3:49 ` Bug#724944: [Intel-gfx] " Bas Wijnen
2013-10-13 9:43 ` Chris Wilson
2013-10-15 1:46 ` Bug#724944: [Intel-gfx] " Bas Wijnen
2013-10-15 8:25 ` Chris Wilson
2013-10-16 14:30 ` Bas Wijnen
2013-10-16 15:22 ` Chris Wilson
2013-10-23 0:30 ` Bas Wijnen
2013-10-23 8:28 ` Chris Wilson
2013-10-25 3:46 ` Bas Wijnen
2013-10-25 8:33 ` Bug#724944: [Intel-gfx] " Chris Wilson
2013-11-03 15:15 ` Bas Wijnen
2013-11-04 9:45 ` Chris Wilson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox