Bug 126661 - Organize basic macro: crash with gtk3 backend when opened from start center
Summary: Organize basic macro: crash with gtk3 backend when opened from start center
Status: VERIFIED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: BASIC (show other bugs)
Version:
(earliest affected)
6.4.0.0.alpha0+ Master
Hardware: All All
: medium normal
Assignee: Caolán McNamara
URL:
Whiteboard: target:6.4.0
Keywords: bibisected, bisected, regression
Depends on:
Blocks:
 
Reported: 2019-08-01 13:48 UTC by Miklos Vajna
Modified: 2019-08-02 09:16 UTC (History)
3 users (show)

See Also:
Crash report or crash signature:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Miklos Vajna 2019-08-01 13:48:40 UTC
Steps to reproduce:

1) Open the start center

2) Press alt-f11 to open the basic macro organizer

Expected results: window shows up

Actual results: crash

Linux dbgutil builds fail with this assertion:

/usr/bin/../lib64/gcc/x86_64-suse-linux/7/../../../../include/c++/7/debug/vector:447:
Error: attempt to access an element in an empty container.

Objects involved in the operation:
    sequence "this" @ 0x0x1df5a80 {
      type = std::__debug::vector<int, std::allocator<int> >;
    }

Thread 1 "soffice.bin" received signal SIGABRT, Aborted.
0x00007ffff7822160 in raise () from /lib64/libc.so.6
(gdb) up
#1  0x00007ffff7823741 in abort () from /lib64/libc.so.6
(gdb) 
#2  0x00007ffff70ebcbd in ?? () from /usr/lib64/libstdc++.so.6
(gdb) 
#3  0x00007fffdfac7ebe in std::__debug::vector<int, std::allocator<int> >::back (this=0x1df5a80) at /usr/bin/../lib64/gcc/x86_64-suse-linux/7/../../../../include/c++/7/debug/vector:447
447             __glibcxx_check_nonempty();
(gdb) 
#4  0x00007fffdfae4f3a in GtkInstanceTreeView::thaw (this=0x1df5830) at /home/vmiklos/git/libreoffice/master-clang/vcl/unx/gtk3/gtk3gtkinst.cxx:7985
7985                gtk_tree_sortable_set_sort_column_id(pSortable, m_aSavedSortColumns.back(), m_aSavedSortTypes.back());

The "gen" backend is not affected.

git bisect says this is a regression from:

commit 1dd8cde5cd2e692a442b6885c59634fba3737284
Author: Andreas Heinisch <andreas.heinisch@yahoo.de>
Date:   Wed Jul 31 12:48:33 2019 +0200

    tdf#70813 Sorted list of macros in macro dialog
    
    Change-Id: Ibb488b2252a2eea001f1f00aacc4060e365e0df0
    Reviewed-on: https://gerrit.libreoffice.org/76739
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>

Andreas, Caolan: any idea if the commit is the problem here or the gtk3 impl? Thanks.
Comment 1 Xisco Faulí 2019-08-01 14:06:32 UTC
Regression introduced by:

author	Andreas Heinisch <andreas.heinisch@yahoo.de>	2019-07-31 12:48:33 +0200
committer	Noel Grandin <noel.grandin@collabora.co.uk>	2019-07-31 15:18:04 +0200
commit	1dd8cde5cd2e692a442b6885c59634fba3737284 (patch)
tree	abd6cf5a5b8baae6be9b05b22b69d1d13be553b7
parent	496f32ea2ba3600f739cf8e56e5fae65ce4927cb (diff)
tdf#70813 Sorted list of macros in macro dialog

Bisected with: bibisect-linux64-6.4

Adding Cc: to Andreas Heinisch
Comment 2 Commit Notification 2019-08-01 20:18:00 UTC
Caolán McNamara committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/+/68bab1db3b0eaedd315ce7cea32a614f47607b9b%5E%21

Resolves: tdf#126661 unexpected sort between freeze+thaw

It will be available in 6.4.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 Miklos Vajna 2019-08-02 07:02:55 UTC
Thanks :-)
Comment 4 Xisco Faulí 2019-08-02 09:16:52 UTC
Verified in

Version: 6.4.0.0.alpha0+
Build ID: 620fff54ca9cd04459cc5d963ef94d4438129fe4
CPU threads: 4; OS: Linux 4.15; UI render: default; VCL: gtk3; 
Locale: ca-ES (ca_ES.UTF-8); UI-Language: en-US
Calc: threaded

@Caolán, thanks for fixing this issue!!