Bug 144607 - Bibliography database option does not open when selected
Summary: Bibliography database option does not open when selected
Status: ASSIGNED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
Version:
(earliest affected)
7.1.5.2 release
Hardware: All Linux (All)
: medium normal
Assignee: Ismael Luceno
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: Bibliography
  Show dependency treegraph
 
Reported: 2021-09-19 14:22 UTC by Cecilia
Modified: 2024-03-25 21:13 UTC (History)
9 users (show)

See Also:
Crash report or crash signature:


Attachments
screenshot (44.21 KB, image/png)
2021-09-19 14:23 UTC, Cecilia
Details
patch - first try (929 bytes, patch)
2021-09-29 18:58 UTC, Ismael Luceno
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Cecilia 2021-09-19 14:22:32 UTC
Description:
I tried to create a bibliographic reference for my work for the quotes on the text, but when I select the options on the tools menu nothing happens

Steps to Reproduce:
1. Select "Tools"
2.Select "Bibliography database"

Actual Results:
Nothing happens

Expected Results:
Bibliographic database dialog should open


Reproducible: Always


User Profile Reset: Yes



Additional Info:
System: ubuntu 21.04
Version: 7.1.5.2 / LibreOffice Community
Build ID: 10(Build:2)
CPU threads: 8; OS: Linux 5.11; UI render: default; VCL: x11
Locale: es-ES (es_ES.UTF-8); UI: en-US
Ubuntu package version: 1:7.1.5-0ubuntu0.21.04.1
Calc: threaded
Comment 1 Cecilia 2021-09-19 14:23:58 UTC
Created attachment 175121 [details]
screenshot
Comment 2 Julien Nabet 2021-09-19 18:21:49 UTC
On pc Debian x86-64 with LO Debian testing package 7.1.5.2, I don't reproduce this.
Did you install LO from Ubuntu repository?

Could you give a try at https://wiki.documentfoundation.org/QA/FirstSteps#Corrupted_user_profile ?
Comment 3 Ismael Luceno 2021-09-20 01:07:06 UTC
Even more problematic than the problem itself is that there is no error dialog, so the user can't tell what's wrong.

I'm reporting on the same machine:

$ dpkg -l libreoffice-\*|grep ^i
ii  libreoffice-base-core                 1:7.1.5-0ubuntu0.21.04.1 amd64        office productivity suite -- shared library
ii  libreoffice-calc                      1:7.1.5-0ubuntu0.21.04.1 amd64        office productivity suite -- spreadsheet
ii  libreoffice-common                    1:7.1.5-0ubuntu0.21.04.1 all          office productivity suite -- arch-independent files
ii  libreoffice-core                      1:7.1.5-0ubuntu0.21.04.1 amd64        office productivity suite -- arch-dependent files
ii  libreoffice-draw                      1:7.1.5-0ubuntu0.21.04.1 amd64        office productivity suite -- drawing
ii  libreoffice-impress                   1:7.1.5-0ubuntu0.21.04.1 amd64        office productivity suite -- presentation
ii  libreoffice-math                      1:7.1.5-0ubuntu0.21.04.1 amd64        office productivity suite -- equation editor
ii  libreoffice-style-colibre             1:7.1.5-0ubuntu0.21.04.1 all          office productivity suite -- colibre symbol style
ii  libreoffice-writer                    1:7.1.5-0ubuntu0.21.04.1 amd64        office productivity suite -- word processor

I tried updating the system software, creating a new user, and from that user launching LibreOffice Writer.

Same result. No feedback from the application whatsoever, not even to stderr/stdout.
Comment 4 Julien Nabet 2021-09-20 19:46:02 UTC
Xisco/Timur/Ilmari: do you reproduce this?
Could it be Ubuntu only bug?
Comment 5 Buovjaga 2021-09-21 05:23:23 UTC
https://bugs.launchpad.net/ubuntu/+source/libreoffice/+bug/1790294

Cecilia & Ismael: please check, if you have libreoffice-base package installed or not. As you can see from the report above, Ubuntu has its own issues related to this separation of packaging.
Comment 6 Ismael Luceno 2021-09-21 13:26:06 UTC
Yes, installing libreoffice-base solved the issue, but still, when not installed, no dialog was shown.
Comment 7 Buovjaga 2021-09-21 13:29:41 UTC
Thanks, so it's indeed an Ubuntu issue.
Comment 8 Ismael Luceno 2021-09-21 13:43:37 UTC
(In reply to Buovjaga from comment #7)
> Thanks, so it's indeed an Ubuntu issue.

Unless Ubuntu patched that specific portion, not really, the installation may be mangled for other reasons, and the application should report this to the user...
Comment 9 Buovjaga 2021-09-21 13:49:02 UTC
(In reply to Ismael Luceno from comment #8)
> (In reply to Buovjaga from comment #7)
> > Thanks, so it's indeed an Ubuntu issue.
> 
> Unless Ubuntu patched that specific portion, not really, the installation
> may be mangled for other reasons, and the application should report this to
> the user...

Ok, let me try to explain: you are not supposed to supply LibreOffice with the applications separately installed. Ubuntu chooses to do this and as we see from the Launchpad bug I linked to in comment 5, they have a workaround mechanism that *should* open Software Centre when you click Tools -> Bibliography.
Comment 10 Timur 2021-09-21 15:40:44 UTC
NotOurBug becomes Moved, if bug is reported and known there, so I change.
Comment 11 Ismael Luceno 2021-09-21 16:45:00 UTC
(In reply to Buovjaga from comment #9)
> (In reply to Ismael Luceno from comment #8)
> > (In reply to Buovjaga from comment #7)
> > > Thanks, so it's indeed an Ubuntu issue.
> > 
> > Unless Ubuntu patched that specific portion, not really, the installation
> > may be mangled for other reasons, and the application should report this to
> > the user...
> 
> Ok, let me try to explain: you are not supposed to supply LibreOffice with
> the applications separately installed. Ubuntu chooses to do this and as we
> see from the Launchpad bug I linked to in comment 5, they have a workaround
> mechanism that *should* open Software Centre when you click Tools ->
> Bibliography.

Operating systems may disagree about how it should be installed, but that's not the only reason the files might be missing; shouldn't the software always report some error in cases like these?

I've checked debian changes, but it seems there's no changes specific to Debian/Ubuntu. The build script just moves files around.

I've confirmed the behavior is the same in Debian, up to Sid with LibreOffice 7.2.1. We can reasonably assume this affects all debian-derived distributions, as well as others using similar packaging approaches.

On Void-Linux, which similarly splits the installation, but has a slightly older version (7.1.3.2), it just crashes the application.

So this is a widespread issue.

I've traced the fix to the crash to commit 1889c1af41650576a29c587a0b2cdeaf0d297587:
https://cgit.freedesktop.org/libreoffice/core/commit/?id=1889c1af41650576a29c587a0b2cdeaf0d297587

Which indeed doesn't implement any feedback.
Comment 12 Julien Nabet 2021-09-21 18:42:14 UTC
Rene: any thoughts about libreoffice-base dependency in Debian ?
I didn't think we may install LO with Base part.
Comment 13 Rene Engelhard 2021-09-21 19:29:37 UTC
A) TDF also provides a separate -base package (though admittedly not as agressively split as we did)

B) -writer DOES Suggest -base because if exactly this reason and apt shows so. Mit installing Base then is a deliberate admin choice

C) -base is extra because of principle (one doesn't need all stuff if you just want e.g. writer) but also because if it's dependencies - e.g. Java


No change intended there and this is basically a admin/user error.
Comment 14 Julien Nabet 2021-09-21 19:58:05 UTC Comment hidden (obsolete)
Comment 15 Julien Nabet 2021-09-21 19:59:40 UTC
(In reply to Julien Nabet from comment #14)
> If I understand well, it should be rather NOTABUG then?
> 
> In this case, perhaps documentation page,
> https://help.libreoffice.org/7.2/en-US/text/swriter/guide/indices_literature.
> html?&DbPAR=WRITER&System=UNIX, should indicate libreoffice-base is
> mandatory to use bibliography and we may recycle this bug as documentation
> enhancement?

Sorry it can't be NOTABUG and recycled in a enhancement at the same time of course, it should be one or the other.
Comment 16 Rene Engelhard 2021-09-21 20:04:24 UTC
Sorry, written in the subway from mobile phone...

> Mit installing Base then is a deliberate admin choice

Mit -> Not.

> C) -base is extra because of principle (one doesn't need all stuff if you just want e.g. writer) but also because if it's dependencies - e.g. Java

it's -> its ;-)
Comment 17 Rene Engelhard 2021-09-21 20:07:53 UTC
But yes, I *DO* believe that LO should handle it more gracefully and tell people the needed stuff is missing.
Comment 18 Ismael Luceno 2021-09-21 23:50:11 UTC
*Some* GUI feedback is necessary.
Comment 19 Julien Nabet 2021-09-22 19:10:19 UTC
Heiko/Xisco: in brief, I suppose we need an else case here:

162 if (officecfg::Office::Common::PackageKit::EnableBaseInstallation::get())
163 {
164     try
165     {
166         using namespace org::freedesktop::PackageKit;
167         using namespace svtools;
168         Reference< XSyncDbusSessionHelper > xSyncDbusSessionHelper(SyncDbusSessionHelper::create(comphelper::getProcessComponentContext()));
169         Sequence< OUString > vPackages { "libreoffice-base" };
170         xSyncDbusSessionHelper->InstallPackageNames(vPackages, OUString());
171         // I'll be back (hopefully)!
172         SolarMutexGuard aGuard;
173         executeRestartDialog(comphelper::getProcessComponentContext(), nullptr, RESTART_REASON_BIBLIOGRAPHY_INSTALL);
174     }
175     catch (const Exception &)
176     {
177         TOOLS_INFO_EXCEPTION("sfx.appl", "trying to install LibreOffice Base");
178     }
179 }
180 return;

(See https://opengrok.libreoffice.org/xref/core/sfx2/source/appl/appserv.cxx?r=e1138605#162)

The else case would contain a dialog indicating something like:
"You need to install Base part to use bibliography."
What do you think?
Comment 20 Ismael Luceno 2021-09-23 08:42:59 UTC
(In reply to Julien Nabet from comment #19)
> Heiko/Xisco: in brief, I suppose we need an else case here:
> 
> 162 if (officecfg::Office::Common::PackageKit::EnableBaseInstallation::get())
> 163 {
> 164     try
> 165     {
> 166         using namespace org::freedesktop::PackageKit;
> 167         using namespace svtools;
> 168         Reference< XSyncDbusSessionHelper >
> xSyncDbusSessionHelper(SyncDbusSessionHelper::create(comphelper::
> getProcessComponentContext()));
> 169         Sequence< OUString > vPackages { "libreoffice-base" };
> 170         xSyncDbusSessionHelper->InstallPackageNames(vPackages,
> OUString());
> 171         // I'll be back (hopefully)!
> 172         SolarMutexGuard aGuard;
> 173         executeRestartDialog(comphelper::getProcessComponentContext(),
> nullptr, RESTART_REASON_BIBLIOGRAPHY_INSTALL);
> 174     }
> 175     catch (const Exception &)
> 176     {
> 177         TOOLS_INFO_EXCEPTION("sfx.appl", "trying to install LibreOffice
> Base");
> 178     }
> 179 }
> 180 return;
> 
> (See
> https://opengrok.libreoffice.org/xref/core/sfx2/source/appl/appserv.
> cxx?r=e1138605#162)
> 
> The else case would contain a dialog indicating something like:
> "You need to install Base part to use bibliography."
> What do you think?

+1
Comment 21 Heiko Tietze 2021-09-29 11:25:47 UTC
(In reply to Julien Nabet from comment #19)
> Heiko/Xisco: in brief, I suppose we need an else case here:

Either disable the command if not applicable (since it actually would never work it has to be hidden) or show some actionable information like "In order to use the bibliography you need to install Base". Since bibliography is a basic feature we better do the second.
Comment 22 Ismael Luceno 2021-09-29 18:58:44 UTC
Created attachment 175379 [details]
patch - first try
Comment 23 Heiko Tietze 2021-09-30 07:33:38 UTC
Ismael, feel free to submit patches in WIP state to Gerrit too. See https://wiki.documentfoundation.org/Development/gerrit/SubmitPatch
Comment 24 Julien Nabet 2021-09-30 10:58:05 UTC
(In reply to Ismael Luceno from comment #22)
> Created attachment 175379 [details]
> patch - first try

Just for information, the message will only be on console/terminal and won't be displayed on LO. Now perhaps it would be sufficient anyway?
Comment 25 Ismael Luceno 2021-10-02 17:28:04 UTC
Patch submitted here: https://gerrit.libreoffice.org/c/core/+/123004