Autor Thema: Screen of Death  (Gelesen 30367 mal)

iksnagreb

  • Beiträge: 28
    • Profil anzeigen
Gespeichert
« am: 14. November 2012, 21:16 »
Hallo.
Es wäre mal interessant zu sehen wie eure Screens of Death so aussehen.
Vielleicht war ja einer von euch sehr kreativ dabei, seinen Screen of Death zu gestalten.

Hier ist mein Screen of Death:


Ich freue mich schon darauf eure zu sehen :-D

jo2105

  • Beiträge: 58
    • Profil anzeigen
Gespeichert
« Antwort #1 am: 14. November 2012, 21:25 »
 :-P


Der wird natürlich nochmal überarbeitet. :D


Svenska

  • Beiträge: 1 792
    • Profil anzeigen
Gespeichert
« Antwort #2 am: 14. November 2012, 21:32 »
Meiner sieht derzeit so aus (letzte Zeilen im Log, Hellgrau auf Schwarz):

[CRIT ] Got exception 0xe (#PF, error 0x0) at 0xe01059ba!
[CRIT ] EAX: 0x12345678, EBX: 0x9500, ECX: 0x0, EDX: 0x0
[CRIT ] ESI: 0x0, EDI: 0x130000, EBP: 0x104fc0
[CRIT ] CS:  0x8, SS:  0xe010b218, ESP: 0x3, EFLAGS: 0x46
[CRIT ] CR0: 0x80000011, CR2: 0x12345678, CR3: 0x101000
[CRIT ] Halting.

kevin

  • Administrator
  • Beiträge: 2 767
    • Profil anzeigen
Gespeichert
« Antwort #3 am: 15. November 2012, 11:29 »
Hm, "meiner" ist der da. Kennen wohl die meisten hier:




Außerdem poste ich mal in Vertretung von Paddy den hier (hab mir sogar extra einen Crosscompiler dafür gebaut...):



In beiden Fällen musste ein NMI herhalten, weil diese Systeme natürlich nicht einfach so abstürzen. (*hust* ;))
Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end.

micha

  • Beiträge: 141
    • Profil anzeigen
Gespeichert
« Antwort #4 am: 15. November 2012, 16:35 »
Also der von FruityOrange:


Und dann von unserem Gemeinschaftsprojekt Universe:

kevin

  • Administrator
  • Beiträge: 2 767
    • Profil anzeigen
Gespeichert
« Antwort #5 am: 15. November 2012, 18:41 »
Wieso füllt FruityOrange denn mit Nullen ausgerechnet auf sechs Hexziffern auf? Und cs=0x101bae klingt auch unwahrscheinlich. ;)
Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end.

MNemo

  • Beiträge: 547
    • Profil anzeigen
Gespeichert
« Antwort #6 am: 16. November 2012, 12:57 »
Wieso füllt FruityOrange denn mit Nullen ausgerechnet auf sechs Hexziffern auf?
Ich tippe mal auf "%#08x".

Bevor der eigentlich Kernel geladen wurde:


Mit Kernel (sieht nicht schön aus, aber sieht ja so wieso keiner ^^):

„Wichtig ist nicht, besser zu sein als alle anderen. Wichtig ist, besser zu sein als du gestern warst!“

kevin

  • Administrator
  • Beiträge: 2 767
    • Profil anzeigen
Gespeichert
« Antwort #7 am: 16. November 2012, 13:03 »
Wieso füllt FruityOrange denn mit Nullen ausgerechnet auf sechs Hexziffern auf?
Ich tippe mal auf "%#08x".
Entweder "%#06x" oder das printf ist buggy. ;)

Und ich wusste gar nicht, dass du auch einen eigenes OS hast. Gibt es da auch was zu zeigen, wenn es grad nicht abstürzt?
Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end.

MNemo

  • Beiträge: 547
    • Profil anzeigen
Gespeichert
« Antwort #8 am: 16. November 2012, 13:15 »
Wieso füllt FruityOrange denn mit Nullen ausgerechnet auf sechs Hexziffern auf?
Ich tippe mal auf "%#08x".
Entweder "%#06x" oder das printf ist buggy. ;)
Dann ist glibc buggy.

Zitat
Und ich wusste gar nicht, dass du auch einen eigenes OS hast. Gibt es da auch was zu zeigen, wenn es grad nicht abstürzt?
Das hatten wir doch schon mal^^
Je nach Branch listet es alle PCI geräte oder ACPI Tabellen auf. Also nix dolles.
„Wichtig ist nicht, besser zu sein als alle anderen. Wichtig ist, besser zu sein als du gestern warst!“

micha

  • Beiträge: 141
    • Profil anzeigen
Gespeichert
« Antwort #9 am: 16. November 2012, 15:48 »
Wieso füllt FruityOrange denn mit Nullen ausgerechnet auf sechs Hexziffern auf?
Ich tippe mal auf "%#08x".
Entweder "%#06x" oder das printf ist buggy. ;)
Dann ist glibc buggy.
Das mit %#08x und so hab ich einfach weggelassen. Und die Anzahl der stellen für %x ist eben 6. kA warum
Sonst funktioniert das printf eigentlich

kevin

  • Administrator
  • Beiträge: 2 767
    • Profil anzeigen
Gespeichert
« Antwort #10 am: 16. November 2012, 17:24 »
Entweder "%#06x" oder das printf ist buggy. ;)
Dann ist glibc buggy.
Ich weiß ja nicht, was für eine glibc du benutzt, aber meine gibt mit 0x10 und "%#08x" eben acht Ziffern aus und nicht nur sechs. (Oder eigentlich sogar neun, wenn man das 0 in 0x mitzählt. ;))
Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end.

micha

  • Beiträge: 141
    • Profil anzeigen
Gespeichert
« Antwort #11 am: 16. November 2012, 17:29 »
Entweder "%#06x" oder das printf ist buggy. ;)
Dann ist glibc buggy.
Ich weiß ja nicht, was für eine glibc du benutzt, aber meine gibt mit 0x10 und "%#08x" eben acht Ziffern aus und nicht nur sechs. (Oder eigentlich sogar neun, wenn man das 0 in 0x mitzählt. ;))
Ich verwende ja auch nicht %#08x

MNemo

  • Beiträge: 547
    • Profil anzeigen
Gespeichert
« Antwort #12 am: 16. November 2012, 17:32 »
Entweder "%#06x" oder das printf ist buggy. ;)
Dann ist glibc buggy.
Ich weiß ja nicht, was für eine glibc du benutzt, aber meine gibt mit 0x10 und "%#08x" eben acht Ziffern aus und nicht nur sechs. (Oder eigentlich sogar neun, wenn man das 0 in 0x mitzählt. ;))
Ich nutze: GLIBC_2.2.5
aber siehe auch hier:
http://codepad.org/bcvxheal
„Wichtig ist nicht, besser zu sein als alle anderen. Wichtig ist, besser zu sein als du gestern warst!“

kevin

  • Administrator
  • Beiträge: 2 767
    • Profil anzeigen
Gespeichert
« Antwort #13 am: 16. November 2012, 17:44 »
Okay. Es ist zu lang her, dass ich printf implementiert habe. Du gewinnst.
Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end.

tiger717

  • Beiträge: 84
    • Profil anzeigen
Gespeichert
« Antwort #14 am: 21. November 2012, 20:25 »
Warum "damit der PC nicht beschädigt wird"? Beim OS-Dev kann man doch (fast) nichts kaputt machen, solange man nicht mit irgendwelchen VGA-Registern oder ähnlichem herumspielt?

Svenska

  • Beiträge: 1 792
    • Profil anzeigen
Gespeichert
« Antwort #15 am: 21. November 2012, 22:23 »
Hallo,

Hardware darf auch memory-mapped sein. Läuft die CPU amok und greift wahllos auf Adressen zu, ...

Gruß,
Svenska

kevin

  • Administrator
  • Beiträge: 2 767
    • Profil anzeigen
Gespeichert
« Antwort #16 am: 29. November 2012, 12:29 »
Hat eigentlich sonst niemand was herzuzeigen? Sechs Kernels für 865 Forenmitglieder ist doch irgendwie ein bisschen wenig. ;)
Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end.

Jidder

  • Administrator
  • Beiträge: 1 625
    • Profil anzeigen
Gespeichert
« Antwort #17 am: 29. November 2012, 14:16 »
Dieser Page Fault wurde natürlich künstlich herbeigeführt

Dieser Text wird unter jedem Beitrag angezeigt.

TheThing

  • Beiträge: 105
    • Profil anzeigen
Gespeichert
« Antwort #18 am: 29. November 2012, 20:10 »
So, einmal der normale panic-screen:

Und einmal mit dem Parameter -no-clear-on-panic, der hilft zu erkennen wo der Fehler auftrat:

Bei anderen Fehlern, z.b. Pagefaults, spuckt der natürlich ein paar infos mehr aus. Erweitern werd ich ihn aber trotzdem noch da ein paar mehr Infos noch praktisch wären.
« Letzte Änderung: 29. November 2012, 20:12 von TheThing »

LittleFox

  • Beiträge: 306
    • Profil anzeigen
    • LF-Net.org
Gespeichert
« Antwort #19 am: 29. November 2012, 21:25 »
Hi,

dann melde ich mich doch auch mal :)
Also als erstes hier ein Kernel der eigentlich nur ein Programm (Spiel) im Kernelmodus werden sollte (Just for fun^^), da gab es schon ein wenig C++-Runtime und die musste getestet werden :D
Gar nicht so leicht den Compiler dazu zu bringen einen Aufruf einer rein-virtuellen Funktion zu kompilieren ;-)

Grüße,
LittleFox

PS.: wenn ich noch Images finde folgen noch mehr Screenshots - inklusive "Dummer Spruch der Stunde" :D

 

Einloggen