home *** CD-ROM | disk | FTP | other *** search
/ Dream 52 / Amiga_Dream_52.iso / RiscOS / APP / DEVS / C / QSYSTE.ZIP / !QSystem / docs / Q / bugs.w next >
Text File  |  1997-12-14  |  4KB  |  92 lines

  1. This document is a modification from !gcc.docs.gccuser of the *Reporting Bugs* section.
  2.  
  3.  
  4. Reporting Bugs
  5. **************
  6.  
  7.    Your bug reports play an essential role in making Q-System reliable.
  8.  
  9.    When you encounter a problem, the first thing to do is to see if it is already known.  If it isn't known, then you should report the problem.
  10.  
  11.    Reporting a bug may help you by bringing a solution to your problem, or it may not. In any case, the principal function of a bug report is to help the entire community by making the next version of Q-System work better.  Bug reports are your contribution to the maintenance of Q-System and should be sent by e-mail to the address in the section *Where to report bugs*. If you do not have access to e-mail, then try posting the problem to the s-mail address given.
  12.  
  13.    Since I am very busy (final year), I cannot respond to every bug report, although I will try to cure as many as possible.
  14.  
  15.    In order for a bug report to serve its purpose, you must include the information that makes for fixing the bug.
  16.  
  17. Have You Found a Bug?
  18. =====================
  19.  
  20.    If you are not sure whether you have found a bug, here are some guidelines:
  21.  
  22.    * If the program gets a fatal signal, for some input, that is a bug.
  23.      Reliable programs never crash.
  24.  
  25.    * If the program produces invalid results, for some input whatever,
  26.      that is a bug.
  27.  
  28.    * If the program produces output that does not correctly correspond
  29.      to the input, that is a bug.
  30.  
  31.    * If the program produces an error message for valid input, that is
  32.      a bug.
  33.  
  34.    * If the program does not produce an error message for invalid
  35.      input, that is a bug.
  36.  
  37.    * Improvements: not technically bugs, but suggestions for improvement
  38.      of Q-System are always welcome.
  39.  
  40. Where to Report Bugs
  41. ====================
  42.  
  43.  
  44. Bug reports should be sent to:
  45.   Stu Smith: s.d.smith@ex.ac.uk
  46. until June 1998
  47.  
  48. Or by s-mail (anytime) to:-
  49.  
  50. Stu Smith
  51. 16 Foyle Road
  52. Chandlers Ford
  53. Eastleigh
  54. HANTS
  55. SO53 4QP
  56.  
  57. How to Report Bugs
  58. ==================
  59.  
  60.    The fundamental principle of reporting bugs usefully is this:
  61. *report all the facts*.  If you are not sure whether to state a fact or leave it out, state it!
  62.  
  63.    Often people omit facts because they think they know what causes the problem and they conclude that some details don't matter.  Thus, you might assume that the name of the variable you use in an example does not matter.  Well, probably it doesn't, but one cannot be sure. Perhaps the bug is a stray memory reference which happens to fetch from
  64. the location where that name is stored in memory; perhaps, if the name were different, the contents of that location would fool the compiler into doing the right thing despite the bug.  Play it safe and give a specific, complete example.  That is the easiest thing for you to do, and the most helpful.
  65.  
  66.    Keep in mind that the purpose of a bug report is to enable someone to fix the bug if it is not known.  It isn't very important what happens if the bug is already known.  Therefore, always write your bug reports on the assumption that the bug is not known.
  67.  
  68.    Sometimes people give a few sketchy facts and ask, "Does this ring a bell?"  This cannot help me fix a bug, so it is basically useless.  I will respond by asking for enough details to enable us to investigate.  You might as well expedite matters by sending  them to begin with.
  69.  
  70.    Try to make your bug report self-contained.  If I have to ask you for more information, it is best if you include all the previous information in your response, as well as the information that was missing.
  71.  
  72.    Please report each bug in a separate message.  This makes it easier for me to track which bugs have been fixed and to forward your bugs reports to the appropriate maintainer.
  73.  
  74.    To enable someone to investigate the bug, you should include all these things:
  75.  
  76.    * The version of the program.  You can get this by running it with the
  77.      `-v' option.
  78.  
  79.    * All debug output possible (symbol maps, -t, -d etc).
  80.  
  81.    * Complete input file(s) that will reproduce the bug.
  82.  
  83.    * The command arguments you gave. To guarantee you won't omit something
  84.      important, list all the options.
  85.  
  86.    * The type of machine you are using, and the operating system name
  87.      and version number.
  88.  
  89.    * A description of what behavior you observe that you believe is
  90.      incorrect.  For example, "The program gets a fatal signal," or,
  91.      "The assembler instruction at line 208 in the output is incorrect."
  92.