Bug 124628 - Push Button Event "Approve Action" freezes LibO
Summary: Push Button Event "Approve Action" freezes LibO
Status: VERIFIED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: LibreOffice (show other bugs)
Version:
(earliest affected)
6.0.0.0.beta1
Hardware: x86-64 (AMD64) Windows (All)
: high major
Assignee: Not Assigned
URL:
Whiteboard:
Keywords: bibisected, bisected, regression
Depends on:
Blocks:
 
Reported: 2019-04-09 18:51 UTC by Juergen Klatt
Modified: 2021-01-21 19:50 UTC (History)
7 users (show)

See Also:
Crash report or crash signature:


Attachments
Writer Document with 4 Push Buttons (14.47 KB, application/vnd.oasis.opendocument.text)
2019-04-09 18:51 UTC, Juergen Klatt
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Juergen Klatt 2019-04-09 18:51:44 UTC
Created attachment 150628 [details]
Writer Document with 4 Push Buttons

Hello,
we had a discussion on a program from me.
The discussion took place in the German Mailliglist:
http://document-foundation-mail-archive.969070.n3.nabble.com/Versionsabhangiges-Einfrieren-von-LibreOffice-nach-Makrodurchlauf-tp4259306.html
First, it turned out that my code was not programmed correctly. After I had this improved, it turned out that there was a problem with the file / Folderpicker.
Bug 1a)
https://bugs.documentfoundation.org/show_bug.cgi?id=123502
Bug 1b)
https://bugs.documentfoundation.org/show_bug.cgi?id=124579
This problem is now fixed thanks to Mike Kaganski in Libo versions 6.3.0.0 (master of 08.04.2019) and 6.2.4. Nevertheless, Libo crashed, or froze under certain conditions.
In the search for the problem, I found the following.
In the sample document there are four push buttons which react to two different events and start a macro:
a) Push button "Approve action" calls up a dialog window via the routine "xStart"
b) Push Button "Mouse Button released" starts a file operation via the routine "xCalc"
c) Push button "Approve action" opens a dialog window via the routine "xStart"
d) Push Button "Mouse Button released" starts a file operation via the routine "xStart"
If I use a) Libo freezes as soon as the message box appears after the program has expired.
If I use b) everything works fine.
If I use c) everything works fine.
If I use d) everything works fine.
So I'm assuming the event "Approve action" has a problem with calling the Routine „xStart“ which shows the Dialog1.
Itinerary:
Event "Approve action" → Dialog window → File operation → Messagebox.
The moment the final messagebox is displayed, Libo freezes.
This was tested with these operating systems and with different Libo-Versions:
Windows 7 Home Premium (x64)
Windows 10 Pro (x64) 1809
In some cases, a) works, provided you switch off the computer and start again.
Then a) but at the latest on the second call of the program of a) Libo freezes.
Whether this is a new bug or is related to the file / Folderpicker problem, please check.
From my point of view, the problem may also be related to the operating system used, especially since I had no problems with my original code in a Windows 10 Pro 1803 and an earlier Libo version. I think it was Libo 6.0.4.2 or earlier.
If I use a) and call only a messagebox, then the program runs perfectly.
If you use a) and instead of "StarDesktop.loadComponentFromURL (sURL," _blank ", 0,", uses the File / Folder Picker, Libo freezes too.
Whether this problem synonymous with other operating systems occurs I can not say, because in our tests only Win 7 and 10 were used.
Note:
The „Image Button“ also has the event "Approve action" and has the same problem. I have not tested any other events.
We tested with these LibO-Versions, with the same result:
1)
LO 6.2.2.2 (x64) @ Windows 7 Home Premium 64-bit)
2)
Version: 6.0.7.3 (x64)
LibreOffice 6.1.3.2 / 6.1.4.2 / 6.1.5.2 / 6.2.3.1 /
 @ Windows 10
3)
Version: 6.2.1.2 (x64)
Build-ID: 7bcb35dc3024a62dea0caee87020152d1ee96e71
CPU-Threads: 4; BS: Windows 10.0; UI-Render: Standard; VCL: win; 
Gebietsschema: de-DE (de_DE); UI-Sprache: de-DE
Calc: CL
@Windows 10 Pro (x64) 1809
4)
Version: 6.3.0.0.alpha0+ (x64)
Build ID: f512f8818aec08a5b463c8acdf781e7ab27036f5
CPU threads: 4; OS: Windows 10.0; UI render: GL; VCL: win; 
TinderBox: Win-x86_64@42, Branch:master, Time: 2019-04-09_03:11:29
Locale: de-DE (de_DE); UI-Language: en-US
Calc: CL
@Windows 10 Pro (x64) 1809
Comment 1 Oliver Brinzing 2019-04-11 17:31:08 UTC
reproducible with:

Version: 6.1.5.2 (x64)
Build ID: 90f8dcf33c87b3705e78202e3df5142b201bd805
CPU threads: 4; OS: Windows 10.0; UI render: default; 
Locale: de-DE (de_DE); Calc: 

steps to reproduce:
- open attached spreadsheet
- click button [Crash: When calling...]
- click [CommandButton1] from dialog

a new spreadsheet will be open:

> StarDesktop.loadComponentFromURL("private:factory/scalc", "_blank",0,PV())

a msgbox will appear:
> MsgBox("Last line of ""Sub xCalc"" ...")

and lo freezes (cpu goes up)
Comment 2 Hans-Werner 2019-04-11 17:46:48 UTC
Reproducible with "Windows 7 Home Premium 64-bit":

Version: 6.2.2.2 (x64)
Build-ID: 2b840030fec2aae0fd2658d8d4f9548af4e3518d
CPU-Threads: 4; BS: Windows 6.1; UI-Render: GL; VCL: win; 
Gebietsschema: de-DE (de_DE); UI-Sprache: de-DE
Calc: threaded

Steps to reproduce as described with "Comment 1" ...
Comment 3 Oliver Brinzing 2019-04-11 17:50:27 UTC
debugger output from LO 6.3 master:

Ausnahme ausgelöst bei 0x00007FF816C99129 in soffice.bin: Microsoft C++-Ausnahme: com::sun::star::frame::UnknownModuleException bei Speicherort 0x00000013C65861D8.
Ausnahme ausgelöst bei 0x00007FF816C99129 in soffice.bin: Microsoft C++-Ausnahme: com::sun::star::frame::UnknownModuleException bei Speicherort 0x00000013C65861D8.
Ausnahme ausgelöst bei 0x00007FF816C99129 in soffice.bin: Microsoft C++-Ausnahme: com::sun::star::frame::UnknownModuleException bei Speicherort 0x00000013C6586638.
Ausnahme ausgelöst bei 0x00007FF816C99129 in soffice.bin: Microsoft C++-Ausnahme: com::sun::star::frame::UnknownModuleException bei Speicherort 0x00000013C6586868.
"soffice.bin" (Win32): "D:\sources\libo-core\instdir\program\sclo.dll" geladen. Symbole wurden geladen.
"soffice.bin" (Win32): "D:\sources\libo-core\instdir\program\foruilo.dll" geladen. Symbole wurden geladen.
"soffice.bin" (Win32): "D:\sources\libo-core\instdir\program\forlo.dll" geladen. Symbole wurden geladen.
Ausnahme ausgelöst bei 0x00007FF816C99129 in soffice.bin: Microsoft C++-Ausnahme: com::sun::star::ucb::InteractiveAugmentedIOException bei Speicherort 0x00000013C6585C80.
"soffice.bin" (Win32): "D:\sources\libo-core\instdir\program\scfiltlo.dll" geladen. Symbole wurden geladen.
"soffice.bin" (Win32): "D:\sources\libo-core\instdir\program\ooxlo.dll" geladen. Symbole wurden geladen.
Ausnahme ausgelöst bei 0x00007FF816C99129 in soffice.bin: Microsoft C++-Ausnahme: com::sun::star::ucb::ContentCreationException bei Speicherort 0x00000013C6584EA8.
Ausnahme ausgelöst bei 0x00007FF816C99129 in soffice.bin: Microsoft C++-Ausnahme: com::sun::star::ucb::ContentCreationException bei Speicherort 0x00000013C6585FD8.
Ausnahme ausgelöst bei 0x00007FF816C99129 in soffice.bin: Microsoft C++-Ausnahme: com::sun::star::frame::UnknownModuleException bei Speicherort 0x00000013C6586648.
Ausnahme ausgelöst bei 0x00007FF816C99129 in soffice.bin: Microsoft C++-Ausnahme: com::sun::star::io::IOException bei Speicherort 0x00000013C6584D20.
Ausnahme ausgelöst bei 0x00007FF816C99129 in soffice.bin: Microsoft C++-Ausnahme: [rethrow] bei Speicherort 0x0000000000000000.
Ausnahme ausgelöst bei 0x00007FF816C99129 in soffice.bin: Microsoft C++-Ausnahme: com::sun::star::io::IOException bei Speicherort 0x00000013C6584D20.
Ausnahme ausgelöst bei 0x00007FF816C99129 in soffice.bin: Microsoft C++-Ausnahme: com::sun::star::ucb::InteractiveAugmentedIOException bei Speicherort 0x00000013C6583920.
Ausnahme ausgelöst bei 0x00007FF816C99129 in soffice.bin: Microsoft C++-Ausnahme: com::sun::star::ucb::InteractiveAugmentedIOException bei Speicherort 0x00000013C6583920.
Ausnahme ausgelöst bei 0x00007FF816C99129 in soffice.bin: Microsoft C++-Ausnahme: com::sun::star::ucb::ContentCreationException bei Speicherort 0x00000013C6586828.
Ausnahme ausgelöst bei 0x00007FF816C99129 in soffice.bin: Microsoft C++-Ausnahme: com::sun::star::ucb::InteractiveAugmentedIOException bei Speicherort 0x00000013C6584510.
Ausnahme ausgelöst bei 0x00007FF816C99129 in soffice.bin: Microsoft C++-Ausnahme: [rethrow] bei Speicherort 0x0000000000000000.
Ausnahme ausgelöst bei 0x00007FF816C99129 in soffice.bin: Microsoft C++-Ausnahme: com::sun::star::ucb::InteractiveAugmentedIOException bei Speicherort 0x00000013C6584510.
Ausnahme ausgelöst bei 0x00007FF816C99129 in soffice.bin: Microsoft C++-Ausnahme: [rethrow] bei Speicherort 0x0000000000000000.
Ausnahme ausgelöst bei 0x00007FF816C99129 in soffice.bin: Microsoft C++-Ausnahme: com::sun::star::ucb::InteractiveAugmentedIOException bei Speicherort 0x00000013C6584510.
Ausnahme ausgelöst bei 0x00007FF816C99129 in soffice.bin: Microsoft C++-Ausnahme: [rethrow] bei Speicherort 0x0000000000000000.
Ausnahme ausgelöst bei 0x00007FF816C99129 in soffice.bin: Microsoft C++-Ausnahme: com::sun::star::ucb::InteractiveAugmentedIOException bei Speicherort 0x00000013C6584510.
Ausnahme ausgelöst bei 0x00007FF816C99129 in soffice.bin: Microsoft C++-Ausnahme: [rethrow] bei Speicherort 0x0000000000000000.
Ausnahme ausgelöst bei 0x00007FF816C99129 in soffice.bin: Microsoft C++-Ausnahme: com::sun::star::ucb::InteractiveAugmentedIOException bei Speicherort 0x00000013C6584510.
Ausnahme ausgelöst bei 0x00007FF816C99129 in soffice.bin: Microsoft C++-Ausnahme: [rethrow] bei Speicherort 0x0000000000000000.
Ausnahme ausgelöst bei 0x00007FF816C99129 in soffice.bin: Microsoft C++-Ausnahme: com::sun::star::ucb::InteractiveAugmentedIOException bei Speicherort 0x00000013C6584510.
Ausnahme ausgelöst bei 0x00007FF816C99129 in soffice.bin: Microsoft C++-Ausnahme: [rethrow] bei Speicherort 0x0000000000000000.
Ausnahme ausgelöst bei 0x00007FF816C99129 in soffice.bin: Microsoft C++-Ausnahme: com::sun::star::io::IOException bei Speicherort 0x00000013C6586170.
Ausnahme ausgelöst bei 0x00007FF816C99129 in soffice.bin: Microsoft C++-Ausnahme: [rethrow] bei Speicherort 0x0000000000000000.
Ausnahme ausgelöst bei 0x00007FF816C99129 in soffice.bin: Microsoft C++-Ausnahme: com::sun::star::io::IOException bei Speicherort 0x00000013C6586170.
Ausnahme ausgelöst bei 0x00007FF816C99129 in soffice.bin: Microsoft C++-Ausnahme: com::sun::star::ucb::ContentCreationException bei Speicherort 0x00000013C6585D88.
Ausnahme ausgelöst bei 0x00007FF816C99129 in soffice.bin: Microsoft C++-Ausnahme: com::sun::star::ucb::ContentCreationException bei Speicherort 0x00000013C6585968.
warn:sfx.control:3268:4488:sfx2/source/control/dispatch.cxx:1310: Childwindow slot missing: 25917
Ausnahme ausgelöst bei 0x00007FF816C99129 in soffice.bin: Microsoft C++-Ausnahme: com::sun::star::io::IOException bei Speicherort 0x00000013C6584480.
Ausnahme ausgelöst bei 0x00007FF816C99129 in soffice.bin: Microsoft C++-Ausnahme: [rethrow] bei Speicherort 0x0000000000000000.
Ausnahme ausgelöst bei 0x00007FF816C99129 in soffice.bin: Microsoft C++-Ausnahme: com::sun::star::io::IOException bei Speicherort 0x00000013C6584480.
Ausnahme ausgelöst bei 0x00007FF816C99129 in soffice.bin: Microsoft C++-Ausnahme: com::sun::star::io::IOException bei Speicherort 0x00000013C6584A90.
Ausnahme ausgelöst bei 0x00007FF816C99129 in soffice.bin: Microsoft C++-Ausnahme: [rethrow] bei Speicherort 0x0000000000000000.
Ausnahme ausgelöst bei 0x00007FF816C99129 in soffice.bin: Microsoft C++-Ausnahme: com::sun::star::io::IOException bei Speicherort 0x00000013C6584A90.
Ausnahme ausgelöst bei 0x00007FF816C99129 in soffice.bin: Microsoft C++-Ausnahme: com::sun::star::ucb::InteractiveAugmentedIOException bei Speicherort 0x00000013C65836C0.
Ausnahme ausgelöst bei 0x00007FF816C99129 in soffice.bin: Microsoft C++-Ausnahme: [rethrow] bei Speicherort 0x0000000000000000.
Ausnahme ausgelöst bei 0x00007FF816C99129 in soffice.bin: Microsoft C++-Ausnahme: com::sun::star::ucb::InteractiveAugmentedIOException bei Speicherort 0x00000013C65836C0.
Ausnahme ausgelöst bei 0x00007FF816C99129 in soffice.bin: Microsoft C++-Ausnahme: [rethrow] bei Speicherort 0x0000000000000000.
Ausnahme ausgelöst bei 0x00007FF816C99129 in soffice.bin: Microsoft C++-Ausnahme: com::sun::star::io::IOException bei Speicherort 0x00000013C6585578.
Ausnahme ausgelöst bei 0x00007FF816C99129 in soffice.bin: Microsoft C++-Ausnahme: [rethrow] bei Speicherort 0x0000000000000000.
Ausnahme ausgelöst bei 0x00007FF816C99129 in soffice.bin: Microsoft C++-Ausnahme: com::sun::star::io::IOException bei Speicherort 0x00000013C6585578.
Ausnahme ausgelöst bei 0x00007FF816C99129 in soffice.bin: Microsoft C++-Ausnahme: com::sun::star::io::IOException bei Speicherort 0x00000013C6583450.
Ausnahme ausgelöst bei 0x00007FF816C99129 in soffice.bin: Microsoft C++-Ausnahme: [rethrow] bei Speicherort 0x0000000000000000.
Ausnahme ausgelöst bei 0x00007FF816C99129 in soffice.bin: Microsoft C++-Ausnahme: com::sun::star::io::IOException bei Speicherort 0x00000013C6583450.
Ausnahme ausgelöst bei 0x00007FF816C99129 in soffice.bin: Microsoft C++-Ausnahme: com::sun::star::ucb::InteractiveAugmentedIOException bei Speicherort 0x00000013C6582080.
Ausnahme ausgelöst bei 0x00007FF816C99129 in soffice.bin: Microsoft C++-Ausnahme: [rethrow] bei Speicherort 0x0000000000000000.
Ausnahme ausgelöst bei 0x00007FF816C99129 in soffice.bin: Microsoft C++-Ausnahme: com::sun::star::ucb::InteractiveAugmentedIOException bei Speicherort 0x00000013C6582080.
Ausnahme ausgelöst bei 0x00007FF816C99129 in soffice.bin: Microsoft C++-Ausnahme: [rethrow] bei Speicherort 0x0000000000000000.
Ausnahme ausgelöst bei 0x00007FF816C99129 in soffice.bin: Microsoft C++-Ausnahme: com::sun::star::io::IOException bei Speicherort 0x00000013C6583F38.
Ausnahme ausgelöst bei 0x00007FF816C99129 in soffice.bin: Microsoft C++-Ausnahme: [rethrow] bei Speicherort 0x0000000000000000.
Ausnahme ausgelöst bei 0x00007FF816C99129 in soffice.bin: Microsoft C++-Ausnahme: com::sun::star::io::IOException bei Speicherort 0x00000013C6583F38.
warn:sfx.control:3268:4488:sfx2/source/control/dispatch.cxx:1310: Childwindow slot missing: 25917
Ausnahme ausgelöst bei 0x00007FF816C99129 in soffice.bin: Microsoft C++-Ausnahme: com::sun::star::uno::RuntimeException bei Speicherort 0x00000013C6586CC0.
Ausnahme ausgelöst bei 0x00007FF816C99129 in soffice.bin: Microsoft C++-Ausnahme: com::sun::star::uno::RuntimeException bei Speicherort 0x00000013C6586A50.
Ausnahme ausgelöst bei 0x00007FF816C99129 in soffice.bin: Microsoft C++-Ausnahme: com::sun::star::uno::RuntimeException bei Speicherort 0x00000013C6586910.
Ausnahme ausgelöst bei 0x00007FF816C99129 in soffice.bin: Microsoft C++-Ausnahme: com::sun::star::ucb::ContentCreationException bei Speicherort 0x00000013C6587458.
Ausnahme ausgelöst bei 0x00007FF816C99129 in soffice.bin: Microsoft C++-Ausnahme: com::sun::star::lang::IllegalArgumentException bei Speicherort 0x00000013C65891B8.
Ausnahme ausgelöst bei 0x00007FF816C99129 (KernelBase.dll) in soffice.bin: 0x8001010D: Ein ausgehender Aufruf kann nicht ausgeführt werden, da die Anwendung einen eingabe-synchronisierten Aufruf weiterleitet.
warn:legacy.tools:3268:4488:sfx2/source/control/bindings.cxx:1738: No cache for OfficeDispatch!
Ausnahme ausgelöst bei 0x00007FF816C99129 in soffice.bin: Microsoft C++-Ausnahme: com::sun::star::xml::xpath::XPathException bei Speicherort 0x00000013C6586D80.
Ausnahme ausgelöst bei 0x00007FF816C99129 in soffice.bin: Microsoft C++-Ausnahme: com::sun::star::xml::xpath::XPathException bei Speicherort 0x00000013C6586F00.
Ausnahme ausgelöst bei 0x00007FF816C99129 in soffice.bin: Microsoft C++-Ausnahme: com::sun::star::ucb::ContentCreationException bei Speicherort 0x00000013C6587488.
warn:vcl.schedule:3268:4488:vcl/source/app/scheduler.cxx:371: we're too early - restart the timer (7ms)!
warn:vcl.schedule:3268:4488:vcl/source/app/scheduler.cxx:371: we're too early - restart the timer (4ms)!
Der Thread 0x357c hat mit Code 0 (0x0) geendet.
"soffice.bin" (Win32): "D:\sources\libo-core\instdir\program\updatefeedlo.dll" geladen. Symbole wurden geladen.
Der Thread 0x2f74 hat mit Code 0 (0x0) geendet.
warn:vcl.schedule:3268:4488:vcl/source/app/scheduler.cxx:371: we're too early - restart the timer (4ms)!
Comment 4 Xisco Faulí 2019-04-12 13:13:48 UTC
it hangs clicking on the calc window, btw, this is a regression. I've tried to bisect it two times with bisect-6-0 but I couldn't get a good result. This looks like a good candidate though -> https://cgit.freedesktop.org/libreoffice/core/commit/?id=794b6bf95f0dc2cff2b9d04651e8d14529f2f518

@Mike, seeing you fix a couple of lock problems recently, I thought you might be interested in this issue...
Comment 5 Xisco Faulí 2019-04-12 13:26:20 UTC
(In reply to Xisco Faulí from comment #4)
> This looks like a good candidate though ->
> https://cgit.freedesktop.org/libreoffice/core/commit/
> ?id=794b6bf95f0dc2cff2b9d04651e8d14529f2f518

Indeed. Reverted locally and the issue is gone.

author	Jan-Marek Glogowski <glogow@fbihome.de>	2017-12-15 13:39:32 +0100
committer	pranavk <pranavk@collabora.co.uk>	2017-12-28 14:01:38 +0100
commit 794b6bf95f0dc2cff2b9d04651e8d14529f2f518 (patch)
tree 9db9445fdc99bfcac9b6bd1da9ef44696ddc3ed0
parent feb476f67a906d01697d4e5b9ffca5b8da2fb987 (diff)
Prevent out-of-order LO event processing

Adding Cc: to Jan-Marek Glogowski
Comment 6 Justin L 2021-01-15 14:45:14 UTC
This has been marked as Windows only, and indeed, I did not have problems in Linux with 7.2+.
Comment 7 Jan-Marek Glogowski 2021-01-21 19:14:54 UTC
So thanks to Justin's comment, I became aware I missed this bug. He couldn't reproduce on Linux and neither could I on Windows. There was a minimal cleanup patch (https://gerrit.libreoffice.org/c/core/+/70385/) since this bug in user event processing code, which the original bibisect blamed, but nothing else did any functionality changes to it.

I just tested master and currently don't have enough space to bibisect on Windows to eventually find the fixing commit.

So I'm setting this to FIXED. Would be nice, if anyone could verify it.
Comment 8 Juergen Klatt 2021-01-21 19:48:53 UTC
Hello,

my tests no longer generated errors in the newer LibreOffice versions.

Test:

Windows 10 Pro 20H2

1)
Version: 7.0.4.2 (x64)
Build ID: dcf040e67528d9187c66b2379df5ea4407429775
CPU threads: 4; OS: Windows 10.0 Build 19042; UI render: Skia/Raster; VCL: win
Locale: de-DE (de_DE); UI: de-DE
Calc: CL

User profile reset = NO

2)
Version: 7.2.0.0.alpha0+ (x64) / LibreOffice Community
Build ID: 6ee7a3b2c0565c2871d32d704cb2899445b9f88d
CPU threads: 4; OS: Windows 10.0 Build 19042; UI render: Skia/Raster; VCL: win
Locale: de-DE (de_DE); UI: de-DE
Calc: CL

User profile reset = NO

Thanks and Best Regards

Juergen