Re: Multiple Values and GC

Basile Starynkevitch <[email protected]> Wed, 15 Sep 2021 20:07:04 +0200
Newsgroups gmane.lisp.scheme.bigloo
Message-ID <[email protected]>
On 15/09/2021 19:21, [email protected] wrote:
> Hi Basile,
>
>> On 15/09/2021 18:27, Joseph Donaldson wrote:
>>> Hello, Manuel,
>>>
>>> In building the tarball from 09/15/2021 and enabling the jvm build, I
>>> see the following error:
>>>
>>>          /home/jwd/bigloo_srcs/bigloo-unstable/bin/bigloo.sh -target
>>>          jvm -jfile .jfile -L
>>>          /home/jwd/bigloo_srcs/bigloo-unstable/lib/bigloo/4.4c -srfi
>>>          enable-resolv -srfi enable-unistring -srfi enable-pcre2 -srfi
>>>          enable-gmp� -unsafe -q -mkheap -mklib -s -no-hello \
>>>          ������������������ Llib/make_lib.scm -heap bigloo.jheap
>>>
>>>          File "Llib/error.scm", line 1420, character 54085:
>>>          #�� ($env-get-error-handler env))
>>>          #�� ^
>>>          *** ERROR:env-get-error-handler
>>>          Unbound variable -- $env-get-error-handler
>>>
>>>          File "Llib/error.scm", line 1408, character 53497:
>>>          #�� ($env-set-error-handler! env ehdl))
>>>          #�� ^
>>>          *** ERROR:env-set-error-handler!
>>>          Unbound variable -- $env-set-error-handler!
>>>          2 errors occured, ending ...
>>>
>>> $env-get-error-handler is not provided by the JVM runtime.
>>>
>>> Disabling the jvm backend results in a successful build.
>>>
>>> Thank You,
>>> Joseph
>>>
>>>
>> A possibility to debug such things might be to use the libbacktrace (by
>> Ian Taylor, also inside GCC)
>>
>> https://github.com/ianlancetaylor/libbacktrace
> This is seems quite interesting but it lacks a little bit of documentation
> and examples. I'm not even sure how to get started. Would you have examples?

The GCC compiler (http://gcc.gnu.org/ ....) is using libbacktrace (since 
at least GCC 9).

I don't have examples with Bigloo. But the RefPerSys software (symbolic 
artificial intelligence system, GPLv3+, for Linux only; see 
http://refpersys.org/ for more) is using libbacktrace. The header files 
are well written with lots of comments.

You may want to look inside the C++ file 
https://github.com/RefPerSys/RefPerSys/blob/master/backtrace_rps.cc

French speaking persons could look talks at 
https://afia.asso.fr/journee-hommage-j-pitrat/

And you could be interested in reading Jacques Pitrat's last book:

Artificial Beings, the conscience of a conscious machine. ISBN 
978-1-84821-101-8 (published in 2009, Wiley & ISTE).

Jacques Pitrat was not aware of libbacktrace.

I don't know how difficult it would be to patch Bigloo to use 
libbacktrace. Potential issues might be related to the garbage collector.

Regards


PS. Offtopic for Bigloo: For people living in Europe, I am seeking 
HorizonEurope applications and funding for RefPerSys. Contact me then 
also at my professional email: [email protected] - RefPerSys 
has an archived mailing list on 
https://framalistes.org/sympa/arc/refpersys-forum


-- 
Basile Starynkevitch                  <[email protected]>
(only mine opinions / les opinions sont miennes uniquement)
92340 Bourg-la-Reine, France
web page: starynkevitch.net/Basile/