Bug 11895 - X crashed on i965
Summary: X crashed on i965
Status: VERIFIED FIXED
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/DRI/i915 (show other bugs)
Version: git
Hardware: Other Linux (All)
: highest blocker
Assignee: Eric Anholt
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-08-07 20:46 UTC by WuNian
Modified: 2009-08-24 12:27 UTC (History)
3 users (show)

See Also:
i915 platform:
i915 features:


Attachments
test case (998 bytes, text/plain)
2007-08-07 21:46 UTC, WuNian
Details

Description WuNian 2007-08-07 20:46:21 UTC
We set background as black by call:
 glClearColor(0.0, 0.0, 0.0, 1.0);
   glClear(GL_COLOR_BUFFER_BIT);

But the background will be black.
We updated DRM kernel module yesterday, then the bug occured. So I guess this may be a bug introduced by DRM kernel module.

With i965 driver, system will output: "intelWaitIrq: drmI830IrqWait: -16" then exit from the 3D app.
Comment 1 WuNian 2007-08-07 21:45:53 UTC
In G965/Q965 platform, after start up Xorg, then run the test case(see attachment), it will report error info then exit from the app:
intelWaitIrq: drmI830IrqWait: -16

Last, we run xterm, X crashed with below info:

[root@x-cl8 mycase]# Error in I830WaitLpRing(), timeout for 2 seconds
pgetbl_ctl: 0x1ff80001 pgetbl_err: 0x0
ipeir: 0 iphdr: cccccccc
LP ring tail: 728 head: 0 len: 1f001 start 0
Err ID (eir): 0 Err Status (esr): 1 Err Mask (emr): ffffffdf
instdone: ffe5fafd instdone_1: fffff
instpm: 0
memmode: 0 instps: 8011e022
HW Status mask (hwstam): fffecffe
IRQ enable (ier): 2 imr: fffe0000 iir: f0
acthd: 8858004 dma_fadd_p: 8858100
ecoskpd: 307 excc: 0
cache_mode: 6800/180
mi_arb_state: 44
IA_VERTICES_COUNT_QW 0/0
IA_PRIMITIVES_COUNT_QW 0/0
VS_INVOCATION_COUNT_QW 0/0
GS_INVOCATION_COUNT_QW 0/0
GS_PRIMITIVES_COUNT_QW 0/0
CL_INVOCATION_COUNT_QW 0/0
CL_PRIMITIVES_COUNT_QW 0/0
PS_INVOCATION_COUNT_QW 0/0
PS_DEPTH_COUNT_QW 0/0
WIZ_CTL 0
TS_CTL 0  TS_DEBUG_DATA 43b1a6d6
TD_CTL 0 / 0
space: 129232 wanted 131064

Fatal server error:
lockup


[root@x-cl8 mycase]# Error in I830WaitLpRing(), timeout for 2 seconds
pgetbl_ctl: 0x1ff80001 pgetbl_err: 0x0
ipeir: 0 iphdr: cccccccc
LP ring tail: 730 head: 0 len: 1f001 start 0
Err ID (eir): 0 Err Status (esr): 1 Err Mask (emr): ffffffdf
instdone: ffe5fafd instdone_1: fffff
instpm: 0
memmode: 0 instps: 8011e022
HW Status mask (hwstam): fffecffe
IRQ enable (ier): 2 imr: fffe0000 iir: f0
acthd: 8858004 dma_fadd_p: 8858100
ecoskpd: 307 excc: 0
cache_mode: 6800/180
mi_arb_state: 44
IA_VERTICES_COUNT_QW 0/0
IA_PRIMITIVES_COUNT_QW 0/0
VS_INVOCATION_COUNT_QW 0/0
GS_INVOCATION_COUNT_QW 0/0
GS_PRIMITIVES_COUNT_QW 0/0
CL_INVOCATION_COUNT_QW 0/0
CL_PRIMITIVES_COUNT_QW 0/0
PS_INVOCATION_COUNT_QW 0/0
PS_DEPTH_COUNT_QW 0/0
WIZ_CTL 0
TS_CTL 0  TS_DEBUG_DATA 43b1a6d6
TD_CTL 0 / 0
space: 129224 wanted 131064

FatalError re-entered, aborting
lockup

xterm:  fatal IO error 104 (Connection reset by peer) or KillClient on X server ":0.0"

[1]-  Aborted                 X
[2]+  Exit 84                 xterm
[root@x-cl8 mycase]# cd ..
Comment 2 WuNian 2007-08-07 21:46:35 UTC
Created attachment 11043 [details]
test case
Comment 3 WuNian 2007-08-07 22:56:04 UTC
>We set background as black by call:
> glClearColor(0.0, 0.0, 0.0, 1.0);
>   glClear(GL_COLOR_BUFFER_BIT);
>
>But the background will be black.
                            ~~~~~~~the background we got is white. 
Comment 4 Shuang He 2007-08-08 01:47:32 UTC
for issue "intelWaitIrq: drmI830IrqWait: -16", and X crash, 
seems commit(d749cc9ae8c50157a1588369222a591410002c26) bring them in
Comment 5 Shuang He 2007-08-08 23:41:39 UTC
seems following commit bring this issue in:

commit d749cc9ae8c50157a1588369222a591410002c26
Author: Eric Anholt <eric@anholt.net>
Date:   Mon Aug 6 15:45:37 2007 -0700

    Initialize the AGP structure's base address at init rather than enable.

    Not all drivers call enable (intel), but they would still like to use this
    member in driver code.


index 4618823..df54360 100644
--- a/linux-core/drm_agpsupport.c
+++ b/linux-core/drm_agpsupport.c
@@ -183,6 +183,7 @@ int drm_agp_enable(struct drm_device *dev, struct drm_agp_mo
 #else
        agp_enable(dev->agp->bridge, mode.mode);
 #endif
+       dev->agp->base = dev->agp->agp_info.aper_base;
        dev->agp->enabled = 1;
        return 0;
 }
@@ -440,7 +441,6 @@ struct drm_agp_head *drm_agp_init(struct drm_device *dev)
        INIT_LIST_HEAD(&head->memory);
        head->cant_use_aperture = head->agp_info.cant_use_aperture;
        head->page_mask = head->agp_info.page_mask;
-       head->base = head->agp_info.aper_base;
        return head;
 }

Comment 6 Eric Anholt 2007-08-13 16:33:13 UTC
Fix committed.  Thanks, Zhenyu!
Comment 7 Adam Jackson 2009-08-24 12:27:39 UTC
Mass version move, cvs -> git


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.