--- Begin Message ---
- To: Debian Bug Tracking System <submit@bugs.debian.org>
- Subject: libdrm-intel1 makes Xorg abort on glibc memory corruption
- From: Martin Jambor <nospam@jamborm.net>
- Date: Tue, 21 Apr 2009 13:35:45 +0200
- Message-id: <20090421113545.5638.71034.reportbug@alvy.suse.cz>
Package: libdrm-intel1
Version: 2.4.9-1
Severity: normal
Whenever I attempt to go to a textual virtual console, Xorg aborts on
glibc memory corruption. I have attached gdb to Xorg and this is the
session and backtraces (the first one is probably irrelevant but
short):
Program received signal SIGUSR1, User defined signal 1.
[Switching to Thread 0xb7992720 (LWP 5194)]
0xb7ef4424 in __kernel_vsyscall ()
(gdb) bt
#0 0xb7ef4424 in __kernel_vsyscall ()
#1 0xb7c82b29 in ioctl () from /lib/i686/cmov/libc.so.6
#2 0x080ca031 in xf86ProcessActionEvent (action=ACTION_SWITCHSCREEN, arg=0xbf812180)
at ../../../../hw/xfree86/common/xf86Events.c:238
#3 0x081bf35b in XkbDDXSwitchScreen (dev=0xc842680, key=67 'C', act=0x5606)
at ../../../../hw/xfree86/dixmods/xkbVT.c:55
#4 0x081a8a8e in _XkbFilterSwitchScreen (xkbi=0xc7eeb68, filter=0xcd9e928,
keycode=67, pAction=0xbf812288) at ../../xkb/xkbActions.c:979
#5 0x081a9f88 in XkbHandleActions (dev=0xc842680, kbd=0xc842680, xE=0xc834468,
count=1) at ../../xkb/xkbActions.c:1216
#6 0x081aa3d3 in XkbProcessKeyboardEvent (xE=0xc834468, keybd=0xc842680, count=1)
at ../../xkb/xkbPrKeyEv.c:186
#7 0x081a24c0 in AccessXFilterPressEvent (xE=0xc834468, keybd=0xc842680, count=1)
at ../../xkb/xkbAccessX.c:559
#8 0x081aa99e in ProcessKeyboardEvent (xE=0xc834468, keybd=0xc842680, count=1)
at ../../xkb/xkbPrKeyEv.c:222
#9 0x08111d22 in mieqProcessInputEvents () at ../../mi/mieq.c:474
#10 0x080ca157 in ProcessInputEvents ()
at ../../../../hw/xfree86/common/xf86Events.c:174
#11 0x0808c52e in Dispatch () at ../../dix/dispatch.c:363
#12 0x080719dd in main (argc=9, argv=0xbf812564, envp=Cannot access memory at address 0x560e
) at ../../dix/main.c:397
(gdb) c
Continuing.
Program received signal SIGABRT, Aborted.
0xb7ef4424 in __kernel_vsyscall ()
(gdb) bt
#0 0xb7ef4424 in __kernel_vsyscall ()
#1 0xb7bd3640 in *__GI_raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#2 0xb7bd5008 in *__GI_abort () at abort.c:88
#3 0xb7c10e1d in __libc_message (do_abort=2,
fmt=0xb7ceb188 "*** glibc detected *** %s: %s: 0x%s ***\n")
at ../sysdeps/unix/sysv/linux/libc_fatal.c:170
#4 0xb7c171d4 in malloc_printerr (action=2,
str=0xb7ceb260 "double free or corruption (out)", ptr=0xc7dbe08) at malloc.c:5994
#5 0xb7c19186 in *__GI___libc_free (mem=0xc7dbe08) at malloc.c:3625
#6 0xb78687ff in free_block (bufmgr_fake=0x8eb70f0, block=0xc7dbe08,
skip_dirty_copy=1) at ../../../libdrm/intel/intel_bufmgr_fake.c:478
#7 0xb7868901 in drm_intel_fake_bo_unreference_locked (bo=0x8eb8d68)
at ../../../libdrm/intel/intel_bufmgr_fake.c:880
#8 0xb786892c in drm_intel_fake_bo_unreference_locked (bo=0x8eb90f0)
at ../../../libdrm/intel/intel_bufmgr_fake.c:884
#9 0xb78689e2 in drm_intel_fake_bo_unreference (bo=0x8eb90f0)
at ../../../libdrm/intel/intel_bufmgr_fake.c:899
#10 0xb78673e6 in drm_intel_bo_unreference (bo=0x6)
at ../../../libdrm/intel/intel_bufmgr.c:73
#11 0xb78c4208 in gen4_render_state_cleanup (pScrn=0x8e73670)
at ../../src/i965_render.c:1727
#12 0xb78957bd in I830LeaveVT (scrnIndex=0, flags=0) at ../../src/i830_driver.c:3465
#13 0x080dce7a in xf86XVLeaveVT (index=0, flags=0)
at ../../../../hw/xfree86/common/xf86xv.c:1269
#14 0xb79627f9 in glxDRILeaveVT (index=0, flags=0) at ../../glx/glxdri.c:886
#15 0x080c9bd7 in xf86Wakeup (blockData=0x0, err=3, pReadmask=0x81f08c0)
at ../../../../hw/xfree86/common/xf86Events.c:514
#16 0x08090432 in WakeupHandler (result=3, pReadmask=0x81f08c0)
at ../../dix/dixutils.c:418
#17 0x0812fd8b in WaitForSomething (pClientsReady=0xc7fee38)
at ../../os/WaitFor.c:231
#18 0x0808c53e in Dispatch () at ../../dix/dispatch.c:367
#19 0x080719dd in main (argc=9, argv=0xbf812564, envp=Cannot access memory at address 0x1452
) at ../../dix/main.c:397
This happens every single time and started today after an xorg upgrade
(which I beleive brought in libdrm-intel1 for the first time).
I tried the 'experimental' packages too but they did not help.
This bug can cause data loss because all applications running in X are
killed. It also makes hibernation from within X impossible (and
pointless from outsite X, for me at least).
It is extemely annoying and I am williing to provide any information
necessary to resolve it (and my well-being sort of depends on that you
help me quickly :-)
Thank you very much in advance,
Martin
(PS: https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/348428 might be related)
-- System Information:
Debian Release: squeeze/sid
APT prefers oldstable
APT policy: (500, 'oldstable'), (500, 'unstable')
Architecture: i386 (i686)
Kernel: Linux 2.6.26-1-686 (SMP w/2 CPU cores)
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
Shell: /bin/sh linked to /bin/bash
Versions of packages libdrm-intel1 depends on:
ii libc6 2.9-7 GNU C Library: Shared libraries
ii libdrm2 2.4.9-1 Userspace interface to kernel DRM
libdrm-intel1 recommends no packages.
libdrm-intel1 suggests no packages.
-- no debconf information
--- End Message ---