perlbug - how to submit bug reports on Perl |
perlbug - how to submit bug reports on Perl
perlbug [ -v ] [ -a address ] [ -s subject ] [ -b body | -f inputfile ] [ -F outputfile ] [ -r returnaddress ] [ -e editor ] [ -c adminaddress | -C ] [ -S ] [ -t ] [ -d ] [ -A ] [ -h ]
perlbug [ -v ] [ -r returnaddress ] [ -A ] [ -ok | -okay | -nok | -nokay ]
A program to help generate bug reports about perl or the modules that come with it, and mail them.
If you have found a bug with a non-standard port (one that was not part of the standard distribution), a binary distribution, or a non-standard module (such as Tk, CGI, etc), then please see the documentation that came with that distribution to determine the correct place to report bugs.
perlbug
is designed to be used interactively. Normally no arguments
will be needed. Simply run it, and follow the prompts.
If you are unable to run perlbug (most likely because you don't have a working setup to send mail that perlbug recognizes), you may have to compose your own report, and email it to perlbug@perl.org. You might find the -d option useful to get summary information in that case.
In any case, when reporting a bug, please make sure you have run through this checklist:
perl -v
at the command line to find out.
Be aware of the familiar traps that perl programmers of various hues fall into. See the perltrap manpage.
Check in the perldiag manpage to see what any Perl error message(s)
mean.
If message isn't in perldiag, it probably isn't generated by Perl.
Consult your operating system documentation instead.
If you are on a non-UNIX platform check also the perlport manpage, as some features may be unimplemented or work differently.
Try to study the problem under the Perl debugger, if necessary. See the perldebug manpage.
A good test case is almost always a good candidate to be on the perl test suite. If you have the time, consider making your test case so that it will readily fit into the standard test suite.
Remember also to include the exact error messages, if any. ``Perl complained something'' is not an exact error message.
If you get a core dump (or equivalent), you may use a debugger (dbx, gdb, etc) to produce a stack trace to include in the bug report. NOTE: unless your Perl has been compiled with debug info (often -g), the stack trace is likely to be somewhat hard to use because it will most probably contain only the function names and not their arguments. If possible, recompile your Perl with debug info and reproduce the dump and the stack trace.
diff
program to generate your patches
(diff
is being maintained by the GNU folks as part of the diffutils
package, so you should be able to get it from any of the GNU software
repositories). If you do submit a patch, the cool-dude counter at
perlbug@perl.org will register you as a savior of the world. Your
patch may be returned with requests for changes, or requests for more
detailed explanations about your fix.
Here are some clues for creating quality patches: Use the -c or
-u switches to the diff program (to create a so-called context or
unified diff). Make sure the patch is not reversed (the first
argument to diff is typically the original file, the second argument
your changed file). Make sure you test your patch by applying it with
the patch
program before you send it on its way. Try to follow the
same style as the code you are trying to patch. Make sure your patch
really does work (make test
, if the thing you're patching supports
it).
perlbug
to submit the report?perlbug
is unable
to mail your report after you have typed it in, you may have to compose
the message yourself, add the output produced by perlbug -d
and email
it to perlbug@perl.org. If, for some reason, you cannot run
perlbug
at all on your system, be sure to include the entire output
produced by running perl -V
(note the uppercase V).
Whether you use perlbug
or send the email manually, please make
your Subject line informative. ``a bug'' not informative. Neither is
``perl crashes'' nor ``HELP!!!''. These don't help.
A compact description of what's wrong is fine.
Having done your bit, please be prepared to wait, to be told the bug
is in your code, or even to get no reply at all. The Perl maintainers
are busy folks, so if your problem is a small one or if it is difficult
to understand or already known, they may not respond with a personal reply.
If it is important to you that your bug be fixed, do monitor the
Changes
file in any development releases since the time you submitted
the bug, and encourage the maintainers with kind words (but never any
flames!). Feel free to resend your bug report if the next released
version of perl comes out and your bug is still present.
Kenneth Albanowski (<kjahds@kjahds.com>), subsequently doctored
by Gurusamy Sarathy (<gsar@activestate.com>), Tom Christiansen
(<tchrist@perl.com>), Nathan Torkington (<gnat@frii.com>),
Charles F. Randall (<cfr@pobox.com>), Mike Guy
(<mjtg@cam.a.uk>), Dominic Dunlop (<domo@computer.org>),
Hugo van der Sanden (<hv@crypt.org
perl(1), perldebug(1), perldiag(1), perlport(1), perltrap(1),
diff(1), patch(1), dbx(1), gdb(1)
None known (guess what must have been used to report them?)
perlbug - how to submit bug reports on Perl |