On Jun 19 2012, Peter Bex wrote:
Right now it looks to me like there's an optimization that's messing
things up. Try compiling this file with -O0 and then with -O1:
(let lp ((x (list 1 2 3)))
(set-finalizer! x (lambda _ #f))
(lp (list 1 2 3)))
With -O1 or higher this will raise a suspicious looking error:
Error: call of non-procedure: #<unspecified>
I also see this with 4.7.0, even when compiled with -O0. With -O1 on
4.7.0, it shows this error and _then_ craps out with an OOM error.
This would kinda explain, why my "eat all memory" issue is so
apparent on the recent mint install I did and rare on older systems.
This system has gcc (Ubuntu/Linaro 4.6.1-9ubuntu3) 4.6.1
it is the first one to complain about chicken code for me:
atomic.c: In function 'f_5446': atomic.c:5062:4: warning: array subscript
is above array bounds [-Warray-bounds] atomic.c: In function 'f_3797':
atomic.c:1534:4: warning: array subscript is above array bounds
[-Warray-bounds] atomic.c: In function 'f_3760': atomic.c:7751:4: warning:
array subscript is above array bounds [-Warray-bounds] atomic.c: In
function 'f_3733': atomic.c:8312:4: warning: array subscript is above array
bounds [-Warray-bounds] atomic.c: In function 'f_3791':
Note that I'm seen the problem on code, which is compiled with -scrutinize
and gcc -O2.
This *might* hint somewhere…? Anybody running Clang?
/Jerry
.....
_______________________________________________
Chicken-hackers mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/chicken-hackers