I have ACL Express on Windows. It limits heap size which fails some systems compilation, but anyway, may show some useful results. Or we can ask Dave's help.
But let me first understand what is this "no applicable method ASDF/COMPONENT:COMPONENT-CHILDREN" error and why it wasn't detected previously.
On Wed, Feb 12, 2014 at 8:20 AM, Robert P. Goldman rpgoldman@sift.info wrote:
Do you have the ability to run these checks with ACL? That was problematic in this case, IIRC. Thanks!
Sent from my iPad
On Feb 12, 2014, at 7:07, Anton Vodonosov avodonosov@yandex.ru wrote:
12.02.2014, 16:55, "Anton Vodonosov" avodonosov@yandex.ru:
I now have results for SBCL and CCL with (uiop:enable-deferred-warnings-check): http://common-lisp.net/project/cl-test-grid/asdf/asdf-diff-31.html
In this report I found some failures which seem to be unrelated on warnings:
There is no applicable method for the generic function #<COMMON-LISP:STANDARD-GENERIC-FUNCTION ASDF/COMPONENT:COMPONENT-CHILDREN (1)> when called with arguments (#<CFFI-GROVEL:GROVEL-FILE "static-vectors" "ffi-types">)
The examples are
scriptl http://cl-test-grid.appspot.com/blob?key=1bc1pz0jwt http://cl-test-grid.appspot.com/blob?key=1lj39kniag
trivial-features-tests http://cl-test-grid.appspot.com/blob?key=1w15tfux4w http://cl-test-grid.appspot.com/blob?key=1s3h4rlltj
-- My Best,
Dave Cooper, Genworks Support david.cooper@genworks.com, dave.genworks.com(skype) USA: 248-327-3253(o), 1-248-330-2979(mobile) UK: 0191 645 1699
On Wed, Feb 12, 2014 at 8:43 AM, Anton Vodonosov avodonosov@yandex.ru wrote:
But let me first understand what is this "no applicable method ASDF/COMPONENT:COMPONENT-CHILDREN" error and why it wasn't detected previously.
It's a bug I introduced in 3.1.0.56 with the backward-compatible propagation of unqualified operations, and just fixed in 3.1.0.66, together with a regression test. Oops.
Thanks again for suggesting the original fix, and my apologies for not getting it right the first time over.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org The uploaded man cut himself from the world. The optimizer saw the simulation would have no more side-effects and optimized it all away.
13.02.2014, 01:09, "Faré" fare@tunes.org:
On Wed, Feb 12, 2014 at 8:43 AM, Anton Vodonosov avodonosov@yandex.ru wrote:
But let me first understand what is this "no applicable method ASDF/COMPONENT:COMPONENT-CHILDREN" error and why it wasn't detected previously.
It's a bug I introduced in 3.1.0.56 with the backward-compatible propagation of unqualified operations, and just fixed in 3.1.0.66, together with a regression test. Oops.
Thanks again for suggesting the original fix, and my apologies for not getting it right the first time over.
You are welcome. And the bug is quite subtle, totally understandable.
Why it was not detected, as I said, I probably made a mistake when configuring test environment and tested not with some relatevely new ASDF, but not ASDF 3.1.0.63
To protect from such problems in the future I modified cl-test-grid to print ASDF version at header of every test log, so we will be able to verify what ASDF was tested.
I updated the report with CMUCL and CLISP results, and annotated all the "no applicable method ASDF/COMPONENT:COMPONENT-CHILDREN" failures to distinguish them easily: http://common-lisp.net/project/cl-test-grid/asdf/asdf-diff-31.html
The most of the remaining failures should be caused by enabled deferred warnings check. So despite the COMPONENT-CHILDRED bug, the report provides at least preliminary view of the situation with warnings.
I have started tests for new quicklisp 2014-02-11 on our server. Then I plan to test the very latest ASDF against that quicklisp version, to ensure ASDF have no regressions for the newer version of libraries.
Then to test the with enabled deferred warnings check and with :use :uiop in :asdf-user.
Notes about warnings: - check out the cambl-test failures in the reports above, it signals some strange errors that cambl-test.sbcl-warnings is closed, cambl-test.cmucl-warnings is closed, and 'There is no package named "CAMBL-TEST"' when doing CHECK-DEFERRED-WARNINGS on cambl-test.ccl-warnings"
- Fare, unfortunately it might be the case that since you did the huge effort of informing library authors about deferred warnings, some of the libraries might be fixed, but maybe some others have introduced warnings and became broken when the deferred warning check is enabled.
Best regards, - Anton
On Wed, Feb 12, 2014 at 5:16 PM, Anton Vodonosov avodonosov@yandex.ru wrote:
http://common-lisp.net/project/cl-test-grid/asdf/asdf-diff-31.html
- check out the cambl-test failures in the reports above, it signals some strange errors that cambl-test.sbcl-warnings is closed, cambl-test.cmucl-warnings is closed, and 'There is no package named "CAMBL-TEST"' when doing CHECK-DEFERRED-WARNINGS on cambl-test.ccl-warnings"
It looks like CAMBL-TEST has genuine bugs. Maybe the variable *EUROPEAN-STYLE* is never defined, maybe it's defined in a file that is not a dependency and ends up being loaded after rather than before mention, in either case that's a bug. I wouldn't be surprised that the user assumed :serial t but didn't specify it, and that the missing package has the same cause. If you didn't build from clean, that makes ever more sense.
- Fare, unfortunately it might be the case that since you did the huge effort of informing library authors about deferred warnings, some of the libraries might be fixed, but maybe some others have introduced warnings and became broken when the deferred warning check is enabled.
Yes, this immensely frustrating experience was educating indeed. Upgrade can never be synchronous. If a future ASDF developer wants to tighten the compiler static checking, he will have to provide either a set of default overrides for known old versions of existing systems, or a way for quicklisp to slacken the checks around its packages, or both. In any case, some out-of-band configuration controls.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org Progress doesn't come from early risers — progress is made by lazy men looking for easier ways to do things. — Robert Heinlein
I believe the issue is that our "negative inheritance" trick causes us to attempt a downward-operation on components that don't have children.
How do regular downward-operations manage to stop? Answer: by being specialized on parent-component. Our "negative-inheritance" method should thus either be split in two, or be made to guard the downward propagation with a (when (typep c 'parent-component) ...).
My apologies for the bug, and thanks a lot to Anton for finding it!
Robert: good luck.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org None are more hopelessly enslaved than those who falsely believe they are free. — Johann Wolfgang von Goethe
On Wed, Feb 12, 2014 at 8:43 AM, Anton Vodonosov avodonosov@yandex.ru wrote:
I have ACL Express on Windows. It limits heap size which fails some systems compilation, but anyway, may show some useful results. Or we can ask Dave's help.
But let me first understand what is this "no applicable method ASDF/COMPONENT:COMPONENT-CHILDREN" error and why it wasn't detected previously.
On Wed, Feb 12, 2014 at 8:20 AM, Robert P. Goldman rpgoldman@sift.info wrote:
Do you have the ability to run these checks with ACL? That was problematic in this case, IIRC. Thanks!
Sent from my iPad
On Feb 12, 2014, at 7:07, Anton Vodonosov avodonosov@yandex.ru wrote:
12.02.2014, 16:55, "Anton Vodonosov" avodonosov@yandex.ru:
I now have results for SBCL and CCL with (uiop:enable-deferred-warnings-check): http://common-lisp.net/project/cl-test-grid/asdf/asdf-diff-31.html
In this report I found some failures which seem to be unrelated on warnings:
There is no applicable method for the generic function #<COMMON-LISP:STANDARD-GENERIC-FUNCTION ASDF/COMPONENT:COMPONENT-CHILDREN (1)> when called with arguments (#<CFFI-GROVEL:GROVEL-FILE "static-vectors" "ffi-types">)
The examples are
scriptl http://cl-test-grid.appspot.com/blob?key=1bc1pz0jwt http://cl-test-grid.appspot.com/blob?key=1lj39kniag
trivial-features-tests http://cl-test-grid.appspot.com/blob?key=1w15tfux4w http://cl-test-grid.appspot.com/blob?key=1s3h4rlltj
Faré wrote:
I believe the issue is that our "negative inheritance" trick causes us to attempt a downward-operation on components that don't have children.
How do regular downward-operations manage to stop? Answer: by being specialized on parent-component.
In the past, we achieved this termination by adding default methods (perhaps defined on COMPONENT or on T), that would terminate the recursion.
E.g., TEST-OP originally had a default PERFORM method that would do nothing, so that TEST-OP wouldn't blow up on downward propagation of dependencies....
cheers, r