Summary: | Impress: print renderer owns a DrawView that references a destroyed DrawViewShell | ||
---|---|---|---|
Product: | LibreOffice | Reporter: | Yaron Sheffer <yaronf> |
Component: | Presentation | Assignee: | Thorsten Behrens <thb> |
Status: | RESOLVED FIXED | QA Contact: | |
Severity: | major | ||
Priority: | high | CC: | caolanm, maand |
Version: | unspecified | ||
Hardware: | x86 (IA32) | ||
OS: | Linux (All) | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: |
crash stack
one plausible fix Amended patch |
Description
Yaron Sheffer
2011-02-05 13:36:00 UTC
Hi Yaron, It would be helpful to attach your backtrace log when meeting a crash, please refer to: http://wiki.documentfoundation.org/BugReport#How_to_get_backtrace_.28on_Linux.29 Hi Thorsten, I raised up the importance of this bug because I can nearly ALWAYS reproduce it in 10 minutes' using of Impress. But I could not get a exact steps of reproducing. What all I did to make the issue appearing are mostly switching my behavior in these three areas in an newly created empty presentation: a. Switch to Normal tab, Add title in a slide, Add body text in a slide b. Switch to Notes tab, Add some Notes c. C-p to call out the printing dialog then cancel it The crash will happen unpredictably(so far..) in any of the area. I am attaching a backtrace when reproducing this. Created attachment 44467 [details]
crash stack
Well, referring to the bug: https://bugs.freedesktop.org/show_bug.cgi?id=35273 Find the always reproducible steps by chance: 1. Launch Impress and create an empty presentation 2. C-p to open the print dialog 3. Close the dialog by clicking 'Cancel' 4. Switch to Outline tab 5. entering a character, "1" for example => Libreoffice Crash Created attachment 44475 [details] [review] one plausible fix So, when you activate the print dialog we get a print renderer which wants a DrawView. The print renderer stays around for the life of the ViewShellBase. The DrawView takes the current DrawViewShell, but that's destroyed when flipping when flipping views. So, we either use a DrawView with a NULL DrawViewShell, or we take another reference to the current DrawViewShell and ensure it exists for the lifecycle of the DrawView. It doesn't *seem* to be the case that we actually need a DrawView with an attached DrawViewShell. Created attachment 44557 [details] [review] Amended patch Yeah, patch looks right for -3-3 surely, slightly amended to have the last unchecked use of that ptr covered. @caolan, if you could ack that, I'll shove it into -3-3 looks good +1 as an aside I can see from our own auto-crash reports that we (and OOo) appear to have a similar problem in writer somewhere *** Bug 35273 has been marked as a duplicate of this bug. *** Fixed then. So... this isn't in master, and it isn't in 3-4 Meh. Thought there was a ~regular merging going on ... yeah, pmladek said he'd sync up unmerged 3-3 changes to master and 3-4 today which should recover this |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.