Bug 141887 - Crash on closing Writer via window decoration (X) with unmodified document and active IM
Summary: Crash on closing Writer via window decoration (X) with unmodified document an...
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
Version:
(earliest affected)
7.2.0.0.alpha0+
Hardware: All Linux (All)
: medium normal
Assignee: Not Assigned
URL:
Whiteboard: target:7.2.0 target:7.1.3
Keywords:
Depends on:
Blocks:
 
Reported: 2021-04-25 09:03 UTC by Jan-Marek Glogowski
Modified: 2021-04-27 09:07 UTC (History)
0 users

See Also:
Crash report or crash signature:


Attachments
Crash bt (7.32 KB, text/x-log)
2021-04-25 09:23 UTC, Jan-Marek Glogowski
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jan-Marek Glogowski 2021-04-25 09:03:49 UTC
Description:
Happens with kf5 and gtk3, but not gen. For whatever reason, gen doesn't trigger the following codepath / bt:

#0  SwEditWin::Command (this=0x555559f5cd10, rCEvt=...)
    at sw/source/uibase/docvw/edtwin.cxx:5360
#1  ImplCallCommand (pChild=..., nEvt=nEvt@entry=<incomplete type>, pData=pData@entry=0x7fffffff0400, bMouse=bMouse@entry=false, pPos=pPos@entry=0x0)
#2  ImplHandleExtTextInput (nCursorFlags=<optimized out>, nCursorPos=<optimized out>, pTextAttr=0x0, rText=..., pWindow=0x555556b992f0)
#3  ImplWindowFrameProc (_pWindow=0x555556b992f0, nEvent=<optimized out>, pEvent=<optimized out>)
#4  SalFrame::CallCallback (pEvent=0x7fffffff07e0, nEvent=SalEvent::ExtTextInput, this=<optimized out>) 
#5  GtkSalFrame::CallCallbackExc (this=<optimized out>, nEvent=nEvent@entry=SalEvent::ExtTextInput, pEvent=pEvent@entry=0x7fffffff07e0)
#6  GtkSalFrame::IMHandler::sendEmptyCommit (this=this@entry=0x55555c77f3c0)
#7  GtkSalFrame::IMHandler::endExtTextInput (this=0x55555c77f3c0) 
#8  vcl::Window::dispose (this=this@entry=0x555559f5cd10)
    at vcl/source/window/window.cxx:403
#9  SwEditWin::dispose (this=0x555559f5cd10)

At this point m_rView.GetWrtShellPtr() is already gone, but SwEditWin::Command relies on m_rView.GetWrtShell().

FWIW:
- Writer: with crash fix applied, just closes and no undo entry, so no crash on Ctrl+Z while in pre-selection.
- Calc: closes IM and takes the current pre-selection => modified doc, so get close modified dialog. Crash on undo.
- Impress: same as Calc.
- Draw: same as Impress, if you open a doc with a shape and start modifying its text.
- Math: just closes. Creates undo object and crashes on Ctrl+Z while in pre-selection.


Steps to Reproduce:
1. Start LO Writer
2. Activate some IM and type a character, to be in IM pre-selection
3. Close Writer via window decoration (X)

Actual Results:
crash

Expected Results:
no crash


Reproducible: Always


User Profile Reset: No



Additional Info:
Version: 7.2.0.0.alpha0+ / LibreOffice Community
Build ID: 30d7c5665ce71ce54dd3fab308bcd54d3290aeb0
CPU threads: 8; OS: Linux 4.19; UI render: default; VCL: kf5 (cairo+xcb)
Locale: de-DE (de_DE.UTF-8); UI: en-US
Calc: threaded
Comment 1 Jan-Marek Glogowski 2021-04-25 09:23:46 UTC
Created attachment 171397 [details]
Crash bt
Comment 2 Commit Notification 2021-04-26 17:24:47 UTC
Jan-Marek Glogowski committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/9a1c4a10b08ccb8d874a85a2cd984fd71f08c022

tdf#141887 SW don't crash on missing SwWrtShell

It will be available in 7.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.
Comment 3 Commit Notification 2021-04-27 07:28:32 UTC
Jan-Marek Glogowski committed a patch related to this issue.
It has been pushed to "libreoffice-7-1":

https://git.libreoffice.org/core/commit/0011c032afb96b2b3cfa63f88565e01c84d03512

tdf#141887 SW don't crash on missing SwWrtShell

It will be available in 7.1.4.

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.
Comment 4 Commit Notification 2021-04-27 08:11:40 UTC
Jan-Marek Glogowski committed a patch related to this issue.
It has been pushed to "libreoffice-7-1-3":

https://git.libreoffice.org/core/commit/5dd818ab9c0dc172ff274365754fbd98d576815a

tdf#141887 SW don't crash on missing SwWrtShell

It will be available in 7.1.3.

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.