Aus Mageia wiki
Wechseln zu: Navigation, Suche
Drakconf multiflag.png
Weitere Sprachen

Deutsch ; English ; Français ; Português (Portugal) ; Türkçe ;


Diese Seite soll dir dabei helfen zu verstehen, was Fehler sind, wann und wie diese berichtet werden sollten und worauf dabei zu achten ist. Effektive Fehlerberichte sind zumeist leichter zu beheben. Diese Anleitung erklärt wie du solch einen Bericht schreibst. Wichtiger Hinweis: Die grundlegende Sprache die verwendet wird ist Englisch, so unterlasse bitte Fehlerberichte in anderen Sprachen. Fühle dich frei in den IRC Kanälen oder den Foren zu fragen wenn du dabei Hilfe brauchst.

Definition

So, was sind nun ganz genau Fehler? Ein Fehler (hier wird die engl. Bezeichnung "bug" verwendet) ist der grundsätzliche Ausdruck der verwendet wird um einen Fehler, Mangel, Irrtum, Defekt oder Fehlfunktion in einem Computerprogramm oder einem System zu beschreiben, der zu einem unkorrekten oder unerwarteten Resultat führt, oder sich das Programm in unerwarteter Weise verhält. Aber ein solcher Fehler ist nicht auf die Software eingeschränkt. Fehler können überall sein, in einer Software, in einer Hardware, in den Personen die diese verwalten, auch wie diese gefüttert werden. Falls nun ein reproduzierbares Problem, sei es die Dokumentation, Übersetzung, Kunst, der Webseite oder Infrastruktur, möglicherweise mit Mageia.org selbst einer der Mitarbeiter oder mit der Organisation des Teams oder etwas ähnliches sein, kann dies als Fehler gemeldet werden. Ebenso können Paketanforderungen Fehler sein, um so ein Beispiel zu geben.

Prinzipien

  • Sei präzise
  • Sei klar - erkläre es so dass es andere nachvollziehen/verstehen können
  • Ein Fehler pro Bericht
  • Reproduziere den Fehler - Falls der Fehler den du Melden möchtest nicht durch deine Beschreibung reproduzierbar ist (auf einem anderen Computer oder einer frischen Mageia Installation), sind die Chancen sehr viel geringer, dass dieser Fehler behoben wird - den Entwicklern muss es in den meisten Fällen möglich sein, den Fehler zu reproduzieren, um diesen zu beheben.
    • Es ist immer eine gute Idee in Foren oder der Mailingliste nachzufragen, ob jemand den Fehler reproduzieren kann oder ob jemand auch den Fehler bemerkt hat
  • Versuche nach ähnlichen Fehlermeldungen für die Software, für die du den Fehler melden möchtest, zu suchen z.B. für KDE unter https://bugs.kde.org/ oder für systemd unter https://bugs.freedesktop.org
    vergewissere dich auch durch eine einfache Suche nach dem Fehler in z. B. Google oder einer anderen Suchmaschine, das es kein bereits bekannter Fehler ist
  • Kein Fehler ist zu trivial um nicht berichtet zu werden - kleine Fehler können hinter größeren Fehler steckten
  • Klare Abtrennung von Spekulationen
  • Bitte setze einem Programmaufruf immer LC_ALL=C voran, so dass die Fehlerausgaben oder eine andere Ausgabe immer in Englisch angezeigt wird, so z.B.; nicht urpmi ein_pakest, sondern LC_ALL=C urpmi ein_paket

Vorbereitungen

  • Vergewissere dich, dass du eine unterstützte Mageia Version verwendest und diese vollständig aktualisiert ist.
  • Gehe auf https://bugs.mageia.org und suche in Bugzilla, um zu sehen ob dein Fehler nicht schon berichtet wurde.
    • Du kannst die Schnellsuche verwenden, indem du einige relevante Ausdrücke eingibst
    • Platziere die Buchstaben ALL als ersten Ausdruck in deiner Such-Zeichenkette, dies gibt alle relevanten Fehlerberichte zurück inklusive aller gelösten.
    • Ist "dein" Fehler bereits vorhanden, so kannst du einen Kommentar im Bericht hinterlassen, dass du den Fehlerbericht erhärten kannst. Wenn du nicht sicher bist ob es der gleiche Fehler ist, frage um Hilfe im IRC oder in den Foren (de) bzw. Foren (en).
    • Einige Anwendungen lassen sich bei einem englisch eingestellten System nicht starten, wenn LC_ALL=C verwendet wird. Versuche in diesem Fall LC_ALL=en_US.UTF-8 oder LANGUAGE=C zu verwenden.

Einen neuen Fehler berichten

Wenn du den Fehler in einer neueren Version reproduziert hast und anscheinend niemand sonst, dann:

  1. Erstelle ihn mit deinem Zugang (beim ersten mal musst du einen erzeugen, überprüfe dies auf FAQ über die Mageia.org Benutzerzugänge)
  2. Klicke auf "File a Bug" (wenn du den gleichen Fehler mittels Suchfeld nicht gefunden hast)
  3. Wähle "Enter a new bug", du kannst entweder "guided form" verwenden, oder wenn du es bereits zuvor getan hast, verwende das vorgegebene Formular
  4. Wähle das Produkt in dem du den Fehler gefunden hast, (nur verfügbar über das "expert" (Experten-)Formular). Beim Anleitungsformular ist "Mageia" vorgewählt. Um einen Fehler zur Mageia Webseite oder zur Infrastruktur zu melden (wie Mageia's Bugzilla oder dem Erstellungssystem) verwende das vorgegebene Formular (siehe oben)
  5. Eingabe der Quell RPM[1] des Pakets
  6. Fülle das Formular aus. Hier ein bisschen Hilfe um die Feldnamen zu verstehen:

Component: In welchen untergeordneten Teil der Software besteht der Fehler? Dieses Feld ist nötig. Klicke auf das Wort "Component" um eine Beschreibung einer jeden Komponente zu sehen. Wird hier keine entsprechende Beschreibung angezeigt, wähle RPM Pakete.

Version: In welcher Version der Distro existiert der Fehler? 1 war die erste stabile Version, 4 ist die neueste stabile Version, Cauldron ist die Entwicklerversion.
Wenn du nun weist dass der Fehler in zwei oder mehreren Versionen von Mageia existiert, setze dies auf die höchste Version und füge die ältere(n) Version(en) in das Whiteboard ein. Cauldron ist höher als "4", so dass ein hier auftretender Fehler für alle Versionen Gültigkeit hat, dies bedeutet:

  • Setze die Version auf Cauldron
  • Setze MGA4TOO auf das Whiteboard

Hardware Plattform: Auf welcher Plattform tritt der Fehler auf? i586 bedeutet 32bit, x86_64 bedeutet 64bit, arm bedeutet ARM-Architektur und all bedeutet dass es für alle Architekturen gültig ist. Das letzte ist der häufigste Fall.


Source RPM: Hier bestimmst du exakt welches RPM-Paket von diesem Fehlerbericht betroffen ist. Wenn du z.B. weißt, dass das Programm mit dem Problem den Namen mysqld trägt, dann führe rpm -qif /usr/sbin/mysqld aus. Dadurch erfährst du den Namen und die Version des RPM Pakets (z.B. MySQL-5.0.27-1mga1), sowie auch noch weitere Informationen. Insbesonders solltest du nach dem Feld "Source RPM" suchen (z.B. MySQL-5.0.27-1mga1.src.rpm) -- dies ist die Information die du hier zur Verfügung stellen solltest. Alternativ kannst du auch rpm -qf /usr/sbin/mysqld --qf '%{SOURCERPM}\n' verwenden um die Informationen zu erhalten. Wenn du nicht weist in welchem Paket dieses Programm enthalten ist, verwende rpm -qf `which mysqld` um die Antwort zu erhalten.

URL: URL die das Problem demonstriert dass du vorlegst (wahlweise). Dies kann auch eine Forenmeldung sein in der das Problem zuerst gemeldet wurde, und ein "upstream" Fehlerbericht, oder ein Fehlerbericht von einer anderen Distribution die vom gleichen Problem handelt, von dem du berichtest.

Summary: Wie du den Fehler beschreibst, in nahezu 60 oder weniger Zeichen? Eine gute Zusammenfassung sollte kurz und eindeutig einen Fehler beschreiben. Diese Zusammenfassung erklärt das Problem, empfiehlt aber nicht ihre Lösung. Sei bitte beschreibend und verwende viele Schlüsselworte, wenn es möglich ist.

  • Gutes Beispiel: Absturz von Evolution während auf neue POP mail geprüft wird
  • Schlechtes Beispiel: mail stürzt ab
  • Gutes Beispiel: Abbrechen beim Kopieren einer Datei lässt den Dateimanager abstürzen
  • Schlechtes Beispiel: Software stürzte ab
  • Schlechtes Beispiel: Browser sollte mit meiner Webseite arbeiten

Details: Die Details ihres Problemberichtes , inklusive:

Description of problem: Eine detailliertere Neuformulierung der Zusammenfassung. Erweiterung der Zusammenfassung. Sei hier bitte so präzise wie nur möglich in der Beschreibung was nicht funktioniert oder falsch läuft.

  • Schlechtes Beispiel: Ich kann auf meinem System kein Anmeldefenster sehen. Bitte helfen!
  • Gutes Beispiel: Mir ist es nicht möglich mich mittels ssh am System anzumelden. Die log -Datei /var/log/messages bezeichnet dass es ein Problem mit dem pam Module pam_ldap gibt, aber die Datei /etc/pam.d/system-auth enthält dieses Modul nicht und ich verwende LDAP nicht. Ich habe in der Datei /etc/pam.d/sshd nachgesehen und hier ist dieses Modul enthalten, bin mir aber nicht sicher wie es hierher kommt, es sei denn, es wurde durch das super-spiffy super-ldap-mojo-Paket verursacht, dass ich gestern installiert habe.

Version-Veröffentlichungsnummer der gewählten Komponente (wenn verfügbar):

openldap-2.3.34-5mga1, pam-0.99.7.1-2mga1

How reproducible:

Jedes Mal wenn ich mich anmelde.

Steps to Reproduce: Kurze, leicht zu verfolgende Schritte die den Fehler auslöst. Inklusive eines jeden speziellen Schrittes einer Stellung.

  1. ssh user@host
  2. siehe Abweisung


Für Fehler bei Abstürzen: Wirf einen Blick auf Fehlersuche bei Softwareabstürzen um mehr darüber zu lernen wie man die entsprechende Fehlersuch-Information produziert und zur Verfügung stellt (backtraces - Rückverfolgungen) in dem Falle in dem die Software abstürzt oder eine Schutzverletzung erzeugt (segfault)


  • Füge einen Anhang bei, wenn dies hilfreich sein kann (nicht alle deine logs, nur die log(s) die sich auf den Fehler beziehen)

Du kannst auch in der Verfolgungsanleitung nachsehen welche zusätzlichen Informationen nötig sind um den Fehlerbericht erstellen zu können, wodurch die Arbeit für das Auswahlteam verringert wird.

  • Eingabe der E-Mail-Adresse des Paketbetreuers[2] im Assign To, falls dir diese bekannt ist (oder lass diese Adresse vom Auswahlteam einfügen)


Überprüfe anschließend deinen Bericht erneut auf Fehler und Auslassungen, dann wähle "Commit". Dein Fehlerbericht wird nun in die Bugzilla Datenbank übertragen.

[1], [2]: rpm -qi package gibt dir einige Informationen über ein Paket.

Teile dieser Seite wurden von https://landfill.bugzilla.org/bugzilla-3.6-branch/page.cgi?id=bug-writing.html übernommen

Wie man eine Paketanforderung ausfüllt

Dies ist ähnlich dem Ausfüllen eines Fehlerberichtes, aber hier gibt es einige Unterschiede in den erforderlichen Informationen.

  • Gehe auf die Seite https://bugs.mageia.org
  • Führe eine Schnellsuche "ALL <paketname>" aus, wobei du natürlich "<paketname>" durch den realen Namen des Pakets ersetzt
    • Hat bereits jemand eine Anforderung ausgefüllt, so füge einen Kommentar hinzu dass du dieses Paket auch in Mageia sehen willst
    • Wurde diese Anforderung mit WONTFIX geschlossen, so wahrscheinlich weil dieses Projekt toter "upstream" ist. In diesem Fall wird normalerweise ein alternatives Mageia Paket genannt.
    • Wenn du mit einer Schnellsuche nichts findest, gehe zum nächsten Schritt über:
  • wähle File a Bug
  • wähle das Produkt Mageia
  • (Component:) hier trägst du "New RPM package request" ein
  • (Version:) wähle "Cauldron"
  • (Hardware Plattform:) wähle "All"
  • (Source RPM:) gib hier keinen Link an. Falls du bereits einen Namen kennst, welcher die SRPM bekommen soll, dann gebe hier den Namen ein. Lasse den Bereich frei, falls du ihn nicht weißt bzw. nicht weißt was eingetragen werden soll.
  • (URL:http://) gib den "upstream"-Link zu dem Paket an
  • (Summary) gib hier bitte "den Paketnamen", "eine kurze Beschreibung zum Zweck des Programms an"

Beispiel: vagrant, ein Werkzeug um visualisierte Umgebungen mit VirtualBox zu erstellen

    • Bitte verwende nur kleingeschriebene (kleine) Buchstaben für den Paketnamen, da es uns einfacher macht, dies zu überprüfen und wir seit einiger Zeit es so anwenden.
  • (Details) schreibe hier warum du glaubst, dass die Software gut ist und wofür du sie verwendest.
  • (Severity) setze dieses Feld auf "Enhancement"
  • sende den Bericht.