Hello: I've seen this thread on the mailing list http://lists.freedesktop.org/archives/xorg/2007-September/028271.html and after this I've started trying. Indeed on my i855GM equipped Dell inspiron 510m laptop, the computer locked totally when trying to play video using Xv for the second time in a row. I'm attaching the Xorg.log and my xorg.conf. This all is with latest git version. This is the backtrace with key frames listing: #0 0xffffe410 in ?? () #1 0xbf9cf61c in ?? () #2 0x00000006 in ?? () #3 0x00000e69 in ?? () #4 0xb7d577f5 in raise () from /lib/i686/cmov/libc.so.6 #5 0xb7d59181 in abort () from /lib/i686/cmov/libc.so.6 #6 0x081c60db in FatalError (f=0xb7b9b8dc "lockup\n") at ../../os/log.c:555 #7 0xb7b71592 in I830WaitLpRing (pScrn=0x8211af0, n=131064, timeout_millis=0) at ../../src/i830_accel.c:150 #8 0xb7b717e2 in I830Sync (pScrn=0x8211af0) at ../../src/i830_accel.c:201 #9 0xb7b8463b in I830StopVideo (pScrn=0x8211af0, data=0x825598c, shutdown=1) at ../../src/i830_video.c:1017 #10 0xb7b8474b in i830_crtc_dpms_video (crtc=0x82143c0, on=0) at ../../src/i830_video.c:2845 #11 0xb7b75de0 in i830_crtc_dpms (crtc=0x82143c0, mode=3) at ../../src/i830_display.c:713 #12 0xb7b7820d in RestoreHWState (pScrn=0x8211af0) at ../../src/i830_driver.c:1987 #13 0xb7b7a00b in I830LeaveVT (scrnIndex=0, flags=0) at ../../src/i830_driver.c:3018 #14 0xb7a3b467 in XAALeaveVT (index=0, flags=0) at ../../../../hw/xfree86/xaa/xaaInit.c:691 #15 0x080db6ed in xf86XVLeaveVT (index=0, flags=0) at ../../../../hw/xfree86/common/xf86xv.c:1278 #16 0xb7c1928f in glxDRILeaveVT (index=0, flags=0) at ../../../GL/glx/glxdri.c:839 #17 0x080a73cd in AbortDDX () at ../../../../hw/xfree86/common/xf86Init.c:1287 #18 0x081c5bc3 in AbortServer () at ../../os/log.c:407 #19 0x081c60c6 in FatalError (f=0x81d0dbc "Caught signal %d. Server aborting\n") at ../../os/log.c:553 #20 0x080c86a0 in xf86SigHandler (signo=11) at ../../../../hw/xfree86/common/xf86Events.c:1460 #21 0xffffe420 in ?? () #22 0x0000000b in ?? () #23 0x00000033 in ?? () #24 0xc0100000 in ?? () #25 0x0000007b in ?? () #26 0x0000007b in ?? () #27 0x08211af0 in ?? () #28 0x089f0fc0 in ?? () #29 0xbf9cfd48 in ?? () #30 0xbf9cfd30 in ?? () #31 0xb7ba6808 in ?? () from /usr/lib/xorg/modules/drivers//intel_drv.so #32 0x087b34e0 in ?? () #33 0x00000000 in ?? () #7 0xb7b71592 in I830WaitLpRing (pScrn=0x8211af0, n=131064, timeout_millis=0) at ../../src/i830_accel.c:150 150 FatalError("lockup\n"); 145 pI830->AccelInfoRec = NULL; /* Stops recursive behavior */ 146 #endif 147 #ifdef I830_USE_EXA 148 pI830->EXADriverPtr = NULL; 149 #endif 150 FatalError("lockup\n"); 151 } 152 153 DELAY(10); 154 } #8 0xb7b717e2 in I830Sync (pScrn=0x8211af0) at ../../src/i830_accel.c:201 201 I830WaitLpRing(pScrn, pI830->LpRing->mem->size - 8, 0); 196 OUT_RING(MI_FLUSH | flags); 197 OUT_RING(MI_NOOP); /* pad to quadword */ 198 ADVANCE_LP_RING(); 199 } 200 201 I830WaitLpRing(pScrn, pI830->LpRing->mem->size - 8, 0); 202 203 pI830->LpRing->space = pI830->LpRing->mem->size - 8; 204 pI830->nextColorExpandBuf = 0; 205 } #9 0xb7b8463b in I830StopVideo (pScrn=0x8211af0, data=0x825598c, shutdown=1) at ../../src/i830_video.c:1017 1017 I830Sync(pScrn); 1012 if (pI830->entityPrivate) 1013 pI830->entityPrivate->XvInUse = -1; 1014 } 1015 /* Sync before freeing the buffer, because the pages will be unbound. 1016 */ 1017 I830Sync(pScrn); 1018 i830_free_memory(pScrn, pPriv->buf); 1019 pPriv->videoStatus = 0; 1020 } else { 1021 if (pPriv->videoStatus & CLIENT_VIDEO_ON) { #10 0xb7b8474b in i830_crtc_dpms_video (crtc=0x82143c0, on=0) at ../../src/i830_video.c:2845 2845 I830StopVideo(pScrn, pPriv, TRUE); 2840 } else { 2841 /* We stop the video when mode switching, so we don't lock up 2842 * the engine. The overlayOK will determine whether we can re-enable 2843 * with the current video on completion of the mode switch. 2844 */ 2845 I830StopVideo(pScrn, pPriv, TRUE); 2846 pPriv->overlayOK = FALSE; 2847 pPriv->oneLineMode = FALSE; 2848 } 2849 } #11 0xb7b75de0 in i830_crtc_dpms (crtc=0x82143c0, mode=3) at ../../src/i830_display.c:713 713 i830_crtc_dpms_video(crtc, FALSE); 708 /* Shut off compression if in use */ 709 if (i830_use_fb_compression(crtc)) 710 i830_disable_fb_compression(crtc); 711 712 /* Give the overlay scaler a chance to disable if it's on this pipe */ 713 i830_crtc_dpms_video(crtc, FALSE); 714 715 /* Disable the VGA plane that we never use */ 716 OUTREG(VGACNTRL, VGA_DISP_DISABLE); 717 #12 0xb7b7820d in RestoreHWState (pScrn=0x8211af0) at ../../src/i830_driver.c:1987 1987 crtc->funcs->dpms(crtc, DPMSModeOff); 1982 i830WaitForVblank(pScrn); 1983 1984 /* Disable pipes */ 1985 for (i = 0; i < xf86_config->num_crtc; i++) { 1986 xf86CrtcPtr crtc = xf86_config->crtc[i]; 1987 crtc->funcs->dpms(crtc, DPMSModeOff); 1988 } 1989 i830WaitForVblank(pScrn); 1990 1991 if (IS_MOBILE(pI830) && !IS_I830(pI830)) #13 0xb7b7a00b in I830LeaveVT (scrnIndex=0, flags=0) at ../../src/i830_driver.c:3018 3018 RestoreHWState(pScrn); 3013 3014 xf86_hide_cursors (pScrn); 3015 3016 ResetState(pScrn, TRUE); 3017 3018 RestoreHWState(pScrn); 3019 3020 if (pI830->debug_modes) { 3021 i830CompareRegsToSnapshot(pScrn, "After LeaveVT"); 3022 i830DumpRegs (pScrn); I think there should be some problem when closing Xv. Thanks.
Created attachment 11583 [details] Xorg log.
Created attachment 11584 [details] xorg configuration file Please forget about the ForceEnablePipeA option.
Are you interested in my gdb logs? I've produced them by switching to VT, not by playing a second video.
Willi, regarding the backtraces, 2 things could happen: a) The backtrace matches the one I've posted. In that case it's not necessary you dupe it, unless there's some info I haven't provided. a) The backtrace is different, meaning that it's not referring to the same problem. Check if the problem is already reported or alternatively file a new bug report. In general having a backtrace is very useful in order to identify where the problem is and also to check if that's already reported. Thanks for you interest.
Created attachment 11983 [details] Xorg log of the crash with more recent git (20071007)
The backtrace I get: #0 XkbEnableDisableControls (xkbi=0x180, change=542, newValues=512, changes=0x0, cause=0xbfae01d4) at ../../xkb/xkbUtils.c:748 #1 0x0818d5f1 in XkbRemoveResourceClient (inDev=0x826f040, id=1096810496) at ../../xkb/xkbEvents.c:1014 #2 0x08085542 in CloseDevice (dev=0x826f040) at ../../dix/devices.c:602 #3 0x080857a9 in CloseDownDevices () at ../../dix/devices.c:624 #4 0x081ba4e3 in AbortServer () at ../../os/log.c:405 #5 0x081baa66 in FatalError ( f=0x81c4f4c "Caught signal %d. Server aborting\n") at ../../os/log.c:552 #6 0x080c64bd in xf86SigHandler (signo=11) at ../../../../hw/xfree86/common/xf86Events.c:764 #7 0xffffe420 in ?? () #8 0x0000000b in ?? () #9 0x00000033 in ?? () #10 0xc0100000 in ?? () #11 0x0000007b in ?? () #12 0x0000007b in ?? () #13 0x08218e80 in ?? () #14 0x08ecf5f0 in ?? () #15 0xbfae0618 in ?? () #16 0xbfae0600 in ?? () #17 0xb7affeec in ?? () from /usr/lib/xorg/modules/drivers//intel_drv.so #18 0x00000016 in ?? () #19 0xb7e0cff4 in ?? () from /lib/i686/cmov/libc.so.6 #20 0xfff60700 in ?? () #21 0x0000000e in ?? () #22 0x00000007 in ?? () #23 0xb7ad9075 in i830_free_memory (pScrn=0x8217aa0, mem=0x8ecf5f0) at ../../src/i830_memory.c:240 #24 0xb7adcdea in I830StopVideo (pScrn=0x8217aa0, data=0x8267924, shutdown=1) at ../../src/i830_video.c:1018 #25 0xb7adceeb in i830_crtc_dpms_video (crtc=0x8219fa8, on=0) at ../../src/i830_video.c:2846 #26 0xb7ace1e0 in i830_crtc_dpms (crtc=0x8219fa8, mode=3) at ../../src/i830_display.c:713 #27 0x080f0f3e in xf86DPMSSet (scrn=0x8217aa0, mode=3, flags=0) at ../../../../hw/xfree86/modes/xf86Crtc.c:1961 #28 0x080f162e in xf86SaveScreen (pScreen=0x8225fe8, mode=0) at ../../../../hw/xfree86/modes/xf86Crtc.c:1987 #29 0x0807caa3 in SaveScreens (on=2, mode=1) at ../../dix/window.c:3453 #30 0x080c5942 in DPMSSet (level=1) at ../../../../hw/xfree86/common/xf86DPMS.c:160 #31 0x081acb69 in ScreenSaverTimeoutExpire (timer=0x86562e0, now=2036720, arg=0x0) at ../../os/WaitFor.c:631 #32 0x081ace74 in DoTimer (timer=0x86562e0, now=542, prev=0x180) at ../../os/WaitFor.c:459 #33 0x081ad607 in WaitForSomething (pClientsReady=0xbfae0a50) at ../../os/WaitFor.c:293 #34 0x0808ce82 in Dispatch () at ../../dix/dispatch.c:425 #35 0x0807461b in main (argc=8, argv=0xbfae0f74, envp= Cannot access memory at address 0x188 ) at ../../dix/main.c:452
This is the relevant part: (In reply to comment #6) > #23 0xb7ad9075 in i830_free_memory (pScrn=0x8217aa0, mem=0x8ecf5f0) > at ../../src/i830_memory.c:240 > #24 0xb7adcdea in I830StopVideo (pScrn=0x8217aa0, data=0x8267924, shutdown=1) > at ../../src/i830_video.c:1018 > #25 0xb7adceeb in i830_crtc_dpms_video (crtc=0x8219fa8, on=0) > at ../../src/i830_video.c:2846 > #26 0xb7ace1e0 in i830_crtc_dpms (crtc=0x8219fa8, mode=3) > at ../../src/i830_display.c:713 > #27 0x080f0f3e in xf86DPMSSet (scrn=0x8217aa0, mode=3, flags=0) > at ../../../../hw/xfree86/modes/xf86Crtc.c:1961 > #28 0x080f162e in xf86SaveScreen (pScreen=0x8225fe8, mode=0) > at ../../../../hw/xfree86/modes/xf86Crtc.c:1987 > #29 0x0807caa3 in SaveScreens (on=2, mode=1) at ../../dix/window.c:3453 > #30 0x080c5942 in DPMSSet (level=1) > at ../../../../hw/xfree86/common/xf86DPMS.c:160 > #31 0x081acb69 in ScreenSaverTimeoutExpire (timer=0x86562e0, now=2036720, > arg=0x0) at ../../os/WaitFor.c:631 All the stuff above that is just fatal signal handling, which definitely needs to be improved, but it's not the cause of the crash.
latest git of intel driver fixes this issue for me it doesn t hang when trying to play the second or further videos , but I still can t switch to VT after I ve played video with xv. Segfault as in Bug#12451, similar backtrace
This looks like the bug I fixed yesterday, so it should be fixed for both reporters.
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.