GNU bug report logs - #29464
gcc-7 breaks guile-2.2.2?

Previous Next

Package: guile;

Reported by: Dan Kegel <dank <at> kegel.com>

Date: Mon, 27 Nov 2017 06:38:01 UTC

Severity: normal

To reply to this bug, email your comments to 29464 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guile <at> gnu.org:
bug#29464; Package guile. (Mon, 27 Nov 2017 06:38:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Dan Kegel <dank <at> kegel.com>:
New bug report received and forwarded. Copy sent to bug-guile <at> gnu.org. (Mon, 27 Nov 2017 06:38:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Dan Kegel <dank <at> kegel.com>
To: bug-guile <at> gnu.org
Subject: gcc-7 breaks guile-2.2.2?
Date: Sun, 26 Nov 2017 20:17:59 -0800
Building guile-2.2.2 seems fine on Ubuntu 17.04, but fails with

Warning: Unwind-only `out-of-memory' exception; skipping pre-unwind handler.
FAIL: test-out-of-memory
==================================
1 of 39 tests failed
Please report to bug-guile <at> gnu.org

on Ubuntu 17.10.  libgc is the same version on both, but gcc is different...
and if I pick gcc-6 on ubuntu 17.10 (instead of the default gcc-7),
it seems to succeed.

Mentioned at
https://bugs.launchpad.net/ubuntu/+source/guile-2.2/+bug/1734575
https://lists.gnu.org/archive/html/guile-user/2017-11/msg00062.html
Possibly related to
https://lists.gnu.org/archive/html/help-guix/2017-11/msg00016.html




Information forwarded to bug-guile <at> gnu.org:
bug#29464; Package guile. (Mon, 27 Nov 2017 16:43:01 GMT) Full text and rfc822 format available.

Message #8 received at 29464 <at> debbugs.gnu.org (full text, mbox):

From: Dan Kegel <dank <at> kegel.com>
To: 29464 <at> debbugs.gnu.org
Subject: Re: bug#29464: gcc-7 breaks guile-2.2.2?
Date: Mon, 27 Nov 2017 08:42:19 -0800
Update from http://lists.gnu.org/archive/html/guile-user/2017-11/msg00066.html :

---snip---
With gcc-7.2.0 and gcc-6.4.0, both built from source (just guile/configure ...
CC=gcc-X.X).

- stable-2.2 with 6.4 passes the tests every time.

- stable 2.2 with 7.2 fails on test-out-of-memory. Running make check
repeatedly I got F F F P F  F P P P P  F F F F P.
---snip---




Information forwarded to bug-guile <at> gnu.org:
bug#29464; Package guile. (Fri, 29 Dec 2017 00:10:01 GMT) Full text and rfc822 format available.

Message #11 received at 29464 <at> debbugs.gnu.org (full text, mbox):

From: Rob Browning <rlb <at> defaultvalue.org>
To: Dan Kegel <dank <at> kegel.com>, 29464 <at> debbugs.gnu.org
Subject: Re: bug#29464: gcc-7 breaks guile-2.2.2?
Date: Thu, 28 Dec 2017 18:09:51 -0600
Dan Kegel <dank <at> kegel.com> writes:

> Building guile-2.2.2 seems fine on Ubuntu 17.04, but fails with
>
> Warning: Unwind-only `out-of-memory' exception; skipping pre-unwind handler.
> FAIL: test-out-of-memory
> ==================================
> 1 of 39 tests failed
> Please report to bug-guile <at> gnu.org

I also see this with 2.2.3, and assuming it's the same issue, I think
I've figured out one thing that reliably triggers it:

  CFLAGS=...-fstack-protector-strong

By default in Debian we build using the dpkg-buildpackage flags with a
(possibly vestigial) -O0 override on amd64, i.e. we have:

  $ DEB_CFLAGS_MAINT_APPEND=-O0 dpkg-buildflags
  CFLAGS=-g -O2 -fdebug-prefix-map=/home/rlb/src/guile=. -fstack-protector-strong -Wformat -Werror=format-security -O0
  CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2
  CXXFLAGS=-g -O2 -fdebug-prefix-map=/home/rlb/src/guile=. -fstack-protector-strong -Wformat -Werror=format-security
  FCFLAGS=-g -O2 -fdebug-prefix-map=/home/rlb/src/guile=. -fstack-protector-strong
  FFLAGS=-g -O2 -fdebug-prefix-map=/home/rlb/src/guile=. -fstack-protector-strong
  GCJFLAGS=-g -O2 -fdebug-prefix-map=/home/rlb/src/guile=. -fstack-protector-strong
  LDFLAGS=-Wl,-z,relro
  OBJCFLAGS=-g -O2 -fdebug-prefix-map=/home/rlb/src/guile=. -fstack-protector-strong -Wformat -Werror=format-security
  OBJCXXFLAGS=-g -O2 -fdebug-prefix-map=/home/rlb/src/guile=. -fstack-protector-strong -Wformat -Werror=format-security

In current Debian unstable, this crashes in test-out-of-memory as above:

  PASS: test-smob-mark
  PASS: test-smob-mark-race
  wrote `/<<BUILDDIR>>/guile-2.2-2.2.3+1/cache/guile/ccache/2.2-LE-8-3.A/<<BUILDDIR>>/guile-2.2-2.2.3+1/test-suite/standalone/test-stack-overflow.go'
  allocate_stack failed: Cannot allocate memory
  allocate_stack failed: Cannot allocate memory
  allocate_stack failed: Cannot allocate memory
  allocate_stack failed: Cannot allocate memory
  allocate_stack failed: Cannot allocate memory
  PASS: test-stack-overflow
  wrote `/<<BUILDDIR>>/guile-2.2-2.2.3+1/cache/guile/ccache/2.2-LE-8-3.A/<<BUILDDIR>>/guile-2.2-2.2.3+1/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 bug-guile <at> gnu.org
  ==================================

After investigating for a while, I found that just this was enough to
cause the crash when building from the 2.2.3 release archive:

  CFLAGS='-fstack-protector-strong' ./configure
  make check

If that flag is the problem, I'm wondering whether for now I'd be better
off quashing it, or temporarily disabling the test.  i.e. is the test
detecting that something's actually wrong, or does the flag just break
one of the test's assumptions?

Thanks
-- 
Rob Browning
rlb @defaultvalue.org and @debian.org
GPG as of 2011-07-10 E6A9 DA3C C9FD 1FF8 C676 D2C4 C0F0 39E9 ED1B 597A
GPG as of 2002-11-03 14DD 432F AE39 534D B592 F9A0 25C8 D377 8C7E 73A4




Information forwarded to bug-guile <at> gnu.org:
bug#29464; Package guile. (Fri, 29 Dec 2017 00:54:01 GMT) Full text and rfc822 format available.

Message #14 received at 29464 <at> debbugs.gnu.org (full text, mbox):

From: Dan Kegel <dank <at> kegel.com>
To: Rob Browning <rlb <at> defaultvalue.org>
Cc: 29464 <at> debbugs.gnu.org
Subject: Re: bug#29464: gcc-7 breaks guile-2.2.2?
Date: Thu, 28 Dec 2017 16:53:00 -0800
Does the bug even happen without the vestigal -O0 ?
I removed that and things seem to be going better in 2.2.3,
0 failures out of 4 runs :-)
See https://launchpad.net/~dank/+archive/ubuntu/guile-2.2/+packages

On Thu, Dec 28, 2017 at 4:09 PM, Rob Browning <rlb <at> defaultvalue.org> wrote:
> Dan Kegel <dank <at> kegel.com> writes:
>
>> Building guile-2.2.2 seems fine on Ubuntu 17.04, but fails with
>>
>> Warning: Unwind-only `out-of-memory' exception; skipping pre-unwind handler.
>> FAIL: test-out-of-memory
>> ==================================
>> 1 of 39 tests failed
>> Please report to bug-guile <at> gnu.org
>
> I also see this with 2.2.3, and assuming it's the same issue, I think
> I've figured out one thing that reliably triggers it:
>
>   CFLAGS=...-fstack-protector-strong
>
> By default in Debian we build using the dpkg-buildpackage flags with a
> (possibly vestigial) -O0 override on amd64, i.e. we have:
>
>   $ DEB_CFLAGS_MAINT_APPEND=-O0 dpkg-buildflags
>   CFLAGS=-g -O2 -fdebug-prefix-map=/home/rlb/src/guile=. -fstack-protector-strong -Wformat -Werror=format-security -O0
>   CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2
>   CXXFLAGS=-g -O2 -fdebug-prefix-map=/home/rlb/src/guile=. -fstack-protector-strong -Wformat -Werror=format-security
>   FCFLAGS=-g -O2 -fdebug-prefix-map=/home/rlb/src/guile=. -fstack-protector-strong
>   FFLAGS=-g -O2 -fdebug-prefix-map=/home/rlb/src/guile=. -fstack-protector-strong
>   GCJFLAGS=-g -O2 -fdebug-prefix-map=/home/rlb/src/guile=. -fstack-protector-strong
>   LDFLAGS=-Wl,-z,relro
>   OBJCFLAGS=-g -O2 -fdebug-prefix-map=/home/rlb/src/guile=. -fstack-protector-strong -Wformat -Werror=format-security
>   OBJCXXFLAGS=-g -O2 -fdebug-prefix-map=/home/rlb/src/guile=. -fstack-protector-strong -Wformat -Werror=format-security
>
> In current Debian unstable, this crashes in test-out-of-memory as above:
>
>   PASS: test-smob-mark
>   PASS: test-smob-mark-race
>   wrote `/<<BUILDDIR>>/guile-2.2-2.2.3+1/cache/guile/ccache/2.2-LE-8-3.A/<<BUILDDIR>>/guile-2.2-2.2.3+1/test-suite/standalone/test-stack-overflow.go'
>   allocate_stack failed: Cannot allocate memory
>   allocate_stack failed: Cannot allocate memory
>   allocate_stack failed: Cannot allocate memory
>   allocate_stack failed: Cannot allocate memory
>   allocate_stack failed: Cannot allocate memory
>   PASS: test-stack-overflow
>   wrote `/<<BUILDDIR>>/guile-2.2-2.2.3+1/cache/guile/ccache/2.2-LE-8-3.A/<<BUILDDIR>>/guile-2.2-2.2.3+1/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 bug-guile <at> gnu.org
>   ==================================
>
> After investigating for a while, I found that just this was enough to
> cause the crash when building from the 2.2.3 release archive:
>
>   CFLAGS='-fstack-protector-strong' ./configure
>   make check
>
> If that flag is the problem, I'm wondering whether for now I'd be better
> off quashing it, or temporarily disabling the test.  i.e. is the test
> detecting that something's actually wrong, or does the flag just break
> one of the test's assumptions?
>
> Thanks
> --
> Rob Browning
> rlb @defaultvalue.org and @debian.org
> GPG as of 2011-07-10 E6A9 DA3C C9FD 1FF8 C676 D2C4 C0F0 39E9 ED1B 597A
> GPG as of 2002-11-03 14DD 432F AE39 534D B592 F9A0 25C8 D377 8C7E 73A4




Information forwarded to bug-guile <at> gnu.org:
bug#29464; Package guile. (Fri, 29 Dec 2017 06:20:01 GMT) Full text and rfc822 format available.

Message #17 received at 29464 <at> debbugs.gnu.org (full text, mbox):

From: Rob Browning <rlb <at> defaultvalue.org>
To: Dan Kegel <dank <at> kegel.com>
Cc: 29464 <at> debbugs.gnu.org
Subject: Re: bug#29464: gcc-7 breaks guile-2.2.2?
Date: Fri, 29 Dec 2017 00:19:26 -0600
Dan Kegel <dank <at> kegel.com> writes:

> Does the bug even happen without the vestigal -O0 ?
> I removed that and things seem to be going better in 2.2.3,
> 0 failures out of 4 runs :-)
> See https://launchpad.net/~dank/+archive/ubuntu/guile-2.2/+packages

I'm fairly sure it did, and a build with -fno-stack-protector just
finished successfully, so for the moment, I think I may proceed with
that and get the builds started on the other architectures.  Then I can
try removing -O0 again.

Thanks
-- 
Rob Browning
rlb @defaultvalue.org and @debian.org
GPG as of 2011-07-10 E6A9 DA3C C9FD 1FF8 C676 D2C4 C0F0 39E9 ED1B 597A
GPG as of 2002-11-03 14DD 432F AE39 534D B592 F9A0 25C8 D377 8C7E 73A4




Information forwarded to bug-guile <at> gnu.org:
bug#29464; Package guile. (Fri, 29 Dec 2017 19:12:01 GMT) Full text and rfc822 format available.

Message #20 received at 29464 <at> debbugs.gnu.org (full text, mbox):

From: Rob Browning <rlb <at> defaultvalue.org>
To: Dan Kegel <dank <at> kegel.com>
Cc: 29464 <at> debbugs.gnu.org
Subject: Re: bug#29464: gcc-7 breaks guile-2.2.2?
Date: Fri, 29 Dec 2017 13:11:52 -0600
Rob Browning <rlb <at> defaultvalue.org> writes:

> I'm fairly sure it did, and a build with -fno-stack-protector just
> finished successfully, so for the moment, I think I may proceed with
> that and get the builds started on the other architectures.  Then I can
> try removing -O0 again.

OK, without -O0 and with -no-stack-protector, my local amd64 build was
fine, but ppc64el still crashes in test-out-of-memory:

  https://buildd.debian.org/status/package.php?p=guile-2.2&suite=sid

When I get a chance I'll try to poke around on a suitable porterbox.

Thanks
-- 
Rob Browning
rlb @defaultvalue.org and @debian.org
GPG as of 2011-07-10 E6A9 DA3C C9FD 1FF8 C676 D2C4 C0F0 39E9 ED1B 597A
GPG as of 2002-11-03 14DD 432F AE39 534D B592 F9A0 25C8 D377 8C7E 73A4




Information forwarded to bug-guile <at> gnu.org:
bug#29464; Package guile. (Fri, 29 Dec 2017 19:28:01 GMT) Full text and rfc822 format available.

Message #23 received at 29464 <at> debbugs.gnu.org (full text, mbox):

From: Rob Browning <rlb <at> defaultvalue.org>
To: Dan Kegel <dank <at> kegel.com>
Cc: 29464 <at> debbugs.gnu.org
Subject: Re: bug#29464: gcc-7 breaks guile-2.2.2?
Date: Fri, 29 Dec 2017 13:27:28 -0600
Rob Browning <rlb <at> defaultvalue.org> writes:

> OK, without -O0 and with -no-stack-protector, my local amd64 build was
> fine, but ppc64el still crashes in test-out-of-memory:
>
>   https://buildd.debian.org/status/package.php?p=guile-2.2&suite=sid

Oh, and for those not familiar with the buildd, the log is under that
"Build-Attempted" link, i.e.:

  https://buildd.debian.org/status/fetch.php?pkg=guile-2.2&arch=ppc64el&ver=2.2.3%2B1-1&stamp=1514573529&raw=0

-- 
Rob Browning
rlb @defaultvalue.org and @debian.org
GPG as of 2011-07-10 E6A9 DA3C C9FD 1FF8 C676 D2C4 C0F0 39E9 ED1B 597A
GPG as of 2002-11-03 14DD 432F AE39 534D B592 F9A0 25C8 D377 8C7E 73A4




This bug report was last modified 6 years and 118 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.