unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
* Regression on 32-bit big-endian targets
@ 2020-12-11 11:41 John Paul Adrian Glaubitz
  2020-12-12 18:55 ` John Paul Adrian Glaubitz
  2020-12-12 20:25 ` John Paul Adrian Glaubitz
  0 siblings, 2 replies; 4+ messages in thread
From: John Paul Adrian Glaubitz @ 2020-12-11 11:41 UTC (permalink / raw)
  To: guile-devel

Hello!

There seems to be a regression in guile that was introduced somewhere between the
3.0.2 and 3.0.4 which seems to affect 32-bit big-endian targets only [1]:

guild compile --target="hppa-unknown-linux-gnu"                \
          -W0 -O1              \
  -L "/<<PKGBUILDDIR>>/module"                         \
  -L "/<<PKGBUILDDIR>>/guile-readline"			\
  -o "language/tree-il/eta-expand.go" "../module/language/tree-il/eta-expand.scm"
make[4]: *** [Makefile:1927: language/tree-il/eta-expand.go] Segmentation fault
make[4]: *** Waiting for unfinished jobs....
make[4]: *** [Makefile:1927: language/tree-il/debug.go] Segmentation fault
make[4]: *** [Makefile:1927: language/tree-il/analyze.go] Segmentation fault
still going
make[4]: *** [Makefile:1927: language/tree-il/effects.go] Segmentation fault
make[4]: Leaving directory '/<<PKGBUILDDIR>>/bootstrap'
make[3]: *** [Makefile:1851: all-recursive] Error 1
make[3]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: *** [Makefile:1737: all] Error 2
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[1]: *** [debian/rules:192: override_dh_auto_build] Error 2
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:104: build-arch] Error 2
dpkg-buildpackage: error: debian/rules build-arch subprocess returned exit status 2

I'm currently bisecting the problem on a fast POWER server running a 32-bit Debian
powerpc installation and will hopefully report back soonish.

I'm posting this now just in case someone already can give me a pointer to the cause.

Adrian

> [1] https://buildd.debian.org/status/fetch.php?pkg=guile-3.0&arch=hppa&ver=3.0.4-3&stamp=1607546304&raw=0

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



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

* Re: Regression on 32-bit big-endian targets
  2020-12-11 11:41 Regression on 32-bit big-endian targets John Paul Adrian Glaubitz
@ 2020-12-12 18:55 ` John Paul Adrian Glaubitz
  2020-12-12 20:25 ` John Paul Adrian Glaubitz
  1 sibling, 0 replies; 4+ messages in thread
From: John Paul Adrian Glaubitz @ 2020-12-12 18:55 UTC (permalink / raw)
  To: guile-devel

On 12/11/20 12:41 PM, John Paul Adrian Glaubitz wrote:
> I'm currently bisecting the problem on a fast POWER server running a 32-bit Debian
> powerpc installation and will hopefully report back soonish.

Bisecting lead me to this change which is probably just hiding the real
problem:

(sid_powerpc-dchroot)glaubitz@perotto:~/guile-git$ git bisect good
a68c80c747a2a8ec92fa84684ebd60b4ecb7ffa0 is the first bad commit
commit a68c80c747a2a8ec92fa84684ebd60b4ecb7ffa0
Author: Andy Wingo <wingo@pobox.com>
Date:   Mon May 11 15:22:29 2020 +0200

    Switch to baseline compiler for bootstrap/

    * bootstrap/Makefile.am (GUILE_OPTIMIZATIONS): Add -Ono-cps so that we
      use the baseline compiler when bootstrapping.

 bootstrap/Makefile.am | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
(sid_powerpc-dchroot)glaubitz@perotto:~/guile-git$

I'll try to bisect again with "-Ono-cps" removed after it is introduced.

FWIW, there is a big-endian PowerPC machine available in the gcc compile
farm if anyone wants to help track down this issue [1].

Adrian

> [1] https://gcc.gnu.org/wiki/CompileFarm

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




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

* Re: Regression on 32-bit big-endian targets
  2020-12-11 11:41 Regression on 32-bit big-endian targets John Paul Adrian Glaubitz
  2020-12-12 18:55 ` John Paul Adrian Glaubitz
@ 2020-12-12 20:25 ` John Paul Adrian Glaubitz
  2020-12-12 20:36   ` John Paul Adrian Glaubitz
  1 sibling, 1 reply; 4+ messages in thread
From: John Paul Adrian Glaubitz @ 2020-12-12 20:25 UTC (permalink / raw)
  To: guile-devel

Hi!

On 12/11/20 12:41 PM, John Paul Adrian Glaubitz wrote:
> There seems to be a regression in guile that was introduced somewhere between the
> 3.0.2 and 3.0.4 which seems to affect 32-bit big-endian targets only [1]:

Here is the backtrace:

#0  0x006e3e9c in scm_sum (x=x@entry=0x0, y=0x6) at numbers.c:7569
7569      else if (SCM_BIGP (x))
[Current thread is 1 (Thread 0xf7c34480 (LWP 529732))]
(gdb) bt
#0  0x006e3e9c in scm_sum (x=x@entry=0x0, y=0x6) at numbers.c:7569
#1  0x006cd498 in add_immediate (a=0x0, b=<optimized out>) at intrinsics.c:80
#2  0x00749818 in vm_regular_engine (thread=0xf7971e00) at vm-engine.c:1583
#3  0x0074c2f4 in scm_call_n (proc=proc@entry=0xeffbf148, argv=argv@entry=0x0, nargs=nargs@entry=0) at vm.c:1608
#4  0x006a70fc in scm_call_0 (proc=proc@entry=0xeffbf148) at eval.c:490
#5  0x006d39d8 in scm_primitive_load_path (args=<optimized out>) at load.c:1259
#6  0x006d3f28 in scm_c_primitive_load_path (filename=filename@entry=0x776458 "ice-9/boot-9") at load.c:1275
#7  0x006c9310 in scm_load_startup_files () at init.c:222
#8  0x006c96a8 in scm_i_init_guile (base=base@entry=0xffecfb18) at init.c:505
#9  0x0073b858 in scm_i_init_thread_for_guile (base=base@entry=0xffecfb18, dynamic_state=dynamic_state@entry=0x0) at threads.c:570
#10 0x0073ba1c in scm_i_init_thread_for_guile (dynamic_state=0x0, base=0xffecfb18) at threads.c:677
#11 with_guile (base=0xffecfb18, data=0xffecfb38) at threads.c:638
#12 0x003e17e4 in GC_call_with_stack_base () from /usr/lib/powerpc-linux-gnu/libgc.so.1
#13 0x0073bfb8 in scm_i_with_guile (dynamic_state=<optimized out>, data=0xffecfb28, func=0x6c90c0 <invoke_main_func>) at threads.c:688
#14 scm_with_guile (func=func@entry=0x6c90c0 <invoke_main_func>, data=data@entry=0xffecfb58) at threads.c:694
#15 0x006c93c8 in scm_boot_guile (argc=argc@entry=16, argv=argv@entry=0xffecfe14, main_func=main_func@entry=0x800950 <inner_main>, closure=closure@entry=0x0) at init.c:290
#16 0x00800754 in main (argc=16, argv=0xffecfe14) at guile.c:95
(gdb)

Adrian

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




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

* Re: Regression on 32-bit big-endian targets
  2020-12-12 20:25 ` John Paul Adrian Glaubitz
@ 2020-12-12 20:36   ` John Paul Adrian Glaubitz
  0 siblings, 0 replies; 4+ messages in thread
From: John Paul Adrian Glaubitz @ 2020-12-12 20:36 UTC (permalink / raw)
  To: guile-devel

On 12/12/20 9:25 PM, John Paul Adrian Glaubitz wrote:
> Here is the backtrace:
> 
> #0  0x006e3e9c in scm_sum (x=x@entry=0x0, y=0x6) at numbers.c:7569
> 7569      else if (SCM_BIGP (x))

Looking at the source code, I assume the data packing fails on 32-bit
BE systems for some reasons.

Adrian

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




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

end of thread, other threads:[~2020-12-12 20:36 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-11 11:41 Regression on 32-bit big-endian targets John Paul Adrian Glaubitz
2020-12-12 18:55 ` John Paul Adrian Glaubitz
2020-12-12 20:25 ` John Paul Adrian Glaubitz
2020-12-12 20:36   ` John Paul Adrian Glaubitz

unofficial mirror of guile-devel@gnu.org 

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://yhetil.org/guile-devel/0 guile-devel/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-devel guile-devel/ https://yhetil.org/guile-devel \
		guile-devel@gnu.org
	public-inbox-index guile-devel

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


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