Red Hat Bugzilla – Bug 657394
[abrt] SwXTextDocument::getRenderer after closing right after launching print
Last modified: 2011-11-02 17:21:58 EDT
abrt version: 1.1.14
Attached file: backtrace
cmdline: /usr/lib64/openoffice.org3/program/swriter.bin -writer file:///home/paulius/Download/Daugyba.doc
reason: Process /usr/lib64/openoffice.org3/program/swriter.bin was killed by signal 6 (SIGABRT)
release: Fedora release 14 (Laughlin)
How to reproduce
1. Open some document with OO.o Writer
2. press Print
3. quickly close OO.o Writer
Created attachment 462951 [details]
Looks like the print doesn't block OOo from shutting down while its still pulling pages from writer. In theory should be relatively easy to reproduce this with a big document. In theory at least.
*** Bug 714181 has been marked as a duplicate of this bug. ***
*** Bug 661967 has been marked as a duplicate of this bug. ***
the SwXTextDocument printing implementation throws a
RuntimeException if the instance has been disposed.
nobody catches it, hence the crash.
Calc crashes in the same way, but strangely Impress does not.
have put in some exception handling logic that is ugly and makes it not crash.
but now i wonder:
should it be possible to close the document while it is being printed?
there is apparently some way to prevent closing with a CloseVetoException,
perhaps that could be used to keep the doc alive until it is printed.
so should the document be printed fully in this case or not?
have fixed the crash in Writer and Calc on upstream master:
Impress also crashes, but for a different reason:
its XRenderable implementation owns a view that has SfxItemSets,
but it does not own the document and when that dies its SfxItemPool is destroyed.
Created attachment 531454 [details]
close listener experiment
have experimented with attaching a CloseListener that throws
CloseVetoExceptions so that the document can be printed in full.
adding that is easy enough, however, it turns out that this
only works for Calc currently.
both Writer and Impress depend on having an SfxView and a
ViewShell for printing and all that stuff goes away when the doc
is closed in the UI, so they print a lot of empty pages
which isn't so useful.
this seems to be a rather obscure crash, and there is an easy work around of 'don't do that then' available, so currently i don't see a reason to backport the fix.
new upstream release with the fix will likely go into F17.
if some more crash reports/duplicates turn up then backport may be considered.