Eure lustigsten Bugs

Heute habe ich einen relativ spaßigen Bug gefunden:

An einer Stelle in unserer Software, wo man verschiedene Datentypen, Formeln u.s.w. eingeben konnte, habe ich einfach mal 0815 eingetippt. Das wurde nicht wie erwartet als Integer, sondern als Double erkannt, also 815.0 angezeigt. Ich denke, das kann doch nicht sein, und probiere 042 - das wurde zu 42, Integer. Liegt es etwa an der Länge? Nein, 01234 wurde auch zu 1234, Integer. Öhm… Dann dämmerte mir was: 099 gab 99.0, alles klar…

Anscheinend wurde erst getestet, ob es sich überhaupt um einen Integer handelt, aber wenn man dazu die normale parseInt-Methode oder so nimmt, werden Zahlen mit führender 0 als oktal interpretiert - und sobald eine Ziffer 8 oder 9 vorkommt, ist es natürlich keine valide Oktalzahl mehr. Interessanterweise muss der Algorithmus die eigentliche Umwandlung anders vornehmen, sonst wären ja aus 042 eine 34 geworden. Jedenfalls fallen die Zahlen mit 8en oder 9en durch, werden dann aber als valide Doubles erkannt, und dann so dargestellt.

Was habt ihr so an lustigen Bugs auf Lager?

1 „Gefällt mir“

In Java 9 wird bei einem unserer Services eine der statischen Variablen nicht rechtzeitig zugewiesen und bei Abruf stürzt das Programm mit einer Nullpointerexception ab. Mit Java 8 kein Problem.

Bugs empfand ich noch nie sonderlich witzig, eher nervig. Aber in diesem Fall ist es wohl witzig wenn
this.setVersionName( VERSION_NAME );
eine NullPointerException auslöst. Hat mich eine schlaflose Nacht gekostet.

@Landei : Bitte näher definieren. Ist Java damit gemeint? Fehler in der Version oder Programmierfehler? Und software errors, error/failure oder fault?

Ich frag’ mich gerade, in welcher Sprache der Eröffnungs-Bug aufgetreten ist. So ein Murx kann doch eigentlich nur JavaScript sein? :smiley:

Ansonsten … ja, was heißt „lustig“? Für Außenstehende (~„Andere machen Fehler aus Dummheit. Man selbst macht Fehler aus Versehen“) oder im Nachhinein? In diesem Sinne sind die „lustigsten“ Bugs wohl die, wo man nachher

… (aber Landei möge mich korrigieren, falls ich mich irre). Da wird mir vielleicht auch noch der eine oder andere einfallen…

A failure are caused by a fault or error. (A fault causes a failure or error.) - Wenn man das übersetzt, wird es witzig. :smile:

Also bitte erst mal angeben, ob Failure, Fault, Error, Error in Terminology of Developer oder Bug in Terminology of Tester damit gemeint sei.

Es geht um Programmierfehler, egal in welcher Sprache. Ich weiß nicht, wie ihr es seht, aber wenn z.B. der Kontrollfluss in einen leeren Block mit dem Kommentar “can’t happen” landet oder so, finde ich das witzig.

2 „Gefällt mir“

Schon ewig her. Ich war noch am Anfang meiner Entwicklungszeit und neu in der Technologie (EJB 2). Da habe ich auch eine Exception behandelt (weil die API dies erforderte) und ins Log geschrieben “this failure is not ok”.

Eigentlich wollte ich dies später behandeln. Unittests waren noch nicht so mein Bereich und auch schwer mit EJB 2.x. Ticket habe ich für diesen Punkt natürlich nicht aufgenommen. Nach einem halben Jahr war ich schon lange in einem anderen Projekt und Kunden als ich einen Anruf erhielt, ob ich mit der Nachricht - die häufig im Log vorkommt - etwas anfangen könnte.

Ich wurde durch das Telefon rot…

2 „Gefällt mir“

6 Beiträge wurden in ein neues Thema verschoben: Code-Snippet

Kundenprojekt in einer Bank. Echte “Menschen” werden als natürliche Person geführt, Firmen als juristische Person. Das System in das die Einträge kommen kann unterscheiden, beide Typen erben aber von der selben Basisklasse. Wir binden einen neuen Service an um eine Firma zu speichern. Gründungsdatum letztes Jahr. Die Fehlermeldung: “Person must be of legal age”. Unsere Firma war nicht volljährig.

3 „Gefällt mir“

Ist zwar nicht mir passiert, aber wird gerne als Beispiel für „warum brauche ich qs“ genommen.

In der Luftfahrt wurde ein Programm geschrieben, dass das Fahrwerk des Jets einziehen soll, wenn es sich über den Boden befindet.

Der Pilot hat dies beim Warten auf dem Flugzeugträger ausgeführt und sein Fahrwerk wurde eingezogen.

Man hat eben einen Wert über NN genommen und der Flugzeugtrräger (bzw. sein Deck) ist ja weit aus Höher.

Ebenfalls ein Problem, dass sich ein Jet auf den Rücken legte (in der Luft) beim überqueren des Äquators :wink:

Die Quelle hierfür habe ich nicht mehr.