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