~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/crash.py

  • Committer: Jelmer Vernooij
  • Date: 2011-03-12 23:58:55 UTC
  • mto: This revision was merged to the branch mainline in revision 5722.
  • Revision ID: jelmer@samba.org-20110312235855-m0mz0zi5s4z1c0jt
Add CommitBuilder.supports_record_entry_contents.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2009, 2010 Canonical Ltd
 
1
# Copyright (C) 2009, 2010, 2011 Canonical Ltd
2
2
#
3
3
# This program is free software; you can redistribute it and/or modify
4
4
# it under the terms of the GNU General Public License as published by
20
20
A crash is an exception propagated up almost to the top level of Bazaar.
21
21
 
22
22
If we have apport <https://launchpad.net/apport/>, we store a report of the
23
 
crash using apport into it's /var/crash spool directory, from where the user
 
23
crash using apport into its /var/crash spool directory, from where the user
24
24
can either manually send it to Launchpad.  In some cases (at least Ubuntu
25
25
development releases), Apport may pop up a window asking if they want
26
26
to send it.
143
143
    exc_type, exc_object, exc_tb = exc_info
144
144
 
145
145
    pr = Report()
146
 
    # add_proc_info gives you the memory map of the process, which is not so
147
 
    # useful for Bazaar but does tell you what binary libraries are loaded.
148
 
    # More importantly it sets the ExecutablePath, InterpreterPath, etc.
 
146
    # add_proc_info sets the ExecutablePath, InterpreterPath, etc.
149
147
    pr.add_proc_info()
 
148
    # It also adds ProcMaps which for us is rarely useful and mostly noise, so
 
149
    # let's remove it.
 
150
    del pr['ProcMaps']
150
151
    pr.add_user_info()
151
152
 
152
153
    # Package and SourcePackage are needed so that apport will report about even
173
174
    pr['Package'] = 'bzr'
174
175
 
175
176
    # tell apport to file directly against the bzr package using 
176
 
    # <https://bugs.edge.launchpad.net/bzr/+bug/391015>
 
177
    # <https://bugs.launchpad.net/bzr/+bug/391015>
177
178
    #
178
179
    # XXX: unfortunately apport may crash later if the crashdb definition
179
180
    # file isn't present
254
255
 
255
256
 
256
257
def _format_plugin_list():
257
 
    plugin_lines = []
258
 
    for name, a_plugin in sorted(plugin.plugins().items()):
259
 
        plugin_lines.append("  %-20s %s [%s]" %
260
 
            (name, a_plugin.path(), a_plugin.__version__))
261
 
    return '\n'.join(plugin_lines)
 
258
    return ''.join(plugin.describe_plugins(show_paths=True))
262
259
 
263
260
 
264
261
def _format_module_list():