Bug 138417 - Crash when customizing sidebar tab bar
Summary: Crash when customizing sidebar tab bar
Status: VERIFIED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: UI (show other bugs)
Version:
(earliest affected)
7.1.0.0.alpha1+
Hardware: All All
: medium normal
Assignee: Caolán McNamara
URL:
Whiteboard: target:7.2.0 target:7.1.0.0.beta2
Keywords: bibisected, bisected, regression
Depends on:
Blocks:
 
Reported: 2020-11-22 23:01 UTC by Jim Raykowski
Modified: 2020-12-02 00:23 UTC (History)
2 users (show)

See Also:
Crash report or crash signature:


Attachments
backtrace of crash (31.36 KB, text/plain)
2020-11-22 23:01 UTC, Jim Raykowski
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jim Raykowski 2020-11-22 23:01:54 UTC
Created attachment 167485 [details]
backtrace of crash

Steps to repro:

1) Open Writer
2) Menu > View > Sidebar
3) Sidebar Menu button > Customization
4) Select any deck other than the open deck

Results: crash

Version: 7.1.0.0.alpha1+
Build ID: 37fb6b5faa56c68c5d4dc61ee2eaafc828bf9939
CPU threads: 4; OS: Linux 5.4; UI render: default; VCL: x11
Locale: en-US (en_US.UTF-8); UI: en-US
Calc: threaded

Attached is a backtrace of the crash. In patch[1] to provide keyboard navigation using guidelines for keyboard navigation in the sidebar[2] maButtons.clear is used in FocusManager::ClearButtons() versus looping through the buttons and unregister the connected key press handler. This doesn't crash but I am unsure if it is a good fix or not.

[1] https://design.blog.documentfoundation.org/2017/02/16/guidelines-for-keyboard-navigation-in-the-sidebar/
[2] https://gerrit.libreoffice.org/c/core/+/106215
Comment 1 Xisco Faulí 2020-11-23 09:12:31 UTC
I can't reproduce it in

Version: 7.1.0.0.alpha1+
Build ID: 2f7b5634487ac3d27777ab12a57089e71ea5216d
CPU threads: 4; OS: Linux 5.7; UI render: default; VCL: x11
Locale: en-US (en_US.UTF-8); UI: en-US
Calc: threaded
Comment 2 Jim Raykowski 2020-11-24 05:35:53 UTC
@Xisco, Thanks for the repro try. I tried again and couldn't repro the crash after making a fresh master build and safe-mode reset to factory settings. Only after enabling 'Enable experimental features (may be unstable)' in Tools > Options > Advanced was I was able to repro the crash.
Comment 3 Jim Raykowski 2020-11-28 07:02:40 UTC
I am able to repro this without experimental features enabled using: 

Version: 7.2.0.0.alpha0+ (x64)
Build ID: 32fdb8eb3506bc8dcf013cc713fe8e5debceb940
CPU threads: 4; OS: Windows 10.0 Build 19041; UI render: Skia/Raster; VCL: win
Locale: en-US (en_US); UI: en-US
Calc: threaded

I had to choose three decks before crash occurred.
Comment 4 Xisco Faulí 2020-11-30 20:06:29 UTC
tried again and now I can reproduce it after selecting one deck

Version: 7.2.0.0.alpha0+
Build ID: 79ec66700266a22966d9e308a716be56c9c3a4a7
CPU threads: 4; OS: Linux 5.7; UI render: default; VCL: gtk3
Locale: en-US (en_US.UTF-8); UI: en-US
Calc: threaded
Comment 5 Xisco Faulí 2020-11-30 20:33:18 UTC
Regression introduced by:

https://cgit.freedesktop.org/libreoffice/core/commit/?id=75b9109a2da35cf0f0914504145d84cf918c6af2

author	Caolán McNamara <caolanm@redhat.com>	2020-11-12 20:48:50 +0000
committer	Caolán McNamara <caolanm@redhat.com>	2020-11-20 21:07:56 +0100
commit	75b9109a2da35cf0f0914504145d84cf918c6af2 (patch)
tree	ce444db75d6f2282e86d86c89c0cce66ab937c8d
parent	94ea1c89e959069aa7c735317470712012df2362 (diff)
weld TabBar

Bisected with: bibisect-linux64-7.1

Adding Cc: to Caolán McNamara
Comment 6 Commit Notification 2020-12-01 15:39:04 UTC
Caolán McNamara committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/f09d21b0428b8d1441a32e27baca945d2101600c

Resolves: tdf#138417 crash on customize sidebar

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 7 Commit Notification 2020-12-01 15:39:17 UTC
Caolán McNamara committed a patch related to this issue.
It has been pushed to "libreoffice-7-1":

https://git.libreoffice.org/core/commit/33ca9483169c6e1f9675893dcfbd62cdda36f1b4

Resolves: tdf#138417 crash on customize sidebar

It will be available in 7.1.0.0.beta2.

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 8 Jim Raykowski 2020-12-02 00:23:24 UTC
verified fixed in:

Version: 7.2.0.0.alpha0+
Build ID: 462c79c9e9c9163bd9b7ce48e19c9c2f5d49333c
CPU threads: 4; OS: Linux 5.4; UI render: default; VCL: x11
Locale: en-US (en_US.UTF-8); UI: en-US
Calc: threaded