unofficial mirror of bug-guile@gnu.org 
 help / color / mirror / Atom feed
* bug#39817: Using cross compiled .go from amd64 to powerpc64 segfaults
@ 2020-02-28  1:07 dftxbs3e
  2020-05-21  7:06 ` Chris Marusich
  0 siblings, 1 reply; 4+ messages in thread
From: dftxbs3e @ 2020-02-28  1:07 UTC (permalink / raw)
  To: 39817


[-- Attachment #1.1: Type: text/plain, Size: 865 bytes --]

Hello!

I built GNU Guix's `bootstrap-tarballs` package which includes Guile 2.2
with `guix build --target=powerpc64-linux-gnu bootstrap-tarballs` and
when I run that compiled Guile on powerpc64, it crashes.

I tried replacing the .go files with natively built ones and it works,
with the same cross compiled copy of the GNU Guile binaries.

I used this GNU Guix's tree:

https://gitlab.com/lle-bout/guix - commit
f47e761a10675b05b07107035d5024618267a3ad

And bootstrap binaries are:

https://gitlab.com/lle-bout/guix-bootstrap/-/commit/8e464405c0ba76b29e11c3b60af4d6ea9c83c188

After that copy of GNU Guix is built, to experience the crash you can
run on a powerpc64 machine:

./pre-inst-env guix build hello

And it will try to run the bootstrap GNU Guile after some time and segfault.

Let me know if I can help in any way with this!


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* bug#39817: Using cross compiled .go from amd64 to powerpc64 segfaults
  2020-02-28  1:07 bug#39817: Using cross compiled .go from amd64 to powerpc64 segfaults dftxbs3e
@ 2020-05-21  7:06 ` Chris Marusich
  2020-05-24  7:56   ` Chris Marusich
  0 siblings, 1 reply; 4+ messages in thread
From: Chris Marusich @ 2020-05-21  7:06 UTC (permalink / raw)
  To: dftxbs3e; +Cc: 39817

[-- Attachment #1: Type: text/plain, Size: 2493 bytes --]

Hi,

dftxbs3e <dftxbs3e@free.fr> writes:

> I built GNU Guix's `bootstrap-tarballs` package which includes Guile 2.2
> with `guix build --target=powerpc64-linux-gnu bootstrap-tarballs` and
> when I run that compiled Guile on powerpc64, it crashes.
>
> I tried replacing the .go files with natively built ones and it works,
> with the same cross compiled copy of the GNU Guile binaries.
>
> I used this GNU Guix's tree:
>
> https://gitlab.com/lle-bout/guix - commit
> f47e761a10675b05b07107035d5024618267a3ad
>
> And bootstrap binaries are:
>
> https://gitlab.com/lle-bout/guix-bootstrap/-/commit/8e464405c0ba76b29e11c3b60af4d6ea9c83c188
>
> After that copy of GNU Guix is built, to experience the crash you can
> run on a powerpc64 machine:
>
> ./pre-inst-env guix build hello
>
> And it will try to run the bootstrap GNU Guile after some time and segfault.

What was the architecture of the system on which you ran the command
"guix build --target=powerpc64-linux-gnu bootstrap-tarballs"?  That may
help me reproduce the issue.

Can you remind me why bootstrap-tarballs uses Guile 2.2?  Is there any
possibility we can use Guile 3 instead?  Maybe doing so could work
around this problem.  Or maybe I'm just confused.  :-)

It sounds like you're saying that one could reproduce this issue by
doing the following:

- Do a "guix pull" to install Guix commit
  f47e761a10675b05b07107035d5024618267a3ad (from your repo).

- Use this newly pulled Guix to build the bootstrap binaries:

    guix build --target=powerpc64-linux-gnu bootstrap-tarballs

- This should produce the same binaries that are found here:

  https://gitlab.com/lle-bout/guix-bootstrap/-/commit/8e464405c0ba76b29e11c3b60af4d6ea9c83c188

- Update the Guix source so that Guix will use those newly built
  bootstrap binaries (it looks like you did this in commit
  bb7d8f3b2ec469c6b3f460e4731871e8e2314dc4 in your repo).

- On a POWER9 machine, get the new Guix source (e.g., commit
  bb7d8f3b2ec469c6b3f460e4731871e8e2314dc4 from your repo), and build
  Guix from source using the foreign distribution's native libraries
  (i.e., build Guix without using Guix, since it isn't available yet on
  POWER9).

- Once you've built Guix in your local checkout, run "./pre-inst-env
  guix build hello" to observe the crash.

Is that basically right?

I will try to reproduce this and poke at it a bit.  Please let me know
if I have misunderstood anything.

-- 
Chris

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* bug#39817: Using cross compiled .go from amd64 to powerpc64 segfaults
  2020-05-21  7:06 ` Chris Marusich
@ 2020-05-24  7:56   ` Chris Marusich
  2020-06-02  0:55     ` Chris Marusich
  0 siblings, 1 reply; 4+ messages in thread
From: Chris Marusich @ 2020-05-24  7:56 UTC (permalink / raw)
  To: dftxbs3e; +Cc: 39817

[-- Attachment #1: Type: text/plain, Size: 1362 bytes --]

Chris Marusich <cmmarusich@gmail.com> writes:

> What was the architecture of the system on which you ran the command
> "guix build --target=powerpc64-linux-gnu bootstrap-tarballs"?  That may
> help me reproduce the issue.

I realize that the answer to my question was in the subject of your bug
report.  You said you built these on an amd64 system.  That's the same
architecture as my system.

I think I was able to reproduce the bug.  First, like you suggested, I
built Guix using commit f47e761a10675b05b07107035d5024618267a3ad (from
your repo).  Then I ran:

  guix build --target=powerpc64-linux-gnu bootstrap-tarballs

I found guile-static-stripped-2.2.6-powerpc64-linux-gnu.tar.xz in the
output of that build.  I extracted it and used qemu-ppc64 to run it,
which produced a segfault:

--8<---------------cut here---------------start------------->8---
$ /gnu/store/dilkq36pawdqh050gd09d1incskpqjj7-qemu-5.0.0/bin/qemu-ppc64 bin/guile 
guile: warning: failed to install locale
Segmentation fault (core dumped)
--8<---------------cut here---------------end--------------->8---

I wonder if this is the same segfault you're seeing?

I had to use QEMU because I don't have a powerpc64 system.  Maybe this
will enable me to debug further, even though I don't have any powerpc64
hardware.  I will keep investigating.

-- 
Chris

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* bug#39817: Using cross compiled .go from amd64 to powerpc64 segfaults
  2020-05-24  7:56   ` Chris Marusich
@ 2020-06-02  0:55     ` Chris Marusich
  0 siblings, 0 replies; 4+ messages in thread
From: Chris Marusich @ 2020-06-02  0:55 UTC (permalink / raw)
  To: dftxbs3e; +Cc: 39817-close

[-- Attachment #1: Type: text/plain, Size: 116 bytes --]

Hi,

Using a recent version of Guix, the segfault no longer occurs.  I'm
closing this bug report.

-- 
Chris

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2020-06-02  0:55 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-02-28  1:07 bug#39817: Using cross compiled .go from amd64 to powerpc64 segfaults dftxbs3e
2020-05-21  7:06 ` Chris Marusich
2020-05-24  7:56   ` Chris Marusich
2020-06-02  0:55     ` Chris Marusich

unofficial mirror of bug-guile@gnu.org 

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://yhetil.org/guile-bugs/0 guile-bugs/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 guile-bugs guile-bugs/ https://yhetil.org/guile-bugs \
		bug-guile@gnu.org
	public-inbox-index guile-bugs

Example config snippet for mirrors.
Newsgroups are available over NNTP:
	nntp://news.yhetil.org/yhetil.lisp.guile.bugs
	nntp://news.gmane.io/gmane.lisp.guile.bugs


AGPL code for this site: git clone http://ou63pmih66umazou.onion/public-inbox.git