Bug 152154

Summary: Crash in libmergedlo.so when Object Catalog undocked and BASIC IDE closed
Product: LibreOffice Reporter: Stéphane Guillou (stragu) <stephane.guillou>
Component: BASICAssignee: Julien Nabet <serval2412>
Status: VERIFIED FIXED    
Severity: critical CC: tadanet3
Priority: medium Keywords: bibisectRequest, haveBacktrace, regression
Version: 7.0.6.2 release   
Hardware: All   
OS: All   
See Also: https://bugs.documentfoundation.org/show_bug.cgi?id=148945
https://bugs.documentfoundation.org/show_bug.cgi?id=99425
Whiteboard: target:7.5.0 target:7.4.4
Crash report or crash signature: https://crashreport.libreoffice.org/stats/crash_details/1db844db-5b81-44fd-abdb-530f637fb144 Regression By:
Bug Depends on:    
Bug Blocks: 124891, 133092    
Attachments: bt with debug symbols

Description Stéphane Guillou (stragu) 2022-11-21 11:34:26 UTC
Steps to reproduce:

1. Open a componet
2. Tools > Macros > Edit macros
3. Drag the Object Catalog panel to undock it
4. Close the BASIC IDE

Actual result:

Crash

More info:

Tried with both GTK3 and KF5 VCls so independent of that.
Stimilar steps to bug 148945 but different crash signature.

In:

Version: 7.0.6.2
Build ID: 144abb84a525d8e30c9dbbefa69cbbf2d8d4ae3b
CPU threads: 8; OS: Linux 5.15; UI render: default; VCL: gtk3
Locale: en-AU (en_AU.UTF-8); UI: en-US
Calc: threaded


But not in:

Version: 6.4.7.2
Build ID: 639b8ac485750d5696d7590a72ef1b496725cfb5
CPU threads: 8; OS: Linux 5.15; UI render: default; VCL: gtk3; 
Locale: en-AU (en_AU.UTF-8); UI-Language: en-US
Calc: threaded
Comment 1 Stéphane Guillou (stragu) 2022-11-21 11:36:58 UTC
Also looks like bug 99425 came back from the dead.
Comment 2 Julien Nabet 2022-11-21 12:51:21 UTC
Created attachment 183697 [details]
bt with debug symbols

On pc Debian x86-64 with master sources updated today, I could reproduce this.

A bandaid fix would be to test m_xTitle but perhaps there's a better way.
Comment 3 Caolán McNamara 2022-11-21 17:16:39 UTC
I think a check for m_xTitle existence is perfectly acceptable (isDisposed() is another option, but m_xTitle could be seen as more "direct" and obvious in this case). I won't steal your thunder if you want to submit that as fix.
Comment 4 Julien Nabet 2022-11-21 21:46:29 UTC
Thank you Caolán for the feedback!
Let's do the obvious thing then:
https://gerrit.libreoffice.org/c/core/+/143078
Comment 5 Commit Notification 2022-11-22 04:41:55 UTC
Julien Nabet committed a patch related to this issue.
It has been pushed to "master":

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

tdf#152154: Crash when Object Catalog undocked and BASIC IDE closed

It will be available in 7.5.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 2022-11-22 11:54:05 UTC
Julien Nabet committed a patch related to this issue.
It has been pushed to "libreoffice-7-4":

https://git.libreoffice.org/core/commit/48dca43eebd5c4bfe9386adc5a9a91f9d4c866c0

tdf#152154: Crash when Object Catalog undocked and BASIC IDE closed

It will be available in 7.4.4.

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 Stéphane Guillou (stragu) 2022-11-30 21:58:27 UTC
verified as fixed in:

Version: 7.5.0.0.alpha1+ (X86_64) / LibreOffice Community
Build ID: 01a3cc1e55034f7703219d4bbb209de7c37bf07b
CPU threads: 8; OS: Linux 5.15; UI render: default; VCL: gtk3
Locale: en-AU (en_AU.UTF-8); UI: en-US
Calc: threaded

Thank you Julien and Caolán! :)
Comment 8 Stéphane Guillou (stragu) 2022-11-30 22:03:41 UTC
*** Bug 148945 has been marked as a duplicate of this bug. ***