Chyba SIGSEGV při inicializaci nvidia ovladače

Ahoj.

Zhruba týden se mi objevuje následující chyba při startu systému (Fedora 13 x64).

Enabling the nvidia driver: /etc/rc.d/init.d/functions: řádek 530: 1400 Neoprávněný přístup do paměti (SIGSEGV) “$@”

Na řádce 530 ve zmíněném souboru je následující:

action() {
local STRING rc

STRING=$1
echo -n “$STRING "
shift
“$@” && success $”$STRING" || failure $"$STRING"
rc=$?
echo
return $rc
}

Nevíte někdo co je špatně? Po startu normálně všechna grafická akcelerace funguje, jen mi v trayi svítí žlutý vykřičník otevírající bootovací log.

Nekoukal jsem co v tom skriptu ma byt nebo zda tam mas neco jineho, ale $@ je promenna bashe ktera ma obsahovat vsechny argumenty pro volani daneho skriptu. Chyba tedy podle me nebude v tom skriptu, ktery si sem zkopiroval ale v te promenne $@. Onen radek podle me rika asi toliko - proved prikaz $@ ($@ se nahradi nejakym retezcem) a pokud skonci uspesne (success) vypis $STRING jinak skoncil neuspesne (failure).

Zkusil bych asi odinstalovat nvidia driver, smazat pripadne tento skript a znovu nainstalovat.

No, nechtěl jsem s tím tady obtěžovat, neb jde o vzkaz, jenž, když jsem nic smysluplného nevygooglil, již přemnoho týdnů úspěšně ignoruji, ale teď se tedy pro zajímavost podělím. V Boot messages pravidelně čítávám (následuje to po výpisu Memory Map, aktuálně je poslední předcházející řádek:

bfb68000-bfb89000 rw-p 00000000 00:00 0          [stack]

čili z ničeho nevyplývá příčinná souvislost s nvidia ovladači):

/etc/rc.d/init.d/functions: řádek 530:  1074 Neúspěšně ukončen (SIGABRT)        "$@"
	[SELHALO]

onen řádek má tuto podobu:

action() {

celá sekce, od řádku 529 do řádku 540 pak:

# Run some action. Log its output.
action() {
  local STRING rc

  STRING=$1
  echo -n "$STRING "
  shift
  "$@" && success $"$STRING" || failure $"$STRING"
  rc=$?
  echo
  return $rc
}

Jo, a jak se jeden v systému furt vrtá, tak před časem bylo číslo řádku jiné, ale je zábavné, že teď jsme se sgf sešli.

$ uname -a
Linux localhost.localdomain 2.6.33.6-147.fc13.i686 #1 SMP Tue Jul 6 22:30:55 UTC 2010 i686 i686 i386 GNU/Linux

Soubor functions obsahuje obecne funkce, ktere jsou vyuzivany startovacimi skripty pri startu ruznych sluzeb. Jeden z podprogramu (funkci) je i “action()”, ktery nedela nic uzasnejsiho, nez ze spusti svuj parametr a pokud to co spustil skonci uspecne vypise “[ OK ]”, kdyz neuspesne “[ SELHALO ]”. Chyby tedy nejsou v samotnem /etc/init.d/functions ale v tom co se prostrednictvim nej pousti, tedy co obsahuje promenna $@.

Mala ukazka:


#!/bin/bash

. /etc/init.d/functions

action "AkceOK" /bin/true
action "AkceSELAHALO" /bin/false
action "AkceNOSUCH" /bin/barbar

Díky za objasnění. Jinak se vážně omlouvám, jelikož jsem ten bootlog špatně četl a tím pádem ho i zmatečně citoval. Přesný popis mého (ne)problému (všechno fungovalo) včetně řešení je tady:
http://forum.fedora.cz/read.php?4,18511

Tak po odinstalování nvidia driveru, smazání xorg.conf, restartu, opětovném nainstalování driveru a restartu vše OK bez chybové hlášky a otravného vykřičníku. Dík.