Wie man ein Problem berichtet
Problembericht für ein Release
Bitte gehe diese Checkliste genau durch, bevor du Probleme in einem Release
meldest:
- Prüfe zuerst die
Korrekturroutinen und Hinweise für das Release.
- Als Nächstes prüfe, ob es ein
neueres Release gibt.
- Als Letztes prüfe die Änderungen, die zwischen den
OpenBSD-Releases gemacht wurden.
Wenn es anscheinend auf keiner der Seiten eine Lösung für dein Problem
gibt, so mache dich bitte mit
sendbug(1) vertraut, bevor du einen Fehlerbericht einsendest.
Um herauszufinden, welche Fehlerberichttypen
erwünscht sind, lies weiter unten.
Problemberichte für das aktuelle Release
Wenn dein Problem zwar im current-Quelltextbaum auftaucht, nicht
aber im release- oder stable-Baum,
- teste das Problem mindestens zweimal mit Quelltexten, die im
Abstand von mehreren Tagen aktualisiert wurden.
- melde keine Kompilierungsprobleme im Quelltextbaum, es sei
denn sie bleiben länger bestehen.
Das sind meistens deine Fehler oder es wird bereits an ihnen gearbeitet,
bevor du ihnen begegnest.
Die Leute im Projekt erzeugen mindestens einmal am Tag ein
make build (normalerweise mehrmals am Tag),
mit verschiedenen Architekturen.
- denke daran, dass die anoncvs-Server
mit deutlichem Zeitabstand zum eigentlichen Quelltextbaum
aktualisiert werden.
- prüfe, ob dein Problem vielleicht mit den
Änderungen zwischen den OpenBSD-Releases
erledigt wurde.
- Viel Aufwand wird bei der Erzeugung von Schnappschüssen betrieben.
Manchmal werden Fehler gemacht, und unsere Entschuldigungen sind
vielfältig.
Es ist daher meist angebrachter, unsere Mailinglisten zu lesen und in einer
davon über das Problem zu schreiben, statt einen Problembericht zu senden.
Wie man einen Fehlerbericht schreibt
Verfasse die Fehlerberichte immer auf Englisch.
OpenBSD ist ein internationales Projekt, die meisten Entwickler kommen nicht
aus deutschsprachigen Ländern.
Biete immer so viel Informationen wie möglich.
Versuche das Problem exakt zu beschreiben.
Gib klare Anweisungen, wie ein Problem zu reproduzieren ist.
Versuche, das Problem so akkurat wie möglich und in nicht verwirrender
Terminologie zu beschreiben, insbesondere, wenn es nicht einfach zu
reproduzieren ist.
Problembeschreibungen wie »Es stürzt ab« oder »Ich erhalte merkwürdige
Interrupt-Probleme mit diesem einen System, das ich mir aufgebaut habe«
sind nutzlos.
Kommuniziere mit Anderen (in einer Mailingliste, oder einem anderen Forum, in
dem sich Benutzer mit Erfahrung treffen), um sicherzustellen, dass das Problem
neu ist und im besten Falle reproduzierbar.
Bitte versuche sicherzustellen, das es kein lokales Problem ist, das durch
nicht unterstützte oder kaputte Hardware, oder durch nicht unterstützte
Übersetzungs-Optionen oder -Software enstanden ist.
Bitte fange nicht an, Probleme zu beseitigen, die ein gewisses Maß
an Arbeit benötigen, bis du absolut sicher bist, dass du sie
auch verstehst; insbesondere während wir kurz vor der Veröffentlichung
eines neuen Releases stehen und keine großen Teile unseres Quelltextes
ändern können.
Wenn du eine Menge Quelltext schreibst, prüfe möglichst viele Foren, um zu
prüfen, ob nicht bereits jemand anderes an dem Problem arbeitet.
Die folgenden Punkte sollten in jedem Fehlerbericht enthalten sein:
- Die exakte Abfolge der Schritte, von Anfang an, um das Problem zu
reproduzieren.
Sie sollte unbedingt vollständig sein: ein einfaches Kommando ohne die
Argumente oder andere Daten reicht nicht aus.
Wenn ein Fehler eine bestimmte Befehlsfolge erfordert, so liste sie bitte
auf.
Selbstverständlich ist es gut, wenn du dein Beispiel möglichst klein hälst
- wichtiger ist aber die Reproduzierbarkeit.
- Die Ausgabe, die du erhältst.
Sage bitte nicht so was wie »funktionierte nicht« oder »schlug fail«.
Wenn es eine Fehlermeldung gibt, zeige sie, selbst wenn du sie nicht
verstehst.
Wenn OpenBSD mit einem bestimmten Fehler abstürzt, sag uns mit welchem.
Wenn gar nichts passiert, sag das ebenfalls.
Selbst wenn dein Problemfall ein Programm ist, das abstürzt oder etwas
anderes Offensichtliches, muss das in unserer Umgebung nicht auftreten.
Am einfachsten ist es, die Ausgabe - falls möglich - direkt von der Konsole
zu kopieren.
Hinweis: Im Falle fataler Fehler muss die ausgegebene
Fehlermeldung nicht alle verfügbaren Informationen
enthalten.
In diesem Fall sieh dir auch die Ausgabe der Systemlogdateien an, die
sich in /var/log befinden.
Wenn du ein Problem mit einer Anwendung hast, die ihre eigene Logdatei
schreibt (z. B. httpd), suche in der passenden Logdatei
nach Fehlern (im Falle von httpd ist das /var/www/logs).
- Die OpenBSD-Kernelausgabe.
Diese erhältst du mit dem dmesg-Befehl.
Es ist aber möglich, dass deine dmesg-Ausgabe nicht alle Informationen
bietet, die in /var/run/dmesg.boot zu finden sind.
Wenn das der Fall ist, füge die Daten von Beiden hinzu.
Bitte füge sie unbedingt zu allen Fehlerberichten hinzu.
- Wenn du Software von Drittanbietern benutzt, die mit deinem Fehler zu
tun hat, schreibe das auch, inklusive aller Versionsangaben, die deine
Software bietet.
Wenn du über einen CVS- oder FTP-Snapshot redest, erwähne das ebenso,
einschließlich Datum und Uhrzeit.
- Eine Rückverfolgung von deinem Systemabsturz.
Wenn dein Kernel abstürzte und du an einem
ddb>-Prompt bist, dann zeig uns deine Panikmeldung genauso wie
die Ausgabe der Befehle trace und ps in deinem Fehlerbericht.
Wenn das System hängt, versuche sysctl ddb.console=1 vorher zu
aktivieren und DDB entweder über Strg+Alt+Esc auf der Tastatur (du darfst
dich dabei nicht in X befinden) oder über das Senden von BREAK per
serieller Konsole zu erreichen.
Sollte die Panikmeldung aus irgendeinem Grund nicht sichtbar sein, so kannst
du sie die mit dem Befehl show panic erneut zeigen lassen.
Das ist unbedingt notwendig.
Panik-Berichte ohne die Panikmeldung, traceback- und ps-Ausgaben sind
sinnlos.
Die Ausgabe von show registers könnte ebenso von Interesse sein.
Du startest dann am besten mit boot dump, sodass ein Kernelabbild mit
savecore(8) (wie in der Handbuchseite
crash(8) beschrieben) gesichert werden kann, um weitere Informationen
für unser »post mortem«-Entwanzen zu liefern.
- Wenn du von einem Problem mit dem X Fenstersystem auf einer Plattform
berichten willst, die auch den X.Org-Server nutzt, so füge bitte die
komplette Datei /var/log/Xorg.0.log zusätzlich zu den
Informationen aus dmesg.boot hinzu.
Mach dir keine Sorgen, wenn dein Fehlerbericht ziemlich lang wird.
Das ist halt so - und viel besser, als dass wir dir jede Information aus der
Nase ziehen müssen.
Andererseits ist es natürlich auch fair vorher zu fragen, ob sich jemand deinen
Fehlerbericht ansehen will.
Einsenden eines Fehlerberichts
Wenn irgendwie möglich, benutze das Kommando
sendbug(1), um den Fehlerbericht einzusenden.
Damit du sendbug verwenden kannst, muss dein System über das Internet E-Mails
versenden können.
Wenn du sendbug nicht auf einer funktionierenden OpenBSD-Maschine nutzen
kannst, sende deinen Fehlerbericht bitte an
bugs@openbsd.org.
Es kann aber auch passieren, dass du keinen Fehlerbericht sendest,
sondern eine Anfrage nach einer neuen Funktionalität.
Diese werden akzeptiert, insbesondere mit Quelltext, der deine neuen
vorgeschlagenen Funktionalitäten implementiert.
Wenn jemand anderes den Quelltext für deinen Vorschlag schreibt, kann es gut
passieren, dass dabei irgendein Missverständnis auftritt und du das gar nicht
bemerkst.
Zum Debuggen einiger Probleme müssen wir die Hardware passend zum Problem
besitzen.
Bitte bedenke, dass die Ressourcen des OpenBSD-Projekts begrenzt sind.
Du könntest Hardware spenden.
Arten von Fehlerberichten in absteigender Beliebtheitsreihenfolge:
- Reproduzierbare Probleme mit Quelltextkorrekturen sind die besten.
- Reproduzierbare Probleme, die nicht von deinem
Hardware/Softwarelayout abhängig sind.
- Reproduzierbare Probleme, die spezifisch für dein Softwarelayout
sind.
- Reproduzierbare Probleme, die spezifisch für dein Hardwarelayout
sind.
- Nicht reproduzierbare Probleme - oder Probleme die du nicht
erneut hervorrufen willst.
www@openbsd.org
$OpenBSD: report.html,v 1.43 2012/04/25 12:13:16 ajacoutot Exp $