[English]Kleine Info für Windows-Anwender, die vielleicht mit Docker für Windows experimentieren möchten. Es gibt Konflikte mit dem Razer Synapse Treiber-Tool. Witzig ist der Grund, warum die beiden Programme nicht miteinander können.
Der Hersteller Razer bietet unter dem Namen Synapse 3 Software an, mit der Nutzer die Peripherie dieses individualisieren können. PC Games Hardware hat hier beispielsweise einen Beitrag zum Thema veröffentlicht. Vom Hersteller gibt es diese Webseite mit Download-Optionen für die Windows-Software. Die Razer Supportseite für Synapse 3 gibt es hier. Docker for Windows ist eine Plattform, um Docker-Container unter Windows einzusetzen – auf dieser Webseite finden sich einige Informationen dazu.
Kollision durch Programmierfehler
Über folgenden Tweet bin ich auf das Problem aufmerksam geworden, dass Docker for Windows sich nicht mit dem Razer Synapse Driver-Management-Tool verträgt.
So I learned of an amusing bug today:
Docker for Windows won’t run if you have the Razer Synapse driver management tool running.
But the reason is the funny part… pic.twitter.com/s42SeQ949z
— foone (@Foone) February 18, 2020
Das Problem: Beide Software-Produkte versuchen sicherzustellen, dass jeweils nur eine Kopie läuft. Dazu versuchen sie die GUID der .NET Assembly herauszufinden, unter die sie gerade ausgeführt werden. Damit könnten sie theoretisch einen weiteren Start verhindern, indem sich die Kopie des zuletzt gestarteten Programms beendet.
Der Programmierfehler
In der Theorie ganz gut, in der Praxis haben sich die Entwickler in den Fuß geschossen. Die Funktionen, die sie zur Ermittlung der GUID verwenden, liefert als GUID den Typ der Assembly, wie @Foone auf Twitter erklärt. Das Ende vom Lied: Ist Docker for Windows gestartet oder wird das Razer Synapse Driver-Management-Tool verwendet, lässt sich die jeweils andere Software nicht mehr einsetzen. Sie wird schlicht von der anderen Software blockiert.
Ein Stackoverflow-Forenpost und die Folgen
Die Pointe an der Geschichte: 2009 fragt Nutzer „Nathan“ auf der Plattform Stack Overflow nach, wie man die GUID einer laufenden Assembly ermittelt. Nach 12 Minuten kam eine Antwort von einem Nutzer namens “Cerberus”. Der ‘Höllenhund’ gab aber eine falsche Lösung an.
That flawed stackoverflow post is here:https://t.co/HI7nOLCgaJ
— foone (@Foone) February 18, 2020
Nach 13 Monaten wies ein Nutzer mit dem Alias „Yoopergeek” darauf hin, dass eine falsche GUID zurückgeliefert werde. Drei Jahre später versuchte sich Cerberus an einem Update im Stack Overflow-Forum. Da aber ein Fehler beim Antworten passierte und die akzeptierte Antwort sich nicht löschen lässt, mäandert die falsche Lösung durch das Web und ist in so manchem Projekt verwendet worden. In vielen Tweets zeigt @Foone das Problem und an Hand von obigem Beispiel auch die Konsequenz dessen auf. Nur gut, dass ich keine Aktien in der .NET-Programmierung habe, die letzten Fingerübungen liefen wohl 2008 bei einem VB-Buchprojekt.