Dienstag, 19. Dezember 2006
Vor wenigen Minuten war ich soweit: Ich hatte die Festplatte meines PowerMacs G5 von den Spuren von Adobe Photoshop CS und Illustrator CS gesäubert (fein säuberlich gezippt – für den Fall der Fälle, um zum Ursprungszustand zurückzukehren) und war bereit, auf Creative Suite 2 upzugraden.
Ich loggte mich mit dem Administrator-Konto ein und startete den Installer. Doch o weh – nachdem ich mich als Benutzer mit dem Administrator-Passwort authentifiziert hatte (Vista UAP – done right), sprang das Icon im Dock kurz auf und verabschiedete sich dann mit einer lapidaren Meldung ins Daten-Nirvana:
The application 'Adobe Creative Suite 2' has unexpectedly quit. The system and other applications have not been affected.
Na wunderbar. Weder das Ausloggen aus meinem gleichzeitig aktivierten Benutzer-Account noch ein Kaltstart halfen – der Installer stürzte jedesmal ab.
Nervös startete ich eine Google-Suche – zurück zu den alten Versionen wollte ich nun wirklich nur im äussersten Notfall. Als erstes begab ich mich auf den Knowledge-Base-Artikel von Adobe:
Troubleshoot installation problems (Adobe Creative Suite 2.x on Mac OS X)
Die angebotenen Lösungen waren mir zu unspezifisch – meine Vermutung, dass wohl eine generelle Inkompatibilität zwischen der mir benutzten Hard- und Software existierte, wurde dadurch in Frage gestellt.
Was nun? Dank des Unix-Unterbaus muss sich der Profi-Anwender nicht mit nichtssagenden Fehlermeldungen herumschlagen (der Crash-Dump in der Konsole verstehen wohl nicht mal die Leute in Cupertino auf Anhieb) – ich erinnerte mich an das Tool, das ich zum Aushebeln des Trial-Schutzes von iConquer heranzog: fs_usage.
Ich startete also versuchsweise fs_usage (natürlich als root) …
beta:~ administrator$ sudo fs_usage | grep Adobe
und danach die ins Temp-Verzeichnis kopierte erneut die Installationsdatei:
open /tmp/390/Adobe\ Installer.app/
Ich spielte das Spiel durch und produzierte den nächsten Crash. Dank fs_usage hatte ich nun aber immerhin ein detailliertes Log, was kurz vor dem Crash von der Festplatte gelesen wurde (ich komme mir schon fast wie das NTSB, das einen Flugdatenrekorder analysiert – dieser „Flugzeugabsturz“ hier ist aber der deutlich einfacher zu handhaben). Hier die letzten Mikrosekunden vor dem Absturz:
...
23:56:14 chdir /Library/InputManagers/SIMBL/SIMBL.bundle/Contents/MacOS 0.000007 Adobe Instal
23:56:14 stat /Library/InputManagers/SIMBL/SIMBL.bundle/Contents/MacOS 0.000007 Adobe Instal
23:56:14 open /Library/InputManagers/SIMBL/SIMBL.bundle/Contents/MacOS 0.000007 Adobe Instal
23:56:14 fstat 0.000001 Adobe Instal
23:56:14 fstatfs 0.000001 Adobe Instal
23:56:14 fstat 0.000001 Adobe Instal
23:56:14 getdirentries 0.000018 Adobe Instal
23:56:14 getdirentries 0.000010 Adobe Instal
23:56:14 lseek 0.000001 Adobe Instal
23:56:14 close 0.000001 Adobe Instal
23:56:14 stat . 0.000006 Adobe Instal
23:56:14 stat SIMBL 0.000006 Adobe Instal
23:56:14 CACHE_HIT 0.000001 Adobe Instal
23:56:15 open /Users/administrator/Library/Logs/CrashReporter/Adobe Installer.crash.log 0.000020 crashdump
...
Auf den ersten Blick sah es aus, als werde hier eine ganz normale Komponenten von Mac OS X aufgerufen. Ich versuchte mich dennoch in einer Google-Suche und wurde belohnt:
SIMBL (Smart InputManager Bundle Loader) – pronounced like „symbol“ or „cymbal“ allows you to build hacks for Cocoa applications and apply the code selectively based on an application’s unique identifier.
Quelle: SIMBL
ALAAARM! Die Glocken schrillten gut hörbar in die dunkle und kalte Nacht hinein. Der potentielle Übeltäter war eingekreist. Weiter unten im Text las man:
Given the amount of flexibility Cocoa gives you for loading arbitrary code, you can shoot yourself in the foot pretty easily. Luckily, removing SIMBL from the InputManagers folder will remove any problems you may experience.
Gesagt, getan – und der Installer startete endlich wie gewünscht. Mal schauen, ob ich SIMBL wieder aktivieren kann, sobald die Installation über die Bühne gegangen ist …
Übrigens: SIMBL habe deshalb installiert, weil ich in Safari den Source-Code von Web-Seiten eingefärbt haben möchte.