On Sat, Jun 22, 2019 at 05:50:30PM +0200, Sven Hartrumpf wrote:
> Hello.
> 
> I have a strange problem with legacy code that works in many
> other Schemes and Chicken 5 csi, but the binary compiled with Chicken 5 
> crashes.

It looks like the bug happens in lookup_prob in the let*.

(value (or (phashtable-get current_hashtable current_tokens) 0.0)) is
compiled to f0=C_flonum_magnitude((C_truep(t1)?t1:lf[3]));, but that's
wrong because t1 is a fixnum.  It's easy to find if you compile this
with a DEBUGBUILD version of CHICKEN, it says:

[panic] Low-level type assertion C_blockp((C_word)C_VAL1(C__PREV_TMPST.n1))=#t 
failed at chickenprob3.c:93488 - execution terminated

I have yet to find out exactly what's going on, but my bet is on this
change in core: 79cf7427638eebf695f2be54731bb6bbf4d0fff2 (the lfa2 unboxing
pass)

Cheers,
Peter

Attachment: signature.asc
Description: PGP signature

_______________________________________________
Chicken-users mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/chicken-users

Reply via email to