Greetings,

I have been trying to build bigloo 4.3e for the Fedora Linux
distribution, but I have encountered some problems.

First, the test suite segfaulted on s390x in the call/cc tests.  Some
gdb work showed that the stack was overflowing and overwriting parts
of the heap.  I tried adding to the computed stack size to see if the
problem could be worked around.  I discovered that adding 256 bytes is
not enough, and that adding 1024 bytes does let the test suite
complete normally.  I do not know why the computed size is too small.
I can try to narrow that window down if that would be helpful.

I then went on to build hop.  Part of the problem here may be that I
don't know which hop sources go with bigloo 4.3e.  It looks like no
hop tarballs have been created for some time.  I attempted to build
the latest commit on the 3.1.x branch, dated November 28, 2018.  On an
x86_64 machine, the hop binary segfaults the first time it is invoked.
The segfault is inside libgc, below GC_init_parallel(), and happens
because some internal thread-related structures are accessed, but
GC_thr_init() has not been invoked to initialize them.  I do not know
where GC_thr_init() should have been invoked, but it didn't happen.  I
am using the custom gc that comes with bigloo.

I don't know how to debug this further.  Do you have a working bigloo
4.3e + hop combination?  If so, which hop sources did you use and how
did you configure both bigloo and hop?

(Please also see the attached patch for hop.  It fixes complaints by
closure-compiler about malformed "in" expressions.)

Regards,
-- 
Jerry James
http://www.jamezone.org/
--- etc/hop-autoconf.js.in.orig	2018-09-15 16:18:09.000000000 -0600
+++ etc/hop-autoconf.js.in	2018-09-15 19:12:33.835249626 -0600
@@ -212,7 +212,7 @@ function hop_Config() {
    this.html5_video = "play" in document.createElement( "video" );
    var audio = document.createElement( "audio" );
 
-   if( !"HTMLAudioElement" in window ) {
+   if( !("HTMLAudioElement" in window) ) {
       this.html5_audio = false;
    } else {
       this.html5_audio = 
@@ -285,7 +285,7 @@ function hop_Config() {
       this.inline_image = true;
       this.css = 3;
       this.css_transition = true;
-      if( ! "Window" in window || window.Window === undefined ) {
+      if( ! ("Window" in window) || window.Window === undefined ) {
 	 window.Window = window.constructor;
       }
    } else if( navigator.userAgent.indexOf( "Safari" ) >= 0 ) {
--- weblets/home/articles/hss/article.xhtml.orig	2018-09-15 16:18:09.000000000 -0600
+++ weblets/home/articles/hss/article.xhtml	2018-09-15 19:13:00.383220161 -0600
@@ -263,7 +263,7 @@ function hop_Config() {
   var audio = document.createElement( "audio" );
   this.html5_video = "play" in document.createElement( "video" );
 
-  if( !"HTMLAudioElement" in window ) {
+  if( !("HTMLAudioElement" in window) ) {
      this.html5_audio = false;
   } else {
     this.html5_audio = 
@@ -322,7 +322,7 @@ function hop_Config() {
      this.inline_image = true;
      this.css = 3;
      this.clone_innerHTML = true;
-     if( ! "Window" in window || window.Window === undefined ) {
+     if( ! ("Window" in window) || window.Window === undefined ) {
        window.Window = window.constructor;
      }
   } else if( navigator.userAgent.indexOf( "Safari" ) >= 0 ) {

Reply via email to