nntp2http.com
Posting
Suche
Optionen
Hilfe & Kontakt

Lösung Thread-State unknown

Von: Marcel Müller (news.5.maazl@spamgourmet.org) [Profil]
Datum: 28.01.2008 23:30
Message-ID: <479e5796$0$27200$9b4e6d93@newsspool1.arcor-online.net>
Newsgroup: de.comp.os.os2.programmer
Hallo,

vielleicht erinnert sich der eine oder andere. Ich hatte vor (und seit)
einer Weile das Problem von PM-Totalabstürzen mit Threads im Status
unknown. Diese sind häufig, aber nicht immer nach einem (beliebigen)
DosReleaseMutexSem aufgetreten. Jedenfalls konnte man den Fehler durch
regen Gebrauch von kurzen Mutex-Requests ziemlich schnell provozieren.

Nun, des Rätsels Lösung war eine inkonsistente Runtime-Library. Offenbar
hat irgendeine vom Programm verwendete DLL auf CPPOM30.DLL verwiesen,
während der Rest des Programms die praktisch identische OS2OM30.DLL
verwendet. Diese beiden Runtime Instanzen haben sich innerhalb eines
Prozesses offenbar gar nicht gut vertragen und zu obigem Verhalten
geführt. Ich habe es jetzt mit DLLRNAME alles auf OS2OM30 umgebogen und
der Fehler ist mit einem mal verschwunden. Welche DLL es war, kann ich
leider nicht mehr nachvollziehen, vermutlich irgend eine
Library-Portierung (rfftw, gbm oder libsndfile).

Das war mit Sicherheit der Bug nach dem ich in meinen Leben bisher am
längsten gesucht habe. Aber dass dabei das ganze System praktisch
unbenutzbar wird, weil sich der Prozess nicht Killen lässt, ist
definitiv eines der dunklen Kapitel von OS/2. Und wie die Runtime es
schafft, die doch eigentlich kernelinternen Thread-Stati inkonsistent
werden zu lassen, will ich lieber auch nicht wissen.


Marcel

[ Auf dieses Posting antworten ]

Antworten