/[gentoo]/xml/htdocs/doc/en/bugzilla-howto.xml
Gentoo

Diff of /xml/htdocs/doc/en/bugzilla-howto.xml

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.12 Revision 1.13
1<?xml version="1.0" encoding="UTF-8"?> 1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE guide SYSTEM "/dtd/guide.dtd"> 2<!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
3<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/bugzilla-howto.xml,v 1.12 2008/02/01 19:30:40 jkt Exp $ --> 3<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/bugzilla-howto.xml,v 1.13 2008/05/23 20:42:42 swift Exp $ -->
4 4
5<guide link="/doc/en/bugzilla-howto.xml"> 5<guide link="/doc/en/bugzilla-howto.xml">
6<title>Gentoo Bug Reporting Guide</title> 6<title>Gentoo Bug Reporting Guide</title>
7 7
8<author title="Author"> 8<author title="Author">
199This GDB was configured as "i686-pc-linux-gnu"...Using host libthread_db library "/lib/libthread_db.so.1". 199This GDB was configured as "i686-pc-linux-gnu"...Using host libthread_db library "/lib/libthread_db.so.1".
200</pre> 200</pre>
201 201
202<note> 202<note>
203One can also debug with core dumps. These core files contain the same 203One can also debug with core dumps. These core files contain the same
204information that the program would produce when run with gdb. In order to debug 204information that the program would produce when run with gdb. In order to debug
205with a core file with bad_code, you would run <c>gdb ./bad_code core</c> where 205with a core file with bad_code, you would run <c>gdb ./bad_code core</c> where
206core is the name of the core file. 206core is the name of the core file.
207</note> 207</note>
208 208
209<p> 209<p>
325The program is running. Exit anyway? (y or n) <i>y</i> 325The program is running. Exit anyway? (y or n) <i>y</i>
326$ 326$
327</pre> 327</pre>
328 328
329<p> 329<p>
330This ends the walk-through of <c>gdb</c>. Using <c>gdb</c>, we hope that you will 330This ends the walk-through of <c>gdb</c>. Using <c>gdb</c>, we hope that you
331be able to use it to create better bug reports. However, there are other types 331will be able to use it to create better bug reports. However, there are other
332of errors that can cause a program to fail during run time. One of the other 332types of errors that can cause a program to fail during run time. One of the
333ways is through improper file access. We can find those using a nifty little 333other ways is through improper file access. We can find those using a nifty
334tool called <c>strace</c>. 334little tool called <c>strace</c>.
335</p> 335</p>
336 336
337</body> 337</body>
338</section> 338</section>
339</chapter> 339</chapter>
348Programs often use files to fetch configuration information, access hardware or 348Programs often use files to fetch configuration information, access hardware or
349write logs. Sometimes, a program attempts to reach such files incorrectly. A 349write logs. Sometimes, a program attempts to reach such files incorrectly. A
350tool called <c>strace</c> was created to help deal with this. <c>strace</c> 350tool called <c>strace</c> was created to help deal with this. <c>strace</c>
351traces system calls (hence the name) which include calls that use the memory and 351traces system calls (hence the name) which include calls that use the memory and
352files. For our example, we're going to take a program foobar2. This is an 352files. For our example, we're going to take a program foobar2. This is an
353updated version of foobar. However, during the change over to foobar2, you notice 353updated version of foobar. However, during the change over to foobar2, you
354all your configurations are missing! In foobar version 1, you had it setup to 354notice all your configurations are missing! In foobar version 1, you had it
355say "foo", but now it's using the default "bar". 355setup to say "foo", but now it's using the default "bar".
356</p> 356</p>
357 357
358<pre caption="Foobar2 With an invalid configuration"> 358<pre caption="Foobar2 With an invalid configuration">
359$ <i>./foobar2</i> 359$ <i>./foobar2</i>
360Configuration says: bar 360Configuration says: bar
452!!! Make failed! 452!!! Make failed!
453!!! If you need support, post the topmost build error, NOT this status message 453!!! If you need support, post the topmost build error, NOT this status message
454</pre> 454</pre>
455 455
456<p> 456<p>
457The program is compiling smoothly when it suddenly stops and presents an error message. This 457The program is compiling smoothly when it suddenly stops and presents an error
458particular error can be split into 3 different sections, The compile messages, the build 458message. This particular error can be split into 3 different sections, The
459error, and the emerge error message as shown below. 459compile messages, the build error, and the emerge error message as shown below.
460</p> 460</p>
461 461
462<pre caption="Parts of the error"> 462<pre caption="Parts of the error">
463<comment>(Compilation Messages)</comment> 463<comment>(Compilation Messages)</comment>
464gcc -D__TEST__ -D__GNU__ -D__LINUX__ -L/usr/lib -I/usr/include -L/usr/lib/nspr/ -I/usr/include/fmod -c -o foobar2-7.o foobar2-7.c 464gcc -D__TEST__ -D__GNU__ -D__LINUX__ -L/usr/lib -I/usr/include -L/usr/lib/nspr/ -I/usr/include/fmod -c -o foobar2-7.o foobar2-7.c
656Product, Component, and Version should all be set to the default. This 656Product, Component, and Version should all be set to the default. This
657prevents us from being too specific and missing all the bugs. 657prevents us from being too specific and missing all the bugs.
658</p> 658</p>
659 659
660<p> 660<p>
661Comment is the important part. Use the comment field to list what appears to be a 661Comment is the important part. Use the comment field to list what appears to be
662specific instance of the error. Basically, don't use anything like the 662a specific instance of the error. Basically, don't use anything like the
663beginning of the build error, find a line that's before it stating a true 663beginning of the build error, find a line that's before it stating a true
664error. Also, you'll want to filter out any punctuation to prevent bugzilla 664error. Also, you'll want to filter out any punctuation to prevent bugzilla
665from interpreting the results the comment the wrong way. Example from the xclass 665from interpreting the results the comment the wrong way. Example from the xclass
666emerge error: 666emerge error:
667</p> 667</p>
770</p> 770</p>
771 771
772<note> 772<note>
773We would rather see a bug whose product was not supposed to be Gentoo Linux but 773We would rather see a bug whose product was not supposed to be Gentoo Linux but
774has been filed under the same rather than seeing a bug which belongs the Gentoo 774has been filed under the same rather than seeing a bug which belongs the Gentoo
775Linux product and filed elsewhere. While neither is preferred, the former is more 775Linux product and filed elsewhere. While neither is preferred, the former is
776acceptable and understandable (except website bugs.. we might have an issue with 776more acceptable and understandable (except website bugs.. we might have an issue
777that...). 777with that...).
778</note> 778</note>
779 779
780<p> 780<p>
781Our bug goes in Gentoo Linux as it's an ebuild bug. We head over there and are 781Our bug goes in Gentoo Linux as it's an ebuild bug. We head over there and are
782presented with the multi-step bug reporting process. Let us now proceed with 782presented with the multi-step bug reporting process. Let us now proceed with
932 </li> 932 </li>
933 <li> 933 <li>
934 Minor - Your program crashes here and there with apparent workarounds. 934 Minor - Your program crashes here and there with apparent workarounds.
935 </li> 935 </li>
936 <li> 936 <li>
937 Normal - The default. If you're not sure leave it here unless it's a new 937 Normal - The default. If you're not sure leave it here unless it's a new
938 build or cosmetic change, then read below for more information. 938 build or cosmetic change, then read below for more information.
939 </li> 939 </li>
940 <li>Trivial - Things such as a mispelled word or whitespace clean up. </li> 940 <li>Trivial - Things such as a mispelled word or whitespace clean up. </li>
941 <li> 941 <li>
942 Enhancement - A request to enable a new feature in a program, or more 942 Enhancement - A request to enable a new feature in a program, or more
1180$ <i>diff -up file.c.old file.c</i> 1180$ <i>diff -up file.c.old file.c</i>
1181</pre> 1181</pre>
1182 1182
1183<p> 1183<p>
1184The documentation team will require the flag combination <b>-Nt</b> as well as 1184The documentation team will require the flag combination <b>-Nt</b> as well as
1185<b>-u</b>. This mainly has to do with tab expansion. You can create such a diff 1185<b>-u</b>. This mainly has to do with tab expansion. You can create such a diff
1186with: 1186with:
1187</p> 1187</p>
1188 1188
1189<pre caption="Documentation diffs"> 1189<pre caption="Documentation diffs">
1190$<i> cp file.xml file.xml.old</i> 1190$<i> cp file.xml file.xml.old</i>
1249 1249
1250<p> 1250<p>
1251Now shortly afterward, we find the error in the strace log and fix the bug and 1251Now shortly afterward, we find the error in the strace log and fix the bug and
1252mark it as RESOLVED FIXED and mention that there was a change in the location 1252mark it as RESOLVED FIXED and mention that there was a change in the location
1253of configuration files, and that I will update the ebuild with a warning about 1253of configuration files, and that I will update the ebuild with a warning about
1254it. The bug now becomes resolved, and you are shown the following. 1254it. The bug now becomes resolved, and you are shown the following.
1255</p> 1255</p>
1256 1256
1257<figure link="/images/docs/bugzie-reso.png" caption="Resolved Bug"/> 1257<figure link="/images/docs/bugzie-reso.png" caption="Resolved Bug"/>
1258 1258
1259<p> 1259<p>
1280 <li> 1280 <li>
1281 WORKSFORME - Developer/person assigned the bug cannot reproduce your error. 1281 WORKSFORME - Developer/person assigned the bug cannot reproduce your error.
1282 </li> 1282 </li>
1283 <li> 1283 <li>
1284 CANTFIX - Somehow the bug cannot be solved because of certain 1284 CANTFIX - Somehow the bug cannot be solved because of certain
1285 circumstances. These circumstances will be noted by the person taking the 1285 circumstances. These circumstances will be noted by the person taking the
1286 bug. 1286 bug.
1287 </li> 1287 </li>
1288 <li> 1288 <li>
1289 WONTFIX - This is usually applied to new ebuilds or feature requests. 1289 WONTFIX - This is usually applied to new ebuilds or feature requests.
1290 Basically the developer does not want to add a certain feature because it 1290 Basically the developer does not want to add a certain feature because it
1301 </li> 1301 </li>
1302</ul> 1302</ul>
1303 1303
1304<p> 1304<p>
1305Sometimes, before the bug can be resolved, a developer may request that you 1305Sometimes, before the bug can be resolved, a developer may request that you
1306test an updated ebulid. In the next chapter we'll take a look at testing 1306test an updated ebulid. In the next chapter we'll take a look at testing
1307ebuilds. 1307ebuilds.
1308</p> 1308</p>
1309 1309
1310</body> 1310</body>
1311</section> 1311</section>
1420</pre> 1420</pre>
1421 1421
1422<p> 1422<p>
1423In the first section we see that the emerge started off as it should. The second 1423In the first section we see that the emerge started off as it should. The second
1424section shows our patch being applied successfully by the "[ ok ]" status 1424section shows our patch being applied successfully by the "[ ok ]" status
1425message to the right. The last section tells us the program compiled ok. The 1425message to the right. The last section tells us the program compiled ok. The
1426patch works! Now we can go and let the developer know that their patch works 1426patch works! Now we can go and let the developer know that their patch works
1427fine, and that they can commit the fix to portage. 1427fine, and that they can commit the fix to portage.
1428</p> 1428</p>
1429 1429
1430</body> 1430</body>

Legend:
Removed from v.1.12  
changed lines
  Added in v.1.13

  ViewVC Help
Powered by ViewVC 1.1.20