Gå til hovedindhold
Version2 it for professionelle
Forsiden

Hovedmenu

  • It-nyheder
  • Blogs
  • It-job
  • It-firmaer
  • Whitepapers
  • Opret bruger
  • Log ind
Du kan logge ind med din e-mail-adresse
Der er forskel på store og små bogstaver i adgangskoden.
Glemt adgangskode?
Se kommentarer (12)
Emner Udviklingsværktøjer

Guru Meditation

Af Poul-Henning Kamp 27. januar 2009 kl. 09:50

Min medblogger Peter Nørregaard har begået et blogindlæg om fejlmeddelelser og det rammer en nervespids her hos mig, men fra en lidt anden vinkel en Peters, så jeg tillader mig at tage sagen op parallelt.

Jeg sidder nemlig i den anden ende af fødekæden end Peter: jeg skriver koden hvor de underlige fejl blive opdaget og skal vælge hvad jeg vil gøre.

I Varnish HTTP accelratoren kan der ske alle mulige spændende ting, men fælles for dem, er at den tilfældige bruger af marines.com eller politiken.dk intet kan gøre, hverken fra eller til.

Derfor har jeg valgt overhovedet ikke at give nogen detaljer, brugeren får:

Ideen her er at gøre det helt klart for brugeren at han ikke kan gøre noget særligt, de fleste brugere vil instinktivt forsøge en browser-reload (hvad den så end hedder på deres sprog) og måske er de heldige.

Hvis fejlen bliver ved, er der kun en bid information, XID tallet, som er et transaktionsnummer som administratoren kan genfinde i sin logfil.

Der er ikke brug for at læse lange fejlmeddelelser op på en gebrokken accent eller at forsøge at undersætte en oversættelse som Peter Nørregaard slås med.

Men I min, efterhånden hemmelige, identitet som kerneprogrammør, har vi det modsatte problem: POSIX standarden giver os en integer med hundrede forskelige værdier til at fortælle hvorfor et systemkald ikke kan gennemføres.

Det kan godt være lidt problematisk at gennemskue hvorfor man får EINVAL til en komplex request som f.eks konfiguration af et netværksinterface.

Præcis hvilken parameter eller kombination af parametre var det at kernen ikke kunne lide ?

Kernen ved det, de checkede for betingelsen, men alt hvad den må fortælle os andet end EINVAL.

Jeg har forsøgt at sælge en "additional information" facilitet, men der er ingen der bidt på krogen endnu.

Jeg forestillede mig f.eks at et program fra starten kunne registrere en buffer til yderligere fejlinformation som kernen kunne fylde noget tekst i, hvis den har noget intelligent at sige.

Programmer der ikke registrerer en buffer rammes ikke af et performance hit og det kræver ikke en total omskrivning af kernen, men kan introduceres gradvist efterhånden som koden vedligeholdes.

Pointen er ikke at returnere trivielle tekster som "Filen kunne ikke findes", men derimod ting som "Nx64 circuit on timeslot 13-17 not possible due to CAS signalling on timeslot 16".

Fejlmeddeleser er noget underligt noget, og der er ikke nogen one-size-fits-all, man er nødt til at tænke på hvem der ser dem og hvad de kan gøre ved det.

Min favorit er stadig:

Keyboard not found, press F1 to continue.

phk

Send Tweet
Udskriv
Billede af Poul-Henning KampOm Poul-Henning Kamp

Poul-Henning er selvstændig systemprogrammør, kernekoder, Varnish-forfatter, data-arkæolog og brokkehoved uden særlig portefølje.

Follow @bsdphk

Kommentarer (12)

Opret en konto eller log ind for at følge indhold på Version2 - og bliv opdateret via e-mail eller rss

Følg kommentarer
John Alex Hvidlykke 27. jan. 2009 - 11.29
 
Aha

Aha, tak for redegørelsen for Guru Meditation, som jeg mindes med stærkt begrænset vemod fra min Amiga-tid (fejlen var ok, den kom bare ufattelig ofte).

Min all-time favorit blandt fejlmeddelelser er dog fra Mac-verdenen:

"Programmet Ukendt sluttede pludselig, fordi det ikke eksisterer".

Det forklarer jo alt ;-)

  • Stem op 0
  • Stem ned 0
  • anmeld
  • Log ind eller opret en konto for at skrive kommentarer
Ricco Førgaard 27. jan. 2009 - 11.47
 
Men alligevel?

Selvom en bruger af politiken.dk (eller bt.no hvor jeg oftere og oftere støder på denne) ikke kan gøre fra eller til, burde man så trods alt ikke komme med en fejlmeddelelse som beroliger personen om "There's nothing wrong with your television set. Do not attempt to adjust the picture. We are controlling the transmission"? Jeg synes ikke fejlbeskeden gør noget som helst klart for brugeren, og jeg kan let forestille mig, hvordan den gennemsnitlige bruger af diverse avissider kan reagere på det...

  • Stem op 0
  • Stem ned 0
  • anmeld
  • Log ind eller opret en konto for at skrive kommentarer
Poul-Henning Kamps billede
Poul-Henning Kamp 27. jan. 2009 - 12.42
 
Re: Men alligevel?
burde man så trods alt ikke komme med en fejlmeddelelse som beroliger personen om "There's nothing wrong with your television set.

Ihvertfald i England ville de bringe nostalgien frem:

http://en.wikipedia.org/wiki/Do_Not_Adjust_Your_Set

Der er fuld mulighed for at lave sin egen fejlbesked i Varnish, så det er helt op til sysadm.

Mit problem er hvad jeg skal skrive når sysadm ikke har taget stilling til spørgsmålet.

Poul-Henning

  • Stem op 0
  • Stem ned 0
  • anmeld
  • Log ind eller opret en konto for at skrive kommentarer
Joachim Michaelis 30. jan. 2009 - 19.43
 
-4351 is not a numerical value!

Man ser deværre tit fejlbeskeder som ovenstående. Fejl som i deres formulering tydeligvis henvender sig til et andet publikum end udvikleren forventede. I kampens hede er programmører åbenbart tilbøjelige til at bruge meget lidt tid på at regne ud, hvem der sansynligvis vil få hver enkelt fejlbesked at se. Dette gælder ikke kun web-applikationer, men også PC software generelt. Nogen gange går det endda så stærkt, at kun programmøren selv har en chance.

Det grufulde resultat er, at den halve time programmøren sparede, let koster hver enkelt bruger en tilsvarende halv time, hvilket i sidste ende løber op til mange timers spildtid.

Lad mig bruge dette, som en opfordring til enhver koder om at løbe sin kode igennem endnu en gang, og prøve for hver fejlbesked at tage stilling til:

1) Hvem er det mest sansynligt vil læse fejlen, og vil denne person kunne forstå hvad problemet er?
2) Hvis muligt, prøv at guide brugeren i retning af sansynlige løsninger.

Min yndlingsfejlbesked er nok stadigvæk: "Unable to delete file blabla - not enough space."

  • Stem op 0
  • Stem ned 0
  • anmeld
  • Log ind eller opret en konto for at skrive kommentarer
Henrik Gammelgaard 30. jan. 2009 - 20.36
 
Guide brugeren?

Der kunne skrives at systemet ikke er konfigureret, og at man kan sende følgende fejlkode til administratoren efterfulgt af en email adresse til administrator.

Det tvinger forhåbentligt administrator til at sætte systemet op så brugere efterfølgende bliver guidet, istedet for bare at få en "in-your-face" besked, som ingen normale brugere alligevel kan forholde sig til på nogen måde. Dit udkast virker nemt skræmmende, så det for brugeren opfattes som computeren der endnu engang taler i et uforståeligt sprog samt spytter mærkelige talkoder ud.

Udkastet minder lidt om den gode gamle fra Windows "Programmet har udført en ulovlig handling [..]".

Guru meditation var fantastisk med sin specielle blinkende røde box, men når det kommer til stykket, hvor mange af os forstod, og kunne bruge den, når det var software vi ikke selv havde fingrene i?

  • Stem op 0
  • Stem ned 0
  • anmeld
  • Log ind eller opret en konto for at skrive kommentarer
Poul-Henning Kamps billede
Poul-Henning Kamp 30. jan. 2009 - 22.32
 
Re: Guide brugeren?
Guru meditation var fantastisk med sin specielle blinkende røde box, men når det kommer til stykket, hvor mange af os forstod, og kunne bruge den, når det var software vi ikke selv havde fingrene i?

Men det er netop pointen: brugeren kan ikke gøre noget.

Der kunne skrives at systemet ikke er konfigureret, og at man kan sende følgende fejlkode til administratoren efterfulgt af en email adresse til administrator.

Tro mig, hvis du er sysadm på en stor website, så er det sidste du kunne tænke dig at flere (hundrede-) tusinde brugere giver sig til at email'e dig.

Poul-Henning

  • Stem op 0
  • Stem ned 0
  • anmeld
  • Log ind eller opret en konto for at skrive kommentarer
Ricco Førgaard 30. jan. 2009 - 23.53
 
Re: Guide brugeren?
Tro mig, hvis du er sysadm på en stor website, så er det sidste du kunne tænke dig at flere (hundrede-) tusinde brugere giver sig til at email'e dig.

Det skal nok lære ham at ændre fejlmeldingen til noget fornuftigt ;-)

  • Stem op 0
  • Stem ned 0
  • anmeld
  • Log ind eller opret en konto for at skrive kommentarer
Adam Tulinius 31. jan. 2009 - 01.07
 
hvorfor så ikke bare..

.. skrive "Siden er nede, de rette folk har fået besked, og der arbejdes på problemet. Prøv igen senere."

Det er da til at forstå.

  • Stem op 0
  • Stem ned 0
  • anmeld
  • Log ind eller opret en konto for at skrive kommentarer
Adam Tulinius 31. jan. 2009 - 01.07
 
hvorfor så ikke bare..

.. skrive "Siden er nede, de rette folk har fået besked, og der arbejdes på problemet. Prøv igen senere."

Det er da til at forstå.

  • Stem op 0
  • Stem ned 0
  • anmeld
  • Log ind eller opret en konto for at skrive kommentarer
Claus Stovgaard 1. feb. 2009 - 22.15
 
Windows error 10107

Når der nu snakkes om fejlbeskeder, så kom jeg til at tænke på en Windows Vista

http://failblog.files.wordpress.com/2008/11/fail-owned-vista-dns-fail.jpg

  • Stem op 0
  • Stem ned 0
  • anmeld
  • Log ind eller opret en konto for at skrive kommentarer
Død Profil 25. feb. 2009 - 16.52
 
Hvis man ikke vidste det.

Spottede lige denne på noget så kontroversielt som TPB - hvis jeg ikke havde læst denne havde jeg tænkt "nå ja" og så fortsat:

--
Error 503 Service Unavailable

Service Unavailable
Guru Meditation:

XID: 1055822558
Varnish
--

Mvh,
Søren

  • Stem op 0
  • Stem ned 0
  • anmeld
  • Log ind eller opret en konto for at skrive kommentarer
Jørgen Baltzer Thomsen 13. maj. 2009 - 22.02
 
Endnu en 'Kunde'

Dansk Bredbånd bruger åbenbart også Varnish ifb. med deres bredbånds TV.

Sidder netop nu og kigger på den dersens Guru Meditation fejlbesked. (På 40" skærmen)

/Jørgen

  • Stem op 0
  • Stem ned 0
  • anmeld
  • Log ind eller opret en konto for at skrive kommentarer

Tilføj kommentar

Opret en konto eller log ind for at følge indhold på Version2 - og bliv opdateret via e-mail eller rss

Følg kommentarer
Log ind herunder eller opret en bruger for at skrive kommentarer
Du kan logge ind med din e-mail-adresse
Der er forskel på store og små bogstaver i adgangskoden.
Glemt adgangskode?

Seneste nyt

Teenager står frem: Derfor hackede jeg Version2

Udgivet 17. maj 16.40Opdateret 17. maj 16.40

Fredagshumor: Sådan ser indbakkens pestilenser ud i virkeligheden

Udgivet 17. maj 15.00Opdateret 17. maj 15.00

New Zealand dropper softwarepatenter

Udgivet 17. maj 14.09Opdateret 17. maj 14.09

Microsoft gemmer udspekuleret jobanonnce på Bing

Udgivet 17. maj 11.35Opdateret 17. maj 11.35

Ny wifi-standard med gigabit-hastighed er en gave til it-chefen

Udgivet 17. maj 10.54Opdateret 17. maj 10.54

Flere it-nyheder »

Tilmeld dig Version2's it-nyhedsbrev og vind den nye iPad.

Seneste debat

  1. Teenager står frem: Derfor hackede jeg Version2

    33 comments.
    Last update 42 minutter 42 sekunder
    Skrevet af Hans-Michael Varbæk
  2. Retten er sat: Kusine stævner fætter om familiedomænet

    33 comments.
    Last update 13 timer 51 minutter
    Skrevet af Jesper Lund
  3. CPR.dk affejer hacker-video på Youtube som uinteressant: "Vi er sikre nok"

    10 comments.
    Last update 18 timer 17 minutter
    Skrevet af Hans-Michael Varbæk
  4. Microsofts talknusere: Danmark vinder Melodi Grand Prix

    9 comments.
    Last update 19 timer 4 minutter
    Skrevet af Jacob Smedegård
  5. Hackere på Version2

    14 comments.
    Last update 19 timer 6 minutter
    Skrevet af Hans-Michael Varbæk
  6. Hvorfor blev min disk fyldt op?

    20 comments.
    Last update 20 timer 34 minutter
    Skrevet af Peter Toft
  7. New Zealand dropper softwarepatenter

    6 comments.
    Last update 21 timer 44 minutter
    Skrevet af Jørgen Henningsen
  8. Sådan kommunikerer du uden at afsløre din identitet

    23 comments.
    Last update 1 dag 8 timer
    Skrevet af Kristian Klausen

Mere debat »

It-virksomheder

Sharkcell
|
Webtuner ApS
|
Strongminds At Work
|
redHOST ApS
|
Deltek Danmark
|
Segment
|
Greener Pastures
|
IT Minds
|
Surfray 2009
|
Liga Distribution
|
Efferbach
|
NNIT
 

Information

  • Kontakt redaktionen
  • Job- og annoncesalg
  • Teknisk support
  • Om Version2
  • Brugerbetingelser
  • Cookie- & privatlivspolitik

Aktuelle emner

  • Agil udvikling
  • Business Intelligence
  • Cloud computing
  • Intranet
  • It-sikkerhed
  • NemID
  • Open source CMS
  • Projektledelse
  • Scrum
  • Sharepoint intranet
  • Storage
  • Ubuntu
  • Virtualisering
  • Windows 8
  • Windows Server 2012
  • iOS 6
  • iPhone 5

Tjenester

  • iPhone-app
  • RSS-feeds
Følg @version2dk
Tilmeld dig Version2's it-nyhedsbrev og vind den nye iPad.

Version2 udgives af

  • Mediehuset Ingeniøren A/S work Trekronergade 26 2500 Valby
  • Tlf. work 33265300