Bug 156589 - CRASH: inserting page break
Summary: CRASH: inserting page break
Status: VERIFIED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
Version:
(earliest affected)
24.2.0.0 alpha0+
Hardware: All All
: medium normal
Assignee: Miklos Vajna
URL:
Whiteboard: target:24.2.0 target:7.6.1
Keywords: bibisected, bisected, haveBacktrace, regression
Depends on:
Blocks: Writer-Page-Break Crash DOCX-Floatingtable
  Show dependency treegraph
 
Reported: 2023-08-03 08:22 UTC by Xisco Faulí
Modified: 2024-04-30 13:04 UTC (History)
7 users (show)

See Also:
Crash report or crash signature:


Attachments
bt (7.38 KB, text/plain)
2023-08-03 16:09 UTC, Julien Nabet
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Xisco Faulí 2023-08-03 08:22:00 UTC
Steps to reproduce:
1. Open attachment 77564 [details] from bug 63241
2. Insert a page break

-> Crash

Reproduced with

Version: 24.2.0.0.alpha0+ (X86_64) / LibreOffice Community
Build ID: 90189fb8a8786cc683ff88f04eb3d764cc46e32a
CPU threads: 8; OS: Linux 5.10; UI render: default; VCL: gtk3
Locale: es-ES (es_ES.UTF-8); UI: en-US
Calc: threaded
Comment 1 Xisco Faulí 2023-08-03 08:22:43 UTC
Regression introduced by:

author	Miklos Vajna <vmiklos@collabora.com>	2023-07-19 08:29:01 +0200
committer	Miklos Vajna <vmiklos@collabora.com>	2023-07-19 12:17:50 +0200
commit 45574624ff05673d44f11cdbbbb49e1af599133e (patch)
tree 7b78d05023d8a448bdbab63d54ba4aaf50c0ebc7
parent a85cb997bc84a26196d8852bd0d546db1de3b761 (diff)
tdf#120262 sw floattable: no split when none of first row fits the vert space

Bisected with: bibisect-linux64-24.2

Adding Cc: to Miklos Vajna
Comment 2 Stéphane Guillou (stragu) 2023-08-03 10:01:35 UTC
Also gen VCL.

In console:

warn:sw.core:361532:361532:sw/source/core/layout/findfrm.cxx:1617: SwFrame::GetNextCellLeaf() without cell
warn:legacy.osl:361532:361532:sw/source/core/text/widorp.cxx:52: IsNastyFollow: What is going on here?
warn:sw.core:361532:361532:sw/source/core/layout/findfrm.cxx:1617: SwFrame::GetNextCellLeaf() without cell
warn:legacy.osl:361532:361532:sw/source/core/layout/frmtool.cxx:826: Where's my cell?
Comment 3 m_a_riosv 2023-08-03 11:16:43 UTC
Where to insert the page break?
Comment 4 Stéphane Guillou (stragu) 2023-08-03 13:29:49 UTC
(In reply to m.a.riosv from comment #3)
> Where to insert the page break?

Where the cursor already is, at the top of the first page.
Comment 5 Julien Nabet 2023-08-03 16:09:41 UTC
Created attachment 188749 [details]
bt

Here's a bt with master sources updated today.
I also included console logs if it can help.
Comment 6 m_a_riosv 2023-08-03 16:11:12 UTC
No issue here with
Version: 24.2.0.0.alpha0+ (X86_64) / LibreOffice Community
Build ID: 34387332173782498acd4998c7c665d04ebc3c7d
/CPU threads: 16; OS: Windows 10.0 Build 22621; UI render: default; VCL: win
/CPU threads: 16; OS: Windows 10.0 Build 22621; UI render: Skia/Vulkan; VCL: win /CPU threads: 16; OS: Windows 10.0 Build 22621; UI render: Skia/Raster; VCL: win
Locale: es-ES (es_ES); UI: en-US Calc: CL threaded
Maybe only Linux
Comment 7 Julien Nabet 2023-08-03 16:14:32 UTC
Just some traces in gdb:
(gdb) p pTab->getFrameArea()
$1 = SwRect = {point = Cannot access memory at address 0x8
(gdb) p pTab
$2 = (SwTabFrame *) 0x0
(gdb) p pLastTab
$3 = (SwFrame *) 0x0
Comment 8 Miklos Vajna 2023-08-04 06:21:38 UTC
The cause at a higher level is that Notify_Background() has a pCnt->IsInTab() check and still pCnt->FindTabFrame() returns nullptr, which should never happen. I'll take a look.
Comment 9 Commit Notification 2023-08-08 07:43:31 UTC
Miklos Vajna committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/0d571ff8079f858a5650bf6cbb38296d22cc58e1

tdf#156589 sw floattable: fix follow fly moving inside a table on the next page

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.
Comment 10 Commit Notification 2023-08-09 06:27:30 UTC
Miklos Vajna committed a patch related to this issue.
It has been pushed to "libreoffice-7-6":

https://git.libreoffice.org/core/commit/8638cca898467d4644bc122ef1cbe8cc1bd443b1

tdf#156589 sw floattable: fix follow fly moving inside a table on the next page

It will be available in 7.6.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.
Comment 11 Stéphane Guillou (stragu) 2024-04-30 13:04:49 UTC
Thanks Miklos, fix verified in:

Version: 24.8.0.0.alpha0+ (X86_64) / LibreOffice Community
Build ID: f4ef5435df5560e6b6b061ce4053c71e2819bf51
CPU threads: 8; OS: Linux 6.5; UI render: default; VCL: gtk3
Locale: en-AU (en_AU.UTF-8); UI: en-US
Calc: CL threaded