bzr branch
http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar
|
4584.3.5
by Martin Pool
Developer docs on using apport |
1 |
************************* |
2 |
Bazaar Apport Integration |
|
3 |
************************* |
|
4 |
||
5 |
Bazaar can use Apport <http://launchpad.net/apport/> to capture data about |
|
6 |
unexpected errors (probably, bugs in Bazaar) and report them to the |
|
7 |
developers. |
|
8 |
||
9 |
This is only active for errors that are believed to be internal errors (ie |
|
10 |
bugs) not user or environmental errors. (See the Developer Guide.) |
|
11 |
||
12 |
Consequences for users |
|
13 |
---------------------- |
|
14 |
||
15 |
* They shouldn't normally need to see or copy&paste a traceback. |
|
16 |
||
17 |
* They will be able to inspect the files before sending them to be sure |
|
18 |
there's no sensitive data included. |
|
19 |
||
20 |
* As at present, they'll need a Launchpad account to report bugs in the |
|
21 |
normal way. |
|
22 |
||
23 |
||
24 |
||
25 |
Implementation notes |
|
26 |
-------------------- |
|
27 |
||
28 |
The use of apport by Bazaar is independent of the configuration in the OS. |
|
29 |
For example in Ubuntu, apport is normally inactive in release builds, and |
|
30 |
normally excludes software not installed from a package. We'll bypass |
|
31 |
both of them. |
|
32 |
||
33 |
The user should have the option to: forget about the crash (and ignore the |
|
34 |
bug report), see the contents of the report, |
|
35 |
||
36 |
The process is |
|
37 |
||
38 |
#. An exception reaches the top-level handler. |
|
39 |
||
40 |
#. We log it in apport-format to a file in ~/.bazaar/crash. |
|
41 |
||
|
4584.3.7
by Martin Pool
Updated documentation about apport |
42 |
#. We tell the user where that file is, and invite them to file a bug |
43 |
report. |
|
|
4584.3.5
by Martin Pool
Developer docs on using apport |
44 |
|
45 |
* Developers probably want to turn this off? Or is it enough to just have |
|
46 |
them say No, don't file it? |
|
47 |
||
48 |
This won't be active for bugs that cause the whole Python interpreter to |
|
49 |
crash. This can be handled at the OS level. |
|
50 |
||
51 |
||
52 |
Future ideas |
|
53 |
------------ |
|
54 |
||
55 |
* Capture apport data even for things not believed to be internal errors, |
|
56 |
because sometimes they are in fact bugs. Then the user can attach the |
|
57 |
apport report later if they decide to file a bug. There may be quite a |
|
|
4584.3.7
by Martin Pool
Updated documentation about apport |
58 |
lot of them so we might need to limit the number that are stored, or do |
59 |
this when a debug flag is set. At the moment they go into .bzr.log and |
|
60 |
that's probably ok to start with. |
|
|
4584.3.5
by Martin Pool
Developer docs on using apport |
61 |
|
62 |
* Raising an error from the breakin debugger should cause this to fire. |
|
63 |
||
64 |
* Developers looking at a crash on their own machine will probably in the |
|
65 |
first instance just want to see the traceback. Apport files may be more |
|
66 |
longwinded than our current output and might make the traceback scroll |
|
67 |
off the screen. |
|
68 |
||
|
4584.3.7
by Martin Pool
Updated documentation about apport |
69 |
* Automatically include .bzr.log in the problem report. |
70 |
||
71 |
* Ask the user what they want to do with the report: automatically file |
|
72 |
it, look at it, see just the traceback, just be told where it is. This |
|
73 |
could be done through the UIFactory so that it can be done through a |
|
74 |
graphical dialog. |
|
75 |
||
76 |
However, if we've already had an unhandled error in this process there |
|
77 |
may be problems in Bazaar that prevent us presenting a clean message... |
|
78 |
||
79 |
Possibly these bugs are better reported in the next time bzr runs. |
|
80 |
||
|
4584.3.5
by Martin Pool
Developer docs on using apport |
81 |
.. |
82 |
vim: ft=rst |