Bug 165839 - Libreoffice Base hangs when two connections to a server via internal drive edit the same table
Summary: Libreoffice Base hangs when two connections to a server via internal drive ed...
Status: VERIFIED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Base (show other bugs)
Version:
(earliest affected)
unspecified
Hardware: All All
: medium normal
Assignee: jcsanz
URL:
Whiteboard: target:25.8.0 target:25.2.3
Keywords:
Depends on:
Blocks:
 
Reported: 2025-03-20 18:02 UTC by jcsanz
Modified: 2025-04-13 02:31 UTC (History)
1 user (show)

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 jcsanz 2025-03-20 18:02:23 UTC
Description:
When there are more than one connections to a firebird server via internal driver and two or more of the connections try to modify the same table, LibreOffice hangs and you need to kill it to recover

Steps to Reproduce:

In order to reproduce the error it is necessary to have a Firebird server (no matter the version) and to have a database that can be accessed remotely and a user that can access at least with localhost.
Please note that on some systems, depending on the configuration, sysdba cannot remotely access the server.
If you want to test with a single machine, you need to create two .odb files with the same configuration but with different names. 
To facilitate the instructions I have made the connection to the employee database which is installed by default with the alias employee in the installations made with the installers downloaded from the firebirdsql.org page. May be this database don't exists if you made the installation with your system the repository.

1. Open LibreOffice Base
2. Select *Connect to an existing database*. In the dropdown select *Firebird external*. Click *Next*
3. In the connection string text box type <host>[/port]:<path-or-alias>, in our case *localhost:employee*. Click *Next*
4. Write the user name in the text box and check *Password required*. If desired click on *Test Connection* button. Click on *Next*
5. click *Finish* and give a name to the .odb file.
6. Open two connection to the same database. As said before, if you are going to test with two connections in the same equipment, copy the .odb file created in previous step with a different name.
7. Start editing one table in one connection, but don't save anything for the moment
8. Edit the same table in the other connection. Save the changes.
9. LibreOffice hangs. The only way to recover is killing LibreOffice and restart.


Actual Results:
LibreOffice hangs

Expected Results:
LibreOffice should save the edition in the second connection an allow continuing the edition in the first one


Reproducible: Always


User Profile Reset: No

Additional Info:
I think, currently the most used way to connect to a Firebird server is with the JDBC connector provided in the Firebird website, but the from the Jaybird 6 version of the driver, the connection to LibreOffice is not supported. The internal Firebird driver is the recommended way to connect given by Firebird team.

Tested with:
-----------
Version: 25.8.0.0.alpha0+ (X86_64) / LibreOffice Community
Build ID: 1d8ff7bd62249ad0f825eaca18ea524d9d7c6c2e
CPU threads: 16; OS: Windows 11 X86_64 (build 22631); UI render: Skia/Vulkan; VCL: win
Locale: es-ES (es_ES); UI: es-ES
Calc: CL threaded
-----------
Version: 25.2.1.2 (X86_64) / LibreOffice Community
Build ID: d3abf4aee5fd705e4a92bba33a32f40bc4e56f49
CPU threads: 16; OS: Windows 11 X86_64 (10.0 build 22631); UI render: Skia/Raster; VCL: win
Locale: es-ES (es_ES); UI: es-ES
Calc: CL threaded
-----------
Version: 24.8.3.2 (X86_64) / LibreOffice Community
Build ID: 48a6bac9e7e268aeb4c3483fcf825c94556d9f92
CPU threads: 2; OS: Linux 6.8; UI render: default; VCL: kf5 (cairo+xcb)
Locale: es-ES (es_ES.UTF-8); UI: en-US
Calc: threaded
Comment 1 m_a_riosv 2025-03-20 23:07:51 UTC
Confirmed
Version: 25.2.2.1 (X86_64) / LibreOffice Community
Build ID: 38d746d66d9b82fa248a2e90142b9dd3ddd1d6cd
CPU threads: 16; OS: Windows 11 X86_64 (10.0 build 26100); UI render: Skia/Raster; VCL: win
Locale: es-ES (es_ES); UI: en-US
Calc: CL threaded
and
Version: 25.8.0.0.alpha0+ (X86_64) / LibreOffice Community
Build ID: 1d8ff7bd62249ad0f825eaca18ea524d9d7c6c2e
CPU threads: 16; OS: Windows 11 X86_64 (build 26100); UI render: Skia/Vulkan; VCL: win
Locale: es-ES (es_ES); UI: en-GB
Calc: CL threaded
Comment 2 jcsanz 2025-03-21 03:04:37 UTC
(In reply to jcsanz from comment #0)

> 
> Additional Info:
> I think, currently the most used way to connect to a Firebird server is with
> the JDBC connector provided in the Firebird website, but the from the
> Jaybird 6 version of the driver, the connection to LibreOffice is not
> supported. The internal Firebird driver is the recommended way to connect
> given by Firebird team.
> 
https://www.firebirdsql.org/docs/drivers/java/faq.html#open-officelibre-office-pure-java
Comment 3 Commit Notification 2025-03-25 10:11:13 UTC
jucasaca committed a patch related to this issue.
It has been pushed to "master":

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

tdf#165839 Changes the transaction isolation level

It will be available in 25.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 4 Commit Notification 2025-04-09 13:30:52 UTC
jucasaca committed a patch related to this issue.
It has been pushed to "libreoffice-25-2":

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

tdf#165839 Changes the transaction isolation level

It will be available in 25.2.3.

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 5 m_a_riosv 2025-04-13 02:31:28 UTC
Verifyed with
Version: 25.8.0.0.alpha0+ (X86_64) / LibreOffice Community
Build ID: ddc3cf99a47cb76e1386783df782e4852a19307a
CPU threads: 16; OS: Windows 11 X86_64 (build 26100); UI render: Skia/Vulkan; VCL: win
Locale: es-ES (es_ES); UI: en-GB
Calc: CL threaded