Bug 115547 - Firebird: Link is formed to an external file with file:///C: (three slash)
Summary: Firebird: Link is formed to an external file with file:///C: (three slash)
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Base (show other bugs)
Version:
(earliest affected)
6.0.0.3 release
Hardware: All Windows (All)
: medium normal
Assignee: Mike Kaganski
URL:
Whiteboard: target:7.3.0 target:7.2.2 target:7.1....
Keywords:
: 121104 (view as bug list)
Depends on:
Blocks: Database-Firebird-Default
  Show dependency treegraph
 
Reported: 2018-02-08 14:04 UTC by avsharapov
Modified: 2022-01-24 12:07 UTC (History)
6 users (show)

See Also:
Crash report or crash signature:


Attachments
Firebird external database file for testing. (784.00 KB, application/octet-stream)
2018-02-09 07:30 UTC, Robert Großkopf
Details
Firebird 3.0 file (1.58 MB, application/octet-stream)
2018-02-10 16:10 UTC, Julien Nabet
Details

Note You need to log in before you can comment on or make changes to this bug.
Description avsharapov 2018-02-08 14:04:18 UTC
A link is formed to an external file with file://C: (three slash)
And correctly two file://C:
Comment 1 Robert Großkopf 2018-02-08 19:55:45 UTC
What should be the bug?

A path is written with three slashes:
file:///c:/.....
Its the normal behavior in LO Basic.

Please give a little bit more information and describe where to find a buggy behavior.
Comment 2 avsharapov 2018-02-09 05:49:15 UTC
It is worth trying to create an odb with an external Firebird file.
I have tried on Windows 7 (installed version Libreoffice) and Windows 10 (portable version).
An error occurs when I create a new database. LO can't find the file.
If I remove unnecessary slash when you select a file creation passes without error.
Maybe you should try?
Comment 3 avsharapov 2018-02-09 05:55:16 UTC
I selected a connection to an existing database in the Wizard. Type in drop-down list the Firebird file.
Comment 4 Robert Großkopf 2018-02-09 07:29:06 UTC
I could only test with OpenSUSE 42.2 rpm Linux.
I have tried to connect to a Firebird-file. It gives an error:
-------
firebird_sdbc error:
*unsupported on-disk structure for file /home/user/Dokumente/LibreOffice/Firebird/libretest.fdb; found 11.2, support 12.0
caused by
'isc_attach_database'
-------
The path is this:
file:///home/user/Dokumente/LibreOffice/Firebird/libretest.fdb
If I will remove one slash after file:/ the whole LO crashes immediately when trying to connect to the database.

I don't get any working connection to a Firebird-file directly.
Comment 5 Robert Großkopf 2018-02-09 07:30:01 UTC
Created attachment 139717 [details]
Firebird external database file for testing.
Comment 6 Robert Großkopf 2018-02-09 07:33:03 UTC
Did it really work for you with two slashes, not three slashes? Please attach a database-file (no data inside needed) where it will work.
Comment 7 Julien Nabet 2018-02-09 09:12:49 UTC
(In reply to robert from comment #4)
> ...
> firebird_sdbc error:
> *unsupported on-disk structure for file
> /home/user/Dokumente/LibreOffice/Firebird/libretest.fdb; found 11.2, support
> 12.0
>...

Reading https://stackoverflow.com/questions/43643098/why-do-i-get-an-unsupported-on-disk-structure-error-in-flamerobin, it would mean your ods file contains structure of Firebird 2.5 and you got Firebird server 3.0
However, I suppose it's a brand new ods file so it should be synchronized with Firebird 3.0
I'll give it a try as soon as my local build be finished.

Tamas/Lionel: thought you might be interested in this one.
Comment 8 avsharapov 2018-02-09 12:18:47 UTC
I think you need to check under Windows.
Can there be an error only in case of Windows?
In the content.xml generated string 
xlink:href="sdbc:firebird: file:///C:/my/testslash.fbd" 

This file is in LO opens but gives an error when navigating to the Tables folder.

If you change to
xlink:href="sdbc:firebird: file://C:/my/testslash.fbd" 
starts to work

Now on computer does not have test-file FBD.
If you want I can later send it to.
You need file version Firebird 3.0
Comment 9 Robert Großkopf 2018-02-09 14:26:38 UTC
Hi Julien,

(In reply to Julien Nabet from comment #7)
> (In reply to robert from comment #4)
> > ...
> > firebird_sdbc error:
> > *unsupported on-disk structure for file
> > /home/user/Dokumente/LibreOffice/Firebird/libretest.fdb; found 11.2, support
> > 12.0
> >...
> 
> Reading
> https://stackoverflow.com/questions/43643098/why-do-i-get-an-unsupported-on-
> disk-structure-error-in-flamerobin, it would mean your ods file contains
> structure of Firebird 2.5 and you got Firebird server 3.0
> However, I suppose it's a brand new ods file so it should be synchronized
> with Firebird 3.0

Could be the database is Firebird 2.5. So I'm looking for an external database 3.0.
Comment 10 Julien Nabet 2018-02-09 14:28:59 UTC
I can't test for the moment because I got a crash when just trying to launch Base.
No pb with Writer, Calc or Impress
Comment 11 Julien Nabet 2018-02-10 16:10:45 UTC
Created attachment 139761 [details]
Firebird 3.0 file

On pc Debian x86-64 with master sources updated today, I could open a Firebird 3.0 (attached file).
Indeed, there are 3 slashes but it opens.
I agree, that seeing 3 "/" is a bit weird.
Comment 12 Julien Nabet 2018-02-10 16:13:51 UTC
I put in cc the bug which was preventing me to test it (entirely my fault but hopefully it's fixed now).
Comment 13 Robert Großkopf 2018-02-10 18:56:11 UTC
Test with OpenSUSE 42.2 64bit rpm Linux and Firebird 3.0 - file https://bugs.documentfoundation.org/attachment.cgi?id=139761

No problems to connect to the file with
file:///home/user/Dokumente/LibreOffice/Firebird/example.fdb

with 
Version: 6.0.0.3
Build-ID: 64a0f66915f38c6217de274f0aa8e15618924765
CPU-Threads: 4; BS: Linux 4.4; UI-Render: Standard; VCL: kde4; 
Gebietsschema: de-DE (de_DE.UTF-8); Calc: group
Comment 14 avsharapov 2018-02-11 03:43:43 UTC
Tested on LO 6.0.1.1 (installation on windows 7).
Received firebird_sdbc_error.
But if on your OS everything is OK. I'm not going to argue.
Comment 15 Alex Thurgood 2018-02-12 09:01:24 UTC
Also WFM on

Version: 6.0.0.3
Build ID: 64a0f66915f38c6217de274f0aa8e15618924765
Threads CPU : 8; OS : Mac OS X 10.13.3; UI Render : par défaut; 
Locale : fr-FR (fr_FR.UTF-8); Calc: group
Comment 16 Alex Thurgood 2018-02-16 08:07:30 UTC
Testing on Windows 10, with 

Version: 6.0.1.1 (x64)
Build ID: 60bfb1526849283ce2491346ed2aa51c465abfe6
Threads CPU : 4; OS : Windows 10.0; UI Render : par défaut; 
Locale : fr-FR (fr_FR); Calc: group

I get the following error message :

firebird_sdbc error:
*Unable to complete network request to host "MYHOSTNAME".
*Failed to locate host machine.
*The specified name was not found in the hosts file or Domain Name Services.
caused by
'isc_attach_database
Comment 17 Alex Thurgood 2018-02-16 08:10:34 UTC
If I remove one of the slashes from the default triple slash path, I get the same error as reported here:


Code d'erreur: 1

firebird_sdbc error:
*unsupported on-disk structure for file C:\USERS\ALEXT\DOWNLOADS\LIBRETEST.FDB; found 11.2, support 12.0
caused by
'isc_attach_database'
Comment 18 Alex Thurgood 2018-02-16 08:15:17 UTC
Now, if I repeat the test with the sample db provided on 2018-02-10, and remove a single slash in the path, I can successfully open the fdb.

There is therefore a difference in the fdb files provided as examples:

- the first example, provided by Shar, doesn't work, irrespective of the number of slashes ;

- the second example, provided by Robert, only works if I remove a single slash from the path to the file.

@tamas : one for you ?
Comment 19 Alex Thurgood 2018-02-16 08:18:36 UTC
@Shar : did this work correctly in a previous version with a FB3.0 file ? If so, then, we can mark it as a regression.
Comment 20 Robert Großkopf 2018-02-16 08:25:22 UTC
Hi Alex,

(In reply to Alex Thurgood from comment #18)
> There is therefore a difference in the fdb files provided as examples:
> 
> - the first example, provided by Shar, doesn't work, irrespective of the
> number of slashes ;

I had uploaded the first attachment. Was a Firebird 2.5-file. So I have set this to obsolet.
> 
> - the second example, provided by Robert, only works if I remove a single
> slash from the path to the file.

Julien has added a new attachment with FB 3.0-file. This should work, but seems it doesn't with Windows.
Comment 21 Drew Jensen 2018-11-01 23:13:55 UTC
*** Bug 121104 has been marked as a duplicate of this bug. ***
Comment 22 QA Administrators 2019-11-02 03:46:24 UTC Comment hidden (obsolete)
Comment 23 avsharapov 2019-11-05 16:28:43 UTC
Tested:
Windows 10, LO : 6.3.2.2
Windows 7, LO 6.3.3.2

About:
Version: 6.3.2.2 (x86)
Build ID: 98b30e735bda24bc04ab42594c85f7fd8be07b9c
CPU threads: 4; OS: Windows 10.0; UI render: default; VCL: win; 
Locale: ru-RU (ru_RU); UI-Language: en-US
Calc: threaded


Result:
The connection to the data source "example" could not be established.
firebird_sdbc error:
*Unable to complete network request to host "SHAR".
*Failed to locate host machine.
*The specified name was not found in the hosts file or Domain Name Services.
caused by
'isc_attach_database'

For work need change to file://C:/shar/example.fdb
Comment 24 Julien Nabet 2019-11-06 14:15:12 UTC
On Win10 with master sources updated 10 days ago +attachment Firebird 3.0 file, I could reproduce this.
Comment 25 Alex Thurgood 2019-12-02 11:36:10 UTC
Seems like a DUP of bug 106427 to me.
Comment 26 Mike Kaganski 2021-09-10 09:51:38 UTC
(In reply to avsharapov from comment #0)
> And correctly two file://C:

(In reply to Julien Nabet from comment #11)
> Indeed, there are 3 slashes but it opens.
> I agree, that seeing 3 "/" is a bit weird.

Just FTR.

The *correct* form for local file URL is using *three* forward slashes. The first two start "authority" part of file hierarchy; and the third coming immediately means "empty authority part, i.e. local system", and starts absolute path.

Ref: RFC8089, which shows correct examples for URLs both on Unix-like, as well as Windows, paths. They indeed have three slashes. Two slashes and an absolute path without an "authority" (usually host) is invalid, although widely accepted as a commonly met variant.
Comment 27 avsharapov 2021-09-10 14:42:02 UTC
(In reply to Mike Kaganski from comment #26)
> (In reply to avsharapov from comment #0)
> > And correctly two file://C:
> 
> (In reply to Julien Nabet from comment #11)
> > Indeed, there are 3 slashes but it opens.
> > I agree, that seeing 3 "/" is a bit weird.
> 
> Just FTR.
> 
> The *correct* form for local file URL is using *three* forward slashes. The
> first two start "authority" part of file hierarchy; and the third coming
> immediately means "empty authority part, i.e. local system", and starts
> absolute path.
> 
> Ref: RFC8089, which shows correct examples for URLs both on Unix-like, as
> well as Windows, paths. They indeed have three slashes. Two slashes and an
> absolute path without an "authority" (usually host) is invalid, although
> widely accepted as a commonly met variant.

A very good theory. However, in practice, LO forms a link with three slashes. And an error occurs (Windows 10).
If you change the link and make two slashes, then everything starts working.
I vote for everything to work. :)(In reply to Mike Kaganski from comment #26)
> (In reply to avsharapov from comment #0)
> > And correctly two file://C:
> 
> (In reply to Julien Nabet from comment #11)
> > Indeed, there are 3 slashes but it opens.
> > I agree, that seeing 3 "/" is a bit weird.
> 
> Just FTR.
> 
> The *correct* form for local file URL is using *three* forward slashes. The
> first two start "authority" part of file hierarchy; and the third coming
> immediately means "empty authority part, i.e. local system", and starts
> absolute path.
> 
> Ref: RFC8089, which shows correct examples for URLs both on Unix-like, as
> well as Windows, paths. They indeed have three slashes. Two slashes and an
> absolute path without an "authority" (usually host) is invalid, although
> widely accepted as a commonly met variant.

A very good theory. However, in practice, LO forms a link with three slashes. And an error occurs (Windows 10).
If you change the link and make two slashes, then everything starts working.
I vote for everything to work. :)
Comment 28 Mike Kaganski 2021-09-10 15:08:01 UTC
(In reply to avsharapov from comment #27)

Which only means there's a bug where "An error occurs when I create a new database. LO can't find the file" - it should correctly treat proper URL.
Comment 29 avsharapov 2021-09-10 15:20:04 UTC
(In reply to Mike Kaganski from comment #28)
> (In reply to avsharapov from comment #27)
> 
> Which only means there's a bug where "An error occurs when I create a new
> database. LO can't find the file" - it should correctly treat proper URL.

Ok. I agree.
Comment 30 Mike Kaganski 2021-09-10 16:21:23 UTC
https://gerrit.libreoffice.org/c/core/+/121885
Comment 31 Commit Notification 2021-09-10 17:59:24 UTC
Mike Kaganski committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/51269c4d28c04ebd2c0047772b7373e0bebec219

tdf#115547: Fix DB path handling

It will be available in 7.3.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 32 Commit Notification 2021-09-13 10:35:25 UTC
Mike Kaganski committed a patch related to this issue.
It has been pushed to "libreoffice-7-2":

https://git.libreoffice.org/core/commit/9601ca71b485bba6221e1e0ab88accf3e89a325b

tdf#115547: Fix DB path handling

It will be available in 7.2.2.

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 33 Commit Notification 2021-09-13 16:05:41 UTC
Mike Kaganski committed a patch related to this issue.
It has been pushed to "libreoffice-7-1":

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

tdf#115547: Fix DB path handling

It will be available in 7.1.7.

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.