fglrx: Unknown symbol find_task_by_vpid

Bug #394985 reported by iMac
48
This bug affects 5 people
Affects Status Importance Assigned to Milestone
fglrx-installer (Ubuntu)
Fix Released
High
Unassigned

Bug Description

After updating to 2.6.31 and adding blacklists for drm, radeon and ttm (module will not attempt to load with these other conflicting modules present), I receive this unkown symbol message in dmesg. fglrx does not load.

Notably, in previous 2.6.30 kernel we have no problem after unloading a i915 conflicting module (no idea why this is happening, tracked separately at https://bugs.launchpad.net/ubuntu/+source/fglrx-installer/+bug/392039). So its back to 2.6.30 for compiz for now.

A quick google did not help me figure out how to resolve this missing dependency kernel dependency.

Linux imac-karmic 2.6.31-1-generic #14-Ubuntu SMP Thu Jul 2 16:02:38 UTC 2009 x86_64 GNU/Linux
ii fglrx-kernel-source 2:8.620-0ubuntu3
fglrx, 8.620, 2.6.30-8-generic, x86_64: installed
fglrx, 8.620, 2.6.31-1-generic, x86_64: installed

ProblemType: Bug
Architecture: amd64
Date: Thu Jul 2 22:33:09 2009
DistroRelease: Ubuntu 9.10
MachineType: Hewlett-Packard HP Pavilion dv7 Notebook PC
Package: fglrx-kernel-source 2:8.620-0ubuntu3
ProcCmdLine: BOOT_IMAGE=/boot/vmlinuz-2.6.31-1-generic root=UUID=27009b37-d288-4f07-9892-1fe2c70be35f ro quiet splash
ProcEnviron:
 LANG=en_CA.UTF-8
 SHELL=/bin/bash
ProcVersionSignature: Ubuntu 2.6.31-1.14-generic
RelatedPackageVersions:
 xserver-xorg 1:7.4+3ubuntu4
 libgl1-mesa-glx 7.5~rc4-1ubuntu2
 libdrm2 2.4.11-0ubuntu1
 xserver-xorg-video-intel 2:2.7.99.1+git20090602.ec2fde7c-0ubuntu4
 xserver-xorg-video-ati 1:6.12.99+git20090629.f39cafc5-0ubuntu1
SourcePackage: fglrx-installer
Uname: Linux 2.6.31-1-generic x86_64
dmi.bios.date: 10/02/2008
dmi.bios.vendor: Hewlett-Packard
dmi.bios.version: F.23
dmi.board.asset.tag: Base Board Asset Tag
dmi.board.name: 30FD
dmi.board.vendor: Hewlett-Packard
dmi.board.version: 01.69
dmi.chassis.type: 10
dmi.chassis.vendor: Hewlett-Packard
dmi.chassis.version: N/A
dmi.modalias: dmi:bvnHewlett-Packard:bvrF.23:bd10/02/2008:svnHewlett-Packard:pnHPPaviliondv7NotebookPC:pvr1:rvnHewlett-Packard:rn30FD:rvr01.69:cvnHewlett-Packard:ct10:cvrN/A:
dmi.product.name: HP Pavilion dv7 Notebook PC
dmi.product.version: 1
dmi.sys.vendor: Hewlett-Packard
fglrx: Not loaded
system:
 distro: Ubuntu
 architecture: x86_64kernel: 2.6.31-1-generic

[lspci]
01:00.0 VGA compatible controller [0300]: ATI Technologies Inc Mobility Radeon HD 3400 Series [1002:95c4]
     Subsystem: Hewlett-Packard Company Device [103c:30fc]

Revision history for this message
iMac (imac-netstatz) wrote :
Revision history for this message
Robert Hooker (sarvatt) wrote :

Looks like we need a EXPORT_SYMBOL(find_task_by_vpid); in kernel/pid.c for 2.6.31 support in fglrx..

Revision history for this message
Robert Hooker (sarvatt) wrote :

Here is where find_task_by_vpid was removed incase it helps find a workaround.

http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=17f98dcf6010a1cfd25d179fd0ce77d3dc2685c3

Revision history for this message
nicomen (mendoza-pvv) wrote :

Any way to fix temporarily without recompiling kernel?

Changed in fglrx-installer (Ubuntu):
importance: Undecided → High
status: New → Confirmed
Revision history for this message
Kimiko Koopman (kimiko) wrote :

You can fix it temporarily by commenting out the calls to find_task_by_* in /usr/src/fglrx-8.620/firegl_public.c and replacing them with a 0, then use dkms to recompile/install the module. It probably breaks something in horrible ways, but at least you'll be able to use X again.

Revision history for this message
Dana Goyette (danagoyette) wrote :

Slightly better than that is the patch here: http://www.phoronix.com/forums/showthread.php?t=17731&page=21

Aside from fixing 2.6.30 compatibility, ATI / AMD should replace all their calls, as shown in Kano's patch; so far, that symbol removal seems to be the only significant change from 2.6.30 to 2.6.31.

With that patch in place, fglrx works well enough, though it still gets those "*ERROR* map not found -> inconsistent kernel data!!!" messages that also occur in 2.6.30.

Revision history for this message
Niall Creech (sevenmachines-deactivatedaccount) wrote :

* moved find_task_by_vpid to pid_task to fix,
     - add file find_task_by_vpid.patch to /usr/src/fglrx-8.620/patches/
     - add following lines to /usr/src/fglrx-8.620/dkms.conf
PATCH[6]="find_task_by_vpid.patch"
PATCH_MATCH[6]="2.6.3[1]"
     - rebuild dkms module

****** find_task_by_vpid.patch ******

diff -ruN fglrx-8.620.orig/firegl_public.c fglrx-8.620/firegl_public.c
--- fglrx-8.620.orig/firegl_public.c 2009-07-30 02:29:19.000000000 +0100
+++ fglrx-8.620/firegl_public.c 2009-07-30 02:47:43.000000000 +0100
@@ -1292,7 +1292,10 @@
 #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,26)
    p = find_task_by_pid( pid );
 #else
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30)
    p = find_task_by_vpid( pid );
+else p = pid_task( pid, PIDTYPE_PID );
+#endif
 #endif
    if (p)
    {

Revision history for this message
Niall Creech (sevenmachines-deactivatedaccount) wrote :

https://launchpad.net/~dinxter/+archive/ppa
added find_task_by_vpid.patch to ppa (fglrx-installer - 2:8.620-0ubuntu4~ppa3 )

Revision history for this message
Michael Helmling (supermihi) wrote :

Still doesn't work for me. The module now compiles, but I get this in syslog:

Jul 31 11:30:15 michi-pc kernel: [ 437.158211] [fglrx] Maximum main memory to use for locked dma buffers: 3800 MBytes.
Jul 31 11:30:15 michi-pc kernel: [ 437.158310] [fglrx] vendor: 1002 device: 9501 count: 1
Jul 31 11:30:18 michi-pc kernel: [ 437.158542] [fglrx] ioport: bar 4, base 0xb000, size: 0x100
Jul 31 11:30:18 michi-pc kernel: [ 437.158710] [fglrx] Driver built-in PAT support is enabled successfully
Jul 31 11:30:18 michi-pc kernel: [ 437.158713] [fglrx:firegl_init_module] *ERROR* firegl_stub_register failed

And a blank screen. :-)

Revision history for this message
Michael Helmling (supermihi) wrote :

Sorry, maybe I was wrong. Just tried again and now it works ... might be that I forgot to unload the radeon module before.

Revision history for this message
tippettm (tippettm) wrote : Re: [Bug 394985] [NEW] fglrx: Unknown symbol find_task_by_vpid

Make sure you remove drm too

On 7/31/09, Michael Helmling <email address hidden> wrote:
> Sorry, maybe I was wrong. Just tried again and now it works ... might be
> that I forgot to unload the radeon module before.
>
> --
> fglrx: Unknown symbol find_task_by_vpid
> https://bugs.launchpad.net/bugs/394985
> You received this bug notification because you are subscribed to fglrx-
> installer in ubuntu.
>

--
Sent from my mobile device

Revision history for this message
Michael Helmling (supermihi) wrote :
Download full text (5.7 KiB)

This however doesn't inspire confidence (though everything works):

data!!! vma_start:0x7f244f081000,handle:0xe1130000
[16294.482489] [fglrx:firegl_find_any_map] *ERROR* Invalid map handle!
[16294.482492] [fglrx:drm_vm_open] *ERROR* map not found -> inconsistent kernel data!!! vma_start:0x7f244f25b000,handle:0xe1135000
[16294.482494] [fglrx:firegl_find_any_map] *ERROR* Invalid map handle!
[16294.482496] [fglrx:drm_vm_open] *ERROR* map not found -> inconsistent kernel data!!! vma_start:0x7f244f25c000,handle:0xe1134000
[16294.482499] [fglrx:firegl_find_any_map] *ERROR* Invalid map handle!
[16294.482501] [fglrx:drm_vm_open] *ERROR* map not found -> inconsistent kernel data!!! vma_start:0x7f244f25d000,handle:0xe112c000
[16294.486250] [fglrx:firegl_find_any_map] *ERROR* Invalid map handle!
[16294.486254] [fglrx:drm_vm_close] *ERROR* map not found -> inconsistent kernel data!!! vma_start:0x7f2446c10000,handle:0xf5000000
[16294.486258] [fglrx:firegl_find_any_map] *ERROR* Invalid map handle!
[16294.486260] [fglrx:drm_vm_close] *ERROR* map not found -> inconsistent kernel data!!! vma_start:0x7f2447516000,handle:0xf5000000
[16294.486264] [fglrx:firegl_find_any_map] *ERROR* Invalid map handle!
[16294.486266] [fglrx:drm_vm_close] *ERROR* map not found -> inconsistent kernel data!!! vma_start:0x7f2448a4e000,handle:0xe102c000
[16294.486269] [fglrx:firegl_find_any_map] *ERROR* Invalid map handle!
[16294.486271] [fglrx:drm_vm_close] *ERROR* map not found -> inconsistent kernel data!!! vma_start:0x7f24493ff000,handle:0xe0000000
[16294.486286] [fglrx:firegl_find_any_map] *ERROR* Invalid map handle!
[16294.486288] [fglrx:drm_vm_close] *ERROR* map not found -> inconsistent kernel data!!! vma_start:0x7f244f081000,handle:0xe1130000
[16294.486292] [fglrx:firegl_find_any_map] *ERROR* Invalid map handle!
[16294.486294] [fglrx:drm_vm_close] *ERROR* map not found -> inconsistent kernel data!!! vma_start:0x7f244f25b000,handle:0xe1135000
[16294.486297] [fglrx:firegl_find_any_map] *ERROR* Invalid map handle!
[16294.486299] [fglrx:drm_vm_close] *ERROR* map not found -> inconsistent kernel data!!! vma_start:0x7f244f25c000,handle:0xe1134000
[16294.486301] [fglrx:firegl_find_any_map] *ERROR* Invalid map handle!
[16294.486303] [fglrx:drm_vm_close] *ERROR* map not found -> inconsistent kernel data!!! vma_start:0x7f244f25d000,handle:0xe112c000
[16294.561529] [fglrx:firegl_find_any_map] *ERROR* Invalid map handle!
[16294.561535] [fglrx:drm_vm_open] *ERROR* map not found -> inconsistent kernel data!!! vma_start:0x7f2446c10000,handle:0xf5000000
[16294.561602] [fglrx:firegl_find_any_map] *ERROR* Invalid map handle!
[16294.561604] [fglrx:drm_vm_open] *ERROR* map not found -> inconsistent kernel data!!! vma_start:0x7f2447516000,handle:0xf5000000
[16294.561641] [fglrx:firegl_find_any_map] *ERROR* Invalid map handle!
[16294.561643] [fglrx:drm_vm_open] *ERROR* map not found -> inconsistent kernel data!!! vma_start:0x7f2448a4e000,handle:0xe102c000
[16294.561712] [fglrx:firegl_find_any_map] *ERROR* Invalid map handle!
[16294.561715] [fglrx:drm_vm_open] *ERROR* map not found -> inconsistent kernel data!!! vma_start:0x7f24493ff000,handle:0xe0000000
[16294.561867] [fglrx:firegl_find_any_map] ...

Read more...

Revision history for this message
Niall Creech (sevenmachines-deactivatedaccount) wrote :

i've *ERROR* map not found -> inconsistent kernel data!!! happens with at least up to 9.6 too, and that its the ati binary at fault so needs to be fixed by them. don't know if thats true or not though. general consensus seems to be that apart from filling up you log files with hundreds of lines it isn't harmful, it might be worthy of a seperate bug, heres the debian one

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=524871

Revision history for this message
Niall Creech (sevenmachines-deactivatedaccount) wrote :

you can probably disable the messages if needs be but i don't have an ati card to try, i'm guessing you might be able to drop the debug trace parts below but its probably not that good an idea anyway

/usr/src/fglrx-8.620/firegl_public.c

#define TRACE_VM_OPEN_CLOSE(_f, _v) \
   KCL_DEBUG_TRACEIN(FN_DRM_VM_OPEN_CLOSE, _v, NULL); \
   _f(_v); \
   KCL_DEBUG_TRACEOUT(FN_DRM_VM_OPEN_CLOSE, 0, NULL);

Revision history for this message
Michael Helmling (supermihi) wrote :

Unfortunally the new version 8.632 of fglrx still does not build correctly with kernel 2.6.31-5.
@Dinxter: Could you maybe create an updatet version of your very useful PPA?

Revision history for this message
Niall Creech (sevenmachines-deactivatedaccount) wrote :

re added some patches from the last release to this one, module will build and install but can't guarantee it'll actually work

fglrx-installer (2:8.632-0ubuntu2~dinxter2) karmic; urgency=low

  * added find_task_by_vpid.patch (LP: #394985)
  * added fglrx-2.6.30-irqreturn_t.patch
  * added fglrx-2.6.29-debian.patch

Revision history for this message
Michael Helmling (supermihi) wrote :

Thanks, I can confirm working 3D acceleration with a Radeon HD3870!

Bryce Harrington (bryce)
description: updated
Bryce Harrington (bryce)
tags: added: karmic
Revision history for this message
Daniel J Blueman (danielblueman) wrote :

Fixed package 8.660 available in the karmic repos:

http://archive.ubuntu.com/ubuntu/pool/restricted/f/fglrx-installer/

Changed in fglrx-installer (Ubuntu):
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.