#462: (subseq "" 1) throws a java exception
-------------------------+----------------------
Reporter: aruttenberg | Owner:
Type: defect | Status: new
Priority: major | Milestone:
Component: compiler | Version:
Keywords: | Parent Tickets:
-------------------------+----------------------
In the example below a restart is offered but in other contexts I just get
```CL-USER> (subseq "" 1)
; Evaluation aborted on NIL.```
```CL-USER(1): (subseq "" 1)
java.lang.NegativeArraySizeException
at org.armedbear.lisp.SimpleString.<init>(SimpleString.java:60)
at
org.armedbear.lisp.SimpleString.substring(SimpleString.java:230)
at org.armedbear.lisp.SimpleString.subseq(SimpleString.java:247)
at
org.armedbear.lisp.Primitives$pf_subseq.execute(Primitives.java:4341)
at org.armedbear.lisp.LispThread.execute(LispThread.java:854)
at org.armedbear.lisp.Lisp.evalCall(Lisp.java:591)
at org.armedbear.lisp.Lisp.eval(Lisp.java:542)
at org.armedbear.lisp.Lisp.progn(Lisp.java:711)
at
org.armedbear.lisp.Primitives$sf_block.execute(Primitives.java:3743)
at org.armedbear.lisp.Lisp.eval(Lisp.java:532)
at org.armedbear.lisp.Lisp.progn(Lisp.java:711)
at org.armedbear.lisp.Closure.execute(Closure.java:220)
at org.armedbear.lisp.Closure.execute(Closure.java:154)
at org.armedbear.lisp.LispThread.execute(LispThread.java:835)
at org.armedbear.lisp.Lisp.evalCall(Lisp.java:584)
at org.armedbear.lisp.Lisp.eval(Lisp.java:542)
at
org.armedbear.lisp.Primitives$pf__eval.execute(Primitives.java:345)
at org.armedbear.lisp.LispThread.execute(LispThread.java:817)
at org.armedbear.lisp.Lisp.evalCall(Lisp.java:577)
at org.armedbear.lisp.Lisp.eval(Lisp.java:542)
at org.armedbear.lisp.Lisp.progn(Lisp.java:711)
at
org.armedbear.lisp.Primitives$sf_block.execute(Primitives.java:3743)
at org.armedbear.lisp.Lisp.eval(Lisp.java:532)
at org.armedbear.lisp.Lisp.progn(Lisp.java:711)
at org.armedbear.lisp.Closure.execute(Closure.java:220)
at org.armedbear.lisp.Closure.execute(Closure.java:148)
at org.armedbear.lisp.LispThread.execute(LispThread.java:817)
at org.armedbear.lisp.Lisp$1.execute(Lisp.java:285)
at org.armedbear.lisp.Symbol.execute(Symbol.java:803)
at org.armedbear.lisp.LispThread.execute(LispThread.java:817)
at org.armedbear.lisp.top_level_47.execute(top-level.lisp:407)
at
org.armedbear.lisp.CompiledClosure.execute(CompiledClosure.java:89)
at org.armedbear.lisp.Symbol.execute(Symbol.java:793)
at org.armedbear.lisp.LispThread.execute(LispThread.java:801)
at org.armedbear.lisp.top_level_48.execute(top-level.lisp:415)
at org.armedbear.lisp.LispThread.execute(LispThread.java:801)
at org.armedbear.lisp.Interpreter.run(Interpreter.java:361)
at org.armedbear.lisp.Main$1.run(Main.java:48)
at java.lang.Thread.run(Thread.java:748)
#<THREAD "interpreter" {106F006E}>: Debugger invoked on condition of type
ERROR
Caught java.lang.NegativeArraySizeException.
Restarts:
0: TOP-LEVEL Return to top level.
[1] CL-USER(2): ```
--
Ticket URL: <http://abcl.org/trac/ticket/462>
armedbear <http://abcl.org>
armedbear
#440: Integrate abcl-introspect with upstream SLIME
-----------------------+------------------------
Reporter: mevenson | Owner:
Type: task | Status: new
Priority: major | Milestone: 1.5.0
Component: libraries | Version:
Keywords: slime | Parent Tickets:
-----------------------+------------------------
abcl-introspect provides a more structured interface for introspecting
backtraces; one can more or less just conditionalize the https://gitlab
.common-lisp.net/slime/slime master to "just work" here
TODO
====
Collapse the patches for a single upstream commit
--
Ticket URL: <http://abcl.org/trac/ticket/440>
armedbear <http://abcl.org>
armedbear
#447: manual: Compile to Java 5 Bytecode
--------------------+----------------------
Reporter: rurban | Owner:
Type: defect | Status: new
Priority: major | Milestone:
Component: other | Version:
Keywords: docs | Parent Tickets:
--------------------+----------------------
Since rc0 to 1.5.0 you removed one part of the outdated compile to Java 5
Bytecode,
but one headline still is "Compile to Java 5 Bytecode". It's now 6-8.
Please change to "Compile to Java Bytecode"
--
Ticket URL: <http://abcl.org/trac/ticket/447>
armedbear <http://abcl.org>
armedbear
#458: Extend JAVA FFI to allow access to non-public methods
-------------------------+----------------------
Reporter: aruttenberg | Owner:
Type: enhancement | Status: new
Priority: major | Milestone:
Component: (A)MOP | Version:
Keywords: | Parent Tickets:
-------------------------+----------------------
I'm mixed as to the interface.
Option 1: Global variable says whether non-public methods available during
jcall, jmethod and friends
Option 2: Provide alternative calls e.g jcall-any, jmethod-any etc that
Ideally cache calls to setAccessible so they are done only the first time.
This functionality is important because 1) it is not infrequent that
libraries need to be debugged and to do that we need to be able to call
private and protected methods 2) Introspection
It is possible to manage this without messing with jcall but it is slower
and ugly.
--
Ticket URL: <http://abcl.org/trac/ticket/458>
armedbear <http://abcl.org>
armedbear
#445: abcl test fails on trunk
-------------------------+----------------------
Reporter: aruttenberg | Owner:
Type: defect | Status: new
Priority: major | Milestone:
Component: other | Version:
Keywords: | Parent Tickets:
-------------------------+----------------------
abcl test
...
``-do-compile-test:
[mkdir] Created dir: /Users/lori/repos/abcl/build/empty
[javac] Compiling 5 source files to
/Users/lori/repos/abcl/build/test/classes
[javac] warning: [options] bootstrap class path not set in conjunction
with -source 1.6
``
--
Ticket URL: <http://abcl.org/trac/ticket/445>
armedbear <http://abcl.org>
armedbear
#438: something wrong with (function-lambda-expression (symbol-function 'lambda))
-------------------------+----------------------
Reporter: aruttenberg | Owner:
Type: defect | Status: new
Priority: major | Milestone:
Component: (A)MOP | Version:
Keywords: | Parent Tickets:
-------------------------+----------------------
{{{
(print (nth-value 2 (function-lambda-expression (symbol-function 'lambda)
}}}
->
{{{
ABCL Debug.assertTrue() assertion failed!
java.lang.Error: ABCL Debug.assertTrue() assertion failed!
at org.armedbear.lisp.Debug.assertTrue(Debug.java:48)
at
org.armedbear.lisp.ArgumentListProcessor.match(ArgumentListProcessor.java:485)
at org.armedbear.lisp.Closure.processArgs(Closure.java:230)
at org.armedbear.lisp.pprint_152.execute(pprint.lisp:712)
at
org.armedbear.lisp.CompiledClosure.execute(CompiledClosure.java:98)
at org.armedbear.lisp.LispThread.execute(LispThread.java:814)
at org.armedbear.lisp.Lisp.evalCall(Lisp.java:575)
at org.armedbear.lisp.Lisp.eval(Lisp.java:540)
at
org.armedbear.lisp.Primitives$pf__eval.execute(Primitives.java:345)
at org.armedbear.lisp.LispThread.execute(LispThread.java:814)
at org.armedbear.lisp.Lisp.evalCall(Lisp.java:575)
at org.armedbear.lisp.Lisp.eval(Lisp.java:540)
at org.armedbear.lisp.Lisp.progn(Lisp.java:709)
at
org.armedbear.lisp.Primitives$sf_block.execute(Primitives.java:3742)
at org.armedbear.lisp.Lisp.eval(Lisp.java:530)
at org.armedbear.lisp.Lisp.progn(Lisp.java:709)
at org.armedbear.lisp.Closure.execute(Closure.java:220)
at org.armedbear.lisp.Closure.execute(Closure.java:148)
at org.armedbear.lisp.Symbol.execute(Symbol.java:803)
at org.armedbear.lisp.LispThread.execute(LispThread.java:814)
at org.armedbear.lisp.swank_528.execute(swank.lisp:1732)
at org.armedbear.lisp.Symbol.execute(Symbol.java:803)
at org.armedbear.lisp.LispThread.execute(LispThread.java:814)
at org.armedbear.lisp.swank_repl_47.execute(swank-repl.lisp:270)
at org.armedbear.lisp.LispThread.execute(LispThread.java:798)
at org.armedbear.lisp.swank_repl_48.execute(swank-repl.lisp:283)
at org.armedbear.lisp.Symbol.execute(Symbol.java:803)
at org.armedbear.lisp.LispThread.execute(LispThread.java:814)
at org.armedbear.lisp.swank_repl_46.execute(swank-repl.lisp:270)
at org.armedbear.lisp.LispThread.execute(LispThread.java:798)
at org.armedbear.lisp.swank_272.execute(swank.lisp:490)
at org.armedbear.lisp.Symbol.execute(Symbol.java:814)
at org.armedbear.lisp.LispThread.execute(LispThread.java:832)
at org.armedbear.lisp.swank_repl_45.execute(swank-repl.lisp:270)
at org.armedbear.lisp.LispThread.execute(LispThread.java:798)
at abcl_79046444_f3e6_412c_a6d4_362381f8e171.execute(Unknown
Source)
at org.armedbear.lisp.LispThread.execute(LispThread.java:814)
at org.armedbear.lisp.Lisp.funcall(Lisp.java:172)
at
org.armedbear.lisp.Primitives$pf_apply.execute(Primitives.java:2827)
at org.armedbear.lisp.Symbol.execute(Symbol.java:826)
at org.armedbear.lisp.LispThread.execute(LispThread.java:851)
at org.armedbear.lisp.backend_56.execute(backend.lisp:477)
at org.armedbear.lisp.Symbol.execute(Symbol.java:803)
at org.armedbear.lisp.LispThread.execute(LispThread.java:814)
at org.armedbear.lisp.swank_489.execute(swank.lisp:1471)
at org.armedbear.lisp.Symbol.execute(Symbol.java:814)
at org.armedbear.lisp.LispThread.execute(LispThread.java:832)
at org.armedbear.lisp.swank_repl_44.execute(swank-repl.lisp:270)
at org.armedbear.lisp.Symbol.execute(Symbol.java:803)
at org.armedbear.lisp.LispThread.execute(LispThread.java:814)
at org.armedbear.lisp.swank_repl_42.execute(swank-repl.lisp:257)
at
org.armedbear.lisp.CompiledClosure.execute(CompiledClosure.java:98)
at org.armedbear.lisp.LispThread.execute(LispThread.java:814)
at org.armedbear.lisp.Lisp.evalCall(Lisp.java:575)
at org.armedbear.lisp.Lisp.eval(Lisp.java:540)
at
org.armedbear.lisp.Primitives$pf__eval.execute(Primitives.java:345)
at org.armedbear.lisp.LispThread.execute(LispThread.java:814)
at org.armedbear.lisp.Lisp.evalCall(Lisp.java:575)
at org.armedbear.lisp.Lisp.eval(Lisp.java:540)
at org.armedbear.lisp.Lisp.progn(Lisp.java:709)
at
org.armedbear.lisp.Primitives$sf_block.execute(Primitives.java:3742)
at org.armedbear.lisp.Lisp.eval(Lisp.java:530)
at org.armedbear.lisp.Lisp.progn(Lisp.java:709)
at org.armedbear.lisp.Closure.execute(Closure.java:220)
at org.armedbear.lisp.Closure.execute(Closure.java:148)
at org.armedbear.lisp.Symbol.execute(Symbol.java:803)
at org.armedbear.lisp.LispThread.execute(LispThread.java:814)
at org.armedbear.lisp.swank_512.execute(swank.lisp:1669)
at org.armedbear.lisp.LispThread.execute(LispThread.java:851)
at
org.armedbear.lisp.Primitives$pf_apply.execute(Primitives.java:2800)
at org.armedbear.lisp.Symbol.execute(Symbol.java:814)
at org.armedbear.lisp.LispThread.execute(LispThread.java:832)
at org.armedbear.lisp.swank_337.execute(swank.lisp:876)
at org.armedbear.lisp.Symbol.execute(Symbol.java:803)
at org.armedbear.lisp.LispThread.execute(LispThread.java:814)
at org.armedbear.lisp.swank_327.execute(swank.lisp:864)
at org.armedbear.lisp.LispThread.execute(LispThread.java:798)
at org.armedbear.lisp.swank_326.execute(swank.lisp:864)
at org.armedbear.lisp.LispThread.execute(LispThread.java:798)
at abcl_434fbc57_502d_44c7_88b2_1424a2cce67e.execute(Unknown
Source)
at org.armedbear.lisp.LispThread.execute(LispThread.java:832)
at org.armedbear.lisp.Lisp.funcall(Lisp.java:174)
at
org.armedbear.lisp.Primitives$pf_apply.execute(Primitives.java:2845)
at org.armedbear.lisp.Primitive.execute(Primitive.java:148)
at org.armedbear.lisp.Symbol.execute(Symbol.java:838)
at org.armedbear.lisp.LispThread.execute(LispThread.java:872)
at org.armedbear.lisp.backend_97.execute(backend.lisp:842)
at org.armedbear.lisp.Symbol.execute(Symbol.java:814)
at org.armedbear.lisp.LispThread.execute(LispThread.java:832)
at org.armedbear.lisp.swank_336.execute(swank.lisp:864)
at org.armedbear.lisp.LispThread.execute(LispThread.java:798)
at org.armedbear.lisp.swank_1.execute(swank.lisp:55)
at org.armedbear.lisp.Symbol.execute(Symbol.java:814)
at org.armedbear.lisp.LispThread.execute(LispThread.java:832)
at org.armedbear.lisp.swank_325.execute(swank.lisp:864)
at
org.armedbear.lisp.CompiledClosure.execute(CompiledClosure.java:98)
at org.armedbear.lisp.Symbol.execute(Symbol.java:803)
at org.armedbear.lisp.LispThread.execute(LispThread.java:814)
at org.armedbear.lisp.swank_repl_36.execute(swank-repl.lisp:185)
at org.armedbear.lisp.Symbol.execute(Symbol.java:803)
at org.armedbear.lisp.LispThread.execute(LispThread.java:814)
at org.armedbear.lisp.swank_repl_35.execute(swank-repl.lisp:179)
at org.armedbear.lisp.LispThread.execute(LispThread.java:798)
at org.armedbear.lisp.swank_1.execute(swank.lisp:55)
at org.armedbear.lisp.Symbol.execute(Symbol.java:814)
at org.armedbear.lisp.LispThread.execute(LispThread.java:832)
at org.armedbear.lisp.swank_repl_34.execute(swank-repl.lisp:179)
at org.armedbear.lisp.LispThread.execute(LispThread.java:798)
at abcl_98bf6cb5_7e81_4c37_86b6_ae9fc865d0d9.execute(Unknown
Source)
at org.armedbear.lisp.LispThread.execute(LispThread.java:798)
at org.armedbear.lisp.threads_1.execute(threads.lisp:40)
at org.armedbear.lisp.Symbol.execute(Symbol.java:803)
at org.armedbear.lisp.LispThread.execute(LispThread.java:814)
at org.armedbear.lisp.Lisp.funcall(Lisp.java:172)
at org.armedbear.lisp.LispThread$2.run(LispThread.java:94)
at java.lang.Thread.run(Thread.java:745)
}}}
--
Ticket URL: <http://abcl.org/trac/ticket/438>
armedbear <http://abcl.org>
armedbear
#432: open http:// pathname doesn't follow redirects
-------------------------+----------------------
Reporter: aruttenberg | Owner:
Type: defect | Status: new
Priority: major | Milestone:
Component: streams | Version:
Keywords: | Parent Tickets:
-------------------------+----------------------
So if you want to do something like use uiop/stream:copy-file which does
something like open the source, open the dest, read/write, it will not do
what you might expect. I don't see a way of controlling this behavior.
Arguably the default ought to be to follow redirects and open the
redirected-to file.
--
Ticket URL: <http://abcl.org/trac/ticket/432>
armedbear <http://abcl.org>
armedbear
#436: feature request maven exclude dependency
-------------------------+----------------------
Reporter: aruttenberg | Owner:
Type: enhancement | Status: new
Priority: major | Milestone:
Component: (A)MOP | Version:
Keywords: | Parent Tickets:
-------------------------+----------------------
Like this: https://maven.apache.org/plugins/maven-dependency-
plugin/examples/exclude-dependencies-from-dependency-analysis.html
To prevent dependencies from one maven artifact from stepping on another.
Which they are doing. (each loads a different version)
--
Ticket URL: <http://abcl.org/trac/ticket/436>
armedbear <http://abcl.org>
armedbear
#460: upgraded-array-element-type/class-of for arrays
-------------------------+----------------------------
Reporter: mevenson | Owner:
Type: defect | Status: new
Priority: major | Milestone: 1.5.1
Component: interpreter | Version: 1.6.0-dev
Keywords: | Parent Tickets:
-------------------------+----------------------------
Alan notes in <https://github.com/armedbear/abcl/issues/84>
{{{
No code of mine depends on this, but I was reading an article and it
prompted me to check types of arrays and how upgraded-array-element-type
works.
Bottom line is that it isn't consistent.
CL-USER> (make-array 1 :element-type '(unsigned-byte 16))
#(0)
CL-USER> (jobject-class *)
#<java class org.armedbear.lisp.BasicVector_UnsignedByte16 {6F28B4E2}>
CL-USER> (class-of (make-array 1 :element-type '(unsigned-byte 16)))
#<built-in-class vector {352D86C9}>
CL-USER> (upgraded-array-element-type '(unsigned-byte 16))
(unsigned-byte 16)
CL-USER> (make-array 1 :element-type '(unsigned-byte 17))
#(0)
CL-USER> (jobject-class *)
#<java class org.armedbear.lisp.BasicVector_UnsignedByte32 {1C49E33C}>
CL-USER> (upgraded-array-element-type '(unsigned-byte 17))
t
CL-USER> (class-of (make-array 1 :element-type '(unsigned-byte 17)))
#<built-in-class vector {352D86C9}>
Summary:
Implementation of arrays of unsigned byte 16 vs 17 are different
class-of reports the same type
upgraded-array-element-type of (unsigned-byte 17) reports t, but it is
in fact (unsigned-byte 32)
trying to set array element of (unsigned-byte 17) to int larger than
2^17 works, but not setting to a symbol, as type t would imply
}}}
--
Ticket URL: <http://abcl.org/trac/ticket/460>
armedbear <http://abcl.org>
armedbear