Re: Compiler fail: Stack inconsistency detected in <unknown> at index 40: found 2, expected 0.

Mark Evenson <[email protected]>
Newsgroups gmane.editors.j.devel
Message-ID <[email protected]>

On 10/3/17 18:14, Paul Dietz wrote:
> (defparameter *abcl1*
>   '(lambda (a)
>     (declare (optimize (debug 0) (compilation-speed 1)
>               (speed 2) (space 3) (safety 1)))
>     (ash 0
>      (bit #*0100
>       (catch 'ct7 a)))))
> 
> (defun test1 ()
>   (let ((fn (compile nil *abcl1*)))
>     (mapcar fn '(0 1 2 3))))
> 
> (test1) ==>
> 
> ; Caught ERROR:
> ;   Stack inconsistency detected in <unknown> at index 40: found 2,
> expected 0.
> 

Confirmed as an issue [github][].

Working on a proposal to be more comprehensive in fixing these problems
by changing the bytecode format we emit.  We currently only produce
classfiles of the "49.0" format, whereas Java6 introduced a major
overhaul how verification is done for the serialization which should
help eliminate these kinds of errors.  The new bytecode specification is
essentially derived from a Prolog specification that--if we are
clever--could be easily "followed" by ABCL.

Thanks for the report!

Glad you are at least trying to use the Bear.


[github]: https://github.com/armedbear/abcl/issues/69
[abcl.org]: http://abcl.org/trac/ticket/453


-- 
"A screaming comes across the sky.  It has happened before, but there
is nothing to compare to it now."
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.