/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 bzrlib/crash.py

  • Committer: Robert Collins
  • Date: 2010-05-06 11:08:10 UTC
  • mto: This revision was merged to the branch mainline in revision 5223.
  • Revision ID: robertc@robertcollins.net-20100506110810-h3j07fh5gmw54s25
Cleaner matcher matching revised unlocking protocol.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2009, 2010, 2011 Canonical Ltd
 
1
# Copyright (C) 2009, 2010 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 its /var/crash spool directory, from where the user
 
23
crash using apport into it's /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 sets the ExecutablePath, InterpreterPath, etc.
 
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.
147
149
    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']
151
150
    pr.add_user_info()
152
151
 
153
152
    # Package and SourcePackage are needed so that apport will report about even
174
173
    pr['Package'] = 'bzr'
175
174
 
176
175
    # tell apport to file directly against the bzr package using 
177
 
    # <https://bugs.launchpad.net/bzr/+bug/391015>
 
176
    # <https://bugs.edge.launchpad.net/bzr/+bug/391015>
178
177
    #
179
178
    # XXX: unfortunately apport may crash later if the crashdb definition
180
179
    # file isn't present
255
254
 
256
255
 
257
256
def _format_plugin_list():
258
 
    return ''.join(plugin.describe_plugins(show_paths=True))
 
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)
259
262
 
260
263
 
261
264
def _format_module_list():