[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Chicken-users] Segmentation violation with chicken 5.1.0
From: |
Peter Bex |
Subject: |
Re: [Chicken-users] Segmentation violation with chicken 5.1.0 |
Date: |
Sun, 23 Jun 2019 14:33:10 +0200 |
User-agent: |
NeoMutt/20170113 (1.7.2) |
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
signature.asc
Description: PGP signature