i810 1.7.4 driver lockups
Thomas Hellström
thomas at tungstengraphics.com
Thu Feb 1 10:51:40 PST 2007
Roderick Greening wrote:
> Thanks for the info. I cloned a copy of the repo, and built the
> modules. I copied them to the correct location and updated the
> dependencies.
>
> Tried a reload, however, got the following:
>
> Feb 1 14:52:24 prometheus drm: disagrees about version of symbol
> agp_bind_memory
> Feb 1 14:52:24 prometheus drm: Unknown symbol agp_bind_memory
> Feb 1 14:52:24 prometheus drm: disagrees about version of symbol
> agp_enable
> Feb 1 14:52:24 prometheus drm: Unknown symbol agp_enable
> Feb 1 14:52:24 prometheus drm: disagrees about version of symbol
> agp_find_bridge
> Feb 1 14:52:24 prometheus drm: Unknown symbol agp_find_bridge
> Feb 1 14:52:24 prometheus drm: disagrees about version of symbol
> agp_backend_acquire
> Feb 1 14:52:24 prometheus drm: Unknown symbol agp_backend_acquire
> Feb 1 14:52:24 prometheus drm: disagrees about version of symbol
> agp_free_memory
> Feb 1 14:52:24 prometheus drm: Unknown symbol agp_free_memory
> Feb 1 14:52:24 prometheus drm: disagrees about version of symbol
> agp_allocate_memory
> Feb 1 14:52:24 prometheus drm: Unknown symbol agp_allocate_memory
> Feb 1 14:52:24 prometheus drm: disagrees about version of symbol
> agp_unbind_memory
> Feb 1 14:52:24 prometheus drm: Unknown symbol agp_unbind_memory
> Feb 1 14:52:24 prometheus drm: disagrees about version of symbol
> agp_copy_info
> Feb 1 14:52:24 prometheus drm: Unknown symbol agp_copy_info
> Feb 1 14:52:24 prometheus drm: disagrees about version of symbol
> agp_backend_release
> Feb 1 14:52:24 prometheus drm: Unknown symbol agp_backend_release
> Feb 1 14:57:02 prometheus drm: disagrees about version of symbol
> agp_bind_memory
> Feb 1 14:57:02 prometheus drm: Unknown symbol agp_bind_memory
> Feb 1 14:57:02 prometheus drm: disagrees about version of symbol
> agp_enable
> Feb 1 14:57:02 prometheus drm: Unknown symbol agp_enable
> Feb 1 14:57:02 prometheus drm: disagrees about version of symbol
> agp_find_bridge
> Feb 1 14:57:02 prometheus drm: Unknown symbol agp_find_bridge
> Feb 1 14:57:02 prometheus drm: disagrees about version of symbol
> agp_backend_acquire
> Feb 1 14:57:02 prometheus drm: Unknown symbol agp_backend_acquire
> Feb 1 14:57:02 prometheus drm: disagrees about version of symbol
> agp_free_memory
> Feb 1 14:57:02 prometheus drm: Unknown symbol agp_free_memory
> Feb 1 14:57:02 prometheus drm: disagrees about version of symbol
> agp_allocate_memory
> Feb 1 14:57:02 prometheus drm: Unknown symbol agp_allocate_memory
> Feb 1 14:57:02 prometheus drm: disagrees about version of symbol
> agp_unbind_memory
> Feb 1 14:57:02 prometheus drm: Unknown symbol agp_unbind_memory
> Feb 1 14:57:02 prometheus drm: disagrees about version of symbol
> agp_copy_info
> Feb 1 14:57:02 prometheus drm: Unknown symbol agp_copy_info
> Feb 1 14:57:02 prometheus drm: disagrees about version of symbol
> agp_backend_release
> Feb 1 14:57:02 prometheus drm: Unknown symbol agp_backend_release
> Feb 1 14:57:07 prometheus drm: disagrees about version of symbol
> agp_bind_memory
> Feb 1 14:57:07 prometheus drm: Unknown symbol agp_bind_memory
> Feb 1 14:57:07 prometheus drm: disagrees about version of symbol
> agp_enable
> Feb 1 14:57:07 prometheus drm: Unknown symbol agp_enable
> Feb 1 14:57:07 prometheus drm: disagrees about version of symbol
> agp_find_bridge
> Feb 1 14:57:07 prometheus drm: Unknown symbol agp_find_bridge
> Feb 1 14:57:07 prometheus drm: disagrees about version of symbol
> agp_backend_acquire
> Feb 1 14:57:07 prometheus drm: Unknown symbol agp_backend_acquire
> Feb 1 14:57:07 prometheus drm: disagrees about version of symbol
> agp_free_memory
> Feb 1 14:57:07 prometheus drm: Unknown symbol agp_free_memory
> Feb 1 14:57:07 prometheus drm: disagrees about version of symbol
> agp_allocate_memory
> Feb 1 14:57:07 prometheus drm: Unknown symbol agp_allocate_memory
> Feb 1 14:57:07 prometheus drm: disagrees about version of symbol
> agp_unbind_memory
> Feb 1 14:57:07 prometheus drm: Unknown symbol agp_unbind_memory
> Feb 1 14:57:07 prometheus drm: disagrees about version of symbol
> agp_copy_info
> Feb 1 14:57:07 prometheus drm: Unknown symbol agp_copy_info
> Feb 1 14:57:07 prometheus drm: disagrees about version of symbol
> agp_backend_release
> Feb 1 14:57:07 prometheus drm: Unknown symbol agp_backend_release
> Feb 1 14:57:07 prometheus i915: Unknown symbol drm_open
> Feb 1 14:57:07 prometheus i915: Unknown symbol drm_fasync
> Feb 1 14:57:07 prometheus i915: Unknown symbol drm_fence_handler
> Feb 1 14:57:07 prometheus i915: Unknown symbol drm_poll
> Feb 1 14:57:07 prometheus i915: Unknown symbol drm_core_get_reg_ofs
> Feb 1 14:57:07 prometheus i915: Unknown symbol drm_calloc
> Feb 1 14:57:07 prometheus i915: Unknown symbol drm_agp_init_ttm
> Feb 1 14:57:07 prometheus i915: Unknown symbol drm_pci_alloc
> Feb 1 14:57:07 prometheus i915: Unknown symbol drm_irq_uninstall
> Feb 1 14:57:07 prometheus i915: Unknown symbol drm_get_dev
> Feb 1 14:57:07 prometheus i915: Unknown symbol drm_ioctl
> Feb 1 14:57:07 prometheus i915: Unknown symbol drm_bo_driver_init
> Feb 1 14:57:07 prometheus i915: Unknown symbol drm_exit
> Feb 1 14:57:07 prometheus i915: Unknown symbol drm_debug
> Feb 1 14:57:07 prometheus i915: Unknown symbol drm_core_get_map_ofs
> Feb 1 14:57:07 prometheus i915: Unknown symbol drm_get_drawable_info
> Feb 1 14:57:07 prometheus i915: Unknown symbol drm_init
> Feb 1 14:57:07 prometheus i915: Unknown symbol drm_fence_flush_old
> Feb 1 14:57:07 prometheus i915: Unknown symbol drm_locked_tasklet
> Feb 1 14:57:07 prometheus i915: Unknown symbol drm_vbl_send_signals
> Feb 1 14:57:07 prometheus i915: Unknown symbol drm_cleanup_pci
> Feb 1 14:57:07 prometheus i915: Unknown symbol drm_pci_free
> Feb 1 14:57:07 prometheus i915: Unknown symbol drm_mmap
> Feb 1 14:57:07 prometheus i915: Unknown symbol drm_core_reclaim_buffers
> Feb 1 14:57:07 prometheus i915: Unknown symbol drm_release
>
> Perhaps I did something wrong... I'll try again...
>
After installing the new agpgart you need to remove the kernel source
"Module.symvers" and
rebuild drm. The "Module.symvers" file still contains the old agpgart
symbols.
/Thomas
>
>> From: Thomas Hellström <thomas at tungstengraphics.com>
>> To: "Andrew J. Barr" <andrew.james.barr at gmail.com>
>> CC: Roderick Greening <roderick_greening at hotmail.com>,
>> xorg at lists.freedesktop.org
>> Subject: Re: i810 1.7.4 driver lockups
>> Date: Thu, 01 Feb 2007 19:19:32 +0100
>> MIME-Version: 1.0
>> Received: from lin5.shipmail.org ([82.182.75.118]) by
>> bay0-mc7-f19.bay0.hotmail.com with Microsoft SMTPSVC(6.0.3790.2444);
>> Thu, 1 Feb 2007 10:19:33 -0800
>> Received: from [127.0.0.1] (localhost [127.0.0.1])by
>> lin5.shipmail.org (Postfix) with ESMTP id 5C9433565E1;Thu, 1 Feb
>> 2007 19:19:32 +0100 (CET)
>> X-Message-Info: txF49lGdW41F6lUqTqIeHQE2Srdt6UEqZyxF+4q5F5I=
>> User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.7.8)
>> Gecko/20050511
>> X-Accept-Language: sv, en-us, en
>> References: <BAY116-F13BF76FE4B25CAB570838684A40 at phx.gbl>
>> <1170352303.6665.4.camel at localhost>
>> Return-Path: thomas at tungstengraphics.com
>> X-OriginalArrivalTime: 01 Feb 2007 18:19:34.0366 (UTC)
>> FILETIME=[864797E0:01C7462D]
>>
>> Andrew J. Barr wrote:
>>
>>> On Thu, 2007-02-01 at 14:04 -0330, Roderick Greening wrote:
>>>
>>>
>>>> I went back trough my logs, and I located this in /var/log/messages:
>>>>
>>>> Feb 1 11:26:59 prometheus BUG: unable to handle kernel NULL
>>>> pointer dereference at virtual address 00000029
>>>> Feb 1 11:26:59 prometheus printing eip:
>>>> Feb 1 11:26:59 prometheus f9080503
>>>> Feb 1 11:26:59 prometheus *pde = 00000000
>>>> Feb 1 11:26:59 prometheus Oops: 0002 [#1]
>>>> Feb 1 11:26:59 prometheus PREEMPT SMP
>>>> Feb 1 11:26:59 prometheus Modules linked in: i915 drm snd_rtctimer
>>>> snd_pcm_oss snd_mixer_oss snd_seq_oss snd_seq_midi_event snd_seq
>>>> snd_usb_audio snd_usb_lib snd_rawmidi snd_seq_device snd_hwdep
>>>> video thermal processor fan button battery ac sbs i2c_ec acerhk
>>>> usbhid ipw3945(F) ieee80211 ieee80211_crypt yenta_socket
>>>> rsrc_nonstatic r8169 firmware_class pcmcia_core snd_hda_intel
>>>> snd_hda_codec psmouse snd_pcm snd_timer snd pcspkr i2c_i801
>>>> intel_agp agpgart soundcore snd_page_alloc
>>>> Feb 1 11:26:59 prometheus CPU: 1
>>>> Feb 1 11:26:59 prometheus EIP: 0060:[<f9080503>] Tainted:
>>>> GF VLI
>>>> Feb 1 11:26:59 prometheus EFLAGS: 00210246 (2.6.19-gentoo-r5 #1)
>>>> Feb 1 11:26:59 prometheus EIP is at drm_agp_bind_ttm+0x83/0xb0 [drm]
>>>> Feb 1 11:26:59 prometheus eax: 00000001 ebx: f5ae21c0 ecx:
>>>> 00000000 edx: 0000e000
>>>> Feb 1 11:26:59 prometheus esi: 00000000 edi: c223ebe0 ebp:
>>>> 00000000 esp: f74bdd78
>>>> Feb 1 11:26:59 prometheus ds: 007b es: 007b ss: 0068
>>>> Feb 1 11:26:59 prometheus Process glxgears (pid: 10103,
>>>> ti=f74bc000 task=f760a560 task.ti=f74bc000)
>>>> Feb 1 11:26:59 prometheus Stack: f9084301 00000001 0000e000
>>>> 00000000 00000100 f51539c0 f5ae21c0 f90843a9
>>>> Feb 1 11:26:59 prometheus f731b0c0 f71d0800 0000e000 00000000
>>>> f71d0c98 00000000 f71d081c f731b0c0
>>>> Feb 1 11:26:59 prometheus f71d0800 f9086621 00000000 f9081d38
>>>> f713b8c0 03000000 f731b0c0 00000000
>>>> Feb 1 11:26:59 prometheus Call Trace:
>>>> Feb 1 11:26:59 prometheus [<f9084301>] drm_set_caching+0xa1/0xf0
>>>> [drm]
>>>> Feb 1 11:26:59 prometheus [<f90843a9>] drm_bind_ttm+0x59/0x1f0 [drm]
>>>> Feb 1 11:26:59 prometheus [<f9086621>]
>>>> drm_bo_move_buffer+0xc1/0x190 [drm]
>>>> Feb 1 11:26:59 prometheus [<f9081d38>] drm_ht_find_item+0x8/0x20
>>>> [drm]
>>>> Feb 1 11:26:59 prometheus [<f9086976>]
>>>> drm_buffer_object_validate+0x286/0x2e0 [drm]
>>>> Feb 1 11:26:59 prometheus [<f9085dee>]
>>>> drm_lookup_buffer_object+0x1e/0x90 [drm]
>>>> Feb 1 11:26:59 prometheus [<f9087497>] drm_bo_ioctl+0x837/0x870 [drm]
>>>> Feb 1 11:26:59 prometheus [<c011bab0>] default_wake_function+0x0/0x10
>>>> Feb 1 11:26:59 prometheus [<f9086c60>] drm_bo_ioctl+0x0/0x870 [drm]
>>>> Feb 1 11:26:59 prometheus [<f907b12e>] drm_ioctl+0xae/0x210 [drm]
>>>> Feb 1 11:26:59 prometheus [<c030fdaa>] schedule+0x32a/0x910
>>>> Feb 1 11:26:59 prometheus [<c030fddc>] schedule+0x35c/0x910
>>>> Feb 1 11:26:59 prometheus [<f9086c60>] drm_bo_ioctl+0x0/0x870 [drm]
>>>> Feb 1 11:26:59 prometheus [<c0177a48>] do_ioctl+0x78/0x90
>>>> Feb 1 11:26:59 prometheus [<c0177abc>] vfs_ioctl+0x5c/0x2b0
>>>> Feb 1 11:26:59 prometheus [<c0177d82>] sys_ioctl+0x72/0x90
>>>> Feb 1 11:26:59 prometheus [<c01032c1>] sysenter_past_esp+0x56/0x79
>>>> Feb 1 11:26:59 prometheus =======================
>>>> Feb 1 11:26:59 prometheus Code: f9 89 44 24 04 c7 04 24 30 9f 08
>>>> f9 e8 47 2d 0a c7 89 d8 8b 74 24 10 8b 5c 24 0c 8b 7c 24 14 8b 6c
>>>> 24 18 83 c4 1c c3 90 89 43 08 <c6> 46 29 01
>>>> 8b 47 10 eb b4 8d 74 26 00 b8 53 80 08 f9 89 44 24
>>>> Feb 1 11:26:59 prometheus EIP: [<f9080503>]
>>>> drm_agp_bind_ttm+0x83/0xb0 [drm] SS:ESP 0068:f74bdd78
>>>>
>>>> I assume this will help someone determine where the problem lies.
>>>>
>>>>
>>>
>>> Just a simple sanity check, but you could check to see what patches
>>> Gentoo applies to that version of the kernel. See if they touch any of
>>> the DRM code or drivers.
>>>
>>> Andrew
>>>
>>>
>>>
>> The error is caused by the fact that the new drm memory manager is
>> used with the wrong agpgart
>> version. Newer drm versions detect this and abort without an oops,
>> but it is quite tricky to
>> make the i810 xorg driver detect this early enough and revert to
>> legacy 3D.
>>
>> The correct agpgart version to use (0.102) can be found in the latest
>> -mm kernel or at
>>
>> git://git.freedesktop.org/git/mesa/linux-agp-compat.
>>
>> /Thomas
>>
>>
>
>
More information about the xorg
mailing list