/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to doc/developers/apport.txt

  • Committer: Martin Pool
  • Date: 2005-06-28 03:02:31 UTC
  • Revision ID: mbp@sourcefrog.net-20050628030231-d311e4ebcd467ef4
Merge John's import-speedup branch:

                                                                                         
  777 John Arbash Meinel <john@arbash-meinel.com>       Sun 2005-06-26 22:20:32 -0500
      revision-id: john@arbash-meinel.com-20050627032031-e82a50db3863b18e
      bzr selftest was not using the correct bzr

  776 John Arbash Meinel <john@arbash-meinel.com>       Sun 2005-06-26 22:20:22 -0500
      revision-id: john@arbash-meinel.com-20050627032021-c9f21fde989ddaee
      Add was using an old mutter

  775 John Arbash Meinel <john@arbash-meinel.com>       Sun 2005-06-26 22:02:33 -0500
      revision-id: john@arbash-meinel.com-20050627030233-9165cfe98fc63298
      Cleaned up to be less different

  774 John Arbash Meinel <john@arbash-meinel.com>       Sun 2005-06-26 21:54:53 -0500
      revision-id: john@arbash-meinel.com-20050627025452-4260d0e744edef43
      Allow BZR_PLUGIN_PATH='' to negate plugin loading.

  773 John Arbash Meinel <john@arbash-meinel.com>       Sun 2005-06-26 21:49:34 -0500
      revision-id: john@arbash-meinel.com-20050627024933-b7158f67b7b9eae5
      Finished the previous cleanup (allowing load_plugins to be called twice)

  772 John Arbash Meinel <john@arbash-meinel.com>       Sun 2005-06-26 21:45:08 -0500
      revision-id: john@arbash-meinel.com-20050627024508-723b1df510d196fc
      Work on making the tests pass. versioning.py is calling run_cmd directly, but plugins have been loaded.

  771 John Arbash Meinel <john@arbash-meinel.com>       Sun 2005-06-26 21:32:29 -0500
      revision-id: john@arbash-meinel.com-20050627023228-79972744d7c53e15
      Got it down a little bit more by removing import of tree and inventory.

  770 John Arbash Meinel <john@arbash-meinel.com>       Sun 2005-06-26 21:26:05 -0500
      revision-id: john@arbash-meinel.com-20050627022604-350b9773ef622f95
      Reducing the number of import from bzrlib/__init__.py and bzrlib/branch.py

  769 John Arbash Meinel <john@arbash-meinel.com>       Sun 2005-06-26 20:32:25 -0500
      revision-id: john@arbash-meinel.com-20050627013225-32dd044f10d23948
      Updated revision.py and xml.py to include SubElement.

  768 John Arbash Meinel <john@arbash-meinel.com>       Sun 2005-06-26 20:03:56 -0500
      revision-id: john@arbash-meinel.com-20050627010356-ee66919e1c377faf
      Minor typo

  767 John Arbash Meinel <john@arbash-meinel.com>       Sun 2005-06-26 20:03:13 -0500
      revision-id: john@arbash-meinel.com-20050627010312-40d024007eb85051
      Caching the import

  766 John Arbash Meinel <john@arbash-meinel.com>       Sun 2005-06-26 19:51:47 -0500
      revision-id: john@arbash-meinel.com-20050627005147-5281c99e48ed1834
      Created wrapper functions for lazy import of ElementTree

  765 John Arbash Meinel <john@arbash-meinel.com>       Sun 2005-06-26 19:46:37 -0500
      revision-id: john@arbash-meinel.com-20050627004636-bf432902004a94c5
      Removed all of the test imports of cElementTree

  764 John Arbash Meinel <john@arbash-meinel.com>       Sun 2005-06-26 19:43:59 -0500
      revision-id: john@arbash-meinel.com-20050627004358-d137fbe9570dd71b
      Trying to make bzr startup faster.

Show diffs side-by-side

added added

removed removed

Lines of Context:
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
 
Implementation notes
25
 
--------------------
26
 
 
27
 
The use of apport by Bazaar is independent of the configuration in the OS.
28
 
For example in Ubuntu, apport is normally inactive in release builds, and
29
 
normally excludes software not installed from a package.  We'll bypass
30
 
both of them.
31
 
 
32
 
Putting in this handler may mean that an OS-wide exception handler never
33
 
sees the error, but that was true with our existing exception-printer.
34
 
 
35
 
The user should have the option to: forget about the crash (and ignore the
36
 
bug report), see the contents of the report, file a bug, or save the
37
 
report to file later.  At the moment we just show them the filename and
38
 
let them take it from there.
39
 
 
40
 
The process is
41
 
 
42
 
#. An exception reaches the top-level handler.
43
 
 
44
 
#. We log it in apport-format to a file in ~/.bazaar/crash.
45
 
 
46
 
#. We tell the user where that file is, and invite them to file a bug
47
 
   report.
48
 
 
49
 
This won't be active for bugs that cause the whole Python interpreter to
50
 
crash.  This can be handled at the OS level.  The nice thing is that if
51
 
apport is active system-wide, it will catch either exceptions in our
52
 
in-process apport handler, or errors that crash the intrepreter.
53
 
 
54
 
 
55
 
Future ideas
56
 
------------
57
 
 
58
 
* Capture apport data even for things not believed to be internal errors,
59
 
  because sometimes they are in fact bugs.  Then the user can attach the
60
 
  apport report later if they decide to file a bug.  There may be quite a
61
 
  lot of them so we might need to limit the number that are stored, or do
62
 
  this when a debug flag is set.  At the moment they go into .bzr.log and
63
 
  that's probably ok to start with.
64
 
 
65
 
* Raising an error from the breakin debugger should cause this to fire.
66
 
 
67
 
* Developers looking at a crash on their own machine will probably in the
68
 
  first instance just want to see the traceback. Apport files may be more
69
 
  longwinded than our current output and might make the traceback scroll
70
 
  off the screen.
71
 
 
72
 
* Automatically trace messages (ie from .bzr.log) in the report.  We could
73
 
  just include the whole file, but it may be long, and including the whole
74
 
  thing has a greater risk of including sensitive data.
75
 
 
76
 
* Ask the user what they want to do with the report: automatically file
77
 
  it, look at it, see just the traceback, just be told where it is.  This
78
 
  could be done through the UIFactory so that it can be done through a
79
 
  graphical dialog.
80
 
 
81
 
  However, if we've already had an unhandled error in this process there
82
 
  may be problems in Bazaar that prevent us presenting a clean message...
83
 
 
84
 
  Possibly these bugs are better reported in the next time bzr runs.
85
 
 
86
 
..
87
 
    vim: ft=rst