Bug 159666 - Crash when table and line object are selected at the same time
Summary: Crash when table and line object are selected at the same time
Status: VERIFIED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Draw (show other bugs)
Version:
(earliest affected)
7.3.0.0 alpha0+
Hardware: All All
: medium critical
Assignee: Not Assigned
URL:
Whiteboard: target:24.8.0 target:24.2.1.2 target:...
Keywords: bibisected, bisected, regression
Depends on:
Blocks: Selection Crash
  Show dependency treegraph
 
Reported: 2024-02-09 20:31 UTC by senduntome+bugzilla
Modified: 2024-02-28 15:53 UTC (History)
7 users (show)

See Also:
Crash report or crash signature: ["SdrEdgeObj::GetConnectedNode(bool)","SdrObject::getParentSdrObjListFromSdrObject() const"]


Attachments
An example document exhibiting the issue. (20.13 KB, application/vnd.oasis.opendocument.graphics)
2024-02-09 20:33 UTC, senduntome+bugzilla
Details

Note You need to log in before you can comment on or make changes to this bug.
Description senduntome+bugzilla 2024-02-09 20:31:42 UTC
Description:
In a draw document containing a small number of tables, rectangles, and connectors, the draw application will crash whenever a table and a line object are selected together.  

For example:
Selecting all items with ctrl+A crashes Draw.
Selecting a table and then a line with shift+click crashes Draw.
Clicking and dragging to select both items crashes Draw.

Steps to Reproduce:
1. Select a connector line and a table at the same time

Actual Results:
Crash to desktop

Expected Results:
The line and table are selected


Reproducible: Always


User Profile Reset: No

Additional Info:

This GDB supports auto-downloading debuginfo from the following URLs:
  <https://debuginfod.fedoraproject.org/>
Enable debuginfod for this session? (y or [n]) [answered N; input not from terminal]
Debuginfod has been disabled.
To make this setting permanent, add 'set debuginfod enabled off' to .gdbinit.
[New LWP 29722]
[New LWP 29723]
[New LWP 29724]
[New LWP 29775]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
0x00007f0a42999bed in poll () from /lib64/libc.so.6
[Current thread is 1 (Thread 0x7f0a39751100 (LWP 29721))]

Thread 5 (Thread 0x7f0a18a006c0 (LWP 29775) "soffice.bin"):
#0  0x00007f0a429a43ef in pselect () at /lib64/libc.so.6
#1  0x00007f0a29b01eac in usbmuxd_listen_inotify () at /lib64/libusbmuxd-2.0.so.6
#2  0x00007f0a29b02312 in device_monitor () at /lib64/libusbmuxd-2.0.so.6
#3  0x00007f0a42920897 in start_thread () at /lib64/libc.so.6
#4  0x00007f0a429a780c in clone3 () at /lib64/libc.so.6

Thread 4 (Thread 0x7f0a234006c0 (LWP 29724) "WaylandEventThr"):
#0  0x00007f0a42999bed in poll () at /lib64/libc.so.6
#1  0x00007f0a29c4c0bc in QtWaylandClient::EventThread::run() () at /lib64/libQt5WaylandClient.so.5
#2  0x00007f0a2baf5cad in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#3  0x00007f0a42920897 in start_thread () at /lib64/libc.so.6
#4  0x00007f0a429a780c in clone3 () at /lib64/libc.so.6

Thread 3 (Thread 0x7f0a23e006c0 (LWP 29723) "WaylandEventThr"):
#0  0x00007f0a4291d169 in __futex_abstimed_wait_common () at /lib64/libc.so.6
#1  0x00007f0a4291fb09 in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libc.so.6
#2  0x00007f0a2bafb967 in QWaitCondition::wait(QMutex*, QDeadlineTimer) () at /lib64/libQt5Core.so.5
#3  0x00007f0a29c4c069 in QtWaylandClient::EventThread::run() () at /lib64/libQt5WaylandClient.so.5
#4  0x00007f0a2baf5cad in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#5  0x00007f0a42920897 in start_thread () at /lib64/libc.so.6
#6  0x00007f0a429a780c in clone3 () at /lib64/libc.so.6

Thread 2 (Thread 0x7f0a298006c0 (LWP 29722) "QDBusConnection"):
#0  0x00007f0a42999bed in poll () at /lib64/libc.so.6
#1  0x00007f0a3b651eb4 in g_main_context_iterate_unlocked.isra () at /lib64/libglib-2.0.so.0
#2  0x00007f0a3b5f4ad3 in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#3  0x00007f0a2bd073d6 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#4  0x00007f0a2bcb383b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#5  0x00007f0a2baf48a0 in QThread::exec() () at /lib64/libQt5Core.so.5
#6  0x00007f0a29f62dab in QDBusConnectionManager::run() () at /lib64/libQt5DBus.so.5
#7  0x00007f0a2baf5cad in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#8  0x00007f0a42920897 in start_thread () at /lib64/libc.so.6
#9  0x00007f0a429a780c in clone3 () at /lib64/libc.so.6

Thread 1 (Thread 0x7f0a39751100 (LWP 29721) "soffice.bin"):
#0  0x00007f0a42999bed in poll () at /lib64/libc.so.6
#1  0x00007f0a2a841108 in KCrash::startProcess(int, char const**, bool) [clone .isra.0] () at /lib64/libKF5Crash.so.5
#2  0x00007f0a2a841d4f in KCrash::defaultCrashHandler(int) () at /lib64/libKF5Crash.so.5
#3  0x00007f0a42bc3fb5 in (anonymous namespace)::signalHandlerFunction(int, siginfo_t*, void*) () at /usr/lib64/libreoffice/program/libuno_sal.so.3
#4  0x00007f0a428d09a0 in <signal handler called> () at /lib64/libc.so.6
#5  0x00007f0a40526c24 in SdrObject::getParentSdrObjListFromSdrObject() const () at /usr/lib64/libreoffice/program/libsvxcorelo.so
#6  0x00007f0a40526c3d in SdrObject::getSdrPageFromSdrObject() const () at /usr/lib64/libreoffice/program/libsvxcorelo.so
#7  0x00007f0a4053d1aa in SdrEdgeObj::GetConnectedNode(bool) const () at /usr/lib64/libreoffice/program/libsvxcorelo.so
#8  0x00007f0a404ecdae in ImpEdgeHdl::CreateB2dIAObject() () at /usr/lib64/libreoffice/program/libsvxcorelo.so
#9  0x00007f0a405d8fe5 in sdr::table::SdrTableObj::AddToHdlList(SdrHdlList&) const () at /usr/lib64/libreoffice/program/libsvxcorelo.so
#10 0x00007f0a405100d1 in SdrMarkView::SetMarkHandles(SfxViewShell*) () at /usr/lib64/libreoffice/program/libsvxcorelo.so
#11 0x00007f0a40512749 in SdrMarkView::MarkObj(Point const&, short, bool, bool) () at /usr/lib64/libreoffice/program/libsvxcorelo.so
#12 0x00007f0a108380b0 in sd::FuSelection::MouseButtonDown(MouseEvent const&) () at /usr/lib64/libreoffice/program/../program/libsdlo.so
#13 0x00007f0a109f2ed6 in sd::ViewShell::MouseButtonDown(MouseEvent const&, sd::Window*) () at /usr/lib64/libreoffice/program/../program/libsdlo.so
#14 0x00007f0a1099ce4e in sd::DrawViewShell::MouseButtonDown(MouseEvent const&, sd::Window*) () at /usr/lib64/libreoffice/program/../program/libsdlo.so
#15 0x00007f0a3ec858e9 in ImplHandleMouseEvent(VclPtr<vcl::Window> const&, NotifyEventType, bool, long, long, unsigned long, unsigned short, MouseEventModifiers) () at /usr/lib64/libreoffice/program/libvcllo.so
#16 0x00007f0a3ec864dd in ImplHandleSalMouseButtonDown(vcl::Window*, SalMouseEvent const*) () at /usr/lib64/libreoffice/program/libvcllo.so
#17 0x00007f0a3ec8dd4b in ImplWindowFrameProc(vcl::Window*, SalEvent, void const*) () at /usr/lib64/libreoffice/program/libvcllo.so
#18 0x00007f0a2b9d7071 in QtWidget::handleMouseButtonEvent(QtFrame const&, QMouseEvent const*) () at /usr/lib64/libreoffice/program/libvclplug_qt5lo.so
#19 0x00007f0a2b9d716d in QtWidget::mousePressEvent(QMouseEvent*) () at /usr/lib64/libreoffice/program/libvclplug_qt5lo.so
#20 0x00007f0a2b3f36b8 in QWidget::event(QEvent*) () at /lib64/libQt5Widgets.so.5
#21 0x00007f0a2b3aeb95 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib64/libQt5Widgets.so.5
#22 0x00007f0a2b3b7476 in QApplication::notify(QObject*, QEvent*) () at /lib64/libQt5Widgets.so.5
#23 0x00007f0a2bcb4e78 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib64/libQt5Core.so.5
#24 0x00007f0a2b3b56c4 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) () at /lib64/libQt5Widgets.so.5
#25 0x00007f0a2b40d189 in QWidgetWindow::handleMouseEvent(QMouseEvent*) () at /lib64/libQt5Widgets.so.5
#26 0x00007f0a2b41070f in QWidgetWindow::event(QEvent*) () at /lib64/libQt5Widgets.so.5
#27 0x00007f0a2b3aeb95 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib64/libQt5Widgets.so.5
#28 0x00007f0a2bcb4e78 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib64/libQt5Core.so.5
#29 0x00007f0a2a36cbfb in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () at /lib64/libQt5Gui.so.5
#30 0x00007f0a2a34acfc in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Gui.so.5
#31 0x00007f0a29c88fa4 in userEventSourceDispatch(_GSource*, int (*)(void*), void*) () at /lib64/libQt5WaylandClient.so.5
#32 0x00007f0a3b5f6e5c in g_main_context_dispatch_unlocked.lto_priv () at /lib64/libglib-2.0.so.0
#33 0x00007f0a3b651f18 in g_main_context_iterate_unlocked.isra () at /lib64/libglib-2.0.so.0
#34 0x00007f0a3b5f4ad3 in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#35 0x00007f0a2bd073b9 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#36 0x00007f0a2b9c313b in QtInstance::ImplYield(bool, bool) () at /usr/lib64/libreoffice/program/libvclplug_qt5lo.so
#37 0x00007f0a2b9c322e in QtInstance::DoYield(bool, bool) () at /usr/lib64/libreoffice/program/libvclplug_qt5lo.so
#38 0x00007f0a3ef5c78c in ImplYield(bool, bool) () at /usr/lib64/libreoffice/program/libvcllo.so
#39 0x00007f0a3ef5c945 in Application::Execute() () at /usr/lib64/libreoffice/program/libvcllo.so
#40 0x00007f0a42ada75c in desktop::Desktop::Main() () at /usr/lib64/libreoffice/program/libsofficeapp.so
#41 0x00007f0a3ef6f22a in ImplSVMain() () at /usr/lib64/libreoffice/program/libvcllo.so
#42 0x00007f0a42af4348 in soffice_main () at /usr/lib64/libreoffice/program/libsofficeapp.so
#43 0x00005618fbe870c7 in main ()
[Inferior 1 (process 29721) detached]
Comment 1 senduntome+bugzilla 2024-02-09 20:33:09 UTC
Created attachment 192488 [details]
An example document exhibiting the issue.

To trigger the bug, open the file and press ctrl+A to select all.
Comment 2 m_a_riosv 2024-02-10 01:45:14 UTC
Reproducible:
Version: 7.4.7.2 (x64) / LibreOffice Community
Build ID: 723314e595e8007d3cf785c16538505a1c878ca5
CPU threads: 16; OS: Windows 10.0 Build 22631; UI render: Skia/Raster; VCL: win
Locale: es-ES (es_ES); UI: es-ES
Calc: CL
+
Version: 24.8.0.0.alpha0+ (X86_64) / LibreOffice Community
Build ID: 3d2134c0116bc563d366f8cf23aae51de1e53938
CPU threads: 16; OS: Windows 10.0 Build 22631; UI render: Skia/Vulkan; VCL: win
Locale: es-ES (es_ES); UI: en-US
Calc: CL threaded

Last version working for me:
Version: 7.2.7.2 (x64) / LibreOffice Community
Build ID: 8d71d29d553c0f7dcbfa38fbfda25ee34cce99a2
CPU threads: 16; OS: Windows 10.0 Build 22631; UI render: Skia/Raster; VCL: win
Locale: es-ES (es_ES); UI: es-ES
Calc: CL
Comment 3 Tex2002ans 2024-02-10 10:53:16 UTC
Yep, just got crash following comment 1 exactly:

- https://crashreport.libreoffice.org/stats/crash_details/c2cf2685-b815-477a-8f12-99182474606a

Version: 24.2.0.3 (X86_64) / LibreOffice Community
Build ID: da48488a73ddd66ea24cf16bbc4f7b9c08e9bea1
CPU threads: 8; OS: Windows 10.0 Build 22631; UI render: Skia/Raster; VCL: win
Locale: en-US (en_US); UI: en-US
Calc: CL threaded
Comment 4 raal 2024-02-11 16:09:59 UTC
This seems to have begun at the below commit in bibisect repository/OS linux-64-7.3.
Adding Cc: to Noel Grandin ; Could you possibly take a look at this one?
Thanks
 fc1692563252ad8d5661b54ddf547d0a14027804 is the first bad commit
commit fc1692563252ad8d5661b54ddf547d0a14027804
Author: Jenkins Build User <tdf@pollux.tdf>
Date:   Sat Jun 19 14:50:09 2021 +0200

    source e3077168072452fb8f1c0a8afb2992877cb96d1c

117365: loplugin:finalclasses | https://gerrit.libreoffice.org/c/core/+/117365
Comment 5 Commit Notification 2024-02-12 13:59:05 UTC
Noel Grandin committed a patch related to this issue.
It has been pushed to "master":

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

tdf#159666 Crash when table and line object are selected at the same time

It will be available in 24.8.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 6 Commit Notification 2024-02-12 16:21:35 UTC
Noel Grandin committed a patch related to this issue.
It has been pushed to "libreoffice-24-2":

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

tdf#159666 Crash when table and line object are selected at the same time

It will be available in 24.2.2.

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 2024-02-12 20:01:11 UTC
Xisco Fauli committed a patch related to this issue.
It has been pushed to "libreoffice-24-2":

https://git.libreoffice.org/core/commit/98af2dc233f6ac154afe4a8e53ff97062577c21c

tdf#159666: sd_uiimpress: Add unittest

It will be available in 24.2.2.

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 Commit Notification 2024-02-12 20:01:13 UTC
Xisco Fauli committed a patch related to this issue.
It has been pushed to "master":

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

tdf#159666: sd_uiimpress: Add unittest

It will be available in 24.8.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 9 Commit Notification 2024-02-12 21:28:23 UTC
Noel Grandin committed a patch related to this issue.
It has been pushed to "libreoffice-7-6":

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

tdf#159666 Crash when table and line object are selected at the same time

It will be available in 7.6.6.

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 2024-02-13 08:27:22 UTC
Xisco Fauli committed a patch related to this issue.
It has been pushed to "libreoffice-7-6":

https://git.libreoffice.org/core/commit/6fc352a40977d8e2325fbf6c55b41cc1a52a732c

tdf#159666: sd_uiimpress: Add unittest

It will be available in 7.6.6.

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 Commit Notification 2024-02-15 20:40:42 UTC
Noel Grandin committed a patch related to this issue.
It has been pushed to "libreoffice-7-6-5":

https://git.libreoffice.org/core/commit/8e60f14eddf768db6ae0880ea6a8e6c834842582

tdf#159666 Crash when table and line object are selected at the same time

It will be available in 7.6.5.

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 12 Commit Notification 2024-02-22 20:22:49 UTC
Noel Grandin committed a patch related to this issue.
It has been pushed to "libreoffice-24-2-1":

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

tdf#159666 Crash when table and line object are selected at the same time

It will be available in 24.2.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 13 Stéphane Guillou (stragu) 2024-02-27 08:20:45 UTC
Thanks everyone, verified in:

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

Back in 7.3, I got the signature "SdrObject::getParentSdrObjListFromSdrObject() const": https://crashreport.libreoffice.org/stats/crash_details/37b29a9a-22b4-456d-9322-dedfe425b0de