Bug#995614: guile-3.0: Please build with --without-threads on alpha to fix FTBFS

2021-10-08 Thread Michael Cree
On Fri, Oct 08, 2021 at 09:00:22PM +0200, John Paul Adrian Glaubitz wrote:
> On 10/8/21 20:52, Rob Browning wrote:
> > Then, once that's uploaded were you planning to handle the reverse dep
> > rebuilds, and/or what coordination might we need there?
> 
> We can just rebuild all of these reverse dependencies, yes. Adrian Bunk is
> probably happy to take care of that job, he has access to wanna-build, too,
> and has recently done a lot of work in this area.

Just to note I have done a test build of guile-3.0 on a UP alpha system
with an up-to-date chroot.  It failed to build with one failure in the
testsuite, namely:

Running 00-repl-server.test
ERROR: 00-repl-server.test: repl-server: HTTP inter-protocol attack - 
arguments: ((system-error "fport_write" "~A" ("Broken pipe") (32)))

Cheers,
Michael.



Bug#995614: guile-3.0: Please build with --without-threads on alpha to fix FTBFS

2021-10-08 Thread John Paul Adrian Glaubitz
On 10/8/21 20:52, Rob Browning wrote:
> Then, once that's uploaded were you planning to handle the reverse dep
> rebuilds, and/or what coordination might we need there?

We can just rebuild all of these reverse dependencies, yes. Adrian Bunk is
probably happy to take care of that job, he has access to wanna-build, too,
and has recently done a lot of work in this area.

Adrian

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer - glaub...@debian.org
`. `'   Freie Universitaet Berlin - glaub...@physik.fu-berlin.de
  `-GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913



Bug#995614: guile-3.0: Please build with --without-threads on alpha to fix FTBFS

2021-10-08 Thread Rob Browning
John Paul Adrian Glaubitz  writes:

> But again, we're doing this all the time and this affects a non-release
> architecture. I never said this flag should be passed for amd64 or arm64.

Understood.  I was specifically thinking about any existing alpha
deployments and what the constraints might be.

I discussed it a bit on #debian-devel, and it sounded like breaking the
ABI in this case, while not ideal of course, wouldn't be unacceptable.
So if no other options present themselves before I get a chance to work
on it, I'll plan to make this change.

Then, once that's uploaded were you planning to handle the reverse dep
rebuilds, and/or what coordination might we need there?

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



Bug#995614: guile-3.0: Please build with --without-threads on alpha to fix FTBFS

2021-10-08 Thread John Paul Adrian Glaubitz
On 10/8/21 05:08, Michael Cree wrote:
> I am still of the opinion that we should try in the first instance
> to find the real problem in the toolchain and fix it there.  The bug
> affects packages other than guile and only on SMP systems.

I'm not arguing against fixing this bug. But without building guile
with "--without-threads" we will have a large number of BD-Uninstallable
packages until this bug gets fixed.

And a guile interpreter that crashes on any SMP system.

> When I get my hands on Electro I can boot with a generic kernel
> and build guile-3.0 there which hopefully will overcome the memory
> exhaustion and time-out problems seen on the XP1000s.

That doesn't really help here though as the compiled guile package will
still crash on SMP systems and cause packages like gnul28 to FTBFS
on imago.

Adrian

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer - glaub...@debian.org
`. `'   Freie Universitaet Berlin - glaub...@physik.fu-berlin.de
  `-GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913



Bug#995614: guile-3.0: Please build with --without-threads on alpha to fix FTBFS

2021-10-08 Thread John Paul Adrian Glaubitz
On 10/8/21 03:13, Rob Browning wrote:
> And while we can, of course, rebuild all the reverse deps (presumably
> only acceptable for testing/sid), doing so may still break things for
> anyone outside debian who's been relying on our packages (if we'd ever
> had any in testing -- sounds like maybe we haven't for 3.0 for alpha).

But again, we're doing this all the time and this affects a non-release
architecture. I never said this flag should be passed for amd64 or arm64.

A compiled guile-2.2 and guile-3.0 will also crash immediately on any alpha
SMP system, so it never really worked. Only building both guile-2.2 and
guile-3.0 with "--without-threads" makes the package actually usable
on alpha.

So, I'm not sure how any outside user was supposed to be testing a guile
binary that was crashing all the time on SMP machines.

Adrian

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer - glaub...@debian.org
`. `'   Freie Universitaet Berlin - glaub...@physik.fu-berlin.de
  `-GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913



Bug#995614: guile-3.0: Please build with --without-threads on alpha to fix FTBFS

2021-10-07 Thread Michael Cree
On Fri, Oct 08, 2021 at 03:03:38AM +0200, John Paul Adrian Glaubitz wrote:
> On 10/8/21 03:00, Rob Browning wrote:
> > If we've never had a 3.0 viable for alpha, for example, then we can of
> > course do whatever we like, with the realization that if we disable
> > threads there now, we may be stuck with that choice until 3.2.

I think guile-3.0 may have been installed on Alpha in the past.  I
recall doing a manual build on a UP system some time ago and uploading
into the archive.

> We can always break the ABI in a controlled manner. That's what binNMUs
> are for. I don't understand the discussion.

I am still of the opinion that we should try in the first instance
to find the real problem in the toolchain and fix it there.  The bug
affects packages other than guile and only on SMP systems.

When I get my hands on Electro I can boot with a generic kernel
and build guile-3.0 there which hopefully will overcome the memory
exhaustion and time-out problems seen on the XP1000s.

Cheers,
Michael.



Bug#995614: guile-3.0: Please build with --without-threads on alpha to fix FTBFS

2021-10-07 Thread Rob Browning
John Paul Adrian Glaubitz  writes:

> The alpha architecture is not part of any distribution which is why this
> argument is moot. I was not asking for this option to be set to an release
> architecture.
>
> Also, *if* we break the ABI, we can just rebuild all affected packages. We
> do that with binNMUs for various reverse dependencies all the time.
>
> Finally, without this change, guile will not work on alpha at all. So, we
> cannot break the ABI in the first place, because we didn't have a properly
> working guile package on alpha yet.

To be clear, I'm not taking any position yet on what I think we
can/should do.  I'm just describing what I've found and what I think the
constraints are.

And while we can, of course, rebuild all the reverse deps (presumably
only acceptable for testing/sid), doing so may still break things for
anyone outside debian who's been relying on our packages (if we'd ever
had any in testing -- sounds like maybe we haven't for 3.0 for alpha).

Maybe that ends up being the best of bad choices, but I just wanted to
make sure we included that concern in our deliberations.  i.e. I suspect
it'd be better not to break testing like that if we could avoid it, even
if technically acceptable.

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



Bug#995614: guile-3.0: Please build with --without-threads on alpha to fix FTBFS

2021-10-07 Thread John Paul Adrian Glaubitz
Hello Rob!

On 10/8/21 02:56, Rob Browning wrote:
> I've checked with upstream, and while they were not certain that
> changing the --with-threads setting still breaks the library API, they
> thought it probably did, which I believe means we have to assume that it
> does (or could in the future), i.e. upstream makes no guarantees that
> you can ever change that option without breaking the ABI.
> 
> Given that, I think we may have at least these constraints:
> 
>   - For any guile X.Y version (for a given arch) that's in a stable
> distribution (buster, bullseye, etc.) we cannot change the setting
> because it would break the contract and could crash existing debian
> and non-debian applications linked to the relevant guile-X.Y-libs.

The alpha architecture is not part of any distribution which is why this
argument is moot. I was not asking for this option to be set to an release
architecture.

Also, *if* we break the ABI, we can just rebuild all affected packages. We
do that with binNMUs for various reverse dependencies all the time.

Finally, without this change, guile will not work on alpha at all. So, we
cannot break the ABI in the first place, because we didn't have a properly
working guile package on alpha yet.

Thanks,
Adrian

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer - glaub...@debian.org
`. `'   Freie Universitaet Berlin - glaub...@physik.fu-berlin.de
  `-GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913



Bug#995614: guile-3.0: Please build with --without-threads on alpha to fix FTBFS

2021-10-07 Thread John Paul Adrian Glaubitz
On 10/8/21 03:00, Rob Browning wrote:
> If we've never had a 3.0 viable for alpha, for example, then we can of
> course do whatever we like, with the realization that if we disable
> threads there now, we may be stuck with that choice until 3.2.

We can always break the ABI in a controlled manner. That's what binNMUs
are for. I don't understand the discussion.

Adrian

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer - glaub...@debian.org
`. `'   Freie Universitaet Berlin - glaub...@physik.fu-berlin.de
  `-GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913



Bug#995614: guile-3.0: Please build with --without-threads on alpha to fix FTBFS

2021-10-07 Thread Rob Browning
Rob Browning  writes:

> Given that, I think we may have at least these constraints:

Oh, and I haven't figured out what the current situation is wrt the
affected architectures on this front yet -- was just describing the
constraints.

If we've never had a 3.0 viable for alpha, for example, then we can of
course do whatever we like, with the realization that if we disable
threads there now, we may be stuck with that choice until 3.2.

-- 
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



Bug#995614: guile-3.0: Please build with --without-threads on alpha to fix FTBFS

2021-10-07 Thread Rob Browning
John Paul Adrian Glaubitz  writes:

> Without --without-threads, guile would not build on SMP systems and even
> the built package would crash on SMP systems.
>
> If disabling threads would break the ABI, we could just rebuild the affected
> reverse dependencies on the builds using the normal binNMU method.

I've checked with upstream, and while they were not certain that
changing the --with-threads setting still breaks the library API, they
thought it probably did, which I believe means we have to assume that it
does (or could in the future), i.e. upstream makes no guarantees that
you can ever change that option without breaking the ABI.

Given that, I think we may have at least these constraints:

  - For any guile X.Y version (for a given arch) that's in a stable
distribution (buster, bullseye, etc.) we cannot change the setting
because it would break the contract and could crash existing debian
and non-debian applications linked to the relevant guile-X.Y-libs.

  - For any X.Y version (for a given arch) that's only ever been in
unstable/testing, we *could* break the ABI, but I think the bar
should be reasonably high there, and I suspect we may want to
discuss any plan along those lines a bit more broadly before
deciding to pursue it (do we typically allow breaking SONAME
compatibility in testing?), since plenty of people (including me)
use the testing libs for real work.  In addition, as you say this
would require rebuilding every reverse dependency.

Of course the best option, if it were feasbile, would be to just figure
out what's wrong and fix it.

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



Bug#995614: guile-3.0: Please build with --without-threads on alpha to fix FTBFS

2021-10-03 Thread John Paul Adrian Glaubitz
Hi Rob!

On 10/3/21 20:27, Rob Browning wrote:
> John Paul Adrian Glaubitz  writes:
> 
>> Both guile-2.2 and guile-3.0 FTBFS on alpha when built with thread
>> support. Passing --without-threads to configure disables thread
>> support and fixes the build.
> 
> Hmm, I'm not certain we can do this unless we've never had a successful
> build on the relevant platforms.  At least in the past, disabling
> threads changed the library ABI in a backward incompatible way.

Without --without-threads, guile would not build on SMP systems and even
the built package would crash on SMP systems.

If disabling threads would break the ABI, we could just rebuild the affected
reverse dependencies on the builds using the normal binNMU method.

I don't think we have any other choice at the moment.

Adrian

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer - glaub...@debian.org
`. `'   Freie Universitaet Berlin - glaub...@physik.fu-berlin.de
  `-GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913



Bug#995614: guile-3.0: Please build with --without-threads on alpha to fix FTBFS

2021-10-03 Thread Rob Browning
John Paul Adrian Glaubitz  writes:

> Both guile-2.2 and guile-3.0 FTBFS on alpha when built with thread
> support. Passing --without-threads to configure disables thread
> support and fixes the build.

Hmm, I'm not certain we can do this unless we've never had a successful
build on the relevant platforms.  At least in the past, disabling
threads changed the library ABI in a backward incompatible way.

I'll see if I can find out if that's still the case.

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



Bug#995614: guile-3.0: Please build with --without-threads on alpha to fix FTBFS

2021-10-03 Thread John Paul Adrian Glaubitz
Source: guile-3.0
Version: 3.0.7-1
Severity: normal
Tags: patch
User: debian-al...@lists.debian.org
Usertags: alpha
X-Debbugs-Cc: debian-al...@lists.debian.org

Hello!

Both guile-2.2 and guile-3.0 FTBFS on alpha when built with thread
support. Passing --without-threads to configure disables thread
support and fixes the build.

We also suspect that the threading problems in guile affect other
packages on alpha such as gnutls28 but we're not sure yet.

Could you apply the attached patch for the next upload of guile-3.0?

Thanks,
Adrian

--
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer - glaub...@debian.org
`. `'   Freie Universitaet Berlin - glaub...@physik.fu-berlin.de
  `-GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913
--- debian/rules.orig   2021-08-26 22:10:35.0 +0200
+++ debian/rules2021-10-03 11:29:06.180438779 +0200
@@ -88,6 +88,11 @@
   deb_config_args += --enable-jit=no
 endif
 
+deb_target_arch := $(shell dpkg-architecture -qDEB_TARGET_ARCH)
+ifneq (,$(filter $(deb_target_arch),alpha))
+  deb_config_args += --without-threads
+endif
+
 export DEB_CFLAGS_MAINT_APPEND := \
   -DPACKAGE_PACKAGER='"Debian"' \
   
-DPACKAGE_PACKAGER_VERSION='"$(upstream_ver)-deb+$(deb_src_src_rev)-$(deb_src_rev)"'
 \