Bug 135739 - Assertion on Ctrl+Shift+Page down after Shift+Page down
Summary: Assertion on Ctrl+Shift+Page down after Shift+Page down
Status: RESOLVED WORKSFORME
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
Version:
(earliest affected)
7.1.0.0.alpha0+
Hardware: All All
: medium normal
Assignee: Not Assigned
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: Crash-Assert
  Show dependency treegraph
 
Reported: 2020-08-14 01:35 UTC by Jim Raykowski
Modified: 2024-05-19 17:09 UTC (History)
2 users (show)

See Also:
Crash report or crash signature:


Attachments
test file to repro assert fail (122.73 KB, application/vnd.oasis.opendocument.text)
2020-08-14 01:35 UTC, Jim Raykowski
Details
bt with debug symbols (7.63 KB, text/plain)
2020-08-14 10:01 UTC, Julien Nabet
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jim Raykowski 2020-08-14 01:35:59 UTC
Created attachment 164292 [details]
test file to repro assert fail

Steps to repro when using debugger:

1) Open attached file
2) Press Shift+Page down
3) Press Ctrl+Shift+Page down

Results:
core/sw/source/core/text/txtfrm.cxx:1254: TextFrameIndex SwTextFrame::MapModelToView(const SwTextNode*, sal_Int32) const: Assertion `static_cast<SwTextNode*>(const_cast<SwModify*>(SwFrame::GetDep())) == pNode' failed.
Comment 1 Julien Nabet 2020-08-14 10:01:39 UTC
Created attachment 164305 [details]
bt with debug symbols

On pc Debian x86-64 with master sources updated today, I could reproduce this.
Comment 2 Julien Nabet 2020-08-14 10:03:15 UTC
Michael: thought you might be interested in this one since the assert statement comes from:
https://cgit.freedesktop.org/libreoffice/core/commit/?id=c5abcfdf0c2e98c8f3445a92dd2d71eab23a7268
author	Michael Stahl <Michael.Stahl@cib.de>	2018-04-27 18:41:46 +0200
committer	Michael Stahl <Michael.Stahl@cib.de>	2018-06-08 21:51:20 +0200
commit c5abcfdf0c2e98c8f3445a92dd2d71eab23a7268 (patch)
tree 46fbfe78e2f39f363862241f5d063bc8efca970b
parent 38a88d7ff92f64470dee94afa75b5e3293841c4d (diff)
sw_redlinehide: add TextFrameIndex type & SwTextFrame mapping functions
By default, it's an alias for sal_Int32 for now, but if it's a
strong_int we can find all the code that needs changing.
Comment 3 QA Administrators 2022-08-15 03:44:29 UTC Comment hidden (obsolete)
Comment 4 Gabor Kelemen (allotropia) 2023-04-13 08:09:12 UTC
Checked in a debug build of:

Version: 7.6.0.0.alpha0+ (X86_64) / LibreOffice Community
Build ID: 98cf5157d69d9f1692be7f2cac958b1dfb387ca9
CPU threads: 8; OS: Linux 5.4; UI render: default; VCL: gtk3
Locale: hu-HU (hu_HU.UTF-8); UI: hu-HU
Calc: threaded

Still happens
Comment 5 Julien Nabet 2024-05-18 14:34:43 UTC
On pc Debian x86-64 with master sources updated today, I don't reproduce this anymore.

Could someone else give a new try?
Comment 6 Jim Raykowski 2024-05-19 02:10:15 UTC
(In reply to Julien Nabet from comment #5)
> On pc Debian x86-64 with master sources updated today, I don't reproduce
> this anymore.
> 
> Could someone else give a new try?
Hi Julien,

I also don't repro any longer with current master build. The accelerator bindings have changed since the report was made. Looking at the code history I think they were: 

.uno:PageDownSel for Shift+PgDn
.uno:JumpToNextTableSel for Ctrl+Shift+PgDn

Ctrl+Shift+PgDn is now assigned to .uno:ZoomMinus
Comment 7 QA Administrators 2024-05-19 03:16:23 UTC Comment hidden (obsolete)
Comment 8 Julien Nabet 2024-05-19 09:19:38 UTC
> ...
> I also don't repro any longer with current master build. The accelerator
> bindings have changed since the report was made. Looking at the code history
> I think they were: 
> 
> .uno:PageDownSel for Shift+PgDn
> .uno:JumpToNextTableSel for Ctrl+Shift+PgDn
> ...
Are you sure about uno:JumpToNextTableSel ? I mean, searching about this on code,  I only find:
officecfg/registry/data/org/openoffice/Office/UI/CalcCommands.xcu:830:      <node oor:name=".uno:JumpToNextTableSel" oor:op="replace">
sc/qa/uitest/calc_tests/calcSheetDelete.py:84:                self.xUITest.executeCommand(".uno:JumpToNextTableSel")  #select next sheet
sc/qa/uitest/calc_tests/calcSheetDelete.py:113:                self.xUITest.executeCommand(".uno:JumpToNextTableSel")  #select next sheet
sc/sdi/scalc.sdi:3402:SfxVoidItem JumpToNextTableSel SID_NEXT_TABLE_SEL
sc/uiconfig/scalc/menubar/menubar.xml:108:          <menu:menuitem menu:id=".uno:JumpToNextTableSel"/>

so rather a Calc command instead of a Writer or a generic command.

Anyway, if you don't reproduce this too, let's put this one to WFM.

If someone still reproduces this, don't hesitate to reopen this tracker.
Comment 9 Jim Raykowski 2024-05-19 16:50:26 UTC
(In reply to Julien Nabet from comment #8)
> Are you sure about uno:JumpToNextTableSel ?

I also found .uno:JumpToNextTableSel for Ctrl+Shift+PgDn to be odd because it is not available in the Writer shell.

Closer inspection shows it was .uno:JumpToFootnoteArea, removed by commit 139e0fb7132cb7b943ea50930a8a7ede72ea5e47

Placing .uno:PageDownSel and .uno:JumpToFootnoteArea buttons on a tool bar and executing them in the order given in the steps to repro I *do not* repro the assert.

Version: 24.8.0.0.alpha1+ (X86_64) / LibreOffice Community
Build ID: 60a7c560a80839248769a13d5a1dd7a353abf476
CPU threads: 4; OS: Linux 5.15; UI render: default; VCL: qt5 (cairo+xcb)
Locale: en-US (en_US.UTF-8); UI: en-US
Calc: threaded
Comment 10 Julien Nabet 2024-05-19 17:09:33 UTC
(In reply to Jim Raykowski from comment #9)
> (In reply to Julien Nabet from comment #8)
> > Are you sure about uno:JumpToNextTableSel ?
> 
> I also found .uno:JumpToNextTableSel for Ctrl+Shift+PgDn to be odd because
> it is not available in the Writer shell.
> 
> Closer inspection shows it was .uno:JumpToFootnoteArea, removed by commit
> 139e0fb7132cb7b943ea50930a8a7ede72ea5e47
> 
> Placing .uno:PageDownSel and .uno:JumpToFootnoteArea buttons on a tool bar
> and executing them in the order given in the steps to repro I *do not* repro
> the assert.
>...
Thank you for the investigation! At least we're sure it's ok now.