After my last update, i tried to start glxgears, and I got Segmentation fault. This appens with any opengl app,also glxinfo. Reproducible: Always Steps to Reproduce: 1.Update deep world, including mesa-6.5.2-r1 2.start X 3.start glxgears, or any opengl app Actual Results: Apps don't start, and returns Segmentation fault Versions: x11-drivers/xf86-video-via-0.2.2 x11-base/xorg-server-1.2.0-r3 x11-libs/libdrm-2.3.0 >=media-libs/mesa-6.5.2-r1 +Kernels's drm(via) of gentoo-sources-2.6.20-r7 Dmesg of segfault: BUG: unable to handle kernel NULL pointer dereference at virtual address 00000004 printing eip: c0124db7 *pde = 00000000 Oops: 0002 [#1] Modules linked in: rt2500 snd_via82xx snd_ac97_codec ac97_bus snd_mpu401_uart snd_rawmidi ehci_hcd uhci_hcd CPU: 0 EIP: 0060:[<c0124db7>] Not tainted VLI EFLAGS: 00210046 (2.6.20-gentoo-r7-eddy #1) EIP is at add_wait_queue+0x10/0x1d eax: cdc04998 ebx: 00000000 ecx: c78e7ed4 edx: c78e7ec8 esi: 00200246 edi: ffffa263 ebp: c78e7f0c esp: c78e7eb0 ds: 007b es: 007b ss: 0068 Process glxgears (pid: 5124, ti=c78e6000 task=cde0ca70 task.ti=c78e6000) Stack: cdc04800 cdc04800 c02a0122 00000040 c78e7ee0 00000000 00000000 cde0ca70 c01145ba 00000000 00000000 00000000 cdc04800 00000000 c050df30 c029c075 ffffffff c7ce0240 00000000 00000000 00000000 00000000 00000000 00000000 Call Trace: [<c02a0122>] via_driver_vblank_wait+0xb9/0x12b [<c01145ba>] default_wake_function+0x0/0xc [<c029c075>] drm_wait_vblank+0x1ed/0x23c [<c0124d10>] autoremove_wake_function+0x0/0x35 [<c029be88>] drm_wait_vblank+0x0/0x23c [<c029aa6c>] drm_ioctl+0x14b/0x193 [<c0101e47>] __switch_to+0x102/0x163 [<c010643a>] make_8259A_irq+0x2c/0x3b [<c029a921>] drm_ioctl+0x0/0x193 [<c0152706>] do_ioctl+0x3e/0x4d [<c0152919>] vfs_ioctl+0x204/0x21b [<c0152963>] sys_ioctl+0x33/0x4c [<c0102ac6>] sysenter_past_esp+0x5f/0x85 [<c010643a>] make_8259A_irq+0x2c/0x3b ======================= Code: 8b 43 04 89 41 04 89 08 c7 43 04 00 02 20 00 c7 42 0c 00 01 10 00 56 9d 5b 5e c3 56 83 22 fe 53 9c 5e fa 8b 18 8d 4a 0c 89 5a 0c <89> 4b 04 89 08 89 41 04 56 9d 5b 5e c3 56 83 0a 01 53 9c 5e fa EIP: [<c0124db7>] add_wait_queue+0x10/0x1d SS:ESP 0068:c78e7eb0
Partially solved removing kernel's drm and emerging x11-drm modules (20070314). Should this bug be passed to gentoo-sources developers?
(In reply to comment #1) > Partially solved removing kernel's drm and emerging x11-drm modules (20070314). > > Should this bug be passed to gentoo-sources developers? > Is this still true of the new kernel (2.6.21)?
Yes it is. I tried today with 2.6.21, and it has the same problem.
Still present in 2.6.21-gentoo-r4: posting kernel error message so people can find this bug: BUG: unable to handle kernel NULL pointer dereference at virtual address 00000004 printing eip: c0121c78 *pde = 00000000 Oops: 0002 [#1] PREEMPT CPU: 0 EIP: 0060:[<c0121c78>] Not tainted VLI EFLAGS: 00013002 (2.6.21-gentoo-r4 #1) EIP is at add_wait_queue+0x18/0x40 eax: cdc08980 ebx: 00000000 ecx: cd075eb8 edx: cd075eac esi: 00003246 edi: 0011e9b3 ebp: 00000000 esp: cd075e6c ds: 007b es: 007b fs: 00d8 gs: 0033 ss: 0068 Process X (pid: 3831, ti=cd074000 task=cd222a50 task.ti=cd074000) Stack: cd075eac cdc08800 c02069c7 cdc5ac80 c02da1d7 00000000 cd075f04 00000000 00000000 cd222a50 c010dc70 00000000 00000000 0401a8c0 cdfee2a0 cdfea400 00000000 cd222a50 c010dc70 00000000 00000000 00000000 cd075f00 bfc22284 Call Trace: [<c02069c7>] via_driver_vblank_wait+0xc7/0x140 [<c02da1d7>] tcp_v4_rcv+0x3c7/0x5d0 [<c010dc70>] default_wake_function+0x0/0x10 [<c010dc70>] default_wake_function+0x0/0x10 [<c020286a>] drm_wait_vblank+0x26a/0x2b0 [<c0201253>] drm_ioctl+0x153/0x1a0 [<c013960f>] __handle_mm_fault+0xbf/0x200 [<c0202600>] drm_wait_vblank+0x0/0x2b0 [<c010643a>] dma_alloc_coherent+0xba/0x100 [<c0151f34>] do_ioctl+0x54/0x70 [<c010643a>] dma_alloc_coherent+0xba/0x100 [<c01521b2>] vfs_ioctl+0x172/0x180 [<c01521f2>] sys_ioctl+0x32/0x50 [<c01026a0>] syscall_call+0x7/0xb [<c010643a>] dma_alloc_coherent+0xba/0x100 ======================= Code: 90 90 90 83 ec 10 89 00 89 40 04 83 c4 10 c3 8d 74 26 00 56 53 83 22 fe 9c 5e fa 89 e1 81 e1 00 e0 ff ff ff 41 14 8d 4a 0c 8b 18 <89> 4b 04 89 5a 0c 89 41 04 89 08 56 9d 89 e0 25 00 e0 ff ff ff EIP: [<c0121c78>] add_wait_queue+0x18/0x40 SS:ESP 0068:cd075e6c note: X[3831] exited with preempt_count 1 BUG: scheduling while atomic: X/0x10000001/3831 [<c03070b7>] __sched_text_start+0x57/0x560 [<c0137a7c>] unmap_page_range+0xbc/0x110 [<c010e7b6>] __cond_resched+0x16/0x40 [<c0307d36>] cond_resched+0x26/0x40 [<c0137c17>] unmap_vmas+0x147/0x1b0 [<c013be16>] exit_mmap+0x66/0xf0 [<c010ee4f>] mmput+0x1f/0x80 [<c0113374>] do_exit+0x194/0x340 [<c01031ed>] die+0x1cd/0x1e0 [<c010c75d>] do_page_fault+0x45d/0x540 [<c0102913>] common_interrupt+0x23/0x30 [<c010c300>] do_page_fault+0x0/0x540 [<c0308ab4>] error_code+0x74/0x80 [<c0121c78>] add_wait_queue+0x18/0x40 [<c02069c7>] via_driver_vblank_wait+0xc7/0x140 [<c02da1d7>] tcp_v4_rcv+0x3c7/0x5d0 [<c010dc70>] default_wake_function+0x0/0x10 [<c010dc70>] default_wake_function+0x0/0x10 [<c020286a>] drm_wait_vblank+0x26a/0x2b0 [<c0201253>] drm_ioctl+0x153/0x1a0 [<c013960f>] __handle_mm_fault+0xbf/0x200 [<c0202600>] drm_wait_vblank+0x0/0x2b0 [<c010643a>] dma_alloc_coherent+0xba/0x100 [<c0151f34>] do_ioctl+0x54/0x70 [<c010643a>] dma_alloc_coherent+0xba/0x100 [<c01521b2>] vfs_ioctl+0x172/0x180 [<c01521f2>] sys_ioctl+0x32/0x50 [<c01026a0>] syscall_call+0x7/0xb [<c010643a>] dma_alloc_coherent+0xba/0x100 ======================= [drm:drm_release] *ERROR* Device busy: 1 0
workaround with no in-kernel drm and emerging x11-drm modules didn't work for me. The only difference: X doesn't get killed anymore but freezes instead. @Edoardo: Please increase severity to "major".
Still true in linux 2.6.22. (Tried also with mesa 7) Severity increased
Please test with the latest stuff to see if this is still a problem -- 2.6.25 and mesa 7.0.3 -- and reopen with results.