~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/crash.py

  • Committer: Canonical.com Patch Queue Manager
  • Date: 2010-04-08 06:17:41 UTC
  • mfrom: (4797.33.16 apport)
  • Revision ID: pqm@pqm.ubuntu.com-20100408061741-m7vl6z97vu33riv7
(robertc) Make sure ExecutablePath and InterpreterPath are set in
        Apport. (Martin Pool, James Westby, lp:528114)

Show diffs side-by-side

added added

removed removed

Lines of Context:
143
143
    exc_type, exc_object, exc_tb = exc_info
144
144
 
145
145
    pr = Report()
146
 
    # add_proc_info gets the executable and interpreter path, which is needed,
147
 
    # plus some less useful stuff like the memory map
 
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.
148
149
    pr.add_proc_info()
149
150
    pr.add_user_info()
150
151
 
165
166
    pr['PythonLoadedModules'] = _format_module_list()
166
167
    pr['BzrDebugFlags'] = pprint.pformat(debug.debug_flags)
167
168
 
 
169
    # actually we'd rather file directly against the upstream product, but
 
170
    # apport does seem to count on there being one in there; we might need to
 
171
    # redirect it elsewhere anyhow
 
172
    pr['SourcePackage'] = 'bzr'
 
173
    pr['Package'] = 'bzr'
 
174
 
 
175
    # tell apport to file directly against the bzr package using 
 
176
    # <https://bugs.edge.launchpad.net/bzr/+bug/391015>
 
177
    #
 
178
    # XXX: unfortunately apport may crash later if the crashdb definition
 
179
    # file isn't present
 
180
    pr['CrashDb'] = 'bzr'
 
181
 
168
182
    tb_file = StringIO()
169
183
    traceback.print_exception(exc_type, exc_object, exc_tb, file=tb_file)
170
184
    pr['Traceback'] = tb_file.getvalue()