PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Linux 2.6 Spiele stürzen ab



Sayonara
06.01.04, 20:41
Moin
seit ich mein System auf Linux 2.6 aufgerüstet habe stürzen bei mir die Spiele nach einer gewissen Zeit ab. Die Rede ist dabei von 3D Spielen, wie NWN und RTCW. Manchmal laufen sie fast ne Stunde, manchmal dauert es aber auch nur wenige Minuten bis ich wieder zurück zum Desktop geworfen werde.
Die Konsolenausgabe von RTCW ET sieht folgendermaßen aus:


-------- UNRECOVERABLE ERROR --------
This may be due to a bug in etpro
Information to be used in a bug report is being generated:
------------- CUT HERE --------------
Version: etpro 2.0.0
Platform: Linux
Signal: Segmentation violation (11)
Stack trace: 1 entries
/home/dennis/.etwolf/etpro/cgame.mp.i386.so(etpro_DumpBacktrace+0x33)[0x5b807967 ]
------------- CUT HERE --------------
Trying to clean up...
Received signal 11, exiting...
Shutdown tty console
./et: line 5: 20285 Segmentation fault ./et.x86 $*

Wenn das nur bei RTCW passieren würde, könnte es ja noch am Game liegen, aber bei anderen Games passiert das gleiche. An dem Nvidia Treiber hat sich auch nach der Umrüstung auf 2.6 nichts geändert, ausser, das er via "emerge nvidia-kernel" neu kompliert worden ist. Die aktuelle Version laut emerge ist 1.0.4496-r3 für den Kernel und 1.0.4496 für die GLX Libraries.
Was mir noch beim 2.6 Kernel aufällt ständige Debug Trace Ausgaben in den Logfiles. Ob die im Zusammenhang mit den Abstürzen stehen, weiß ich nicht. Auch ohne zu Spielen treten diese auf. Der Rest des Systems läuft sauber und ohne Probleme.
Hier die Ausgabe des Trace Calls: (ich sehe gerade, das da das Wort nvidia auftritt. Ein Zusammenhang ist also sehr wahrscheinlich)


Debug: sleeping function called from invalid context at mm/page_alloc.c:548
in_atomic():1, irqs_disabled():0
Call Trace:
[<c0118a8b>] __might_sleep+0xab/0xd0
[<c0138875>] __alloc_pages+0x365/0x370
[<c01385cf>] __alloc_pages+0xbf/0x370
[<c0114fdc>] pte_alloc_one+0x1c/0x60
[<c0140b88>] pte_alloc_map+0x38/0xc0
[<c0141c77>] remap_page_range+0xc7/0x1e0
[<f8cb9459>] nv_kern_mmap+0x30a/0x35d [nvidia]
[<c01445d0>] do_mmap_pgoff+0x360/0x720
[<c01454ba>] do_brk+0x15a/0x230
[<c010f82f>] sys_mmap2+0x9f/0xe0
[<c010939b>] syscall_call+0x7/0xb

Soll ich vieleicht einen Bug Report and Kernel.org oder Nvidia schreiben? Oder kennt jemand vieleicht das Problem und weiß vieleicht sogar eine Lösung?

zander
06.01.04, 21:03
Die Warnmeldungen treten mit dem NVIDIA Treiber und Linux 2.6 Kernel auf, wenn diese mit CONFIG_DEBUG_SPINLOCK_SLEEP übersetzt wurden; einen Zusammenhang mit den Abstürzen gibt es aller Wahrscheinlichkeit nicht. Hast Du bei dem Wechsel zu Linux 2.6 auch den Soundtreiber auf ALSA umgestellt oder ähnliche Treiberveränderungen vorgenommen?

Sayonara
06.01.04, 21:21
Nein sonstige Änderungen gibt es nicht. Die Soundtreiber sind nach wie vor OSS. Ich hab mal Alsa versucht, bin damit aber nicht zufrieden. Jetzt sind sie wieder weg.
Einem Tipp im Linuxforen.de IRC nach hab ich die Gentoo Treiber unmerged, also deinstalliert, mir die aktuellen Treiber von Nvidia besorgt und diese mit den Patches auf www.minion.de gepatcht. Tja,..ausser das die Trace Ausgabe noch länger wurde, hat es nichts gebracht.


Debug: sleeping function called from invalid context at mm/slab.c:1856
in_atomic():1, irqs_disabled():0
Call Trace:
[<c0118a8b>] __might_sleep+0xab/0xd0
[<c013bcb8>] __kmalloc+0x88/0x90
[<f904ad0c>] os_alloc_mem+0x7c/0x90 [nvidia]
[<f8edfa20>] _nv001308rm+0x10/0x28 [nvidia]
[<f8ec7863>] _nv005631rm+0x7f/0x100 [nvidia]
[<f8ecd8b0>] _nv000858rm+0x348/0xe14 [nvidia]
[<f8fa4f70>] _nv002261rm+0x904/0x920 [nvidia]
[<f8ec7593>] _nv005596rm+0x1f/0x50 [nvidia]
[<f8ecec18>] _nv000917rm+0x18c/0x1ac [nvidia]
[<f8ec9b1d>] _nv002962rm+0x2c5/0x3b8 [nvidia]
[<f8ee44d9>] _nv000899rm+0x4c9/0xf70 [nvidia]
[<f8ee44ec>] _nv000899rm+0x4dc/0xf70 [nvidia]
[<f8f0821a>] _nv005046rm+0x52/0x70 [nvidia]
[<f8fac50f>] _nv001614rm+0x23/0x84 [nvidia]
[<f8fab40b>] _nv001556rm+0x5b/0x6c [nvidia]
[<f9001170>] _nv001988rm+0x1f0/0x298 [nvidia]
[<f8ed542e>] _nv001344rm+0x46/0x6c [nvidia]
[<f8ffd08a>] _nv001480rm+0x3a/0x7c [nvidia]
[<f8ed5595>] _nv001338rm+0x1d/0x24 [nvidia]
[<f8fac50f>] _nv001614rm+0x23/0x84 [nvidia]
[<f8f0d06c>] _nv004220rm+0x28/0x30 [nvidia]
[<f8f21e92>] _nv004083rm+0x312a/0x313c [nvidia]
[<c02df485>] ip_finish_output+0xd5/0x1e0
[<c011688a>] wake_up_state+0x1a/0x20
[<c0153e49>] bh_lru_install+0xa9/0xe0
[<c0153ef0>] __find_get_block+0x70/0x110
[<c0153fc7>] __getblk+0x37/0x70
[<f8fab40b>] _nv001556rm+0x5b/0x6c [nvidia]
[<f8fab40b>] _nv001556rm+0x5b/0x6c [nvidia]
[<f8fabb0d>] _nv003622rm+0x15/0x1c [nvidia]
[<f8ff4180>] _nv001826rm+0xb0/0xbc [nvidia]
[<f8fab40b>] _nv001556rm+0x5b/0x6c [nvidia]
[<f8fabb0d>] _nv003622rm+0x15/0x1c [nvidia]
[<f9040d5f>] _nv000176rm+0x57/0x3ec [nvidia]
[<f9040d5f>] _nv000176rm+0x57/0x3ec [nvidia]
[<f8ef7ec8>] _nv004240rm+0x180/0x18c [nvidia]
[<f8ee0d72>] _nv001223rm+0x12/0x18 [nvidia]
[<f8ef8277>] _nv004046rm+0x3a3/0x3b0 [nvidia]
[<f9040d5f>] _nv000176rm+0x57/0x3ec [nvidia]
[<f8fab2cb>] _nv001532rm+0x1f/0x28 [nvidia]
[<f8faba72>] _nv003621rm+0x1a/0x20 [nvidia]
[<f9042338>] _nv000183rm+0x750/0x774 [nvidia]
[<f8fab2cb>] _nv001532rm+0x1f/0x28 [nvidia]
[<f8ed5595>] _nv001338rm+0x1d/0x24 [nvidia]
[<f8efaadc>] _nv005307rm+0x54/0x544 [nvidia]
[<f8fab2cb>] _nv001532rm+0x1f/0x28 [nvidia]
[<f8fab27c>] _nv001534rm+0x20/0x28 [nvidia]
[<c01165e0>] recalc_task_prio+0x90/0x1a0
[<c01165e0>] recalc_task_prio+0x90/0x1a0
[<c0310f8b>] unix_write_space+0x8b/0x90
[<c02c60d4>] kfree_skbmem+0x24/0x30
[<c02c6130>] __kfree_skb+0x50/0xc0
[<c02c2369>] sock_aio_read+0xd9/0xe0
[<c0150ffb>] do_sync_read+0x8b/0xc0
[<c016489a>] poll_freewait+0x3a/0x50
[<f8ee3be1>] rm_ioctl+0x19/0x20 [nvidia]
[<f9048605>] nv_kern_ioctl+0x85/0x470 [nvidia]
[<c011e11a>] do_setitimer+0x1ba/0x1f0
[<c015112e>] vfs_read+0xfe/0x130
[<c010f000>] do_gettimeofday+0x20/0xb0
[<c0164083>] sys_ioctl+0xf3/0x290
[<c010939b>] syscall_call+0x7/0xb

zander
06.01.04, 22:41
Gentoo benutzt Patches von http://www.minion.de/nvidia.html, es waren dahingehend also keine Unterschiede zu erwarten (die Ursache für die __might_sleep Meldungen liegt beim NVIDIA Treiber, es ist aber sehr unwahrscheinlich, daß Dein Problem direkt oder indirekt damit zusammenhängt). Falls es außer diesen Warnmeldungen keine weiteren Nachrichten vom Kernel gibt solltest Du Dich auf die Abstürze selbst konzentrieren, möglicherweise läßt sich z.B. mit gdb genaueres über die Ursache feststellen.

kingron
06.01.04, 23:19
schon mal dran gedacht das dein 2.6 kernel nix is ...?
bau einen gescheiten 2.6 kernel zusammen ...:p dann hast auch kein stress! -> hoffe ich jedenfalls :D
bei mir rennts ja auch mitn 2.6 kernel + nvidia usw. und bei zig anderen ....(auch)?

Clankrieger
06.01.04, 23:49
hmm... also ich würde auf den ersten Blick entweder auf apic- oder preemption-Probleme tippen. Das Apic kann man per Boot-Parameter apic=off ausschalten, sofern es einkompiliert ist. Bei preemption hilft nur ein neukompilieren... aber möglicherweise hast du das gar nich drin? Ich hab bei mir die Erfahrung gemacht, dass das preemption bei allen Prozessen, die nur kurzzeitig, aber dafür intensiv die CPU brauchen, wahnsinnig viel subjektive Performance bringt, aber sobald rechenintensive Sachen dauerhaft die CPU bearbeiten, bringt das eher performance-nach- als vorteile find ich. Und die Geschichte mit den Spinlocks ist ja auch da anzusiedeln.

Nur ne Idee jedenfalls..

Alex_K
07.01.04, 08:08
Original geschrieben von Clankrieger
Ich hab bei mir die Erfahrung gemacht, dass das preemption bei allen Prozessen, die nur kurzzeitig, aber dafür intensiv die CPU brauchen, wahnsinnig viel subjektive Performance bringt, aber sobald rechenintensive Sachen dauerhaft die CPU bearbeiten, bringt das eher performance-nach- als vorteile find ich. Und die Geschichte mit den Spinlocks ist ja auch da anzusiedeln.


genau dazu wurde es ja entwickelt, auf einem desktop system ist es meist so dass oft nur kurz viel leistung gebraucht wird (starten von programmen), und damit das desktopverhalten flüssiger wird gibt es preemption. es wird in der hilfe der config programme auch gesagt dass es nur für ein desktop system sinnvoll ist.
leider bringt das auch probleme mit. durch preemption können viele systemprozeduren die früher atomar waren unterbrochen werden, dass heißt wiederrum dass viele änderungen gemacht werden mussten damit diese überhaupt unterbrechbar sind. daher sind das aber auch große fehlerquellen, es wurde auch bei den test kernels empfohlen die funktion auf einem produktiven system nicht einzuschalten (wie es bei dem aktuellen kernel ist weiß ich nicht).
also einen versuch ist es sicher wert einen kernel ohne preemtion zu kompilieren.

Sayonara
07.01.04, 09:43
Ich sehe gerade, das die preemptible Funktion in meiner Konfig aktiviert ist. Ich werd jetzt mal einen neuen Kernel ohne diese Option backen. Mal schauen, ob's dann läuft. Ich sag dann Bescheid. :)

Sayonara
07.01.04, 10:59
Tja, half leider auch nichts. Eine Testrunde RTCW ET crasht immer noch nach einer gewissen Zeit. Diesmal aber einfach so, ohne Fehlermeldung:



Received signal 11, exiting...
Shutdown tty console


Falls es hilft, hier ist meine Kernel Konfiguration

mynonA
07.01.04, 12:18
mhh ich bekomme solche meldungen immer wenn ich den fsb der cpu zu hochschraube
hast du deine cpu übertaktet?
was hast du für ram, könnte er defekt sein, lass mal nen ram check amchen
oder hast du die grafikkarte zuweit hochgedreht?

Sayonara
07.01.04, 15:40
Das System läuft auf normalem Takt. Nichts übertaktet. Der RAM sollte auch in Ordnung sein. Sonst gibt es keine Probleme. Auch nicht unter Windows. Wie ich schon sagte, das Problem hat erst mit den neuen Kernel begonnen. Ich kann ja mal probeweise den alten 2.4er Kernel laden. Das Image hab ich noch. :p

Sayonara
07.01.04, 21:02
So Jungs und Mädels. Schande über mein Haupt! :(
Gefrustet, wie ich war hab ich RTCW ET unter Windows installiert (Ja, dass ist schon schlimmt genug)!. Ein bisschen gedaddelt und schwups bin ich wieder auf dem Desktop zurück geworfen, genau wie unter Linux. Mist, was isn't das jetzt? :eek: Doch ich ahnte was. Etwas zeitgleich, mit den Update auf Linux 2.6 hab ich meinen Rechner in den Schrank geschoben. Normalerweise steht er immer davor, damit man beim schrauben besser dran kommt. (Ausserdem kann man gut seine Kaffetasse draufstellen ;) ). Na ja,..mir ist schon aufgefallen, das sie um den Rechner doch ziemlich die Wärme staut, hatte mir aber ansonsten nichts dabei gedacht....:rolleyes: Also,.erst mal Mainboard Monitor installiert und dort wurden schon zu beginn recht hohe CPU Temperaturen angezeigt (Asus Probe). Ich lass die Software laufen und starte ET wieder und daddel was rum um drauf zu warten, dass es wieder crasht. Der Crash lies dann auch nicht lange auf sich warten. Temperatur war dann bei fast 60°C, und das soll was heißen bei Asus Probe (anm. die Software ist nicht so genau, die zeigt immer viel weniger an, als es tatsächlich ist.) :p
Aus zog ich den Rechner wieder aus dem Schrank, was sich auch nach wenigen Minuten durch sinkende Temperaturen bemerkbar machte. Hab dann zum testen noch was rumgedaddelt, blieb aber diesmal alles stabil und auch die CPU blieb viel kühler. Die hatte unter Last noch weniger, als im Schrank im Leerlauf. :confused: Tja, damit hab ich dann wohl den Übeltäter erwischt. Und ich hab schon Linux verdächtigt...wie konnte ich nur :( Schande über mein Haupt............
So, jetzt dürft ihr über mich herfallen! :o

mynonA
08.01.04, 12:40
hehe na dass ist ja ne schnelle lösung des problems gewesen :)
kauf dir mal nen neuen cpu kühler
(frag mal bei deinem händler nach nem megtron ultra icy cooler temperature controled)
sind echt die besten

ich weiß aber dass ihn nur wenige führen, jedoch der großhandel devil in braunschweig führt ihn auch:

Die Megtron Homepage
www.maxgroup.com.tw , dann sollteste den pc auch im schrak stehen lassen können ^^

Painkiller
10.01.04, 21:37
Original geschrieben von Sayonara
Und ich hab schon Linux verdächtigt...wie konnte ich nur :( Schande über mein Haupt............
So, jetzt dürft ihr über mich herfallen! :o

Welch frefel.... Wie konntest du nur... Stell dich in die ecke knie nieder und bitte den Heilligen TUX um vergebung :ugly:

zander
11.01.04, 00:15
Naja, abwegig war die Vermutung beim besten Willen nicht...