Hi Marc,

Thank you so much for having a look.

2013/1/3 Marc Feeley <feeley@iro.umontreal.ca>
I can't reproduce this bug with OpenBSD 5.2 and the g++ 4.2.1 which comes with it.  My guess is that the problem is related to a bug in the versions of g++ you have used.  Can you install an older g++ and see if that solves the problem?  Can you also try to compile using gcc (i.e. don't use --enable-cplusplus)?

Aha funny.

Just for reference, in the test you made, was the OS compiled for the AMD64 architecture?


I did not use 5.2 but "current" a.k.a. "snapshot" for AMD64, as found on http://www.mirrorservice.org/pub/OpenBSD/snapshots/amd64/ . Except for regarding exiting Gambit, this version of the system has shown to perfectly stable in every way I checked, so this is why I was so surprised to see any issue about Gambit's execution on it.

And right, I tried with G++ 4.7.2 and 4.6.3. On your 5.2 installation, installing this would look something like:

pkg_add g++-4.6.3p6

(or just pkg_add http://www.mirrorservice.org/pub/OpenBSD/5.2/packages/amd64/g++-4.6.3p6.tgz )

rm /usr/bin/g++
ln -s /usr/local/bin/eg++ /usr/bin/g++

I believe I did not try 4.2.1 til now because ./configure warned me that that GCC version is broken or slow or something.

[..]
> But if so, why is not an uncaught exception error printed at gsc termination on every platform (which is g++'s default behavior)???

No, the runtime system should catch this exception in the ___BEGIN_TRY / ___END_TRY macros which are called in lib/setup.c (in only 2 places, so it should be easy to verify that the exception is actually caught by adding some printfs in the code).

Right, so that's really funny.



Quite soon I'll try compiling Gambit on the 5.2 and maybe snapshot with different versions of both GCC and G++ including 4.2.1, and report the results here.


Best regards,
Mikael