| Summary: | [Q35 64bit]quake4 hangs X | ||
|---|---|---|---|
| Product: | Mesa | Reporter: | Shuang He <shuang.he> |
| Component: | Drivers/DRI/i915 | Assignee: | Zou Nan hai <nanhai.zou> |
| Status: | VERIFIED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | medium | CC: | dri-devel, lerui.zhu |
| Version: | unspecified | ||
| Hardware: | x86-64 (AMD64) | ||
| OS: | Linux (All) | ||
| Whiteboard: | |||
| i915 platform: | i915 features: | ||
| Attachments: |
screen shot
xorg conf xorg log |
||
Created attachment 14111 [details]
xorg conf
Created attachment 14112 [details]
xorg log
I have check the lastest version. Quake 4 is working on my machine, please verify. with latest version, I still see this issue on our G35 machine with 64-bit OS (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. Does it works on 32 bit system? (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 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 ()
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
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? if you run quake4 on bl 32bit , it will soon hang when you click right mouse on the game . X still exist . What is soon hang? Dose the mouse still moving? no , the mouse also hang . 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. Fixed in drm tree. commit 63fd6f284ddd1096d34b39941683ae244c1e01fc verified, thanks |
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.
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