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
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
- Lars Erdmann (31.01.2008 00:08)
- Lars Erdmann (31.01.2008 00:26)
- Marcel Müller (31.01.2008 17:13)
- Lars Erdmann (01.02.2008 01:20)
- Ruediger Ihle (01.02.2008 08:24)
- Marcel Müller (03.02.2008 23:22)
- Lars Erdmann (05.02.2008 21:52)
