Windows: App ‘G’ blockiert das Herunterfahren

[English]Manche Benutzer werden durch ein merkwürdiges Verhalten genervt. Das Herunterfahren wird durch eine merkwürdige App ‘G’ blockiert – was Viele einen Befall mit Schadsoftware vermuten lässt. Dabei ist es schlicht ein Windows-Bug, der bald gefixt wird.


Anzeige

Das Fehlerbild im Detail

Geht man im Internet nach dem Begriff ‘App G verhindert das Herunterfahren’ auf die Suche, gibt es hunderte Treffer. Der Fehler zieht sich von Windows 7 bis zu Windows 10 durch die Betriebssystemversionen. Auf reddit.com gibt es beispielsweise diesen Post:

App called “g” is preventing shutdown or restart

Every once and a while there’s this app called “g” that prevents my pc from shuting down but I have no idea what it is , does anyone have and idea on what tjis could be?

Ein Nutzer beschwert sich, dass beim Herunterfahren eine App, die den Namen G trägt, diesen Vorgang behindere. Ein weiter Nutzer bestätigt das Ganze im gleichen Thread.  Dieser reddit.com-Post beschreibt das Gleiche.

App G blockt Shutdown

Obiger Screenshot zeigt diese Anzeige beim Herunterfahren. Das Ganze ist bei superuser.com in diesem Beitrag beschrieben.

App is preventing shutdown or restart

After updating my Windows 10 to creators update (build 15063.138) when I restart or shutdown the PC a screen appears and shows a ‘G’ app which is preventing the operation.

Is there a way to determine which application it is, or find out more details about it?

I do not see any “g” running process or installed application in my system.

Auch in der Steam-Community, im Microsoft Answers-Forum (hier und hier) wird über das Problem berichtet, ohne dass eine Lösung gefunden wurde. Auch einen deutschsprachigen reddit.com-Thread gibt es zum Thema.

In der Regel bekommen Betroffene den Ratschlag, das System auf Malware zu prüfen. Bei Bleeping Computer finden man beispielsweise diesen Forenthread mit solchen Hinweisen. Und auch bei Trojaner-Board geht es in die Richtung ‘Malwarebefall’.

Ein Bug in Windows

Der Fehler ist bisher an mir vorbei gegangen – aber Woody Leonhard hat die Ursache gefunden und in diesem Computer World-Artikel beschrieben. Auch Woody ist aufgefallen, dass es hunderte von Treffern im Internet gibt, wo das Problem beschrieben wird. Die Leute werden auf die Suche nach Malware geschickt, was aber ergebnislos bleibt.


Anzeige

Der Grund: Das Ganze ist schlicht ein Bug in Windows, der sich seit Jahren durch diverse Versionen zieht. Raymond Chen von Microsoft hat die Hintergründe im Microsoft-Entwicklerblog im Beitrag The program “G” is preventing you from shutting down beschrieben.

Microsofts Entwickler haben vor einiger Zeit festgestellt, dass die Behandlung einer UTF16-LE-Unicodezeichenkette als eine 8-Bit-Zeichenkette im Allgemeinen nur das erste Zeichen übernimmt. Grund ist, dass da das höherwertige Byte der UTF16-LE-Codeeinheit für die meisten westeuropäischen Zeichen Null ist und das Nullbyte als das Ende der 8-Bit-Zeichenkette interpretiert wird.

Kommen wir zum mysteriösen “G”-Programm, welches das Herunterfahren blockiert, zurück. Als die GDI+-Bibliothek erstellt wurde, musste sie Windows 98 unterstützen. Windows 98 besaß aber nur eine sehr begrenzte Unterstützung für Unicode. Daher wurde alles als ANSI kompiliert und verwendete die ANSI-Versionen von Funktionen wie RegisterClass, wie CreateWindow und DefWindowProc, um Hilfsfenster zu erstellen und zu verwalten. Die fehlende Unicode-Unterstützung im Helferfenster verursachte keine Probleme, da das Fenster nie eine Benutzeroberfläche angezeigt und nie Text verarbeitet hat. Das Fenster war da, um Dinge zu tun, wie z.B. auf WM_SETTINGSCHANGE-Nachrichten zu hören, damit es wusste, wann es seine Caches invalidieren musste.

Später wurde der größte Teil der GDI+ Bibliothek einfach als Unicode-Komponente und nicht als ANSI-Komponente neu kompiliert. Allerdings enthielt die Prozedur des Benachrichtigungsfensters einen expliziten Aufruf von DefWindowProcA. Die meisten Zeichensatz-Fehlanpassungen erkennt der Compiler aufgrund einer Typ-Fehlanpassungen. Die Zeichensatzabhängigkeit in DefWindowProc ist jedoch nicht in den Parametertypen kodiert. Daher wurde diese Diskrepanz vom Compiler nicht erkannt.

Diese Diskrepanz wurde auch beim Testen nicht erkannt, da das Benachrichtigungsfenster keine Textausgaben durchführt. Der Titel des Fensters “GDI+ Hook Window” wurde einfach auf  “G” abgeschnitten. Da aber dieser Titel für nichts verwendet wird, spielte das keine Rolle, der Fenstertitel wird dem Benutzer ja nie angezeigt. Nur wenn das Programm beim Shutdown hängt, kommt die abgeschnittene Zeichenkette G zur Anwendung. Der oben beschriebene Fehler wird bemerkt.

Fix kommt für Windows 10 20H1

Microsofts Entwickler haben in der Ankündigung der Windows 10 Insider Preview Build 19013 einen Fix für das Problem untergebracht. Jen Gentleman hat Ende Oktober in diesem Tweet darauf hingewiesen:

Bereits im Change-Log für die Insider Build 19013 findet sich dieser Hinweis auf die Korrektur des Bugs:

Some of you have reached out about when trying to shutdown, seeing a message saying that an app named “G” was preventing shutdown. We investigated and found an issue where windows related to GDI+ were only referenced as “G.” We’ve fixed this, so going forward, these will now have the name “GDI+ Window (<exe name>)”, where <exe name> will show the .exe name of the app using GDI+.

Also ein Fix genau den oben erwähnten Fehler, so dass ab dem im Frühjahr 2020 erscheinenden Windows 10 die Anwendung, die beim Herunterfahren hängt, auch korrekt genannt wird.


Anzeige
Dieser Beitrag wurde unter Windows 10, Windows 7, Windows 8.1 abgelegt und mit , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

8 Antworten zu Windows: App ‘G’ blockiert das Herunterfahren


  1. Anzeige
  2. ralf sagt:

    zu: “Fix kommt für Windows 10 20H1”.

    wofuer sind eigentlich patchdays da?

    wenn’s wirklich nur daran liegt, waere der fehler schnell und einfach zu beheben:
    “DefWindowProcA” im quellcode durch “DefWindowProc” ersetzen, neu kompilieren und fertig.

    WINUSER.H:

    #ifdef UNICODE
    #define DefWindowProc DefWindowProcW
    #else
    #define DefWindowProc DefWindowProcA
    #endif

    • GPBurth sagt:

      bei einem so lange existierenden Bug kann man sich quasi sicher sein, dass irgendwas sich drauf verlässt, dass “GDI+ ” als “G” angezeigt oder zurückgeliefert wird. Bzw.: das muss man auf jeden Fall überprüfen. Und sei es nur, dass damit ein Pufferüberlauf erzeugt wird…

  3. Micha sagt:

    Wenn das “GDI+ Hook Window” hängt sollte Microsoft die Ursache dafür finden. Am Symptom herumzufummeln ist für mein Verständnis keine Lösung.

    Ob nun “G” oder “GDI+ Hook Window” als Fehlermeldung beim Herunterfahren ausgegeben wird macht ja keinen Unterschied.

    • ralf sagt:

      egal ob es nur ein symptom ist oder eine ursache, der fehler mit dem aufruf der falschen standardfensterprozedur gehoert in jedem fall behoben – und zwar mindestens in allen noch offiziell supporteten versionen von windows.

      fehler nur in kuenftigen inkarnationen von win10 zu beheben, ist fuer mein verstaendnis die falsche “loesung”.

    • Günter Born sagt:

      Ich bin ja nur ein kleines Licht – und bin ja schon froh, dass überhaupt eine Erklärung für das Verhalten gefunden wurde. Bisher hat man die Leute ja auf Malware-Suche und Neuinstallation des Systems geschickt ;-).

  4. Anzeige

  5. Doc WP sagt:

    Blöd komme ich mir auch gelegentlich vor, wenn da auf dem Bildschirm erscheint “Diese App verhindert das Herunterfahren von Windows”, wobei “diese” App völlig leer ohne Namen ist, nur das auch im obigen Bild zu sehende Icon. Mit solchen Informationen kann man nichts anfangen.

  6. 1ST1 sagt:

    Prima, ich programmiere dann mal einen Ransomware-Schädling, der sich nicht beendet bevor alles getan ist, und nenne den Prozess schlicht “G”. Alles gut…

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.