Bug 156511 - interface XStorage no more usable on odb with 7.6 and 7.7
Summary: interface XStorage no more usable on odb with 7.6 and 7.7
Status: UNCONFIRMED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Base (show other bugs)
Version:
(earliest affected)
7.6.0.0 alpha0+
Hardware: All All
: medium normal
Assignee: Not Assigned
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-07-28 23:28 UTC by prrvchr
Modified: 2025-11-28 03:41 UTC (History)
0 users

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 prrvchr 2023-07-28 23:28:12 UTC
Description:
I have two extensions that use the com.sun.star.embed.XStorage interface on odb files and I just noticed that this interface has become unusable with versions 7.6 and 7.7 of LibreOffice

Steps to Reproduce:
1. Install jdbcDriverOOo extension (https://prrvchr.github.io/jdbcDriverOOo/)
2. Install SQLiteOOo extension (https://prrvchr.github.io/HsqlDriverOOo/)
3. Create a new SQLite embedded database and open the database for editing (https://prrvchr.github.io/HsqlDriverOOo/#how-to-create-a-new-database)
4. Close this new database (file -> close) or save it under a new name (file -> Save as)

Actual Results:
If you use a version of LibreOffice 7.6 or higher LibreOffice freezes when closing or saving under another name.

Expected Results:
If you use a version of LibreOffice 7.5 or lower LibreOffice close or save as new name without problems.


Reproducible: Always


User Profile Reset: No

Additional Info:
It seems that the LibreOffice freeze occurs not when acquiring the XStorage interface but when starting the data transfer.
Comment 1 prrvchr 2023-07-30 21:00:55 UTC
Work on:

Version: 7.3.7.2 / LibreOffice Community
Build ID: 30(Build:2)
CPU threads: 2; OS: Linux 5.15; UI render: default; VCL: qt5 (cairo+xcb)
Locale: fr-FR (fr_FR.UTF-8); UI: en-US
Ubuntu package version: 1:7.3.7-0ubuntu0.22.04.3
Calc: threaded

Version: 7.5.5.2 (X86_64) / LibreOffice Community
Build ID: 50(Build:2)
CPU threads: 2; OS: Linux 5.15; UI render: default; VCL: qt5 (cairo+xcb)
Locale: fr-FR (fr_FR.UTF-8); UI: en-US
Ubuntu package version: 4:7.5.5~rc2-0ubuntu0.22.04.1~lo1
Calc: threaded

Version: 7.4.3.2 (x64) / LibreOffice Community
Build ID: 1048a8393ae2eeec98dff31b5c133c5f1d08b890
CPU threads: 2; OS: Windows 10.0 Build 19045; UI render: Skia/Raster; VCL: win
Locale: fr-FR (fr_FR); UI: fr-FR
Calc: threaded


LibreOffice freezes on:

Version: 7.6.0.1 (X86_64) / LibreOffice Community
Build ID: 776eaf34564cbf3f034a0ba1fd1d5c32ff9ccf1c
CPU threads: 2; OS: Linux 5.15; UI render: default; VCL: qt5 (cairo+xcb)
Locale: fr-FR (fr_FR.UTF-8); UI: en-US
Calc: threaded

Version: 7.6.0.1 (X86_64) / LibreOffice Community
Build ID: 776eaf34564cbf3f034a0ba1fd1d5c32ff9ccf1c
CPU threads: 2; OS: Windows 10.0 Build 19045; UI render: Skia/Raster; VCL: win
Locale: fr-FR (fr_FR); UI: fr-FR
Calc: threaded
Comment 2 prrvchr 2023-07-31 18:17:47 UTC
With LibreOffice version 7.5.x or lower, when I close an embedded odb file I get the following log file:

>  event no thread   date       time        (class/method:) message
>         1    52409 2023-07-31 18:06:16.544235642 Driver::__init__(): Driver initialization completed
>         2    52409 2023-07-31 18:06:16.550178861 Driver::acceptsURL(): Driver can open a connection with the URL: sdbc:embedded:hsqldb - True
>         3    52409 2023-07-31 18:06:16.552129142 Driver::acceptsURL(): Driver can open a connection with the URL: sdbc:embedded:hsqldb - True
>         4    52409 2023-07-31 18:06:16.555664628 Driver::getPropertyInfo(): Get information about the possibles DriverPropertyInfo for this driver for URL: sdbc:embedded:hsqldb
>         5    52409 2023-07-31 18:06:16.922124393 Driver::getPropertyInfo(): The driver responds with a DriverPropertyInfo Name / Value: JavaDriverClass / 
>         6    52409 2023-07-31 18:06:16.927646831 Driver::getPropertyInfo(): The driver responds with a DriverPropertyInfo Name / Value: JavaDriverClassPath / 
>         7    52409 2023-07-31 18:06:16.929451531 Driver::getPropertyInfo(): The driver responds with a DriverPropertyInfo Name / Value: SystemProperties / 
>         8    52409 2023-07-31 18:06:16.931096176 Driver::getPropertyInfo(): The driver responds with a DriverPropertyInfo Name / Value: ParameterNameSubstitution / false
>         9    52409 2023-07-31 18:06:16.932993773 Driver::getPropertyInfo(): The driver responds with a DriverPropertyInfo Name / Value: IsAutoRetrievingEnabled / false
>        10    52409 2023-07-31 18:06:16.935386244 Driver::getPropertyInfo(): The driver responds with a DriverPropertyInfo Name / Value: AutoRetrievingStatement / 
>        11    52409 2023-07-31 18:06:16.937198930 Driver::getPropertyInfo(): The driver responds with a DriverPropertyInfo Name / Value: GenerateASBeforeCorrelationName / true
>        12    52409 2023-07-31 18:06:16.938806895 Driver::getPropertyInfo(): The driver responds with a DriverPropertyInfo Name / Value: IgnoreCurrency / false
>        13    52409 2023-07-31 18:06:16.940391787 Driver::getPropertyInfo(): The driver responds with a DriverPropertyInfo Name / Value: EscapeDateTime / true
>        14    52409 2023-07-31 18:06:16.942468308 Driver::getPropertyInfo(): The driver responds with a DriverPropertyInfo Name / Value: TypeInfoSettings / 
>        15    52409 2023-07-31 18:06:16.944180000 Driver::getPropertyInfo(): The driver responds with a DriverPropertyInfo Name / Value: ImplicitCatalogRestriction / 
>        16    52409 2023-07-31 18:06:16.945866908 Driver::getPropertyInfo(): The driver responds with a DriverPropertyInfo Name / Value: ImplicitSchemaRestriction / 
>        17    52409 2023-07-31 18:06:16.947506469 Driver::getPropertyInfo(): The driver responds with a DriverPropertyInfo Name / Value: AutoIncrementCreation / 
>        18    52409 2023-07-31 18:06:16.949396286 Driver::getPropertyInfo(): The driver responds with a DriverPropertyInfo Name / Value: IgnoreDriverPrivileges / false
>        19    52409 2023-07-31 18:06:17.048375978 Driver::acceptsURL(): Driver can open a connection with the URL: sdbc:embedded:hsqldb - True
>        20    52409 2023-07-31 18:06:17.080965478 Driver::connect(): Loading the driver for the url: file:///home/prrvchr/Documents/New%20Database.odb
>        21    52409 2023-07-31 18:06:17.770531205 Driver::connect(): SQLite version: 3.42.0.0 database is loaded, the user:  is connected
>        22    52409 2023-07-31 18:06:17.886325308 Driver::acceptsURL(): Driver can open a connection with the URL: sdbc:embedded:hsqldb - True
>        23    52409 2023-07-31 18:06:17.892760195 Driver::getDataDefinitionByConnection(): Driver give the container of tables related to the given connection.
>        24    52409 2023-07-31 18:06:21.146850924 DocumentHandler::queryClosing(): Attempt to close document with Url: file:///home/prrvchr/Documents/New%20Database.odb
>        25    52409 2023-07-31 18:06:21.150262505 DocumentHandler::_closeDataBase(): Attempt to move element with name: New Database
>        26    52409 2023-07-31 18:06:21.153191825 DocumentHandler::_closeDataBase(): The element with name: New Database has been moved...
>        27    52409 2023-07-31 18:06:21.189808886 DocumentHandler::queryClosing(): The document with Url: file:///home/prrvchr/Documents/New%20Database.odb has been closed...

With a version 7.6.x or 7.7 (gerrit), when I close an embedded odb file, LibreOffice freezes with the following log file:


>  event no thread   date       time        (class/method:) message
>         1    51385 2023-07-31 17:58:11.878416411 Driver::__init__(): Driver initialization completed
>         2    51385 2023-07-31 17:58:11.882501541 Driver::acceptsURL(): Driver can open a connection with the URL: sdbc:embedded:hsqldb - True
>         3    51385 2023-07-31 17:58:11.887354195 Driver::acceptsURL(): Driver can open a connection with the URL: sdbc:embedded:hsqldb - True
>         4    51385 2023-07-31 17:58:11.897610021 Driver::getPropertyInfo(): Get information about the possibles DriverPropertyInfo for this driver for URL: sdbc:embedded:hsqldb
>         5    51385 2023-07-31 17:58:11.907960079 Driver::getPropertyInfo(): The driver responds with a DriverPropertyInfo Name / Value: JavaDriverClass / 
>         6    51385 2023-07-31 17:58:11.910489485 Driver::getPropertyInfo(): The driver responds with a DriverPropertyInfo Name / Value: JavaDriverClassPath / 
>         7    51385 2023-07-31 17:58:11.912715553 Driver::getPropertyInfo(): The driver responds with a DriverPropertyInfo Name / Value: SystemProperties / 
>         8    51385 2023-07-31 17:58:11.915011909 Driver::getPropertyInfo(): The driver responds with a DriverPropertyInfo Name / Value: ParameterNameSubstitution / false
>         9    51385 2023-07-31 17:58:11.918285426 Driver::getPropertyInfo(): The driver responds with a DriverPropertyInfo Name / Value: IsAutoRetrievingEnabled / false
>        10    51385 2023-07-31 17:58:11.921728006 Driver::getPropertyInfo(): The driver responds with a DriverPropertyInfo Name / Value: AutoRetrievingStatement / 
>        11    51385 2023-07-31 17:58:11.924292132 Driver::getPropertyInfo(): The driver responds with a DriverPropertyInfo Name / Value: GenerateASBeforeCorrelationName / true
>        12    51385 2023-07-31 17:58:11.926676553 Driver::getPropertyInfo(): The driver responds with a DriverPropertyInfo Name / Value: IgnoreCurrency / false
>        13    51385 2023-07-31 17:58:11.929076966 Driver::getPropertyInfo(): The driver responds with a DriverPropertyInfo Name / Value: EscapeDateTime / true
>        14    51385 2023-07-31 17:58:11.931252736 Driver::getPropertyInfo(): The driver responds with a DriverPropertyInfo Name / Value: TypeInfoSettings / 
>        15    51385 2023-07-31 17:58:11.933559082 Driver::getPropertyInfo(): The driver responds with a DriverPropertyInfo Name / Value: ImplicitCatalogRestriction / 
>        16    51385 2023-07-31 17:58:11.935732915 Driver::getPropertyInfo(): The driver responds with a DriverPropertyInfo Name / Value: ImplicitSchemaRestriction / 
>        17    51385 2023-07-31 17:58:11.938016982 Driver::getPropertyInfo(): The driver responds with a DriverPropertyInfo Name / Value: AutoIncrementCreation / 
>        18    51385 2023-07-31 17:58:11.940289018 Driver::getPropertyInfo(): The driver responds with a DriverPropertyInfo Name / Value: IgnoreDriverPrivileges / false
>        19    51385 2023-07-31 17:58:11.945033540 Driver::acceptsURL(): Driver can open a connection with the URL: sdbc:embedded:hsqldb - True
>        20    51385 2023-07-31 17:58:12.062465771 Driver::connect(): Loading the driver for the url: file:///home/prrvchr/Documents/New%20Database.odb
>        21    51385 2023-07-31 17:58:12.382000607 Driver::connect(): SQLite version: 3.42.0.0 database is loaded, the user:  is connected
>        22    51385 2023-07-31 17:58:12.458088212 Driver::acceptsURL(): Driver can open a connection with the URL: sdbc:embedded:hsqldb - True
>        23    51385 2023-07-31 17:58:12.461811875 Driver::getDataDefinitionByConnection(): Driver give the container of tables related to the given connection.
>        24    51385 2023-07-31 17:58:43.021525417 DocumentHandler::queryClosing(): Attempt to close document with Url: file:///home/prrvchr/Documents/New%20Database.odb
>        25    51385 2023-07-31 17:58:43.036071164 DocumentHandler::_closeDataBase(): Attempt to move element with name: New Database
Comment 3 prrvchr 2023-08-01 21:39:28 UTC
For me this problem is solved, I use the com.sun.star.embed.XStorage interface differently[1].

I cannot explain the origin of this bug since my extensions worked under OpenOffice and LibreOffice until 7.5.x.

Nothing justifies my having to change the code of my extensions for versions 7.6.x and above, but I'm going to be satisfied with that, you mustn't always want to understand everything...

[1] https://github.com/prrvchr/uno/commit/a2fa9f5975a35e8447907e51b0f78ac1b1b76e17
Comment 4 QA Administrators 2025-11-27 11:30:23 UTC
Dear prrvchr,

To make sure we're focusing on the bugs that affect our users today, LibreOffice QA is asking bug reporters and confirmers to retest open, confirmed bugs which have not been touched for over a year.

There have been thousands of bug fixes and commits since anyone checked on this bug report. During that time, it's possible that the bug has been fixed, or the details of the problem have changed. We'd really appreciate your help in getting confirmation that the bug is still present.

If you have time, please do the following:

Test to see if the bug is still present with the latest version of LibreOffice from https://www.libreoffice.org/download/

If the bug is present, please leave a comment that includes the information from Help - About LibreOffice.
 
If the bug is NOT present, please set the bug's Status field to RESOLVED-WORKSFORME and leave a comment that includes the information from Help - About LibreOffice.

Please DO NOT

Update the version field
Reply via email (please reply directly on the bug tracker)
Set the bug's Status field to RESOLVED - FIXED (this status has a particular meaning that is not 
appropriate in this case)


If you want to do more to help you can test to see if your issue is a REGRESSION. To do so:
1. Download and install oldest version of LibreOffice (usually 3.3 unless your bug pertains to a feature added after 3.3) from https://downloadarchive.documentfoundation.org/libreoffice/old/

2. Test your bug
3. Leave a comment with your results.
4a. If the bug was present with 3.3 - set version to 'inherited from OOo';
4b. If the bug was not present in 3.3 - add 'regression' to keyword


Feel free to come ask questions or to say hello in our QA chat: https://web.libera.chat/?settings=#libreoffice-qa

Thank you for helping us make LibreOffice even better for everyone!

Warm Regards,
QA Team

MassPing-UntouchedBug