guile-2.2 FTBFS on bionic on x86_64?

Bug #1734575 reported by Dan Kegel
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
guile-2.2 (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

On bionic, guile-2.2 has a source package, but no x86_64 build yet. I need it on x86_64, so I tried it myself.
Unsurprisingly, it didn't work.

To repeat:

sudo lxc-create -n bionic -t download

to create a bionic build system, then in there, do

sudo apt install build-essential devscripts equivs
apt source guile-2.2
cd guile-2.2-2.2.2+2
sudo mk-build-deps -i
debuild -b -uc -us

That fails with
...
wrote `/home/ubuntu/buggy/guile-2.2-2.2.2+2/cache/guile/ccache/2.2-LE-8-3.A/home/ubuntu/buggy/guile-2.2-2.2.2+2/test-suite/standalone/test-out-of-memory.go'
GC Warning: Failed to expand heap by 134348800 bytes
GC Warning: Failed to expand heap by 134217728 bytes
GC Warning: Out of Memory! Heap size: 1 MiB. Returning NULL!
error creating finalization thread: Cannot allocate memory
GC Warning: Failed to expand heap by 1000132608 bytes
GC Warning: Failed to expand heap by 1000001536 bytes
GC Warning: Out of Memory! Heap size: 1 MiB. Returning NULL!
GC Warning: Failed to expand heap by 499712 bytes
GC Warning: Failed to expand heap by 65536 bytes
GC Warning: Out of Memory! Heap size: 1 MiB. Returning NULL!
GC Warning: Failed to expand heap by 499712 bytes
GC Warning: Failed to expand heap by 65536 bytes
GC Warning: Out of Memory! Heap size: 1 MiB. Returning NULL!
Warning: Unwind-only `out-of-memory' exception; skipping pre-unwind handler.
FAIL: test-out-of-memory
==================================
1 of 39 tests failed
Please report to <email address hidden>

Maybe guile expects libgc to be built with --enable-munmap, but
when I tried that, the test core dumped instead of failing.
(Adding that flag caused warnings about ABI changes, though, so who knows, maybe I screwed up.)

Alternately, maybe this package should simply disable that test for now, as
http://lists.gnu.org/archive/html/guile-user/2017-11/msg00063.html indicates it's flaky.

Tags: bionic ftbfs
Revision history for this message
Dan Kegel (dank) wrote :

Interestingly, building the backport in the guix ppa on xenial
also shows most of those GC warnings, but its output lacks the line

Warning: Unwind-only `out-of-memory' exception; skipping pre-unwind handler.

and is shown as passing the test.

Also, there may be some related discussion at
https://lists.gnu.org/archive/html/help-guix/2017-11/msg00016.html

Revision history for this message
Dan Kegel (dank) wrote :

Fun fact: the xenial backport from

sudo add-apt-repository ppa:vidme/guix
sudo vi /etc/apt/sources.list.d/vidme-ubuntu-guix-xenial.list # enable source repo
sudo apt update
apt source guile-2.2
tar -czvf guile-2.2-2.2.2.tar.gz guile-2.2-2.2.2

builds fine on ubuntu 16.04 -- although the GC Warnings occur, they do not result in a failure --
but if built on ubuntu 17.10, fails to build.

Something changed between ubuntu 16.04 and ubuntu 17.10 that triggers or exposes this problem.

libgc version on Xenial: 1:7.4.2-7.3ubuntu0.1 and on Bionic: 1:7.4.2-8ubuntu1

I suppose next step is to try it on 16.10 and 17.04.

Revision history for this message
Dan Kegel (dank) wrote :

Built ok on 17.04, where libgc-dev is also 1:7.4.2-8ubuntu1

Is difference gcc?
17.04: 4:6.3.0-2ubuntu1 17.10: 4:7.2.0-1ubuntu1

Yes! On 17.10, I can build ok if I first do

  sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 6 --slave /usr/bin/g++ g++ /usr/bin/g++-6
  sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 7 --slave /usr/bin/g++ g++ /usr/bin/g++-7
  sudo update-alternatives --config gcc

and pick gcc-6 as the default.

Sooo... what's up with that?

Revision history for this message
Dan Kegel (dank) wrote :
tags: added: bionic ftbfs
Revision history for this message
Dan Kegel (dank) wrote :

Oddly, I can't reproduce this today.

$ gcc --version
gcc (Ubuntu 7.2.0-18ubuntu2) 7.2.0

https://launchpad.net/ubuntu/+source/gcc-7/7.2.0-18ubuntu2 landed on Dec 16 and has all
sorts of fixes that seem like they could have fixed some horrible low-level problem
that caused the failure.

Could somebody please bump the amd64 build and see if it succeeds now?

Revision history for this message
Dan Kegel (dank) wrote :

Nevermind, it failed on the next try.

Revision history for this message
Dan Kegel (dank) wrote :

Out of 51 tries, a little more than half fail:
     29 FAIL: test-out-of-memory
     22 PASS: test-out-of-memory

Revision history for this message
Jeremy Bícha (jbicha) wrote :

This build should work (give it a few hours):

https://launchpad.net/ubuntu/+source/guile-2.2/2.2.3+1-3

Changed in guile-2.2 (Ubuntu):
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Related questions

Remote bug watches

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