Closed avodonosov closed 11 years ago
Hello,
thanks for the report.
My fault, I probably skipped some tests on the current STABLE branch. Anyway I have identified the probable cause for this problem.
The reason is the new macro DEFINE-CONSTANT-EVAL-ONCE, which uses a very aggressive optimization: it evaluates its argument (usually an object creation form) only once during :COMPILE-TOPLEVEL, which typically causes the object to be stored in .FASL to be loaded later during :LOAD-TOPLEVEL.
It appears that CCL is unable to load at least the fragment #<RECURSIVE-LOCK ...> - not suprising, since it's by definition an unreadable object.
There are at least two possible solutions: 1) do not use DEFINE-CONSTANT-EVAL-ONCE on CCL or 2) implement MAKE-LOAD-FORM for the structure-object STMX.LANG:ATOMIC-COUNTER
I will test if 2) solves the problem, otherwise I will fall back on 1)
It seems Quicklisp pulled master branch instead of stable (see https://github.com/quicklisp/quicklisp-projects/issues/540), which may explain why it was not thoroughly tested
commit 6c51c840fb27fb62452dc5a048332557bf57dfca fixes this regression. With it, STMX successfully loads on all supported compilers.
Anyway, on CCL and CMUCL test suite still fails (enters infinite loop). Working on it.
The latest STMX version (1.3.3) published by Quicklisp in August is (correctly) the stable branch. Testing on CCL passed - see http://common-lisp.net/project/cl-test-grid/library/stmx.html. On CMUCL some issues seem to persist - I will investigate, even the next Quicklisp update should pull STMX version 1.9.0
Yep. It also has some problems on ECL, but I think it's better to create a separate issue for that
Hi.
Since stmx is in quicklisp it is being tested by cl-test-grid on various lisp and OSes.
Here is the library test results page: http://common-lisp.net/project/cl-test-grid/library/stmx.html. The tests status links like "(LOAD stmx FAIL)" or "(LOAD stmx OK)" refer to the test process output stored in file.
As you can see, in quicklisp 2013-07-22 it started to fail loading on CCL due to error: