Messages in this thread | | | Date | Fri, 18 Apr 2003 10:28:24 -0500 | Subject | Re: Kernels since 2.5.60 upto 2.5.67 freeze when X server terminates | From | (Florin Iucha) |
| |
On Wed, Apr 16, 2003 at 02:58:19PM +0100, Dave Jones wrote: > On Wed, Apr 16, 2003 at 08:15:36AM -0500, Florin Iucha wrote: > > > 00:00.0 Host bridge: Silicon Integrated Systems [SiS] 735 Host (rev 01) > > 01:00.0 VGA compatible controller: ATI Technologies Inc Radeon R200 QL > > [Radeon 8500 LE] > > > > Maybe the AGP code is trying to push some bits in the wrong > > port/address? > > SiS driver internals haven't changed (at least not under my hands), > so it should be poking the same bits in the same registers as the > 2.4 driver does. The only 'bits in wrong address' type bug outstanding > in agpgart is that the gatt_table address is potentially allocated as > a 64bit address and truncated to fit into 32bits, but that will only bite > you on a 64bit host that uses the generic gatt allocation routines. > (Namely x86-64).
With 2.5.67-bk8, agpgart and sis-agp compiled as modules and loaded: - X starts (I am using wdm as display manager) - direct rendering is enabled, according to /var/log/XFree86.0.log - start glxgears - framerate 130!!! It should be around 1900-2000 on my hardware (moons ago on XFree 4.2.1 + DRI snapshot) - after 15-20 seconds, the X session is restarted - back to wdm screen - I login, I logout and the machine freeze - the last words on serial console: [drm] Loading R200 Microcode double fault, gdt at c039df00 [255 bytes] double fault, tss at c0418800 eip = c0143a00, esp = ececbf0c eax = ee37dc60, ebx = ee37dc40, ecx = 0000007b, edx = 00000000 esi = ee37dc60, edi = edc0e0c0
With 2.5.67-bk8, agpgart and sis-agp built in: - no lockups - direct rendering is disabled - X crashes sometimes with the following traces:
eth0: Media Link On 100mbps full-duplex Please use the 'usbfs' filetype instead, the 'usbdevfs' name is deprecated. agpgart: Found an AGP 2.0 compliant device. agpgart: Putting AGP V2 device at 00:00.0 into 4x mode agpgart: Putting AGP V2 device at 01:00.0 into 4x mode [drm] Loading R200 Microcode agpgart: Found an AGP 2.0 compliant device. agpgart: Putting AGP V2 device at 00:00.0 into 4x mode agpgart: Putting AGP V2 device at 01:00.0 into 4x mode [drm] Loading R200 Microcode Unable to handle kernel paging request at virtual address fffffff0 printing eip: c0146147 *pde = 00001067 *pte = 00000000 Oops: 0000 [#1] CPU: 0 EIP: 0060:[<c0146147>] Not tainted EFLAGS: 00013286 EIP is at page_remove_rmap+0xb7/0x130 eax: ffffffff ebx: c14acc48 ecx: 0000000f edx: fffffff0 esi: dcd5ffc0 edi: ffffffff ebp: fffffff0 esp: da333b60 ds: 007b es: 007b ss: 0068 Process XFree86 (pid: 657, threadinfo=da332000 task=de0ced00) Stack: dcb72cc0 dcd5ffc0 da403a18 da403a18 0006e000 00100000 c14acc48 c0140495 c14acc48 da332000 da332000 00000000 1deb5045 dc8b5084 08618000 08318000 c0465758 c014053b c0465758 dc8b5080 08218000 00100000 08218000 dc8b5084 Call Trace: [<c0140495>] zap_pte_range+0x155/0x1b0 [<c014053b>] zap_pmd_range+0x4b/0x70 [<c01405a3>] unmap_page_range+0x43/0x70 [<c0140694>] unmap_vmas+0xc4/0x220 [<c01444cb>] exit_mmap+0x7b/0x190 [<c011bc44>] mmput+0x54/0xb0 [<c0159203>] exec_mmap+0xb3/0x130 [<c0159309>] flush_old_exec+0x19/0x850 [<c0159140>] kernel_read+0x50/0x60 [<c0175525>] load_elf_binary+0x2d5/0xb50 [<c01651e2>] dput+0x22/0x1e0 [<c021a187>] linvfs_readv+0x47/0x50 [<c0175250>] load_elf_binary+0x0/0xb50 [<c0159e7a>] search_binary_handler+0x8a/0x1d0 [<c015a1d1>] do_execve+0x211/0x260 [<c01093e0>] sys_execve+0x50/0x80 [<c010ab77>] syscall_call+0x7/0xb
Code: 8b 02 89 c5 83 e5 f0 74 04 0f 0d 45 00 89 c1 83 e1 0f 83 f9 <6>note: XFree86[657] exited with preempt_count 2 Unable to handle kernel paging request at virtual address 081e5788 printing eip: c0164857 *pde = 00000000 Oops: 0000 [#2] CPU: 0 EIP: 0060:[<c0164857>] Not tainted EFLAGS: 00013206 EIP is at locks_remove_posix+0x97/0x110 eax: de0ced00 ebx: dd6dfd20 ecx: 00000000 edx: 081e5760 esi: de84b040 edi: de84b040 ebp: 00000000 esp: da333988 ds: 007b es: 007b ss: 0068 Process XFree86 (pid: 657, threadinfo=da332000 task=de0ced00) Stack: 000003e8 00000005 0000000d 00000032 00000000 00000000 da3339c0 c0119948 de84b040 00000291 00003092 00000000 de3064c0 00000201 00000000 00000000 ffffffff 7fffffff 00000000 da332000 00003296 00000000 00100000 de826ac0 Call Trace: [<c0119948>] try_to_wake_up+0x128/0x1d0 [<c014ea5c>] filp_close+0x8c/0xd0 [<c011ecb7>] put_files_struct+0x57/0xc0 [<c011f816>] do_exit+0x146/0x370 [<c010bbb1>] die+0xe1/0xf0 [<c0118a2a>] do_page_fault+0x14a/0x457 [<c01355b0>] do_generic_mapping_read+0x1a0/0x3b0 [<c0168409>] update_atime+0xd9/0xe0 [<c0135a89>] __generic_file_aio_read+0x1b9/0x200 [<c01357c0>] file_read_actor+0x0/0x110 [<c01188e0>] do_page_fault+0x0/0x457 [<c010b581>] error_code+0x2d/0x38 [<c0146147>] page_remove_rmap+0xb7/0x130 [<c0140495>] zap_pte_range+0x155/0x1b0 [<c014053b>] zap_pmd_range+0x4b/0x70 [<c01405a3>] unmap_page_range+0x43/0x70 [<c0140694>] unmap_vmas+0xc4/0x220 [<c01444cb>] exit_mmap+0x7b/0x190 [<c011bc44>] mmput+0x54/0xb0 [<c0159203>] exec_mmap+0xb3/0x130 [<c0159309>] flush_old_exec+0x19/0x850 [<c0159140>] kernel_read+0x50/0x60 [<c0175525>] load_elf_binary+0x2d5/0xb50 [<c01651e2>] dput+0x22/0x1e0 [<c021a187>] linvfs_readv+0x47/0x50 [<c0175250>] load_elf_binary+0x0/0xb50 [<c0159e7a>] search_binary_handler+0x8a/0x1d0 [<c015a1d1>] do_execve+0x211/0x260 [<c01093e0>] sys_execve+0x50/0x80 [<c010ab77>] syscall_call+0x7/0xb
Code: 0f b6 42 28 24 01 84 c0 74 05 39 72 14 74 44 89 d3 8b 03 85 <6>note: XFree86[657] exited with preempt_count 3 Unable to handle kernel paging request at virtual address 09373844 printing eip: c0143a33 *pde = 00000000 Oops: 0000 [#3] CPU: 0 EIP: 0060:[<c0143a33>] Not tainted EFLAGS: 00013202 EIP is at find_vma+0x33/0x60 eax: 0937383c ebx: bfffe76c ecx: 00000000 edx: 09373854 esi: de826ac0 edi: de0ced00 ebp: bfffe76c esp: da257f04 ds: 007b es: 007b ss: 0068 Process XFree86 (pid: 658, threadinfo=da256000 task=de0ced00) Stack: de826ac0 de826ae0 c0118a68 de826ac0 bfffe76c 081c959c 00000001 00000001 dc4b8c00 00000000 00000000 00030001 00000000 00000000 40000000 40000000 00000000 00000000 00000000 00000000 08754c28 08768ed4 00000000 00000000 Call Trace: [<c0118a68>] do_page_fault+0x188/0x457 [<c014ea63>] filp_close+0x93/0xd0 [<c014ea63>] filp_close+0x93/0xd0 [<c01188e0>] do_page_fault+0x0/0x457 [<c010b581>] error_code+0x2d/0x38
Code: 39 58 08 76 1a 39 58 04 89 c1 76 07 8b 52 0c 85 d2 75 ea 85 unmap_vmas: VMA list is not sorted correctly! ------------[ cut here ]------------ kernel BUG at mm/mmap.c:1417! invalid operand: 0000 [#4] CPU: 0 EIP: 0060:[<c01445d2>] Not tainted EFLAGS: 00013202 EIP is at exit_mmap+0x182/0x190 eax: fffff8f1 ebx: 00000002 ecx: 00000000 edx: 00000000 esi: de826ac0 edi: da256000 ebp: de0ced00 esp: da257d9c ds: 007b es: 007b ss: 0068 Process XFree86 (pid: 658, threadinfo=da256000 task=de0ced00) Stack: da257db4 de826ac0 dc4b8e80 00000000 ffffffff da257db8 c0465758 0000070f de826ac0 00000000 00000000 c011bc44 de826ac0 c03b4fdc de826ac0 c011f7dd de826ac0 de826ac0 00000001 0000007b da256000 da257ed0 de0ced00 09373844 Call Trace: [<c011bc44>] mmput+0x54/0xb0 [<c011f7dd>] do_exit+0x10d/0x370 [<c010bbb1>] die+0xe1/0xf0 [<c0118a2a>] do_page_fault+0x14a/0x457 [<c0138941>] buffered_rmqueue+0xb1/0x150 [<c0138a72>] __alloc_pages+0x92/0x2c0 [<c013d945>] invalidate_vcache+0x35/0xf0 [<c014110d>] do_wp_page+0x1cd/0x370 [<c01188e0>] do_page_fault+0x0/0x457 [<c010b581>] error_code+0x2d/0x38 [<c0143a33>] find_vma+0x33/0x60 [<c0118a68>] do_page_fault+0x188/0x457 [<c014ea63>] filp_close+0x93/0xd0 [<c014ea63>] filp_close+0x93/0xd0 [<c01188e0>] do_page_fault+0x0/0x457 [<c010b581>] error_code+0x2d/0x38
Code: 0f 0b 89 05 a6 50 37 c0 e9 06 ff ff ff 90 83 ec 28 89 5c 24 <6>note: XFree86[658] exited with preempt_count 1 Unable to handle kernel paging request at virtual address 081e5788 printing eip: c0164857 *pde = 1c19e067 *pte = 00000000 Oops: 0000 [#5] CPU: 0 EIP: 0060:[<c0164857>] Not tainted EFLAGS: 00013206 EIP is at locks_remove_posix+0x97/0x110 eax: de0ced00 ebx: dd6dfd20 ecx: 00000000 edx: 081e5760 esi: df2f8e40 edi: df2f8e40 ebp: 00000000 esp: da257bd8 ds: 007b es: 007b ss: 0068 Process XFree86 (pid: 658, threadinfo=da256000 task=de0ced00) Stack: 000003e8 00000005 0000000d 00000032 00000000 00000000 da257c10 c0119948 df2f8e40 00000292 00003092 00000000 de3064c0 00000201 00000000 00000000 ffffffff 7fffffff 00000000 da256000 00003292 00000032 da257c50 00003292 Call Trace: [<c0119948>] try_to_wake_up+0x128/0x1d0 [<c014ea5c>] filp_close+0x8c/0xd0 [<c011ecb7>] put_files_struct+0x57/0xc0 [<c010bf30>] do_invalid_op+0x0/0xd0 [<c011f816>] do_exit+0x146/0x370 [<c010bf30>] do_invalid_op+0x0/0xd0 [<c010bbb1>] die+0xe1/0xf0 [<c010bff9>] do_invalid_op+0xc9/0xd0 [<c01445d2>] exit_mmap+0x182/0x190 [<c011a3f1>] __wake_up_common+0x31/0x50 [<c011df1d>] printk+0x11d/0x180 [<c010b581>] error_code+0x2d/0x38 [<c01445d2>] exit_mmap+0x182/0x190 [<c011bc44>] mmput+0x54/0xb0 [<c011f7dd>] do_exit+0x10d/0x370 [<c010bbb1>] die+0xe1/0xf0 [<c0118a2a>] do_page_fault+0x14a/0x457 [<c0138941>] buffered_rmqueue+0xb1/0x150 [<c0138a72>] __alloc_pages+0x92/0x2c0 [<c013d945>] invalidate_vcache+0x35/0xf0 [<c014110d>] do_wp_page+0x1cd/0x370 [<c01188e0>] do_page_fault+0x0/0x457 [<c010b581>] error_code+0x2d/0x38 [<c0143a33>] find_vma+0x33/0x60 [<c0118a68>] do_page_fault+0x188/0x457 [<c014ea63>] filp_close+0x93/0xd0 [<c014ea63>] filp_close+0x93/0xd0 [<c01188e0>] do_page_fault+0x0/0x457 [<c010b581>] error_code+0x2d/0x38
Code: 0f b6 42 28 24 01 84 c0 74 05 39 72 14 74 44 89 d3 8b 03 85 <6>note: XFree86[658] exited with preempt_count 2 mtrr: MTRR 1 not used mtrr: MTRR 1 not used serio: kseriod exiting Shutting down devices Power down. acpi_power_off called
With the same .config but with 67-ac2 the machine hungs with similar traces on the serial console.
florin
--
"NT is to UNIX what a doughnut is to a particle accelerator." [unhandled content-type:application/pgp-signature] | |