Problems with bigloo 4.3e and hop
Jerry James <[email protected]> Mon, 28 Jan 2019 19:17:24 -0700
| Newsgroups | gmane.lisp.scheme.bigloo |
|---|---|
| Message-ID | <CAHCOHQnLRxcyTMrKBbSjWwvzSeHoEJ=xpkzTtJVe=QqiR_cJxw@mail.gmail.com> |
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/
hop-js.patch
(text/x-patch, 1.7 KB)
--- 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 ) {