Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 17 May 2009 19:00:33 +0200
From:      Lucius Windschuh <lwindschuh@googlemail.com>
To:        freebsd-x11@freebsd.org
Subject:   xf86-video-intel: Crashes when switching VTs
Message-ID:  <90a5caac0905171000xd0629bbl3f3baa5fe7d0f565@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
Hi.
I updated my ports, including xf86-video-intel to 2.7.1and the other
X-related ports.
The chipset is an Mobile Intel GM45 Express.

The server is mostly stable. But moving large videos around different
screens is still crashing the servers, I think (but don't dare to
test).

Another issue is more enerving: Switching with Ctrl+Alt+F1 from the X
server to ttyv0 causes an assertion to fail.
Backtrace from gdb:

#0  0x285e75e7 in kill () from /lib/libc.so.7
[New Thread 28701140 (LWP 100239)]
#1  0x284f8337 in raise () from /lib/libthr.so.3
#2  0x285e616a in abort () from /lib/libc.so.7
#3  0x285cc696 in __assert () from /lib/libc.so.7
#4  0x28817951 in I830EmitFlush (pScrn=0x28706c00) at i830_batchbuffer.h:78
78          assert(pI830->batch_ptr != NULL);
#5  0x28817bfc in I830Sync (pScrn=0x28706c00) at i830_accel.c:191
191        I830EmitFlush(pScrn);
#6  0x288257c6 in I830LeaveVT (scrnIndex=0, flags=0) at i830_driver.c:3428
3428       I830Sync(pScrn);
#7  0x080a56a8 in AbortDDX ()
#8  0x0812d1dd in AbortServer ()
#9  0x0812d7bf in FatalError ()
#10 0x080bc3b3 in xf86SigHandler ()
#11 <signal handler called>
#12 0x286a0754 in free_block () from /usr/local/lib/libdrm_intel.so.1
#13 0x286a098b in drm_intel_fake_bo_unreference_locked ()
   from /usr/local/lib/libdrm_intel.so.1
#14 0x286a0a82 in drm_intel_fake_bo_unreference ()
   from /usr/local/lib/libdrm_intel.so.1
#15 0x2869f3b6 in drm_intel_bo_unreference ()
   from /usr/local/lib/libdrm_intel.so.1
#16 0x28858574 in gen4_render_state_cleanup (pScrn=0x28706c00)
    at i965_render.c:1725
1725        drm_intel_bo_unreference(render_state->vs_state_bo);
#17 0x28825948 in I830LeaveVT (scrnIndex=0, flags=0) at i830_driver.c:3465
3465          gen4_render_state_cleanup(pScrn);
#18 0x28825c38 in I830CloseScreen (scrnIndex=0, pScreen=0x28720a80)
    at i830_driver.c:3677
3677          I830LeaveVT(scrnIndex, 0);
#19 0x0814d6fe in RRExtensionInit ()
#20 0x080c330e in xf86ChangeGammaRamp ()
#21 0x080bbec4 in xf86DPMSInit ()
#22 0x2861dff4 in XvCloseScreen ()
   from /usr/local/lib/xorg/modules/extensions//libextmod.so
#23 0x080d2d0c in xf86XvMCCreateAdaptorRec ()
#24 0x2862309d in XvMCCloseScreen ()
   from /usr/local/lib/xorg/modules/extensions//libextmod.so
#25 0x080bfec1 in VidModeExtensionInit ()
#26 0x08138cf5 in XFixesCursorInit ()
#27 0x081675ec in AnimCurInit ()
#28 0x08132c6b in CompositeExtensionInit ()
#29 0x286676da in glxCloseScreen ()
   from /usr/local/lib/xorg/modules/extensions//libglx.so
#30 0x0806bfb5 in main ()

Does anybody have a workaround other than downgrading to 2.5.1?
BTW: Disabling the assertion and executing the block in I830EmitFlush
only when batch_ptr != NULL does not help... ;-)

Regards

Lucius



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?90a5caac0905171000xd0629bbl3f3baa5fe7d0f565>