Bug 14344 - [Q35 64bit]quake4 hangs X
[Q35 64bit]quake4 hangs X
Status: VERIFIED FIXED
Product: Mesa
Classification: Unclassified
Component: Drivers/DRI/i915
unspecified
x86-64 (AMD64) Linux (All)
: medium normal
Assigned To: Zou Nan hai
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2008-02-02 21:50 UTC by Shuang He
Modified: 2008-03-02 22:57 UTC (History)
2 users (show)

See Also:


Attachments
screen shot (301.04 KB, image/jpeg)
2008-02-02 21:50 UTC, Shuang He
Details
xorg conf (3.64 KB, text/plain)
2008-02-02 21:52 UTC, Shuang He
Details
xorg log (18.37 KB, text/plain)
2008-02-02 21:53 UTC, Shuang He
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Shuang He 2008-02-02 21:50:22 UTC
Created attachment 14110 [details]
screen shot

System Environment:
--------------------------

--Platform:Q35

--Architecture(32-bit,64-bit,compatiblity):64bit 

--2D driver:
commit cc1031a834b81aa6f835c282ad86deddabe229a0 

--3D driver:
commit a9a483b43ec090408148d069bc184c0a21323654 

--Xserver:
commit aec0d06469a2fa7440fdd5ee03dc256a68704e77 


--Kernel:
2.6.24-rc5


Bug detailed description:
-------------------------
startx ,run quake4,there's only a black screen except the mouse pointer and can move
but glxinfo does return anything, and is hanging there.



Reproduce steps:
----------------
1. start X
2. run quake4-demo



Current result:
----------------
there's only a black screen except the mouse pointer. glxinfo hangs there without returning anything.


Expected result:
----------------
run normally
Comment 1 Shuang He 2008-02-02 21:52:29 UTC
Created attachment 14111 [details]
xorg conf
Comment 2 Shuang He 2008-02-02 21:53:18 UTC
Created attachment 14112 [details]
xorg log
Comment 3 Zou Nan hai 2008-02-13 17:22:24 UTC
I have check the lastest version.
Quake 4 is working on my machine, please verify.
Comment 4 Shuang He 2008-02-19 19:41:59 UTC
with latest version, I still see this issue on our G35 machine with 64-bit OS
Comment 5 Shuang He 2008-02-19 21:17:54 UTC
(In reply to comment #4)
> with latest version, I still see this issue on our G35 machine with 64-bit OS
> 
it's typo here. should be Q35 here.
Comment 6 Zou Nan hai 2008-02-20 17:16:04 UTC
Does it works on 32 bit system?
Comment 7 Shuang He 2008-02-20 18:13:33 UTC
(In reply to comment #6)
> Does it works on 32 bit system?
> 

we only have 64-bit OS installed on Q35. and quake4-demo can run on G33 with 32-bit OS.
I just found, the compatibility mode environment is broken on our Q35. after rebuild the environment, the issue seems different now:

using ARB_vertex_buffer_object memory
using ARB2 renderSystem
reloading textures/common/debuggraph.
reloading makeIntensity( gfx/lights/squarelight1a).
reloading gfx/lights/squarelight1.
reloading gfx/lights/round.
reloading gfx/guis/mainmenu/splash.
reloading gfx/guis/soundmeter/audiobg.
reloading gfx/guis/white.
reloading gfx/guis/guicursor_arrow.
reloading gfx/guis/guicursor_hand.
reloading gfx/guis/scrollbarh.
reloading gfx/guis/scrollbarv.
reloading gfx/guis/scrollbar_thumb.
reloading gfx/guis/scrollbar_right.
reloading gfx/guis/scrollbar_left.
reloading gfx/guis/scrollbar_up.
reloading gfx/guis/scrollbar_down.
reloading fonts/english/bigchars.
DRM_I830_EXECBUFFER: -22
pure virtual method called
terminate called without an active exception
signal caught: Aborted
si_code -6
Trying to exit gracefully..
pure virtual method called
terminate called recursively
double fault Aborted, bailing out
Comment 8 Shuang He 2008-02-20 18:23:25 UTC
backtrace:
Program received signal SIGABRT, Aborted.
[Switching to Thread 4158691552 (LWP 3189)]
0xffffe410 in __kernel_vsyscall ()
(gdb) bt
#0  0xffffe410 in __kernel_vsyscall ()
#1  0x4db54fa0 in raise () from /lib/libc.so.6
#2  0x4db568b1 in abort () from /lib/libc.so.6
#3  0x4dd93550 in __gnu_cxx::__verbose_terminate_handler ()
   from /usr/lib/libstdc++.so.6
#4  0x4dd91035 in __gxx_personality_v0 () from /usr/lib/libstdc++.so.6
#5  0x4dd91072 in std::terminate () from /usr/lib/libstdc++.so.6
#6  0x4dd91715 in __cxa_pure_virtual () from /usr/lib/libstdc++.so.6
#7  0x083ed5d2 in __gxx_personality_v0 ()
#8  0x083ebb72 in __gxx_personality_v0 ()
#9  0x0804bf5b in __gxx_personality_v0 ()
#10 0x4dcbc36c in __pthread_mutex_unlock_usercnt () from /lib/libpthread.so.0
#11 0x0842b3cd in _fini ()
#12 0x4db1b842 in _dl_fini () from /lib/ld-linux.so.2
#13 0x4db57c5e in exit () from /lib/libc.so.6
#14 0xf6072134 in intel_exec_ioctl (intel=0x9cddfd8, used=16,
    ignore_cliprects=1 '\001', allow_unlock=0 '\0', start=0xa060984, count=1,
    fence=0x9d8e9c0) at intel_ioctl.c:186
#15 0xf6056ee6 in _intel_batchbuffer_flush (batch=0x9d8e9b8,
    file=0xf61f27f0 "../intel/intel_batchbuffer.h", line=122)
    at intel_batchbuffer.c:147
#16 0xf605f81c in intelClearWithBlit (ctx=0x9cddfd8, mask=2)
    at ../intel/intel_batchbuffer.h:122
---Type <return> to continue, or q <return> to quit---
#17 0xf605d53c in intelClear (ctx=0x9cddfd8, mask=2) at intel_buffers.c:583
#18 0xf61a2953 in _mesa_Clear (mask=16384) at main/buffers.c:184
#19 0xf62b6180 in glClear (mask=16384)
    at ../../../src/mesa/glapi/glapitemp.h:1100
#20 0x081f14da in __gxx_personality_v0 ()
#21 0x081bd129 in __gxx_personality_v0 ()
#22 0x0807ac0f in __gxx_personality_v0 ()
#23 0x0807f149 in __gxx_personality_v0 ()
#24 0x0807f580 in __gxx_personality_v0 ()
#25 0x0842b2ee in __gxx_personality_v0 ()
#26 0x4db41f70 in __libc_start_main () from /lib/libc.so.6
#27 0x0804bf11 in __gxx_personality_v0 ()
Comment 9 Colin.Joe 2008-02-21 00:47:22 UTC
now , when run this case ,it will run abort and print : 
DRM_I830_EXECBUFFER: -22
pure virtual method called
terminate called without an active exception
signal caught: Aborted
si_code -6
Trying to exit gracefully..
pure virtual method called
terminate called recursively
double fault Aborted, bailing out

we use :
drm   master
        commit 5d8c754bc2c720d70bbdeca6b294660105717a62

mesa   master
        commit 15f0015df443025086ae810c0c0d07b4359b9e02

xf86_video_intel   master
        commit 4a42b01f5ee5a673716d6959dfe0e693b037eb48

Xorg version: X11R7.3
xserver   master
        commit 70c0592a97c7dc9db0576d32b3bdbe4766520509




Comment 10 Zou Nan hai 2008-02-28 00:40:31 UTC
I have just checked, 
it is not aborting, system and X and quake are all alive, 
however it draw a black screen..., I am checking.
does quake4 work on 32 bit q35?
Comment 11 Colin.Joe 2008-02-28 00:58:36 UTC
if you run quake4 on bl 32bit , it will soon hang when you click right mouse on the game . X still exist . 
Comment 12 Zou Nan hai 2008-02-28 01:07:39 UTC
What is soon hang?
Dose the mouse still moving?
Comment 13 Colin.Joe 2008-02-28 01:17:00 UTC
no , the mouse also hang . 
Comment 14 Zou Nan hai 2008-02-28 19:18:58 UTC
It is a drm vblank wait issue.
Change the vblank_mode to 0 in drirc will make the problem disappear.
Please change the component of the bug to drm.

I am continuting debug the issue.
Comment 15 Zou Nan hai 2008-03-02 22:21:33 UTC
Fixed in drm tree.
commit 63fd6f284ddd1096d34b39941683ae244c1e01fc
Comment 16 Shuang He 2008-03-02 22:57:14 UTC
verified, thanks