Forum: SuRun Beta RSS
SuRun 1.2.0.9
Seite:  vorherige  1  2  3  4 ... 8  9  10  nächste 
Kay (Administrator) #16
Benutzertitel: Weltverbesserer
Mitglied seit 11/2007 · 1462 Beiträge · Wohnort: Magdeburg
Gruppenmitgliedschaften: Administratoren, Mitglieder
Profil anzeigen · Link auf diesen Beitrag
Antwort auf Beitrag ID 2456
SuRun 1.2.0.9 Beta 5 vom 08.10.2009
  • FIX: "SuRun /Sysmenuhook" hat 100% Last auf einem CPU Kern verursacht
[EDIT:]
  • FIX: Nach einer Neuinstallation, wenn man <ENTER> gedrückt hat, wurde SuRun immer wieder neu installiert, statt das System neu gestartet
  • FIX: Wurde das Tray-Symbol zu früh (vor Explorer(?)) gestartet, hat es sich selbst beendet
[/EDIT]

Ich habe jetzt Avira AntiVir Premium als Evaluierungs-Lizenz unter Win7 Ultimate x86 mit SuRun 1.2.0.9 Beta 5 laufen... bisher keinerlei Auffälligkeiten. Ich habe alle Hooks und "Versuche zu erkennen, ob unbekannte Programme administrative Rechte benötigen."  aktiviert.

Das Login geht gewohnt schnell, der erste Aufruf von SuRun (Doppelklick auf das Tray-Symbol) dauert ~3s.
Das bedeutet, dass SuRun das erste Mal für meinen Benutzer aufgerufen wird, nachdem er angemeldet und Explorer initialisiert ist.

@Stefan: Hoffentlich werden Deine SuRun-Sorgen nun weniger.
Der Autor hat eine Datei an diesen Beitrag angehängt:
SuRun1209b5.zip | Speichern   670,6 kBytes, 205 mal heruntergeladen
Dieser Beitrag wurde 2 mal verändert, zuletzt am 08.10.2009, 20:09 von Kay.
Stefan #17
Mitglied seit 08/2008 · 42 Beiträge
Gruppenmitgliedschaften: Mitglieder
Profil anzeigen · Link auf diesen Beitrag
FIX: "SuRun /Sysmenuhook" hat 100% Last auf einem CPU Kern verursacht
Das Problem ist gelöst. :)

Meinst Du das allererste Login?
Hast Du "Versuche zu erkennen, ob unbekannte Programme administrative Rechte benötigen." aktiviert?

Wenn beides JA: ...

ich vermute, der CPU-Fresser in "SuRun /Sysmenuhook" und Avira bekamen dem Explorer nicht besonders...
Beide Häkchen waren gesetzt.
Ich habe testweise ein paar Neustarts durchgeführt. Nach der SuRun-Installation (erster Neustart): Klick auf Benutzersymbol und Erscheinen der Passworteingabe dauerte 2, 3 Sekunden. Nach
dem Login: Explorer hing sich auf, nach einiger Zeit fragte Windows nach, ob der Prozess beendet werden soll. Nach dessen Beenden (inkl. automatischem Neustart) ging es.
Zweiter Neustart: Keine Probleme (sowohl war der Login schnell als auch keine Explorer-Abstürze). Als einzig Ungewöhnliches wurden nur die Icons neu eingelesen.
Dritter Neustart: Windows meldete nach dem Login, dass der Explorer neu gestartet werden musste, weil er abgestürzt sei. (Die Meldung erschien direkt, ohne dass ich bemerkt hätte, dass sich der Explorer aufgehängt hätte o.ä.)
Beim vierten Mal hing sich kurz der Splashscreen von Avira auf. Hmm... Ähnliche Probleme habe ich auch mit Beta 3 und 4 gehabt.
Das "Login-Problem" ist nicht weiter schlimm. Die anderen Probleme sind dagegen mysteriös, auch weil sie nicht regelmäßig auftreten. (Um das Ganze zu verkomplizieren, gibt es bei Dir keine Probleme.)
Ich habe jetzt Avira AntiVir Premium als Evaluierungs-Lizenz unter Win7 Ultimate x86 mit SuRun 1.2.0.9 Beta 5 laufen... bisher keinerlei Auffälligkeiten.
Dein Einsatz beeindruckt mich immer wieder. Vielen Dank, dass Du Dich so gut um SuRun kümmerst!

(Ich sollte noch hinzufügen, dass mein Computer ein Pentium M mit 1,7 GHz ist (ob das der passende Unterbau für Win 7 ist, sei mal dahingestellt). So gesehen weiss ich beim heutigen Hardwarestand nicht, ob Performanceprobleme bei mir wirklich repräsentativ sind... Die 3 Sekunden bis zum ersten SuRun-Aufruf (Klick auf das Traysymbol) sind mir jedenfalls nicht negativ aufgefallen.)

P.s.: Ich habe die Data Execution Prevention (DEP) bei mir für alle Prozesse eingeschaltet. Ob das einen Unterschied macht?
Kay (Administrator) #18
Benutzertitel: Weltverbesserer
Mitglied seit 11/2007 · 1462 Beiträge · Wohnort: Magdeburg
Gruppenmitgliedschaften: Administratoren, Mitglieder
Profil anzeigen · Link auf diesen Beitrag
@Stefan: Verschwinden alle Probleme, wenn Du "Direkt in Programme einhängen, die andere Programme ausführen." abschaltest?
Wenn nicht, wo alles ist SuRun in Deinen Autostarts? (AutoRuns)
Stefan #19
Mitglied seit 08/2008 · 42 Beiträge
Gruppenmitgliedschaften: Mitglieder
Profil anzeigen · Link auf diesen Beitrag
Jetzt bringe ich Dich noch um Deine wohlverdiente Mittagspause...

Ich habe (mit aktiviertem "Direkt in Programme einhängen...") nochmals 3 oder 4 Neustarts durchgeführt. Abgesehen vom "Login-Problem" verlief alles anstandslos. (Nichtreproduzierbare Fehler sind halt die schönsten. ;) )
Ob es nur nach der Installation von SuRun Probleme gibt? Ich werde SuRun einmal de- und wieder installieren.

Einträge von SuRun in den Autostarts ("Direkt in Programme einhängen..." etc. aktiviert):
- SuRun Systemmenü-Erweiterung in HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
- SuRun Shell Extension in HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\ShellExecuteHooks
- SuRun - Shell extension for SuRun in HKLM\Software\Classes\Folder\ShellEx\ContextMenuHandlers
- SuRun - Shell extension for SuRun in HKLM\Software\Classes\Directory\Background\ShellEx\ContextMenuHandlers
- SuRun Shell Extension in HKLM\Software\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved
- Super UserRun (SuRun) Service in HKLM\System\CurrentControlSet\Services
- SuRun - Shell extension for SuRun in HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify
Kay (Administrator) #20
Benutzertitel: Weltverbesserer
Mitglied seit 11/2007 · 1462 Beiträge · Wohnort: Magdeburg
Gruppenmitgliedschaften: Administratoren, Mitglieder
Profil anzeigen · Link auf diesen Beitrag
Ich habe auch mal DEP eingeschaltet, ohne Änderung.

Zitat von Stefan:
- SuRun - Shell extension for SuRun in HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify

Das sollte nicht drin stehen! (Ist in meinem Win7 auch nicht drin.)

Nur unter Windows 5 muss der Eintrag gesetzt werden, um verbleibende SuRun Prozesse nach der Benutzerabmeldung zu "killen". Unter Windows Vista/7 macht Windows das automatisch.

Allerdings sollte der Eintrag auch keinerlei Mist bauen können...
Stefan #21
Mitglied seit 08/2008 · 42 Beiträge
Gruppenmitgliedschaften: Mitglieder
Profil anzeigen · Link auf diesen Beitrag
Hallo Kay,

ich habe SuRun einmal deinstalliert und dann nach einem Neustart neu installiert. Insgesamt: Der Explorer stürzte ab, nachdem ich mich über die Systemsteuerung vor dem Neustart als SuRunner eintrug. Nach erfolgtem Neustart hing sich der Explorer auf. Als ich mich einmal als UAC-Admin (kein SuRunner) eingeloggt habe, stürzte auch dort der Explorer ab. Das passierte allerdings nicht, als ich mich mit einem anderen UAC-Admin (ebenfalls kein SuRunner) eingeloggt habe.

So, wie es aussieht, tritt das Problem nur nach der SuRun-Installation auf. Bis jetzt habe ich jedenfalls nach den oben genannten "Anfangsschwierigkeiten" keine Probleme gehabt.

Das "Login-Problem" mit der Verzögerung vom Klick auf den Benutzernamen bis zum Erscheinen der Passwort-Eingabe ist höchstens etwas störend, scheint aber keine Einschränkung zu bedeuten. Wenn man sich abmeldet und wieder anmeldet, tritt diese Verzögerung übrigens nicht auf.

Das sollte nicht drin stehen! (Ist in meinem Win7 auch nicht drin.)
Testweise habe ich den Eintrag mit Autostarts ausgetragen. Etwas verändert hat sich anscheinend dadurch nicht. (Aber Du sagtest selbst, dass der Eintrag eigentlich nichts bewirken sollte.) Seltsam, wie er bei mir in die Registry gelangt sein könnte...

Ich habe diesmal etwas genauer über den "Testablauf" Buch geführt. Im ZIP-File findest Du das "Protokoll" inklusive der Windows-Report-Absturzdateien (falls Du damit etwas anfangen kannst).

http://n.ethz.ch/~kraftst/download/SuRun.zip
Kay (Administrator) #22
Benutzertitel: Weltverbesserer
Mitglied seit 11/2007 · 1462 Beiträge · Wohnort: Magdeburg
Gruppenmitgliedschaften: Administratoren, Mitglieder
Profil anzeigen · Link auf diesen Beitrag
Hab alles hier genau so probiert.
Ich bekomm's einfach nicht nachvollzogen :'(
(Das GPF in "SuRunExt.dll_unloaded" kenne ich allerdings von früheren Versionen in Verbindung mit x64)
Alles klingt nach dem IAT-Hook:
  • Wenn Du  "Direkt in Programme einhängen..." deaktivierst, ist das Problem dann weg?
  • Führst Du evtl. SuRun*.exe im Kompatibilitätsmodus zu XP oder im virtuellen Modus aus?
Cosmo #23
Mitglied seit 03/2008 · 451 Beiträge
Gruppenmitgliedschaften: Mitglieder
Profil anzeigen · Link auf diesen Beitrag
Antwort auf Beitrag #21
Zitat von Stefan:
Als ich mich einmal als UAC-Admin (kein SuRunner) eingeloggt habe, stürzte auch dort der Explorer ab. Das passierte allerdings nicht, als ich mich mit einem anderen UAC-Admin (ebenfalls kein SuRunner) eingeloggt habe.
Defektes Konto?
Thomas
Kay (Administrator) #24
Benutzertitel: Weltverbesserer
Mitglied seit 11/2007 · 1462 Beiträge · Wohnort: Magdeburg
Gruppenmitgliedschaften: Administratoren, Mitglieder
Profil anzeigen · Link auf diesen Beitrag
Ich habe das ".dll_unloaded" verursacht GPF Problem mal näher untersucht. (Das scheint ab Windows Vista mehrere Produkte zu betreffen) SuRunExt scheint auf Fuktionen in Windows DLLs zuzugreifen, die noch nicht geladen/initialisiert sind. SuRunExt macht bei der Dll Initialisierung (DllMain) "nicht empfohlene Sachen" und die gehen z.B. bei Stefan schief. Die Reihenfolge, in der Windows DLLs in einen Prozess lädt und initialisiert, ist von System zu System verschieden. Deshalb kann ich bei mir den Fehler auch nicht finden.

Eine generelle Lösung für die Dll-Hölle gibt es IMHO nicht. Ich kann nur versuchen, am wenigsten falsch zu machen.

In der beiliegenden Beta habe ich die Hook-Initialisierung in einen eigenen Thread ausgelagert, der versucht zu warten, bis alle Dlls geladen sind, bevor er die Hooks initialisiert. Dadurch wird sicher gestellt, das SuRunExt in der "DllMain" nur empfohlene Dinge tut. Beim Entladen von SuRunExt wird darauf geachtet, dass der Init-Thread beendet ist (max. 1s warten, dann terminieren) und alle IAT-Hooks werden wieder zurückgesetzt.

Allerdings hat das auch Nachteile:
  • Die Initialisierung ist langsamer und die Automagie "erwischt" keine früh vom Prozess gestarteten Programme.
  • Das Beenden des Prozesses dauert u.U. 1s, wenn die Initialisierung noch nicht durch ist, SuRunExt aber wieder entladen wird.

Das ganze ist hoffentlich kompatibel und performant genug, um nicht aufzufallen.

SuRun 1.2.0.9 Beta 6 vom 12.10.2009
  • FIX: SuRuns IAT-Hooks werden immer in einem separaten Thread gesetzt, um GPFs in SuRunExt.dll_unloaded zu verhindern.
  • FIX: In den SuRun Einstellungen wird in Windows 7 "'SuRun Explorer' hier" immer deaktiviert und ausgegraut dargestellt.
Der Autor hat eine Datei an diesen Beitrag angehängt:
SuRun1209b6.zip | Speichern   670,9 kBytes, 151 mal heruntergeladen
Stefan #25
Mitglied seit 08/2008 · 42 Beiträge
Gruppenmitgliedschaften: Mitglieder
Profil anzeigen · Link auf diesen Beitrag
Hallo Kay,

ich habe SuRun jetzt 3 Mal de- und wieder installiert. Nach der Installation habe ich mich immer im erscheinenden SuRun-Fenster als SuRunner eingetragen. Einmal habe ich das Einhängen deaktiviert, zwei Mal habe ich es drin gelassen. Explorer-Abstürze habe ich trotz diverser Neustarts nicht beobachten können.
Führst Du evtl. SuRun*.exe im Kompatibilitätsmodus zu XP oder im virtuellen Modus aus?
Gerade eben gesehen: Die InstallSuRun.exe wird bei mir im Kompatibilitätsmodus XP SP2 gestartet (ich kann nicht sagen, warum, das scheint Win7 automatisch bestimmt zu haben). Das bedingt wohl den Eintrag unter HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify.
Defektes [UAC-Admin-]Konto?
Glaube ich nicht, denn abgesehen von dem einem Mal habe ich mich immer problemlos als UAC-Admin einloggen können. Außerdem meldete Windows ja, dass es mit der SuRunExt.dll zusammenhing.

So, ich werde gleich die neue Beta ausprobieren.
Stefan #26
Mitglied seit 08/2008 · 42 Beiträge
Gruppenmitgliedschaften: Mitglieder
Profil anzeigen · Link auf diesen Beitrag
Ich habe die neue Beta 6 installiert und das System 3 Mal gestartet. Es ist nichts ungewöhnliches passiert. Das "Login-Problem" besteht weiterhin, ist aber nicht so ernst.
Das ganze ist hoffentlich kompatibel und performant genug, um nicht aufzufallen.
Eine Verzögerung habe ich bemerkt: Nach der Passworteingabe verschwindet ja der Login-Schirm. Beim zweiten und dritten Mal schien es danach etwas länger zu dauern, bis die Symbole auf dem Desktop erscheinen etc., d.h. der Desktop richtig geladen ist. Aber abgestürzt ist nichts. (Und da mein System von der Power sowieso nicht recht repräsentativ ist...)
In der beiliegenden Beta habe ich die Hook-Initialisierung in einen eigenen Thread ausgelagert...
Beeindruckend, wie Du immer wieder Lösungen aus dem Hut zauberst!  :-)
Stefan #27
Mitglied seit 08/2008 · 42 Beiträge
Gruppenmitgliedschaften: Mitglieder
Profil anzeigen · Link auf diesen Beitrag
Es ist schon wieder passiert. Verflixt! Beim Einloggen meldete Windows, dass der Explorer abgestürzt ist und neu gestartet werden muss.

Der einzige Unterschied war, dass ich diesmal beim Booten einen USB-Stick angeschlossen habe. Ich habe gerade eben wieder einen Neustart durchgeführt und dabei den USB-Stick eingesteckt, doch jetzt ist nichts passiert...

Fehlerbucket , Typ 0
Ereignisname: APPCRASH
Antwort: Nicht verfügbar
CAB-Datei-ID: 0

Problemsignatur:
P1: Explorer.EXE
P2: 6.1.7600.16385
P3: 4a5bc60d
P4: SuRunExt.dll_unloaded
P5: 0.0.0.0
P6: 4ad3431a
P7: c0000005
P8: 10004da0
P9:
P10:

Soll ich wieder die Reportdatei hochladen?
Kay (Administrator) #28
Benutzertitel: Weltverbesserer
Mitglied seit 11/2007 · 1462 Beiträge · Wohnort: Magdeburg
Gruppenmitgliedschaften: Administratoren, Mitglieder
Profil anzeigen · Link auf diesen Beitrag
Nein, das brauchst Du nicht.
Ich habe SuRun so verändert, dass SuRunExt die Exception abfängt und den Init-Thread neu startet.
Muss noch ein paar Tests machen.

Das Problem mit der Initialisierung von Dlls ist so alt, wie Windows selbst.

Dlls werden erst in den Speicher geladen und dann wird die Hauptroutine (DllMain) aufgerufen. Jede Dll kann so grundlegende Daten initialisieren, Viren installieren... was man so braucht. ;-)

Wenn eine Dll (A) von einer anderen (B) abhängig ist, wird (B) vor (A) initialisiert. Das ist einfach. ;-)

Wenn (B) aber auch von Funktionen (A) benutzt, kann man nicht genau sagen, welche Initialisierungs-Reihenfolge richtig ist. (A) und (B) werden zunächst geladen und dann irgendwie initialisiert. Wenn nichts passiert ist alles OK. Es kann höchstens vorkommen, das (A) eine Funktion von (B) benutzt, deren Daten noch dummes Zeug sind.

Seit Vista scheint Microsoft allerdings andere Wege zu gehen.
Wenn man eine Funktion aus einer Dll benutzt, die noch nicht initialisiert worden ist, scheint es eine Schutzrechtverletzung zu geben... Die, die Du siehst.

SuRunExt fängt die jetzt ab und startet die Initialisierung neu.

Hoffentlich geht es damit.
Kay (Administrator) #29
Benutzertitel: Weltverbesserer
Mitglied seit 11/2007 · 1462 Beiträge · Wohnort: Magdeburg
Gruppenmitgliedschaften: Administratoren, Mitglieder
Profil anzeigen · Link auf diesen Beitrag
Es hat etwas gedauert.

IAT-Hook-Stabilitäts-Tests mache ich immer, indem ich von Windows die SuRunExt.Dll per "AppInit_DLLs" in alle (auch administrative) Prozesse injizieren lasse und dann alles mögliche, das bei mir installiert ist, starte/benutze... Und das in mindestens drei virtuellen Maschinen und meinen Produktivrechnern. Bisher ist dabei (aus o.g. Gründen) immer irgendwann etwas schief gelaufen, in der beiliegenden Beta das erste Mal nicht. :-D

Ich hoffe, dass das "IAT-Hook"-Problem nun endgültig Geschichte ist und die Implementation der neuen Features gemacht werden kann.

SuRun 1.2.0.9 Beta 7 vom 18.10.2009
  • FIX: Die Initialisierungs-Routinen von SuRunExt.Dll haben nun einen Exception-Filter. Der fängt Zugriffsverletzungen ab und terminiert und startet den Initialisierungs-Thread neu. Das sollte endgültig Fehler in SuRunExt.Dll_unloaded verhindern.
Der Autor hat eine Datei an diesen Beitrag angehängt:
SuRun1209b7.zip | Speichern   670,9 kBytes, 320 mal heruntergeladen
Stefan #30
Mitglied seit 08/2008 · 42 Beiträge
Gruppenmitgliedschaften: Mitglieder
Profil anzeigen · Link auf diesen Beitrag
Hallo Kay,

ich habe mich seit etwas längerem nicht gemeldet, und leider habe ich es noch nicht systematisch getestet, aber:
Das Problem scheint behoben zu sein. :) Wenn man das Problem an meinem Computer reproduzieren kann, dann wohl durch einen angesteckten USB-Stick beim Booten oder Einloggen (was ich weiter oben erwähnt habe).
Wenn man unter Windows 7 das Passwort eingegeben hat, erscheint ja "Willkommen" (oder ähnlich) mit dem kreisenden blauen Kreis (was früher die Sanduhr war). Beide Male (mit eingestecktem USB-Stick) blieb der Bildschirm dabei ein oder zwei Sekunden stehen, was ich dahingehend interpretiere, dass die Zugriffsverletzung abgefangen wurde. Dafür spricht auch, dass sich danach das Sicherheitscenter beschwerte, Avira würde nicht laufen (was es aber tat): Dieses Problem trat hin und wieder auch nach den Explorer-Abstürzen mit den alten Betas auf.
Somit gibt es keine Explorer-Abstürze mehr, aber bei eingestecktem USB-Stick beim Booten eine Sicherheitscentermeldung, die man durch De- und Reaktivieren von Avira sofort wieder los wird (und ohne USB-Stick scheint SuRun nichts mehr abfangen zu müssen, weil das Einloggen problemlos klappt).

Vielen Dank nochmals! :)
Schließen Kleiner – Größer + Auf diesen Beitrag antworten:
Prüfcode: VeriCode Gib bitte das Wort aus dem Bild ins folgende Textfeld ein. (Nur die Buchstaben eingeben, Kleinschreibung ist in Ordnung.)
Smileys: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O
Weitere Zeichen:
Seite:  vorherige  1  2  3  4 ... 8  9  10  nächste 
Gehe zu Forum
Nicht angemeldet. · Kennwort vergessen · Registrieren
This board is powered by the Unclassified NewsBoard software, 20150713-dev, © 2003-2015 by Yves Goergen
Seite erstellt in 200,3 ms (150,1 ms) · 138 Datenbankabfragen in 27,6 ms
Aktuelle Zeit: 01.05.2017, 08:19:21 (UTC +02:00)