| Summary: | [Linux only] Crash when deleting or adding a slide after presenting with presenter console visible | ||
|---|---|---|---|
| Product: | LibreOffice | Reporter: | Stéphane Guillou (stragu) <stephane.guillou> |
| Component: | Impress | Assignee: | Armin Le Grand <Armin.Le.Grand> |
| Status: | VERIFIED FIXED | ||
| Severity: | critical | CC: | Armin.Le.Grand |
| Priority: | medium | Keywords: | bibisected, bisected, haveBacktrace, regression |
| Version: | 24.2.0.0 alpha1+ | ||
| Hardware: | x86-64 (AMD64) | ||
| OS: | Linux (All) | ||
| URL: | https://crashreport.libreoffice.org/stats/crash_details/16ccbaa2-87ee-47fb-9fd6-b91be50fa4a1 | ||
| Whiteboard: | target:24.8.0 target:24.2.0.3 | ||
| Crash report or crash signature: | ["<name omitted>"] | Regression By: | Armin Le Grand |
| Bug Depends on: | |||
| Bug Blocks: | 103610, 124438, 133092 | ||
| Attachments: | bt with debug symbols | ||
|
Description
Stéphane Guillou (stragu)
2023-12-12 14:09:47 UTC
Created attachment 191398 [details]
bt with debug symbols
On pc Debian x86-64 with master sources updated today, I could reproduce this.
(In reply to Julien Nabet from comment #1) > On pc Debian x86-64 with master sources updated today, I could reproduce > this. I could not repro this on Windows 11 with: Version: 24.8.0.0.alpha0+ (X86_64) / LibreOffice Community Build ID: 9382734da1838485bfe7d2ae912b8d61f24231e4 CPU threads: 16; OS: Windows 10.0 Build 22631; UI render: Skia/Raster; VCL: win Locale: en-US (en_US); UI: en-US Calc: threaded Taking a look... Could reproduce without problems, thanks for the description! I am surprised, but it looks like presentation::XPresentation at the SdXImpressDocument is *kept* after ending the Slideshow, so re-used. I did not know that (but what do I know about the office...). Interstingly, SlideshowImpl::deactivate() SlideshowImpl::activate() gets called at focus change when switching to the EditView. It gets disposed, though, checking what to do/call to react... Hmmm.. SlideshowImpl::disposing() already calls removeAsSlideShowListener(), so I have to check why still events come up with the slideshow down. Thus mxView which is rtl::Reference<sd::SlideShowView> gets disposed, but SlideshowImpl stays at it seems. sd::SlideShowView uses SlideshowImpl. CAUTION: There are TWO SlideShowImpl, one in slideshow/source/engine/slideshowimpl.cxx and one in sd/source/ui/slideshow/slideshowimpl.cxx... I could change the calls in SlideshowImpl (the one in sd/source/ui/slideshow/slideshowimpl.cxx) to
StartListening(*mpDoc);
EndListening(*mpDoc);
to get done when SlideSHow activates/deactivates, but that may miss possible call combinations. So I decided to just add
if (!isRunning())
// no SlideShow instance or not running, nothing to do
return;
to SlideshowImpl::Notify to ignore notifications when Slideshow is not running. Works and seems safe.
Solution on https://gerrit.libreoffice.org/c/core/+/161922 Armin Le Grand (allotropia) committed a patch related to this issue. It has been pushed to "master": https://git.libreoffice.org/core/commit/2184890a0eebc55aa24cbe61de5b8918d958c65f tdf#158664 Ignore Notifications when SlideShow is inactive It will be available in 24.8.0. The patch should be included in the daily builds available at https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: https://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback. Armin Le Grand (allotropia) committed a patch related to this issue. It has been pushed to "libreoffice-24-2": https://git.libreoffice.org/core/commit/f259a4636308fbdb8c5d8b9f430e3d53018f327b tdf#158664 Ignore Notifications when SlideShow is inactive It will be available in 24.2.1. The patch should be included in the daily builds available at https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: https://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback. Should be done. Fix verified in: Version: 24.8.0.0.alpha0+ (X86_64) / LibreOffice Community Build ID: 8b393bba91111bd4f8988457f3a78b0306462bf2 CPU threads: 8; OS: Linux 5.15; UI render: default; VCL: gtk3 Locale: en-AU (en_AU.UTF-8); UI: en-US Calc: threaded Thanks Armin! Armin Le Grand (allotropia) committed a patch related to this issue. It has been pushed to "libreoffice-24-2-0": https://git.libreoffice.org/core/commit/ef96ca7f3b839f591b6258d1b3565a2bd7d5ad79 tdf#158664 Ignore Notifications when SlideShow is inactive It will be available in 24.2.0. The patch should be included in the daily builds available at https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: https://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback. |