Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   BSOD Bug gefunden (https://www.delphipraxis.net/159995-bsod-bug-gefunden.html)

Aphton 22. Apr 2011 06:28

BSOD Bug gefunden
 
Nur wohin damit? An wen soll ich mich wenden?

Bummi 22. Apr 2011 06:40

AW: BSOD Bug gefunden
 
An den Hersteller des Betriebssystems bzw. wenn es aus der Treiberebene kommt an den Hersteller des Treibers bzw. wenn es an einem Hardwaredefekt liegt usw....

Aphton 22. Apr 2011 06:42

AW: BSOD Bug gefunden
 
Nun, das ist eig. klar! Aber an welche Adresse genau?
Ich hab schon nach Microsoft Bugtrack gesucht, aber nichts gefunden.

Luckie 22. Apr 2011 07:01

AW: BSOD Bug gefunden
 
Wie kann denn ein Bug in einer Bluescreen sein? Wenn dann ist der Bug in der auslösenden Software.

Aphton 22. Apr 2011 07:13

AW: BSOD Bug gefunden
 
Es ist ein API Bug. Wenn man bestimmte API Befehle aufruft, resultiert das in einem Bluescreen.

Edit: Ich könnte mal die Echse Online stellen, um zu sehen, welche Betriebssysteme genau betroffen sind.

Bummi 22. Apr 2011 07:18

AW: BSOD Bug gefunden
 
ist das auf mehreren Rechnern nachvollziehbar, also ein Hardware / Treiberproblem ausschließbar?

Aphton 22. Apr 2011 07:22

AW: BSOD Bug gefunden
 
Ich habe leider nur einen Rechner, also kann ich das nicht praktisch ausprobieren.

Bummi 22. Apr 2011 07:26

AW: BSOD Bug gefunden
 
nu, wenn es kein Geheimnis ist kannst Du ja mal ein Microdemo hochladen um es nachzuvollziehen.
Ich gehe mal zu 98% davon aus, daß es kein API-Bug ist.

himitsu 22. Apr 2011 07:32

AW: BSOD Bug gefunden
 
Zitat:

Es ist ein API Bug. Wenn man bestimmte API Befehle aufruft, resultiert das in einem Bluescreen.
Oder eine Fehlbediehnung.

Welche APIs meinst du denn?

PS: Es reicht auch nur ein API-Befehl, denn man kann den BlueScreen auch geziehlt auslösen ... wurde unter XP genutzt, um ein Speicherabbild eines Programms/Systems zu erhalten.
In Win7 gibt es dafür zum Glück nun bessere Befehle.

Aphton 22. Apr 2011 07:42

AW: BSOD Bug gefunden
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hmm, ok. Also ich weiß es leider auch nicht genau.
Es geht alles so schnell. Man kann den Fehler nicht einmal richtig debuggen...

Edit: Nachdem man es geöffnet hat, muss man kurz warten. Normalerweise dürfte es dann nach einer Weile einen BSOD verursachen. Falls dem nicht so ist, ein paar weitere Male starten. Ich schätze es wird intern ein Buffer überschrieben, was zu fatalen Fehlern führt. Kann nun sein, dass dieser Buffer von System zu System verschieden groß ist!

himitsu 22. Apr 2011 08:05

AW: BSOD Bug gefunden
 
Und wir sollen jetzt, ohne zu wissen was dein Programm macht,
es einfach ausführen?

Vergiß es!

Aphton 22. Apr 2011 08:06

AW: BSOD Bug gefunden
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ja ich hab ursprünglich auch den Quellcode gepostet aber nach kurzer Überlegung dachte ich mir, dass das nicht so ne kluge Entscheidung war.

Ach was solls, ist ja nicht mein Problem:

Kernstück
Delphi-Quellcode:
var
  h1, h2, b: DWord;

  h1 := GetStdHandle(STD_INPUT_HANDLE);
  h2 := CreateConsoleScreenBuffer(GENERIC_WRITE, FILE_SHARE_READ, NIL, CONSOLE_TEXTMODE_BUFFER, NIL);
  repeat
    SetConsoleActiveScreenBuffer(h2);
    ReadConsole(h1, NIL, 0, b, NIL);
  until BSOD...;
Die Echse ist das Kompilat vom Anhang! Sie automatisiert einfach den Programmfluss - man muss nicht mehr selber etwas eingeben!

Sir Rufo 22. Apr 2011 08:09

AW: BSOD Bug gefunden
 
Zitat:

Zitat von Aphton (Beitrag 1096469)
Ja ich hab ursprünglich auch den Quellcode gepostet aber nach kurzer Überlegung dachte ich mir, dass das nicht so ne kluge Entscheidung war.

Weltherrschaftsübernahmecode :mrgreen:

Aphton 22. Apr 2011 08:12

AW: BSOD Bug gefunden
 
Kann es irgendwer schon nachvollziehen, oder kommt das nur bei mir?

himitsu 22. Apr 2011 08:20

AW: BSOD Bug gefunden
 
Hier stürtzt nichts ab.
Liegt also nicht an dieser API. :stupid:

Schon witzig ... in der EXE versteckt sich auch noch ein SendInput :shock:

Aphton 22. Apr 2011 08:25

AW: BSOD Bug gefunden
 
Was heißt hier "versteckt" sich? Das kannst du auch in der Src lesen!

Edit: damit wird nur der ReadConsole Befehl umgangen, mehr nicht!

Ansonsten - hmm...
OK. Welche Windows Version benutzt du?

WM_CLOSE 22. Apr 2011 09:15

AW: BSOD Bug gefunden
 
Also bei mir kommt nur "Das programm[...]funktioniert nicht mehr"
Kann es sein, dass du in einer praktisch Endloschleife Tastaturbefehle schickst?
Und vielleicht gleichzeitig eine dieser USB-Tastaturen benutzt?
Und am besten noch mehrmals gleichzeiteig?

Aphton 22. Apr 2011 09:32

AW: BSOD Bug gefunden
 
Also ja, aber ich benutz keine USB Tastatur.
Ne Endlosschleife ists ja nicht, es wird c mal durchlaufen.

Ich hab einen Laptop, den ich neu aufgesetzt habe. Es läuft Win 7 64 Bit und es ist alles up-to-date.

BenjaminH 22. Apr 2011 09:43

AW: BSOD Bug gefunden
 
Bluescreen Win7x64
Hab ne USB-Tastatur von Tevion

Bummi 22. Apr 2011 09:45

AW: BSOD Bug gefunden
 
Hast Du mal einen Memtest bei Dir laufen lassen?

Aphton 22. Apr 2011 10:48

AW: BSOD Bug gefunden
 
Nein

rollstuhlfahrer 22. Apr 2011 10:49

AW: BSOD Bug gefunden
 
Das ist jetzt echt komisch. Bei mir läuft das Programm einwandfrei durch (CPU-Last geht von 50%, Dualcore HT, wieder auf 0% zurück). Dann verschwindet das Fenster und alles scheint wieder normal, bis ich den Quellcode öffne. Erst dann ereilt mich der BSOD. Habe auch eine USB-Tastatur von TEVION.

Mein Bluescreen:
Code:
Problemsignatur:
  Problemereignisname:   BlueScreen
  Betriebsystemversion:   6.1.7600.2.0.0.768.3
  Gebietsschema-ID:   1031

Zusatzinformationen zum Problem:
  BCCode:   f4
  BCP1:   00000003
  BCP2:   853FAD40
  BCP3:   853FAEAC
  BCP4:   8287B0E0
  OS Version:   6_1_7600
  Service Pack:   0_0
  Product:   768_1
Bernhard

PS: Da bei mir das RAM standardmäßig mit min. 75% ausgelastet ist, sollten keine RAM-Fehler existieren, da Windows sonst viel häufiger abstürzen würde. Das war jetzt der erste.

BenjaminH 22. Apr 2011 11:00

AW: BSOD Bug gefunden
 
Jupp, liegt (zumindest bei mir) nur an der Tevion Tastatur. Sobald ich die ausstecke(Laptop) dann gibts keinen Bluescreen mehr.

Aphton 22. Apr 2011 11:16

AW: BSOD Bug gefunden
 
Also eines kann ich garantieren - es hat nichts mit SendInput zu tun.
Zuerst hatte ich das ja ohne dem - ich hab die Eingaben manuell gemacht und es ist mir ständig abgestürzt.
(Edit: Dies bezieht sich auf Beitrag #17)

Trotzdem find ich das gerade merkwürdig. Es sollte nichts mit der Tastatur zu tun haben, da ich selbst keine USB Tastatur habe (Laptop Tastatur eben; weiß aber ned welche Marke und wie das bei Laptops intern geregelt ist). Folglich sollte es auch zu einem BSOD kommen, ganz egal ob man die Tastatur von TEVION angesteckt hat.

Ich glaube viel eher es hat etwas mit Win 7 64 Bit zu tun

rollstuhlfahrer 22. Apr 2011 11:22

AW: BSOD Bug gefunden
 
Nicht ganz. Ich habe auf Win7 32 Home Premium getestet. Und da kommt auch unter ganz komischen Umständen ein BSOD: Programm laufen lassen ohne angeschlossene Tastatur: Geht. Danach Quellcode öffnen (Grund für den vorherigen BSOD): Geht. Danach Tastatur wieder anstecken: Und da ist er wieder der BSOD.

Tritt das eigentlich auch bei Win XP und darunter auf?

Bernhard

BenjaminH 22. Apr 2011 11:38

AW: BSOD Bug gefunden
 
Zitat:

Zitat von rollstuhlfahrer (Beitrag 1096490)
Danach Tastatur wieder anstecken: Und da ist er wieder der BSOD.

Startest du das Programm nach dem Anstecken nochmal?

Mir ist folgendes gerade passiert:
Tastatur abgesteckt
Programm gestartet, Programm stürzt ab, kein BSOD
Stecke Tastatur ein(direkt danach).
Mache was anderes. 10 min später: BSOD, ohne dazwischen das Programm gestartet zu haben.

Aphton 22. Apr 2011 11:41

AW: BSOD Bug gefunden
 
Ja damit das gleich auftritt muss man die Anwendung öfters starten.

Das weiß ich daher, weil ich ursprünglich die Eingaben per Hand gemacht habe und ich da nur wenig getippt hatte. Da kam es nicht direkt zum Absturz.

rollstuhlfahrer 22. Apr 2011 13:15

AW: BSOD Bug gefunden
 
Zitat:

Zitat von BenjaminH (Beitrag 1096492)
Zitat:

Zitat von rollstuhlfahrer (Beitrag 1096490)
Danach Tastatur wieder anstecken: Und da ist er wieder der BSOD.

Startest du das Programm nach dem Anstecken nochmal?

Nein.

Aber scheinbar wird Windows völlig instabil nachdem das Programm durchgelaufen ist. Oder Windows rast ohne es zu bemerken in eine Segmentation Fault (Das Demo-Programm alloziiert Speicher, der weiterhin als belegt gilt, aber schon freigegeben ist. Dann will ein anderes Programm diesen "freien" Speicher haben, Windows meint aber, dass er noch belegt ist und macht eine Sicherheitsabschaltung - Nur so fantasiert, könnte aber stimmen).

Bernhard

ADD: Mittlerweile denke ich, dass sich diese Idee bewahrheiten wird: Laut MSDN ist bei mir (siehe #22) ein Prozess abgestürzt, ohne den das System nicht weiter arbeiten kann. Deshalb die Notabschaltung. (siehe MSDN)

DarkItachi 22. Apr 2011 15:05

AW: BSOD Bug gefunden
 
Ich dachte eigentlich, dass Sendinput den Stack vollgestopft hat und somit der Prozess abstürzt aber damit noch nicht der Stack geleert worden ist. Der PC hängt sich dabei ja auch völlig auf und man kann gar nicht mehr machen. Bei meinem PC noch nicht mal Fenster minimieren / maximieren.

Ich würde rollstuhlfahrer zustimmen :)

Zacherl 22. Apr 2011 18:04

AW: BSOD Bug gefunden
 
An sowas wie dem Stack kann es nicht liegen. Ein Bluescreen kann generell ja nur im Kernel Mode auftreten (natürlich auch durch z.b. irgendwelche User Mode APIs induziert). Sollte es wirklich diese "Sicherheitsabschaltung" sein, kann eigentlich nur eine Terminierung von winlogon.exe der Grund dafür sein.

Wäre vielleicht interessant zu erfahren, ob ihr als Administrator arbeitet, bzw. das Programm UAC elevated ausgeführt habt.

BenjaminH 22. Apr 2011 18:14

AW: BSOD Bug gefunden
 
Zitat:

Zitat von Zacherl (Beitrag 1096545)
Wäre vielleicht interessant zu erfahren, ob ihr als Administrator arbeitet, bzw. das Programm UAC elevated ausgeführt habt.

Nein.

Aphton 22. Apr 2011 19:58

AW: BSOD Bug gefunden
 
Nein

rollstuhlfahrer 22. Apr 2011 23:20

AW: BSOD Bug gefunden
 
Auch bei mir: Höchste UAC-Stufe und Programm nicht als Admin ausgeführt.

Bernhard

JamesTKirk 25. Apr 2011 11:25

AW: BSOD Bug gefunden
 
Zitat:

Zitat von Zacherl (Beitrag 1096545)
Sollte es wirklich diese "Sicherheitsabschaltung" sein, kann eigentlich nur eine Terminierung von winlogon.exe der Grund dafür sein.

Nur eine Notiz am Rande:
winlogon.exe ist nicht der einzige systemkritische Prozess; csrss.exe, smss.exe und noch der ein oder andere mehr zählen auch dazu.

Gruß,
Sven

Win32.API 25. Apr 2011 11:53

AW: BSOD Bug gefunden
 
In diesem Fall wird in csrss.exe eine unbehandelte AV geworfen, welche das System lahmlegt.

lbccaleb 25. Apr 2011 11:55

AW: BSOD Bug gefunden
 
Bei mir (Vario Laptop) gibts auch nen BlueScreen. Ähnlich wie bei den anderen, nach dem starten läuft das Programm durch, und nach ner guten Minute (als ich ebendfalls den Quellcode geöffnet habe) kommt der BlueScreen.

Auch mit Windows 7 64 Bit

Keine Rechte

Edit:
Achja normalerweise sind die Laptop Tastaturen alles gängige normale USB Tastaturen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:14 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz