On preparations to turn the Bear past 11

Mark Evenson evenson at panix.com
Thu Nov 21 23:15:51 UTC 2019

Dear long-suffering fans of the Bear,

Rejoice! for preparations for the release of abcl-1.6.0 to support
openjdk{6,7,8,11} and beyond near completion.

We have managed to get a [Continuous Integration (CI)][travis-builds]
build mostly working via Travis CI integration with the Github
repository.  Anyone who forks us on Github with suitable monkeying
around can get automated build and test results for their commits to
their fork.  The [current version of the tests][.travis.yml] attempt
to run in environments that are the cross product of macOS/Linux with
openjdk8/openjdk11.  This isn't quite completely working yet as I
haven't apparently figured out how to use jenv in Travis to specify
the correct openjdk to invoke, but I'm close.  For now, we at least
getting test coverage for openjdk11 under Linux, and I hope to iron
out the remaining kinks real soon now.  It should be theoretically
possible to [add Windows builds][windows-builds] as well, but I am
planning on to tackling that in the near future.

The CI tests have given me the confidence to next attempt to release
abcl-1.6.0 via existing release engineering process in spite of the
following problems:

1. While they seemingly pass in the CI, the CFFI linkages to CL+SSL
   libraries often fail in a spectacularly segmentation fault in
   practical use.  With judicious refinement, I think we can figure
   out what is going but for now we should just accept this.

2. [A major regression from abcl-1.5.0][pathname-problems] concerning
   the use of CL:PATHNAME to refer to objects within a jar/zip archive
   has been discovered, but curiously it is seemingly not fatal to
   anything other than the execution of ABCL test suite.  In analyzing
   the problems, I realized that we can considerably clean up our
   abstraction for a CL:PATHNAME which denotes an entry in an archive
   by allowing nested archives using the CL:PATHNAME-DEVICE component.
   To do this in a reasonably clean manner means a fair amount of
   modification on the Java side of our implementation by reflecting
   the various types of a CL:PATHNAME in that Java hierarchy as Erik
   Hülsmann suggested many years ago.  While I have some promising
   preliminary patches towards this, due to the amount of outstanding
   effort, I feel we should get abcl-1.6.0 out first.

Please holler loudly real soon if anyone has problems with releasing
as things currently stand.

I intend follow up with abcl-1.6.1 within a month to hopefully address
the two major blockers in addition to any errata.

[travis-builds]: https://travis-ci.org/armedbear/abcl/builds
[.travis.yml]: https://github.com/armedbear/abcl/blob/master/.travis.yml
[windows-builds]: https://twitter.com/ArmedBear/status/1197538417678192645
[cl+ssl-problems]: https://abcl.org/trac/ticket/464
[pathname-problems]: https://github.com/armedbear/abcl/commit/e962be5e0dd86335cc66415a0a417f9e4bb3040b

Mark <evenson at panix.com>

"A screaming comes across the sky.  It has happened before but there is nothing 
to compare to it now."

More information about the armedbear-devel mailing list