version 1, including all changes.
.
Rev |
Author |
# |
Line |
1 |
perry |
1 |
PERLBUG |
|
|
2 |
!!!PERLBUG |
|
|
3 |
NAME |
|
|
4 |
SYNOPSIS |
|
|
5 |
DESCRIPTION |
|
|
6 |
OPTIONS |
|
|
7 |
AUTHORS |
|
|
8 |
SEE ALSO |
|
|
9 |
BUGS |
|
|
10 |
---- |
|
|
11 |
!!NAME |
|
|
12 |
|
|
|
13 |
|
|
|
14 |
perlbug - how to submit bug reports on Perl |
|
|
15 |
!!SYNOPSIS |
|
|
16 |
|
|
|
17 |
|
|
|
18 |
__perlbug__ [[ __-v__ ] [[ __-a__ ''address'' ] [[ |
|
|
19 |
__-s__ ''subject'' ] [[ __-b__ ''body'' __-f__ |
|
|
20 |
''inputfile'' ] [[ __-F__ ''outputfile'' ] [[ |
|
|
21 |
__-r__ ''returnaddress'' ] [[ __-e__ ''editor'' ] |
|
|
22 |
[[ __-c__ ''adminaddress'' __-C__ ] [[ __-S__ ] [[ |
|
|
23 |
__-t__ ] [[ __-d__ ] [[ __-A__ ] [[ __-h__ |
|
|
24 |
] |
|
|
25 |
|
|
|
26 |
|
|
|
27 |
__perlbug__ [[ __-v__ ] [[ __-r__ |
|
|
28 |
''returnaddress'' ] [[ __-A__ ] [[ __-ok -okay -nok |
|
|
29 |
-nokay__ ] |
|
|
30 |
!!DESCRIPTION |
|
|
31 |
|
|
|
32 |
|
|
|
33 |
A program to help generate bug reports about perl or the |
|
|
34 |
modules that come with it, and mail them. |
|
|
35 |
|
|
|
36 |
|
|
|
37 |
If you have found a bug with a non-standard port (one that |
|
|
38 |
was not part of the ''standard distribution''), a binary |
|
|
39 |
distribution, or a non-standard module (such as Tk, |
|
|
40 |
CGI , etc), then please see the documentation |
|
|
41 |
that came with that distribution to determine the correct |
|
|
42 |
place to report bugs. |
|
|
43 |
|
|
|
44 |
|
|
|
45 |
perlbug is designed to be used interactively. |
|
|
46 |
Normally no arguments will be needed. Simply run it, and |
|
|
47 |
follow the prompts. |
|
|
48 |
|
|
|
49 |
|
|
|
50 |
If you are unable to run __perlbug__ (most likely because |
|
|
51 |
you don't have a working setup to send mail that perlbug |
|
|
52 |
recognizes), you may have to compose your own report, and |
|
|
53 |
email it to __perlbug@perl.org__. You might find the |
|
|
54 |
__-d__ option useful to get summary information in that |
|
|
55 |
case. |
|
|
56 |
|
|
|
57 |
|
|
|
58 |
In any case, when reporting a bug, please make sure you have |
|
|
59 |
run through this checklist: |
|
|
60 |
|
|
|
61 |
|
|
|
62 |
What version of Perl you are running? |
|
|
63 |
|
|
|
64 |
|
|
|
65 |
Type perl -v at the command line to find |
|
|
66 |
out. |
|
|
67 |
|
|
|
68 |
|
|
|
69 |
Are you running the latest released version of |
|
|
70 |
perl? |
|
|
71 |
|
|
|
72 |
|
|
|
73 |
Look at http://www.perl.com/ to find out. If it is not the |
|
|
74 |
latest released version, get that one and see whether your |
|
|
75 |
bug has been fixed. Note that bug reports about old versions |
|
|
76 |
of Perl, especially those prior to the 5.0 release, are |
|
|
77 |
likely to fall upon deaf ears. You are on your own if you |
|
|
78 |
continue to use perl1 .. perl4. |
|
|
79 |
|
|
|
80 |
|
|
|
81 |
Are you sure what you have is a bug? |
|
|
82 |
|
|
|
83 |
|
|
|
84 |
A significant number of the bug reports we get turn out to |
|
|
85 |
be documented features in Perl. Make sure the behavior you |
|
|
86 |
are witnessing doesn't fall under that category, by glancing |
|
|
87 |
through the documentation that comes with Perl (we'll admit |
|
|
88 |
this is no mean task, given the sheer volume of it all, but |
|
|
89 |
at least have a look at the sections that ''seem'' |
|
|
90 |
relevant). |
|
|
91 |
|
|
|
92 |
|
|
|
93 |
Be aware of the familiar traps that perl programmers of |
|
|
94 |
various hues fall into. See perltrap. |
|
|
95 |
|
|
|
96 |
|
|
|
97 |
Check in perldiag to see what any Perl error message(s) |
|
|
98 |
mean. If message isn't in perldiag, it probably isn't |
|
|
99 |
generated by Perl. Consult your operating system |
|
|
100 |
documentation instead. |
|
|
101 |
|
|
|
102 |
|
|
|
103 |
If you are on a non-UNIX platform check also perlport, as |
|
|
104 |
some features may be unimplemented or work |
|
|
105 |
differently. |
|
|
106 |
|
|
|
107 |
|
|
|
108 |
Try to study the problem under the Perl debugger, if |
|
|
109 |
necessary. See perldebug. |
|
|
110 |
|
|
|
111 |
|
|
|
112 |
Do you have a proper test case? |
|
|
113 |
|
|
|
114 |
|
|
|
115 |
The easier it is to reproduce your bug, the more likely it |
|
|
116 |
will be fixed, because if no one can duplicate the problem, |
|
|
117 |
no one can fix it. A good test case has most of these |
|
|
118 |
attributes: fewest possible number of lines; few |
|
|
119 |
dependencies on external commands, modules, or libraries; |
|
|
120 |
runs on most platforms unimpeded; and is |
|
|
121 |
self-documenting. |
|
|
122 |
|
|
|
123 |
|
|
|
124 |
A good test case is almost always a good candidate to be on |
|
|
125 |
the perl test suite. If you have the time, consider making |
|
|
126 |
your test case so that it will readily fit into the standard |
|
|
127 |
test suite. |
|
|
128 |
|
|
|
129 |
|
|
|
130 |
Remember also to include the __exact__ error messages, if |
|
|
131 |
any. ``Perl complained something'' is not an exact error |
|
|
132 |
message. |
|
|
133 |
|
|
|
134 |
|
|
|
135 |
If you get a core dump (or equivalent), you may use a |
|
|
136 |
debugger (__dbx__, __gdb__, etc) to produce a stack |
|
|
137 |
trace to include in the bug report. NOTE: |
|
|
138 |
unless your Perl has been compiled with debug info (often |
|
|
139 |
__-g__), the stack trace is likely to be somewhat hard to |
|
|
140 |
use because it will most probably contain only the function |
|
|
141 |
names and not their arguments. If possible, recompile your |
|
|
142 |
Perl with debug info and reproduce the dump and the stack |
|
|
143 |
trace. |
|
|
144 |
|
|
|
145 |
|
|
|
146 |
Can you describe the bug in plain English? |
|
|
147 |
|
|
|
148 |
|
|
|
149 |
The easier it is to understand a reproducible bug, the more |
|
|
150 |
likely it will be fixed. Anything you can provide by way of |
|
|
151 |
insight into the problem helps a great deal. In other words, |
|
|
152 |
try to analyze the problem (to the extent you can) and |
|
|
153 |
report your discoveries. |
|
|
154 |
|
|
|
155 |
|
|
|
156 |
Can you fix the bug yourself? |
|
|
157 |
|
|
|
158 |
|
|
|
159 |
A bug report which ''includes a patch to fix it'' will |
|
|
160 |
almost definitely be fixed. Use the diff program to |
|
|
161 |
generate your patches (diff is being maintained by |
|
|
162 |
the GNU folks as part of the __diffutils__ |
|
|
163 |
package, so you should be able to get it from any of the |
|
|
164 |
GNU software repositories). If you do submit |
|
|
165 |
a patch, the cool-dude counter at perlbug@perl.org will |
|
|
166 |
register you as a savior of the world. Your patch may be |
|
|
167 |
returned with requests for changes, or requests for more |
|
|
168 |
detailed explanations about your fix. |
|
|
169 |
|
|
|
170 |
|
|
|
171 |
Here are some clues for creating quality patches: Use the |
|
|
172 |
__-c__ or __-u__ switches to the diff program (to |
|
|
173 |
create a so-called context or unified diff). Make sure the |
|
|
174 |
patch is not reversed (the first argument to diff is |
|
|
175 |
typically the original file, the second argument your |
|
|
176 |
changed file). Make sure you test your patch by applying it |
|
|
177 |
with the patch program before you send it on its |
|
|
178 |
way. Try to follow the same style as the code you are trying |
|
|
179 |
to patch. Make sure your patch really does work (make |
|
|
180 |
test, if the thing you're patching supports |
|
|
181 |
it). |
|
|
182 |
|
|
|
183 |
|
|
|
184 |
Can you use perlbug to submit the |
|
|
185 |
report? |
|
|
186 |
|
|
|
187 |
|
|
|
188 |
__perlbug__ will, amongst other things, ensure your |
|
|
189 |
report includes crucial information about your version of |
|
|
190 |
perl. If perlbug is unable to mail your report |
|
|
191 |
after you have typed it in, you may have to compose the |
|
|
192 |
message yourself, add the output produced by perlbug |
|
|
193 |
-d and email it to __perlbug@perl.org__. If, for |
|
|
194 |
some reason, you cannot run perlbug at all on your |
|
|
195 |
system, be sure to include the entire output produced by |
|
|
196 |
running perl -V (note the uppercase |
|
|
197 |
V). |
|
|
198 |
|
|
|
199 |
|
|
|
200 |
Whether you use perlbug or send the email manually, |
|
|
201 |
please make your Subject line informative. ``a bug'' not |
|
|
202 |
informative. Neither is ``perl crashes'' nor `` |
|
|
203 |
HELP !!!''. These don't help. A compact |
|
|
204 |
description of what's wrong is fine. |
|
|
205 |
|
|
|
206 |
|
|
|
207 |
Having done your bit, please be prepared to wait, to be told |
|
|
208 |
the bug is in your code, or even to get no reply at all. The |
|
|
209 |
Perl maintainers are busy folks, so if your problem is a |
|
|
210 |
small one or if it is difficult to understand or already |
|
|
211 |
known, they may not respond with a personal reply. If it is |
|
|
212 |
important to you that your bug be fixed, do monitor the |
|
|
213 |
Changes file in any development releases since the |
|
|
214 |
time you submitted the bug, and encourage the maintainers |
|
|
215 |
with kind words (but never any flames!). Feel free to resend |
|
|
216 |
your bug report if the next released version of perl comes |
|
|
217 |
out and your bug is still present. |
|
|
218 |
!!OPTIONS |
|
|
219 |
|
|
|
220 |
|
|
|
221 |
__-a__ |
|
|
222 |
|
|
|
223 |
|
|
|
224 |
Address to send the report to. Defaults to |
|
|
225 |
`perlbug@perl.org'. |
|
|
226 |
|
|
|
227 |
|
|
|
228 |
__-A__ |
|
|
229 |
|
|
|
230 |
|
|
|
231 |
Don't send a bug received acknowledgement to the reply |
|
|
232 |
address. Generally it is only a sensible to use this option |
|
|
233 |
if you are a perl maintainer actively watching perl porters |
|
|
234 |
for your message to arrive. |
|
|
235 |
|
|
|
236 |
|
|
|
237 |
__-b__ |
|
|
238 |
|
|
|
239 |
|
|
|
240 |
Body of the report. If not included on the command line, or |
|
|
241 |
in a file with __-f__, you will get a chance to edit the |
|
|
242 |
message. |
|
|
243 |
|
|
|
244 |
|
|
|
245 |
__-C__ |
|
|
246 |
|
|
|
247 |
|
|
|
248 |
Don't send copy to administrator. |
|
|
249 |
|
|
|
250 |
|
|
|
251 |
__-c__ |
|
|
252 |
|
|
|
253 |
|
|
|
254 |
Address to send copy of report to. Defaults to the address |
|
|
255 |
of the local perl administrator (recorded when perl was |
|
|
256 |
built). |
|
|
257 |
|
|
|
258 |
|
|
|
259 |
__-d__ |
|
|
260 |
|
|
|
261 |
|
|
|
262 |
Data mode (the default if you redirect or pipe output). This |
|
|
263 |
prints out your configuration data, without mailing |
|
|
264 |
anything. You can use this with __-v__ to get more |
|
|
265 |
complete data. |
|
|
266 |
|
|
|
267 |
|
|
|
268 |
__-e__ |
|
|
269 |
|
|
|
270 |
|
|
|
271 |
Editor to use. |
|
|
272 |
|
|
|
273 |
|
|
|
274 |
__-f__ |
|
|
275 |
|
|
|
276 |
|
|
|
277 |
File containing the body of the report. Use this to quickly |
|
|
278 |
send a prepared message. |
|
|
279 |
|
|
|
280 |
|
|
|
281 |
__-F__ |
|
|
282 |
|
|
|
283 |
|
|
|
284 |
File to output the results to instead of sending as an |
|
|
285 |
email. Useful particularly when running perlbug on a machine |
|
|
286 |
with no direct internet connection. |
|
|
287 |
|
|
|
288 |
|
|
|
289 |
__-h__ |
|
|
290 |
|
|
|
291 |
|
|
|
292 |
Prints a brief summary of the options. |
|
|
293 |
|
|
|
294 |
|
|
|
295 |
__-ok__ |
|
|
296 |
|
|
|
297 |
|
|
|
298 |
Report successful build on this system to perl porters. |
|
|
299 |
Forces __-S__ and __-C__. Forces and supplies values |
|
|
300 |
for __-s__ and __-b__. Only prompts for a return |
|
|
301 |
address if it cannot guess it (for use with __make__). |
|
|
302 |
Honors return address specified with __-r__. You can use |
|
|
303 |
this with __-v__ to get more complete data. Only makes a |
|
|
304 |
report if this system is less than 60 days old. |
|
|
305 |
|
|
|
306 |
|
|
|
307 |
__-okay__ |
|
|
308 |
|
|
|
309 |
|
|
|
310 |
As __-ok__ except it will report on older |
|
|
311 |
systems. |
|
|
312 |
|
|
|
313 |
|
|
|
314 |
__-nok__ |
|
|
315 |
|
|
|
316 |
|
|
|
317 |
Report unsuccessful build on this system. Forces __-C__. |
|
|
318 |
Forces and supplies a value for __-s__, then requires you |
|
|
319 |
to edit the report and say what went wrong. Alternatively, a |
|
|
320 |
prepared report may be supplied using __-f__. Only |
|
|
321 |
prompts for a return address if it cannot guess it (for use |
|
|
322 |
with __make__). Honors return address specified with |
|
|
323 |
__-r__. You can use this with __-v__ to get more |
|
|
324 |
complete data. Only makes a report if this system is less |
|
|
325 |
than 60 days old. |
|
|
326 |
|
|
|
327 |
|
|
|
328 |
__-nokay__ |
|
|
329 |
|
|
|
330 |
|
|
|
331 |
As __-nok__ except it will report on older |
|
|
332 |
systems. |
|
|
333 |
|
|
|
334 |
|
|
|
335 |
__-r__ |
|
|
336 |
|
|
|
337 |
|
|
|
338 |
Your return address. The program will ask you to confirm its |
|
|
339 |
default if you don't use this option. |
|
|
340 |
|
|
|
341 |
|
|
|
342 |
__-S__ |
|
|
343 |
|
|
|
344 |
|
|
|
345 |
Send without asking for confirmation. |
|
|
346 |
|
|
|
347 |
|
|
|
348 |
__-s__ |
|
|
349 |
|
|
|
350 |
|
|
|
351 |
Subject to include with the message. You will be prompted if |
|
|
352 |
you don't supply one on the command line. |
|
|
353 |
|
|
|
354 |
|
|
|
355 |
__-t__ |
|
|
356 |
|
|
|
357 |
|
|
|
358 |
Test mode. The target address defaults to |
|
|
359 |
`perlbug-test@perl.com'. |
|
|
360 |
|
|
|
361 |
|
|
|
362 |
__-v__ |
|
|
363 |
|
|
|
364 |
|
|
|
365 |
Include verbose configuration data in the |
|
|
366 |
report. |
|
|
367 |
!!AUTHORS |
|
|
368 |
|
|
|
369 |
|
|
|
370 |
Kenneth Albanowski ( |
|
|
371 |
doc''tored by Gurusamy Sarathy |
|
|
372 |
( |
|
|
373 |
'' |
|
|
374 |
!!SEE ALSO |
|
|
375 |
|
|
|
376 |
|
|
|
377 |
perl(1), perldebug(1), perldiag(1), |
|
|
378 |
perlport(1), perltrap(1), diff(1), |
|
|
379 |
patch(1), dbx(1), gdb(1) |
|
|
380 |
!!BUGS |
|
|
381 |
|
|
|
382 |
|
|
|
383 |
None known (guess what must have been used to report |
|
|
384 |
them?) |
|
|
385 |
---- |