Lowlevel

OffZone => Offtopic => Thema gestartet von: iksnagreb am 14. November 2012, 21:16

Titel: Screen of Death
Beitrag von: iksnagreb 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:
(http://s7.directupload.net/images/121114/kchdz58j.png)

Ich freue mich schon darauf eure zu sehen :-D
Titel: Re: Screen of Death
Beitrag von: jo2105 am 14. November 2012, 21:25
 :-P
(http://forum.gamersunity.de/jo2105/filedrop/bluescreen-of-death.gif)

Der wird natürlich nochmal überarbeitet. :D

Titel: Re: Screen of Death
Beitrag von: Svenska 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.
Titel: Re: Screen of Death
Beitrag von: kevin am 15. November 2012, 11:29
Hm, "meiner" ist der da. Kennen wohl die meisten hier:

(http://img24.imageshack.us/img24/7897/tyndurnmi.png)


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

(http://img831.imageshack.us/img831/4884/paddynmi.png)

In beiden Fällen musste ein NMI herhalten, weil diese Systeme natürlich nicht einfach so abstürzen. (*hust* ;))
Titel: Re: Screen of Death
Beitrag von: micha am 15. November 2012, 16:35
Also der von FruityOrange:
(http://s14.directupload.net/images/121115/i2oap4da.png)

Und dann von unserem Gemeinschaftsprojekt Universe:
(http://s14.directupload.net/images/121115/hl66fpd6.png)
Titel: Re: Screen of Death
Beitrag von: kevin am 15. November 2012, 18:41
Wieso füllt FruityOrange denn mit Nullen ausgerechnet auf sechs Hexziffern auf? Und cs=0x101bae klingt auch unwahrscheinlich. ;)
Titel: Re: Screen of Death
Beitrag von: MNemo 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:
(https://dl.dropbox.com/u/46465155/Lowlevel/early.png)

Mit Kernel (sieht nicht schön aus, aber sieht ja so wieso keiner ^^):
(https://dl.dropbox.com/u/46465155/Lowlevel/late.png)
Titel: Re: Screen of Death
Beitrag von: kevin 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?
Titel: Re: Screen of Death
Beitrag von: MNemo 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.
Titel: Re: Screen of Death
Beitrag von: micha 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
Titel: Re: Screen of Death
Beitrag von: kevin 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. ;))
Titel: Re: Screen of Death
Beitrag von: micha 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
Titel: Re: Screen of Death
Beitrag von: MNemo 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 (http://codepad.org/bcvxheal)
Titel: Re: Screen of Death
Beitrag von: kevin am 16. November 2012, 17:44
Okay. Es ist zu lang her, dass ich printf implementiert habe. Du gewinnst.
Titel: Re: Screen of Death
Beitrag von: tiger717 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?
Titel: Re: Screen of Death
Beitrag von: Svenska 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
Titel: Re: Screen of Death
Beitrag von: kevin am 29. November 2012, 12:29
Hat eigentlich sonst niemand was herzuzeigen? Sechs Kernels für 865 Forenmitglieder ist doch irgendwie ein bisschen wenig. ;)
Titel: Re: Screen of Death
Beitrag von: Jidder am 29. November 2012, 14:16
Dieser Page Fault wurde natürlich künstlich herbeigeführt

(http://i.imgur.com/cX7Jl.png)
Titel: Re: Screen of Death
Beitrag von: TheThing am 29. November 2012, 20:10
So, einmal der normale panic-screen:
(http://s7.directupload.net/images/121129/w2neaor3.png)
Und einmal mit dem Parameter -no-clear-on-panic, der hilft zu erkennen wo der Fehler auftrat:
(http://s1.directupload.net/images/121129/gwfvwuer.png)
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.
Titel: Re: Screen of Death
Beitrag von: LittleFox 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
Titel: Re: Screen of Death
Beitrag von: LittleFox am 29. November 2012, 21:38
So, Image gefunden - Google sei dank^^

Diesmal die allererste LF OS Version (ohne Rewrite) in Alpha 4:
Titel: Re: Screen of Death
Beitrag von: kevin am 30. November 2012, 10:02
Das ist ja fast ein Kunstwerk. :-D

Was passiert denn, wenn mal größere Zahlen in einem Register stehen? Acht Dezimalziffern kommen mir irgendwie wenig vor für 32 Bit. ;)
Titel: Re: Screen of Death
Beitrag von: LittleFox am 30. November 2012, 10:46
Du hast den Bootscreen noch nicht gesehen^^ (und den Quälcode auch nicht o.O)
Sagen wir es mal so: es gibt diverse Gründe warum diese Version nicht weiterentwickelt wurde - zu große Zahlen sind mein kleinstes Problem gewesen ;)

Edit1: Größtes Problem an der Version war das ich damit wirklich programmieren gelernt habe und noch sehr schrecklichen Code produziert habe :D
https://code.google.com/p/lf-os/source/browse/trunk/interrupt.c?r=11
in fault_handler() ist der Bluescreen ;)

Edit2: Link anklicken auf eigene Gefahr ... Das ist _wirklich_ Quälcode ;)
Titel: Re: Screen of Death
Beitrag von: kevin am 30. November 2012, 12:14
Autsch...

Yes, I've been warned. :)
Titel: Re: Screen of Death
Beitrag von: MNemo am 30. November 2012, 13:53
Man kann immerhin deutlich eine Entwicklung deiner Programmierfähigkeiten feststellen.  :wink:
Man beachte die Zeilen 307-384 im Vergleich zu 669-672.
Titel: Re: Screen of Death
Beitrag von: LittleFox am 30. November 2012, 13:56
Keine Sorge - inzwischen schreib ich besseren Code :D

@MNemo: stimmt, das kam erst später xD
Titel: Re: Screen of Death
Beitrag von: Martin Erhardt am 14. December 2012, 23:38
https://code.google.com/p/lf-os/source/browse/trunk/interrupt.c?r=11
 :-D das erinnert mich an meine anfangszeit mit Python;

50 mal hintereinander gleiche Funktion mit 1, 2 verschiedenen Parametern aufrufen.

Gibz vllt auch Schleifen und Listen?

Nö noch nicht
Titel: Re: Screen of Death
Beitrag von: Martin Erhardt am 02. February 2013, 16:32
https://docs.google.com/file/d/0B-x3QNiQfEeCVjJnOVIwNUVBbVE/edit?usp=sharing (https://docs.google.com/file/d/0B-x3QNiQfEeCVjJnOVIwNUVBbVE/edit?usp=sharing)
Hier ist mein Redscreen, aber wieso wird DS nicht im Bsp kernel und bei mir NICHT gespeichert ? Müsste man das nicht auch speichern?
Titel: Re: Screen of Death
Beitrag von: KtmnjjpfjsFvzG am 02. February 2013, 16:41
So siehts aus:

(http://s7.directupload.net/images/130202/vh5m5iql.png)

Es fehlen noch die Infos^^
Titel: Re: Screen of Death
Beitrag von: Martin Erhardt am 02. February 2013, 16:43
Mir fällt auf dass DS auch in den anderen Deathscreens fehlt.
Außerdem wie bekommt solche Stacktraces - Ok das kann ich schlecht sagen weil mein Profilbild = der get Stacktrace Funktion von Tyndur ist . ;)
Titel: Re: Screen of Death
Beitrag von: XanClic am 03. February 2013, 06:14
Soooo, und ich finde mich auch mal ein. Bei der Kürze meines Kernelzyklus bin ich froh, dass ich immerhin noch zu Exceptions komme, auch wenn mein Rubykernel Emerald darunter bisher noch keine x86-Exceptions versteht.

Also, meine beiden aktuellen Projekte, µxoµcota (bei dem die Fehlermeldung netterweise die gesamte Restausgabe verdeckt):
(http://i.imgur.com/Uul42qk.png)

Und Emerald:
(http://i.imgur.com/Ebrm4Yt.png)

Zu Exceptions reichts zwar noch, zu extravaganten Farben aber nicht mehr.
Titel: Antw:Screen of Death
Beitrag von: LittleFox am 30. August 2019, 00:13
*gräbt ein paar Leichen aus*
*fleddert nen alten Thread*

LF OS is back :)
Zum Glück kann ich inzwischen programmieren, einzelne Pixel manuell zu setzen wäre dann doch etwas viel Code *g*