Issue #242
resolved
Getting this when I use (text json schema)
:
ASSERT failure /home/takashi/projects/sagittarius/src/closure.c:52: SG_CODE_BUILDERP(code)
It seems cache of procedure contained list (but not sure)
NOTE: The actual type of code
is SgSharedRef object.
Reproducing code:
(library (lib1) (export +closures+) (import (rnrs)) (define (foo e) (unless (string? e) (assert-violation 'foo "string" e)) (lambda (v) (string=? v e))) (define +closures+ `(,foo)) ) ;; lib2.scm (library (lib2) (export bar buz) (import (rnrs) (lib1)) (define (bar s) ((buz) s)) (define (buz) (car +closures+)) ) ;; test.scm (import (rnrs) (lib2)) ((bar "s") "s")
Comments (5)
-
reporter -
reporter - changed status to resolved
Handling constant list containing closure (Fixes
#242)→ <<cset b71071cfa64b>>
-
reporter - changed status to open
It still happens...
-
reporter - edited description
-
reporter - changed status to resolved
Checking closure on bytecode as well during cache reading (Fixes
#242)→ <<cset 7d1bb2535b67>>
- Log in to comment
It seems caused by over optimisation. (The procedure contains lifted lambda and that's in the other cache file only).