Hardening dei messaggi d'errore e dei Death Blue Screen

Moderators: forart, Davy Bartoloni, gabrielilardi

Post Reply
PUOjACKz
Posts: 116
Joined: Tue Jan 03, 2006 3:52 pm

Hardening dei messaggi d'errore e dei Death Blue Screen

Post by PUOjACKz »

Personalmente, la disposizione, presente, oggi giorno, in WindowsXP/ROS, riguardo i messaggi d'errore (ed in particolar modo, i Death Blue Screen) è alquanto scadente.

Uno dei tanti problemi che hanno sempre afflitto, in maniera pesante e massiccia, i sistemi windows, è l'inutilità delle informazioni dei messaggi d'errore. Non fraintendetemi e cercate di comprendere il mio ragionamento.

Nei sistemi Win95/98, principalmente, esistevano 3 tipologie di messaggi d'errore:

- Errori a 16 bit (ereditati dagli ambienti Win3x)
- Errori a 32 bit
- Errori del Kernel (i famigerati Death Blue Screen)

Antefatto:

Errori a 16 bit di Windows9x

Principalmente, non venivano fornite queste grandi informazioni. Erano errori normali, come DIO comanda che ci siano. Interfaccia sobria, essenziale, pratica.

Errori a 32 bit di Windows9x

Famosissima interfaccia che presentava la descrizione, affiancata da un tondino rosso con una X bianca, "Questo programma ha eseguito eseguito un operazione non valida e verrà terminato. Se il problema persiste, contattare il fornitore del prodotto". Inoltre, veniva offerto un "pseudo core-dump". Per l'utente normale, tutto ciò non serviva a nulla. Però, per il programmatore o i tali della MS, era un informazione utile. Personalmente, io non l'avrei visualizzata. Nel popup, inserivo un bel pulsantino per creare un file log, da inviare, successivamente, a chi di dovere. Anche perchè, era uno snapshot dei registri di sistema e dell'area dello stack, percui, da tali informazioni, se uno non era programmatore, non si potevano trarre grosse informazioni.

Errori del Kernel di Windows9x

Videata 80x25 (se non ricordo male), bianco su blu, piena zeppa d'informazioni inutili. Se vi era la necessità, bastava conservare il core-dump da qualche parte, ma dire che 0000:3233 aveva causato un errore di pagina non valida e che era stato invocato chissà che per chissà cosa, all'utente, non poteva fregà di meno. Inoltre, non venivano fornite informazioni riguardo cosa avesse causato l'errore ed, in caso, come tentare di correggerlo (es. se era un driver danneggiato, dare alcuni consigli, per la risoluzione).
Per non parlare, figuriamoci, dei paroloni che lasciavano l'utente alquanto atterrito: "Errore Irreversibile", "Eccezione fatale", "E' stato invocato", "Pare sia possibile continuare (ma...)". Un utente "utonto", desideroso, magari, d'imparare, rimane atterrito, nel vedere simili frasone, tanto spassose, quanto inutili (per chi, in realtà, sapeva). Così, per certe persone, è insorta una fobia: "Lascio il computer così, perchè ho paura di romperlo". Tutta sta cosa, in realtà, aveva utilità 0, sia per il coder, che per l'utente.

In WindowsXP:

"Il sistema è stato arrestato per evitare danni. Se sono i drivers, fai così, se è il sistema di shadowing (nonostante non ti dicano cosa sia), fai cosà (oppure, sparati in bocca). Stiam facendo un immagine, della memoria fisica."

In questo caso, però, il core-dump viene salvato, ma, ovviamente, se fai parte del famoso 1% di gente che chiama alla microsoft, per i bugs, sappi che il tuo errore non verrà mai corretto (parole di bill gates, pubblicate su focus tedesco del '95).

Fine Antefatto

Ora, io mi chiedo, non sarebbe possibile, per ROS, inserire dei messaggi, nei Death Blue Screen, più esaustivi?
Son d'accordo che, la sollecitazione di un BSOD avviene in casi particolarmente gravi di malfunzionamento, percui, mettersi a giocattolare con i messaggi, ha poco senso (specie perchè, non è neppure detto che il sistema, in quelle condizioni, riesca a gestire delle funzioni basilari), ma non è possibile inserire:

1) Dei messaggi che non atterriscano l'utente (es. evitare di mettere, "Il sistema è stato arrestato per evitare danni", che potrebbe spaventare l'utente, ed invece, inserire un qualcosa del tipo "Il sistema è stato arrestato a causa di un errore"). Questo è un esempio, ma, diciamo, della stessa pacatezza?
2) Dei consigli, a seconda di cosa ha causato il crash di sistema? Es. se il file è legato ad un driver, che senso ha mettere dei consigli totalmente estranei, quando invece, si può invitare l'utente nel recarsi presso l'help dell'OS, al fine di consultare l'area informazioni adibita (senza collegarsi ad internet, perchè non tutti hanno ADSL e non tutti hanno una flat), magari dandogli dei consigli veramente utili, assortiti anche con qualche spiegazione per fargli capire perchè il sistema è andato kaput (senza tirar fuori sti grandi paroloni) e cosa fare per una qualche opera di troubleshooting o manutenzione periodica, al fine di evitare il ripetersi di tali errori

Secondo voi, tutto questo, sarebbe possibile ed utile? Per me, lo dico fin da subito, sì e molto più di una finestra con effetto trasparenza o in 3D.

Sergio Neddi
Posts: 6
Joined: Mon Jan 30, 2006 1:21 am

Post by Sergio Neddi »

La questione dei messaggi d'errore è sempre stata una cosa delicata, anche perché, soprattutto quando succede una schermata blu, il sistema ha un funzionamento quasi sempre compromesso e quindi ha difficoltà ad operare correttamente.
Penso inoltre che le informazioni presenti nelle schermate blu siano limitate proprio perché il sistema deve tenere in memoria le informazioni da scriverci dentro già dall'avvio del sistema stesso.
Infatti una schermata blu è come il Natale: quando arriva arriva :D ed in tale circostanza non è pensabile andare a prendere le necessarie info in modo più completo dal disco in quanto questo potrebbe essere inaccessibile (ma ovviamente dipende dall'errore che si è verificato).
Ad ogni modo è un'ottima idea vedere di migliorare la gestione degli errori, infatti spesso i messaggi, oltre che inutili, sono anche fuorvianti.
Mi viene un esempio, non di sistema ma di programmi: quante volte vi è capitato (a me molte, con molti programmi) che il tal programma ha un errore durante la scrittura di un file e dice che il disco è pieno ma ci sono giga liberi?
In questo caso il programmatore ha associato come probabile causa di un errore di scrittura su disco la possibilità che il disco sia pieno, generando una segnalazione di errore fuorviante.
Ecco, noi non vogliamo che il sistema operativo dia indicazioni fuorvianti (che sono peggio che non avere alcuna indicazione), per cui penso sia ottima cosa vedere di migliorare la gestione degli errori.
Questa è sicuramente una cosa più utile che non prevedere degli skin per il sistema, anche se molti credono che Windows sarà perfetto quando sarà possibile skinnare le schermate blu!

PUOjACKz
Posts: 116
Joined: Tue Jan 03, 2006 3:52 pm

Post by PUOjACKz »

Sergio Neddi wrote:La questione dei messaggi d'errore è sempre stata una cosa delicata, anche perché, soprattutto quando succede una schermata blu, il sistema ha un funzionamento quasi sempre compromesso e quindi ha difficoltà ad operare correttamente.
Penso inoltre che le informazioni presenti nelle schermate blu siano limitate proprio perché il sistema deve tenere in memoria le informazioni da scriverci dentro già dall'avvio del sistema stesso.
Infatti una schermata blu è come il Natale: quando arriva arriva :D ed in tale circostanza non è pensabile andare a prendere le necessarie info in modo più completo dal disco in quanto questo potrebbe essere inaccessibile (ma ovviamente dipende dall'errore che si è verificato).
D'accordo con te, ma se vi è la possibilità di una differenziazione dei messaggi d'errore, è bene farlo presente. Ovviamente, è impensabile, almeno per ora, d'implementare un messaggio d'errore generico stile "Kernel Panic", a causa delle implementazioni presenti nell'OS stesso, però sarebbe un passo in avanti.
In questo caso il programmatore ha associato come probabile causa di un errore di scrittura su disco la possibilità che il disco sia pieno, generando una segnalazione di errore fuorviante.
Più che altro, inoltre, sarebbe, buona cosa, fornire un popup, con un TextBox, contenente un codice d'errore, da poter inserire in un motore di ricerca, all'interno del file help. Questo permette, al coder, di creare un enciclopedia degli errori (anche eventualmente con pagine generate in modo semi-automatico), con consigli, informazioni specifiche per esperti e, perchè no, anche spiegazioni terra-terra, per i newbies.

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest