more efficient handling of core dump in UI
Bug #98562 reported by
Martin Pitt
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
apport (Ubuntu) |
Fix Released
|
Low
|
Unassigned |
Bug Description
Binary package hint: apport
Do not load the uncompressed core into memory; just write it out to a temporary file straight from the compressed form in the dump file.
Changed in apport: | |
importance: | Undecided → Low |
status: | Unconfirmed → Confirmed |
description: | updated |
To post a comment you must log in.
apport (0.94) gutsy; urgency=low
* doc/data- format. tex: Some updates to incorporate feedback from Gnome packages( ): Fix crash when apt does not know an crashdb_ impl/launchpad. py, upload(): Pass upload progress callback storeblob. upload( ), which supports this since upload_ progress( ) with proc_info( ): Fix determination of /bin/zgrep
upstream:
- Do not talk about "Distributions" any more, but "Operating systems".
Gnome is used on non-Linux OSs, too.
- Split "DistroRelease:" field into "OS:" and "OSRelease:".
- Explicitly mention that CoreDump, StackTrace etc. can also contain
minidump output.
- Increase document version to 0.2.
* apport/report.py, obsolete_
available version of a package. (LP: #128176)
* test-apport: Add check that apport aborts immediately if another apport
instance is already running. Also test that a symlink attack on the lock
file is not possible.
* bin/apport: Abort running several apport instances at the same time, by
lockf()'ing /var/crashes/.lock and aborting on failure. (LP: #119622)
* Add bin/gcc_ice_hook: Script to create an apport report for a gcc ICE
(internal compiler exception). Add test cases to test-hooks, and ship it
in the 'apport' package. (LP: #125551)
* run-tests: In 'local' mode, only explicitly run the apt/dpkg
implementation instead of backends/*, since the RPM ones don't have tests
yet.
* apport/crashdb.py: Add a second optional parameter to upload() to specify
an upload progress callback function. Adapt the declarations in the
Launchpad and Memory implementations, too.
* apport/
handler to launchpadBugs.
version 0.2~39. Bump dependency to it accordingly.
* apport/ui.py, file_report(): Define an upload progress callback handler,
pass it to the crashdb upload(), and feed ui_set_
some actual data. (LP: #91521)
* problem_report.py: Remove support for reading bz2 compressed binary data.
That was only relevant during edgy's development cycle.
* apport/report.py, test_add_
interpreter.
* problem_report.py: Switch encoding of binary values from bare zlib to
proper gzip format, since this is much more useful when reusing the
compressed value. Retain support for zlib-only reports. Add test cases for
both old and new encodings, and adapt the other test cases for the new
format. Update doc/data-format.tex accordingly.
* problem_report.py, write(): Add new permitted 'binary' argument value
'compressed', which retains gzip compressed binary values instead of
unpacking them transparently. Add test cases.
* problem_report, write_mime(): Eliminate unnecessary usage of StringIO.
* problem_report, write_mime(): Make function work for compressed binary
values. Add test case.
* apport/report.py, add_gdb_info(): Make function work if CoreDump is a
compressed value.
* apport/ui.py: Load crash report with keeping compressed binaries. This
avoids loading the entire uncompressed core dump into memory, and avoids
recompressing it all over again for generating the crash database upload
MIME document. This greatly speeds up crash reporting, too. (LP: #98562)
-- ...