[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#907397: libreoffice: writer crashes when trying to insert more fields



Hi,

On Mon, Aug 27, 2018 at 04:45:34PM +0200, Olivier Tilloy wrote:
> Steps to reproduce:
>  1) Launch libreoffice-writer
>  2) Click on the "Insert" menu, then "Field" > "More Fields…"
> 
> Expected result: a dialog to select the type and contents of the field is
> shown.
> Current result: libreoffice crashes instantly.
> 
> I found that installing libreoffice-base-drivers makes the crash go away. The

So maybe we should recommend it then?

> one library from that package that seems to be required is libdbahsqllo.so.

Hmm, that sounds like a bug anyways...

>From my memory and from git log this is I think that file is the hsqldb binary importer?

[...]
commit 60ac7418747530a006894a7941c67c5006d6158c
Author: Tamas Bunth <tamas.bunth@collabora.co.uk>
Date:   Wed Feb 28 21:40:06 2018 +0100

    HSQLDB Binary import
    
    C++ implementation of reading HSQL's binary file format. This file
    contains the actual rows for the tables, represented in an AVL tree.
    
    Import starts from HsqlImporter, which calls to SchemaParser for some
    metadata (the positions of the trees in "data" file). After that it goes
    through the tree and read up the rows using HsqlRowInputStream.
    
    Finally, it uses sdbc's XPreparedStatement to insert the rows to the
    actual database.
    
    Change-Id: If4b17572e5989c218d45880bc3fd5a8820bb4101
    Reviewed-on: https://gerrit.libreoffice.org/50536
    Reviewed-by: Tamás Bunth <btomi96@gmail.com>
    Tested-by: Tamás Bunth <btomi96@gmail.com>

commit 95bece38ac5c943657ad959cad148c84a91d45a4
Author: Tamas Bunth <tamas.bunth@collabora.co.uk>
Date:   Mon Jan 8 15:57:39 2018 +0100

    Add HSQLDB schema import
    
    It can be enabled by initializing the DBACCESS_HSQL_MIGRATION variable.
    
    Create new library "dbahsql" which is responsible for migrating the
    embedded hsql database to any database covered by sdbc.
    
    The hsqldb schema is stored in a file named "script" in form of SQL
    statements. The SQL statements used by DBMS's differ mostly by the
    defined types. Because of that, only the create statements need to be
    parsed, alter statements will work (with a little luck) without actually
    modifying it.
    
    User / security settings which can occur in the script file (e.g. GRANT
    statements) are dropped. Statements starting with SET are also dropped
    (they are hsql specific stuff)
    
    Change-Id: I6a22942e8a9a76765f80e50f0ad68f4d72e1ff9d
    Reviewed-on: https://gerrit.libreoffice.org/48260
    Tested-by: Jenkins <ci@libreoffice.org>
    Reviewed-by: Tamás Bunth <btomi96@gmail.com>

Yup.

>From the name I'd put it into -sdbc-hsqldb but that is too opaque and more
hidden and  subject to go away anyway when hsqldb finally was removed, which I can't wait for :))

We already put libdbalo.so into a -base-core. That would mean a simple (untested as of yet)

diff --git a/control.in b/control.in
index d747781b..0997189d 100644
--- a/control.in
+++ b/control.in
@@ -330,15 +330,17 @@ Depends: libreoffice-core (= ${binary:Version}),
          ${misc:Depends},
          ${shlibs:Depends}
 Suggests: libreoffice-base
+Replaces: libreoffice-base-drivers (<< 1:6.1.1~rc1-2)
 Description: office productivity suite -- shared library
  LibreOffice is a full-featured office productivity suite that provides
  a near drop-in replacement for Microsoft(R) Office.
  .
- This package contains libdba, a common library of the LibreOffice
- suite used by Base, Writer and Calc.
+ This package contains common libraries of LibreOffice Base used by
+ Base, Writer and Calc.
  .
  If you need full Base functionality (or actual database drivers), please
- install libreoffice-base.
+ install libreoffice-base (and/or libreoffice-base-drivers and/o
+ libreoffice-sdbc-*).
 
 Package: libreoffice-base
 Architecture: %OOO_BASE_ARCHS%
diff --git a/rules b/rules
index 0db588ea..4a8fa393 100755
--- a/rules
+++ b/rules
@@ -2756,6 +2756,8 @@ ifeq "$(PACKAGE_BASE)" "y"
        mkdir -p $(PKGDIR)-base-core/$(OODIR)/program
        mv $(PKGDIR)-base/$(OODIR)/program/libdbalo.so \
                $(PKGDIR)-base-core/$(OODIR)/program
+       mv $(PKGDIR)-base/$(OODIR)/program/libdbahsqllo.so \
+               $(PKGDIR)-base-core/$(OODIR)/program
 endif
 
 ifeq "$(ENABLE_JAVA)" "y"

(+ regen of control)

should do it?

Regards,

Rene


Reply to: