autopkgtests failures on armhf of 7.1.4

Bug #1931701 reported by Rico Tzschichholz
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
gcc-10 (Ubuntu)
Won't Fix
Undecided
Unassigned
Hirsute
Won't Fix
Undecided
Unassigned
Impish
Won't Fix
Undecided
Unassigned
gcc-9 (Ubuntu)
Won't Fix
Undecided
Unassigned
Hirsute
Won't Fix
Undecided
Unassigned
Impish
Won't Fix
Undecided
Unassigned
libreoffice (Ubuntu)
Fix Released
High
Rico Tzschichholz
Hirsute
Won't Fix
High
Rico Tzschichholz
Impish
Fix Released
High
Rico Tzschichholz

Bug Description

The autopkgtests for 7.1.4~rc2-0ubuntu1 on impish/armhf has started to fail reliably.
https://autopkgtest.ubuntu.com/results/autopkgtest-impish/impish/armhf/libr/libreoffice/20210610_121847_0ab56@/log.gz

========

"/usr/lib/libreoffice/program/unopkg" add -f "/tmp/tmp.oOlP0i1pzN/out/sdk/LINUXexample.out/bin/SampleDialog.oxt"
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0xf47474b8, pid=35616, tid=35643
#
# JRE version: OpenJDK Runtime Environment (11.0.12+4) (build 11.0.12-ea+4-Ubuntu-0ubuntu2)
# Java VM: OpenJDK Server VM (11.0.12-ea+4-Ubuntu-0ubuntu2, mixed mode, g1 gc, linux-)
# Problematic frame:
# C [libbootstraplo.so+0x1c4b8] stoc_impreg::mergeKeys(com::sun::star::uno::Reference<com::sun::star::registry::XRegistryKey> const&, com::sun::star::uno::Reference<com::sun::star::registry::XRegistryKey> const&, std::vector<stoc_impreg::(anonymous namespace)::Link, std::allocator<stoc_impreg::(anonymous namespace)::Link> >&)+0xb
#
# Core dump will be written. Default location: Core dumps may be processed with "/usr/share/apport/apport %p %s %c %d %P %E" (or dumping to /usr/lib/libreoffice/sdk/examples/DevelopersGuide/BasicAndDialogs/CreatingDialogs/core.35616)
#
# An error report file with more information is saved as:
# /tmp/hs_err_pid35616.log
#
# If you would like to submit a bug report, please visit:
# https://bugs.launchpad.net/ubuntu/+source/openjdk-lts
#
ERROR: Exception occurred: Binary URP bridge disposed during call ./binaryurp/source/bridge.cxx:613

ERROR: unopkg failed.

make[1]: Leaving directory '/usr/lib/libreoffice/sdk/examples/DevelopersGuide/BasicAndDialogs/CreatingDialogs'
make[1]: *** [Makefile:112: /tmp/tmp.oOlP0i1pzN/out/sdk/LINUXexample.out/misc/devguide_basicanddialogs_creatingdialogs_register_component.flag] Error 1
make[1]: Target 'ALL' not remade because of errors.
make: *** [/tmp/autopkgtest.U74TIg/build.myd/src/odk/CustomTarget_build-examples_java.mk:62: /tmp/autopkgtest.U74TIg/build.myd/src/workdir/CustomTarget/odk/build-examples_java.done] Error 2
make: Target 'CustomTarget_odk/build-examples_java' not remade because of errors.

========

While a re-run of the test for 7.1.3-0ubuntu1 were successful it suggests it is binary problem.
https://autopkgtest.ubuntu.com/results/autopkgtest-impish/impish/armhf/libr/libreoffice/20210609_234830_1265b@/log.gz

liberoffice is built with gcc-9/g++-9 on armhf to avoid https://bugs.launchpad.net/ubuntu/+source/gcc-10/+bug/1891623

A significant difference in the used toolchain points to the update of gcc-9

7.1.3-0ubuntu1 was built with gcc 9.3.0-24ubuntu1
https://launchpadlibrarian.net/537628130/buildlog_ubuntu-impish-armhf.libreoffice_1%3A7.1.3-0ubuntu1_BUILDING.txt.gz

7.1.4~rc2-0ubuntu1 was built with gcc 9.4.0-1ubuntu1
https://launchpadlibrarian.net/542492348/buildlog_ubuntu-impish-armhf.libreoffice_1%3A7.1.4~rc2-0ubuntu1_BUILDING.txt.gz

--------

Regarding 21.04/Hirsute

1:7.1.4~rc2-0ubuntu0.21.04.1~lo1 built and successfully ran autopkgtests, see https://bugs.launchpad.net/ubuntu/+source/libreoffice/+bug/1931272
If was using the gcc-9 9.3.0-23ubuntu2 available at the time.

The no-change rebuild against 9.4.0-1ubuntu1~21.04 results in the same failure now.
https://launchpadlibrarian.net/543392061/buildlog_ubuntu-hirsute-armhf.libreoffice_1%3A7.1.4~rc2-0ubuntu0.21.04.1~lo1_BUILDING.txt.gz
https://autopkgtest.ubuntu.com/results/autopkgtest-hirsute-libreoffice-experimental/hirsute/armhf/libr/libreoffice/20210612_113218_f7f69@/log.gz

Tags: patch
Changed in libreoffice (Ubuntu):
importance: Undecided → High
description: updated
Revision history for this message
Matthias Klose (doko) wrote :

why are you using GCC 9? We default to GCC 10 for a while, and are about to switch to GCC 11.

Revision history for this message
Rico Tzschichholz (ricotz) wrote :

@doko As mentioned above, liberoffice is built with gcc-9/g++-9 on armhf to avoid https://bugs.launchpad.net/ubuntu/+source/gcc-10/+bug/1891623

description: updated
no longer affects: libreoffice (Ubuntu Focal)
no longer affects: gcc-9 (Ubuntu Focal)
Changed in libreoffice (Ubuntu Hirsute):
importance: Undecided → High
description: updated
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package libreoffice - 1:7.1.4-0ubuntu1

---------------
libreoffice (1:7.1.4-0ubuntu1) impish; urgency=medium

  * New upstream release
  * Use gcc 8 on armhf to avoid autopkgtest failure with gcc 9
    (LP: #1931701)

 -- Rico Tzschichholz <email address hidden> Thu, 17 Jun 2021 15:35:43 +0200

Changed in libreoffice (Ubuntu Impish):
status: New → Fix Released
Revision history for this message
Matthias Klose (doko) wrote :

Using a three year old compiler is not a fix, but a work around. Please start investigating this properly.

https://bugs.launchpad.net/ubuntu/+source/gcc-10/+bug/1891623/comments/8
suggests to do a proper debug build at least. This was filed ten months ago ...

Changed in libreoffice (Ubuntu Impish):
status: Fix Released → New
tags: added: rls-ii-incoming
Revision history for this message
Rico Tzschichholz (ricotz) wrote :
Revision history for this message
Sebastien Bacher (seb128) wrote :

@Matthias, since that's a regression following a gcc update maybe you could help with the debugging?

Iain Lane (laney)
Changed in libreoffice (Ubuntu Hirsute):
assignee: nobody → Rico Tzschichholz (ricotz)
Changed in libreoffice (Ubuntu Impish):
assignee: nobody → Rico Tzschichholz (ricotz)
Revision history for this message
Matthias Klose (doko) wrote :

@Sebastien, even identifying the exact change in gcc-9 won't be enough. It boils down to a miscompiled issue in two million lines of code. Already ten months ago, I asked to do proper debugging in LO, see LP: #1891623. However every bug I filed (comment #8) to get the debugging easier, or even possible was triaged as not affecting the user, and apparently delayed. There are two sides of the issue, one is to produce a test case below the two million line code mark, and below the 48 hour build mark. Helping yes, but doing that on my own, no.

Revision history for this message
Rico Tzschichholz (ricotz) wrote :

Bisecting this in gcc-9 points to https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=49cc1253d079bbefc18275f29adc526679422176

Preparing a patched gcc-9 based on 9.4.0-1ubuntu1 by reverting this specific change has confirmed it. libreoffice 7.1.4-0ubuntu1, using gcc-9 on armhf again, built and passed the failing test.

tags: added: patch
tags: removed: rls-ii-incoming
Revision history for this message
Matthias Klose (doko) wrote :

please don't revert this commit yet. Does this resolve the issue for gcc-10 and/or -11 as well?

Revision history for this message
Matthias Klose (doko) wrote :

the test case pr96796.c added in this commit passes on armhf. same for gcc-10. Please could you provide a test case?

Changed in gcc-9 (Ubuntu Hirsute):
status: New → Incomplete
Changed in gcc-9 (Ubuntu Impish):
status: New → Incomplete
Matthias Klose (doko)
tags: removed: patch
Revision history for this message
Rico Tzschichholz (ricotz) wrote :

The problems with gcc-10 occurred way before 10.3.0/10.4.0, so this commit might cause the same regression in addition to the existing one. Note that the original PR96796 patch is different and was altered for gcc-9.

Of course the test-case for PR96796 passes, but the change itself causes the regression in libreoffice. As of now I still can't provide a basic reproducer.

tags: added: patch
Revision history for this message
Rico Tzschichholz (ricotz) wrote :

The problem is actually located in libbootstraplo.so as the trace already suggested.
Replacing the library with a "good" compilation confirmed it.

# Problematic frame:
# C [libbootstraplo.so+0x1c4b8] stoc_impreg::mergeKeys(com::sun::star::uno::Reference<com::sun::star::registry::XRegistryKey> const&, com::sun::star::uno::Reference<com::sun::star::registry::XRegistryKey> const&, std::vector<stoc_impreg::(anonymous namespace)::Link, std::allocator<stoc_impreg::(anonymous namespace)::Link> >&)+0xb

https://cgit.freedesktop.org/libreoffice/core/tree/stoc/source/implementationregistration/mergekeys.cxx?h=libreoffice-7-1#n54

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package libreoffice - 1:7.1.5~rc2-0ubuntu1

---------------
libreoffice (1:7.1.5~rc2-0ubuntu1) impish; urgency=medium

  * New upstream release candidate
  * Bump yaru source to "2021-07-02"
  * Force noopt (thus also build with --disable-optimized) on armhf and
    build with default gcc (LP: #1931701)

 -- Rico Tzschichholz <email address hidden> Sun, 18 Jul 2021 20:52:33 +0200

Changed in libreoffice (Ubuntu Impish):
status: New → Fix Released
Revision history for this message
Matthias Klose (doko) wrote :

this is still missing a test case

Revision history for this message
Brian Murray (brian-murray) wrote :

The Hirsute Hippo has reached End of Life, so this bug will not be fixed for that release.

Changed in libreoffice (Ubuntu Hirsute):
status: New → Won't Fix
Changed in gcc-9 (Ubuntu Hirsute):
status: Incomplete → Won't Fix
Changed in gcc-10 (Ubuntu Hirsute):
status: New → Won't Fix
Changed in gcc-10 (Ubuntu Impish):
status: New → Won't Fix
Rik Mills (rikmills)
Changed in gcc-9 (Ubuntu Impish):
status: Incomplete → Won't Fix
Changed in gcc-9 (Ubuntu):
status: Incomplete → Won't Fix
Matthias Klose (doko)
Changed in gcc-10 (Ubuntu):
status: New → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.