Bug 157935 - After installation of 7.6.2, first form opening of .odb file freezes LO
Summary: After installation of 7.6.2, first form opening of .odb file freezes LO
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Installation (show other bugs)
Version:
(earliest affected)
7.6.2.1 release
Hardware: x86-64 (AMD64) macOS (All)
: medium normal
Assignee: Not Assigned
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: Macro
  Show dependency treegraph
 
Reported: 2023-10-26 16:33 UTC by work
Modified: 2023-11-28 15:16 UTC (History)
3 users (show)

See Also:
Crash report or crash signature:


Attachments
"LibreOffice" folder (created with LO 7.6.2) (78.28 KB, application/zip)
2023-10-26 16:33 UTC, work
Details
"LibreOffice" folder (created with LO 7.1.4.1) (96.25 KB, application/zip)
2023-10-26 16:34 UTC, work
Details
odb file (98.25 KB, application/vnd.oasis.opendocument.database)
2023-11-11 13:47 UTC, work
Details

Note You need to log in before you can comment on or make changes to this bug.
Description work 2023-10-26 16:33:46 UTC
Created attachment 190440 [details]
"LibreOffice" folder (created with LO 7.6.2)

System:
MacBook Pro (Retina, 13-inch, Early 2015)
MacOS 12.7 (Monterey)

After installation of LO 7.6.2, I open an .odb (Base) file.
A "LibreOffice" folder is created within /users/XXX/Library/Application Support
This folder includes a folder named "4" which includes 2 folders : "cache" & "user" (which is the user profile, I suppose)
This .odb file has a startup macro displaying a pop-up with user/pwd fields. This macro works well (login is properly checked) and access is allowed to the database.
A second macro, immediately following the login, displays a form with several buttons.

Here is the bug: the form is displayed but remains blank (no button) and LO freezes.

Workaround (and possibly a source to look at to solve the problem):
Uninstall LO 7.6.2
Delete the folder /users/Library/Application Support/Libreoffice/4
Install an older version of LO (I've tried LO 7.1.4.1)
Open it (it creates a "/users/Library/Application Support/Libreoffice/4" file)
Open the .odb file.
It works (form is well displayed and all buttons are functional)
Quit LO
Install LO 7.6.2
Open it, open the .odb file. It works !

First guess: LO 7.6.2 creates a corrupted profile. When the profile already exists (not corrupted), it uses it and it works

Attachments: both profiles (created with LO 7.1.4.1 & 7.6.2)
Comment 1 work 2023-10-26 16:34:21 UTC
Created attachment 190441 [details]
"LibreOffice" folder (created with LO 7.1.4.1)
Comment 2 Stéphane Guillou (stragu) 2023-11-10 18:13:08 UTC
Thank you for the report.
Can you please provide the ODB file that contains the macros?
Comment 3 work 2023-11-11 13:47:05 UTC
Created attachment 190789 [details]
odb file

Here is the odb file.

Some forms and queries have been deleted (confidential).
The remaining form "1. MENU - A lancer en premier" is the one which is to be displayed just after having entered login/password.
The bad behavior is : the form remains blank and Libreoffice is stuck
the good behavior should be : the form is well displayed (including buttons) and LibreOffice is ready to go on
Comment 4 QA Administrators 2023-11-12 03:13:47 UTC Comment hidden (obsolete)
Comment 5 Stéphane Guillou (stragu) 2023-11-13 08:01:53 UTC
What is the username and password to use in the example file?
Which button do you press in the dialog: local, distant or VPN?
Comment 6 work 2023-11-13 09:22:43 UTC
No username/password defined here. The odb file connects to a PostgreSQL database which is checked against username/password.
Each buttons defines (macro "CONNEXION_DB") a database connection string related to either a local, remote or VPN connection (depending on where and how the computer should be connected to the database)

Normal sequence is :

 1. open odb file
 2. macro "CONNEXION_DB" is triggered, displaying a from including 3 buttons. 
 3. Click on one button (the corresponding connection string to the database is defined)
 4. The form "1. MENU - A lancer en premier" is displayed

Steps 2,3 & 4 are related to the macro "CONNEXION_DB" (including a call to dialog "Boite_de_login")

Please note that this bug (to be confirmed by now) occurs before having to select any of the 3 buttons : the form including these buttons remains blank (empty), no button displayed and LibreOffice is stuck
Comment 7 QA Administrators 2023-11-14 03:12:07 UTC Comment hidden (obsolete)
Comment 8 Stéphane Guillou (stragu) 2023-11-23 12:29:01 UTC
So for me, the issue is different: LO 7.6 does not notify the user that the file contains macros that are not going to be run.
Not quite the same as what you describe, but might be related?

Tested every time with a new profile:

7.5.8.2: macro security prompt at fileopen. Once macros are allowed, opening the file uses the custom dialog.
7.6.3.1: _no_ macro security prompt at fileopen. Once macros are allowed, opening the file uses the custom dialog.

Version: 7.6.3.1 (X86_64) / LibreOffice Community
Build ID: c4af5b1259bceea6e979e6fe2435dbee7a5a87c2
CPU threads: 8; OS: Linux 5.15; UI render: default; VCL: gtk3
Locale: en-AU (en_AU.UTF-8); UI: en-US

Same on macOS:

Version: 7.6.2.1 (X86_64) / LibreOffice Community
Build ID: 56f7684011345957bbf33a7ee678afaf4d2ba333
CPU threads: 2; OS: Mac OS X 13.2.1; UI render: Skia/Raster; VCL: osx
Locale: en-US (en_US.UTF-8); UI: en-US

This change I bibisected with the linux-64-7.6 repo to first bad build commit [90c59bb5b9c0b4d42872347f2f22fa2f2702361f] which points to:

commit f41627ab60372345be646c53d967b65be43b562f
author	Samuel Mehrbrodt	Fri Jan 27 10:34:29 2023 +0100
committer	Samuel Mehrbrodt 	Mon Jan 30 08:15:09 2023 +0000
Show infobar instead of blocking dialog when macros are not allowed
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146250

@Samuel, can you please have a look? Base does not show the infobar.
@Can you test version 7.5 to see if it also works like 7.1? That would help narrow it down.
Comment 9 work 2023-11-28 15:16:44 UTC
Have tried LO 7.5.8: same buggy behavior (without having ever launched LO 7.1, of course)

I've also tried something a bit different:

. install LO 7.5.8
. Open LO
. Open database (including entering username/password), triggering the bug (blank screen, LO stuck)
. Force quit LO
. Open LO 7.1
. Open db. It works fine
. Close db and quit LO 7.1
. Open LO 7.5.8
. Open db. It works fine

I guess the same would occur with LO 7.6