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 (14)
Emner

Historien om en Heisenbug

Af Peter Makholm 9. januar 2008 kl. 09:04

Mens der blev skruet lidt generelt på en server, blev log-niveauet for et delsystem skruet en smule ned og log-beskeder dirigeret et andet sted hen. Det burde jo ikke være problematisk, men kort efter begyndte der at vise sig en lidt mystisk fejl i loggen. Efter lidt fiflen rundt blev logningen slået til igen og samtidigt forsvandt fejlen.

Et eksempel på en såkaldt Heisenbug, det vil sige en fejl der forsvinder eller ændrer opførelsen når man prøver at debugge den. Det er selvfølgelig opkaldt efter Heisenbergs ubestemhedsprincip fra kvantemekanikken: Man kan ikke både vide præcist hvor en partikel er og hvor hurtigt den bevæger sig.

Ifølge fejlbeskeden gik et select-kald galt med beskeden 'Illegal seek'. Det bør ikke kunne ske. For det første fordi det ikke giver mening og for det andet fordi det ikke er en af de fire fejlmuligheder dokumentationen beskriver.

Der blev fremsat en række sjove teorier, som for eksempel at det vi i virkeligheden så, var en fejl fra fejlhåndteringssystemet som gjorde sjove ting bag om ryggen på os. Men faktum var og blev at vi kaldte select og bagefter var errno-variablen sat til 29, også kendt som 'Illegal Seek'.

Efter at have stirret i lang tid på vores egen kode surfer jeg lidt tilfældigt rundt i den resterende kodebase og pludselig går det op for mig at den wrapper vi bruger om select ikke gør forskel på om select giver en fejl eller om den bare laver en timeout. Vi har bare antaget at hvis errno var sat så var var det ikke en timeout - men select fjerner ikke en eventuel tidligere fejl, det har vores log-system været så venlig at gøre.

Jeg er en dårlig programmør, skyd mig!

Send Tweet
Udskriv
Billede af Peter MakholmOm Peter MakholmFollow @pmakholm

Kommentarer (14)

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

Følg kommentarer
Jesper B. Rosenkilde 9. jan. 2008 - 12.10
 
Heisenbergs princip om uvished.

Det er ikke fordi jeg konsekvent vil til at brokke mig over dårlige oversættelser. Jeg vil blot bemærke den stigende tendens blandt danskere, især indenfor IT-branchen, som oversætter ord og begreber direkte. En af de angloismer jeg især har set ofte på det sidste er ordet: proprietær. På dansk har det indtil for ganske nyligt haft betydningen gårdejer, men nu ser det ud til der nogen der mener at det skal have samme betydning som det engelske ord proprietary.

Som sagt er det ikke brok, men blot en lille bemærkning, som måske får folk til at tænke to gange over hvad noget, som man kun har læst om på engelsk, faktisk hedder på dansk ;-)

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Peter Makholms billede
Peter Makholm 9. jan. 2008 - 12.48
 
Re: Heisenbergs princip om uvished.

Jeg har ikek haft fysik siden 3. G, så jeg har ingen ide om den korrekte danske fagterm. Men hvis det endelig skal være så ser det ud til at fagtermen er 'Heisenbergs ubestemhedsrelationer'.

http://www.gamma.nbi.dk/Galleri/gamma145/bogand.ps.gz
http://www.phys.au.dk/~nygaard/Homepage_da/Formidling_files/BoseEinstein...
http://da.wikipedia.org/wiki/Heisenbergs_ubestemthedsrelationer
http://www.illvid.dk/polopoly.jsp?d=144&a=320

Heisenberg og uvished giver ikke rigtigt resultater på google.

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Poul-Henning Kamps billede
Poul-Henning Kamp 9. jan. 2008 - 12.56
 
Heisenbergs ubestemthedsprincip

Om Heisenbergs princip handler om uvished (dvs. om observatøren ikke kan finde ud af hvad tilstanden er) eller om ubestemthed (at der ikke er besluttet nogen tilstand) er et dybt filosofisk spørgsmål, der med rette blev rejst af dem der ikke brød sig om ludomani på gudeplan.

Som programmør kan man nyde hvorledes Heisenbergs princip på nydelig rekursiv vis, gør det utroligt svært at udrede på videnskabelig vis hvad tingenes tilstand er.

Bells ulighed og Alain Aspect's forsøg har dog, så vidt jeg er orienteret, slået fast at der er tale om en ubestemthedsrelation og ikke en uvishedsrelation.

Med andre ord; Bohr havde ret, Einstein tog fejl og Gud raffler.

Desuden har Heisenbergs princip altid været oversat til "ubestemthed" på dansk.

Poul-Henning

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Jesper B. Rosenkilde 9. jan. 2008 - 13.20
 
Se hvor vigtigt det er

Jeg bøjer mig for Google og selv om jeg ikke er meget for Poul-Hennings "sådan er har det altid været"-argument, er jeg ikke i tvivl om at han ved mere om det end mig. Det der slog mig mest var heller ikke ordet ubestemthed, men at princip var sat efter og ikke før. Jeg ville normalt på dansk skrive: princip om/for "indsæt ord her", fremfor "ind sæt ord her"-princip.

Men for lige at grave lidt mere angloismerne, vil jeg gerne lige nævne en sætning som de fleste nok høre en eller anden afart af i løbet af sin dag. "De enkelte karakterer i strengen", som jo ikke giver nogen som helst mening, med mindre man ved at tegn hedder character på englesk, og at en streng ikke er noget man spiller på, men at der findes det engelske ord string, som kan oversættes til række, serie eller gruppering.

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Poul-Henning Kamps billede
Poul-Henning Kamp 9. jan. 2008 - 13.40
 
@jesper

Jeg noterer mig at du bruger bolle-å istedet for dobbelt-a, er det ikke lige så forkasteligt ?

Et sprog er til for at blive brugt og udviklet.

Poul-Henning

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Jesper B. Rosenkilde 9. jan. 2008 - 14.29
 
Re: @jesper

Det er ikke fordi jeg har noget imod at sproget udvikler sig, jeg mener bare godt man kan tale et sprog så folk der ikke er fag-nørder eller taler engelsk kan forstå hvad man siger. Som jeg skrev tidligere har jeg jo observeret at proprietær har taget en ny betydning, og det synes jeg egentlig er helt fint, fordi jeg mener ikke der findes noget godt ord på dansk som beskriver det samme.

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Eskild Nielsen 9. jan. 2008 - 14.59
 
Ubestemthed

Når man i den fysiske verden foretager en måling (dvs. en bestemmelse) af en fysisk størrelse, så er den bedrøvelige sandhed at dette ikke kan gøres eksakt, men at der altid er en 'ubestemthed' tilbage på resultatet.

Heisenberg påviste, at der for visse par af egenskaber ved partikler gælder en relation imellem ubestemthederne på størrelserne.

Det er altså en relatione imellem ubestemtheder, og derfor en ebestemthedsrelation

/eskild

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Kurt Nielsen 9. jan. 2008 - 21.21
 
Nye ord i dansk

Som Jesper skriver udvikler sproget sig. Jesper selv introducerer således ordet angloisme. I dansk har vi hidtil benyttet ordet anglicisme, men det kan meget vel være, at Jespers ord slår an ;-)

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Jesper B. Rosenkilde 9. jan. 2008 - 23.51
 
Re: Nye ord i dansk

Der kan I selv se hvor skadet folk i IT-branchen er, selv jeg, som selv synes jeg bruger tid på at finde ud af om jeg bruger den korrekte oversættelse, kan falde i ;-).

Som sagt kan jeg godt gå med til at ordet proprietær indgår som et nyt ord i det danske sprog, men karakter og streng i IT-betydningen har jeg meget svært ved at sluge.

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Michael Deichmann 10. jan. 2008 - 05.31
 
Nye ord i dansk

Det fremhæves ofte at engelsk har så mange flere gloser end f.eks. dansk.
Det hørte jeg forleden en rigtig god forklaring på:
Oldengelsk stammer fra anglerne og sakserne som oprindeligt kom fra det vi idag kender som Schleswig - Holsten. Dansk og norsk besættelse og anden påvirkning gav ydeligere input af nordiske ord til engelsk.
I 1066 overtages den engelske trone af Normannerne, der trods nordisk oprindelse talte fransk. Det bragte en mængde franske ord ind i sproget, idet eliten nu talte fransk i England. Fidusen var så, at både de gamle og de nye ord forblev i sproget og i brug idet de fik ganske små varierende betydninger.
På denne måde er engelsk blevet et rigt sprog.
Nogen mener at det samme ikke må overgå dansk. Det er en skam.

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Pernille Green 10. jan. 2008 - 10.43
 
Delvist enig med Jesper...

Jeg synes ganske afgjort, at det hedder "tegn" og ikke "karakter" (karakterer er noget andet)...

Men Jesper, streng på dansk kan også betyde
"række af dele el. elementer som er indbyrdes tæt forbundne, fx ord, tegn el. molekyler". Fundet i Den Danske Ordbog på sproget.dk, så den skulle være god nok ;-)

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Mads Bahrt 10. jan. 2008 - 15.01
 
Re: Delvist enig med Jesper...

Jeg ville personligt også benytte "tekststreng" da det vil være nemmere at forstå for de fleste.

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Dennis Krøger 10. jan. 2008 - 15.14
 
Re: Re: Delvist enig med Jesper...

Teknisk sprog skal ikke kunne forstås af "de fleste".

Det er ligesom dem der mener at man ikke må benytte et programmeringssprogs specielle konstruktioner, fordi så vil en der ikke bruger det sprog have svært ved at forstå det, who cares? Hvis han ikke kan benytte sproget, har han bare at holde snitterne væk.

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Jesper B. Rosenkilde 10. jan. 2008 - 16.11
 
Re: Nye ord i dansk

Problemet er jo ikke at der kommer nye ord til. Problemet er at de få danske ord vi har får flere og flere betydninger. Dansk er ikke et særligt ordriget sprog, og jeg mener derfor at vi er nød til at sætte en grænse for hvor mange betydninger et ord kan tage. F.eks. har jeg intet problem med at lade proprietær tage en ny betydning, fordi det i forvejen kun har en enkelt, og sjældent brugt betydning. Jeg har derimod meget imod at lade karakter tage endnu en betydning, især en som der allerede findes et andet dansk ord for. Det min kritik går på er at man ikke bare bør oversætte engelske ord til det danske ord som lyder eller staves næsten ens. Men man bør lige sætte sig ned og overveje om der allerede findes et dansk og for det, eller måske et gammelt ord man kan genbruge. Jeg kan godt lide den måde Færingene har valgt at takle problemet på, da de skulle finde et ord for CD, valgte de ordet fløga, som betyder lag i en stak, fordi det ikke blev brugt ret ofte i den betydning og fordi det egentlig stemte overens med den nye betydning.

  • Stem op 0
  • Stem ned 0
  • 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

Danske HP-ansatte i fyrings-limbo: Holdes hen i uvidenhed

Udgivet 24. maj 10.37Opdateret 24. maj 10.43

HP fyrer 27.000 ansatte

Udgivet 24. maj 10.10Opdateret 24. maj 10.10

Kinect til Windows klar på dansk til juni

Udgivet 24. maj 9.24Opdateret 24. maj 9.24

GOTO Copenhagen dag 3 i billeder: Sådan kaprer udstillerne kunder i biksen

Udgivet 24. maj 8.49Opdateret 24. maj 8.49

Jysk hospital bygger eget socialt netværk på Drupal

Udgivet 24. maj 8.07Opdateret 24. maj 10.02

Flere it-nyheder »

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

Seneste debat

  1. Oracle tabte, vandt Google Java ?

    5 comments.
    Last update 1 minut 1 sek.
    Skrevet af Carsten Sonne Larsen
  2. Meego-afløseren Tizen klar til at tage kampen op med Android

    8 comments.
    Last update 1 minut 18 sekunder
    Skrevet af Jacob Sparre Andersen
  3. Yahoo fyrer topchefen efter 4 måneder

    1 comment.
    Last update 8 minutter 36 sekunder
    Skrevet af Mark Thorsen
  4. Dart: Dynamisk Statisk Programmering

    24 comments.
    Last update 10 minutter 24 sekunder
    Skrevet af Baldur Norddahl
  5. Fed business case: Giv alle dine medarbejdere iPhones

    18 comments.
    Last update 34 minutter 14 sekunder
    Skrevet af Ole Bang
  6. Node.js og MongoDB efter et halvt år i deres selskab

    17 comments.
    Last update 1 time 11 minutter
    Skrevet af Allan Ebdrup
  7. GOTO - programming with the stars

    2 comments.
    Last update 1 time 15 minutter
    Skrevet af Jesper Lund Stocholm
  8. Sådan formaterer du tekst i debatten på Version2

    31 comments.
    Last update 1 time 19 minutter
    Skrevet af Casper Thomsen

Mere debat »

Information

  • Kontakt redaktionen
  • Job- og annoncesalg
  • Teknisk support
  • Om Version2
  • Brugerbetingelser
  • Privatlivspolitik

Aktuelle emner

  • Agil udvikling
  • Android
  • Bruttolønsordning
  • Business Intelligence
  • Cloud computing
  • Download Windows 8
  • HTML5
  • Harddisk-priser
  • IE9
  • Intranet
  • It-sikkerhed
  • Kindle Fire
  • Multimedieskat
  • NemID
  • OS X Mountain Lion
  • Open source CMS
  • Projektledelse
  • Scrum
  • Sharepoint intranet
  • Storage
  • Ubuntu 11.10
  • Virtualisering
  • Windows 8
  • Windows Phone 7
  • iOS 5
  • iPhone 4S

Tjenester

  • Android-app
  • 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 Skelbækgade 4 1717 København V
  • Tlf. work 33265300