Discussion:
ASDF with-muffled-compiler-conditions gripe`
Cyrus Harmon
2018-06-09 17:38:30 UTC
Permalink
Dear ASDF folks,

I was trying to trace calls to compile-file today and noticed that the
with-muffled-compiler-conditions form in uiop:compile-file* muffles
trace output. Is there anyway to make it not do that?

thanks,

Cyrus
Robert Goldman
2018-06-09 20:54:48 UTC
Permalink
Post by Cyrus Harmon
Dear ASDF folks,
I was trying to trace calls to compile-file today and noticed that the
with-muffled-compiler-conditions form in uiop:compile-file* muffles
trace output. Is there anyway to make it not do that?
thanks,
Cyrus
I think you are overestimating the effect of this form. **UNLESS** you
are running with deferred warnings, this will only muffle
`*uninteresting-conditions*` and `*uninteresting-compiler-conditions*`.

By default, those are bound to `NIL`, so this shouldn't be causing your
problem.

R
Cyrus Harmon
2018-06-09 21:06:16 UTC
Permalink
I don't know enough about ASDF to know if I'm running with deferred
warnings -- I'm just trying to do (asdf:load-system ...) and removing
the with-muffled-compiler-conditions form (which itself is inside a
with-saved-deferred-warnings form) makes the trace output reappear. I
could well be overestimating of that particular form, but somehow the
TRACE output is being swallowed unless that form is removed.
Post by Cyrus Harmon
Dear ASDF folks,
I was trying to trace calls to compile-file today and noticed that
the with-muffled-compiler-conditions form in uiop:compile-file*
muffles trace output. Is there anyway to make it not do that?
thanks,
Cyrus
I think you are overestimating the effect of this form. *UNLESS* you
are running with deferred warnings, this will only muffle
|*uninteresting-conditions*| and |*uninteresting-compiler-conditions*|.
By default, those are bound to |NIL|, so this shouldn't be causing
your problem.
R
Robert Goldman
2018-06-09 21:13:30 UTC
Permalink
Two suggestions:

1. Let us know the implementation, implementation version, and ASDF
version
2. Look at the values of `*uninteresting-conditions*`,
`*uninteresting-compiler-conditions*`, and `*warnings-file-type*` in
your running lisp.

That will help us figure out why you are seeing this effect.

Thanks,
r
Post by Cyrus Harmon
I don't know enough about ASDF to know if I'm running with deferred
warnings -- I'm just trying to do (asdf:load-system ...) and removing
the with-muffled-compiler-conditions form (which itself is inside a
with-saved-deferred-warnings form) makes the trace output reappear. I
could well be overestimating of that particular form, but somehow the
TRACE output is being swallowed unless that form is removed.
Post by Cyrus Harmon
Dear ASDF folks,
I was trying to trace calls to compile-file today and noticed that
the with-muffled-compiler-conditions form in uiop:compile-file*
muffles trace output. Is there anyway to make it not do that?
thanks,
Cyrus
I think you are overestimating the effect of this form. *UNLESS* you
are running with deferred warnings, this will only muffle
|*uninteresting-conditions*| and
|*uninteresting-compiler-conditions*|.
By default, those are bound to |NIL|, so this shouldn't be causing
your problem.
R
Cyrus Harmon
2018-06-09 21:17:08 UTC
Permalink
Ah, right.

1. SBCL 1.4.8.53-eb16b4745 and ASDF 3.3.1

2. I'm not sure if these change when running asdf:load-system, but for
the moment they are all nil:

CL-USER> asdf::*uninteresting-conditions*
NIL
CL-USER> asdf::*uninteresting-compiler-conditions*
NIL
CL-USER> asdf::*warnings-file-type*
NIL

thanks,

Cyrus
Post by Robert Goldman
1. Let us know the implementation, implementation version, and ASDF
version
2. Look at the values of |*uninteresting-conditions*|,
|*uninteresting-compiler-conditions*|, and |*warnings-file-type*|
in your running lisp.
That will help us figure out why you are seeing this effect.
Thanks,
r
I don't know enough about ASDF to know if I'm running with
deferred warnings -- I'm just trying to do (asdf:load-system ...)
and removing the with-muffled-compiler-conditions form (which
itself is inside a with-saved-deferred-warnings form) makes the
trace output reappear. I could well be overestimating of that
particular form, but somehow the TRACE output is being swallowed
unless that form is removed.
Post by Cyrus Harmon
Dear ASDF folks,
I was trying to trace calls to compile-file today and noticed
that the with-muffled-compiler-conditions form in
uiop:compile-file* muffles trace output. Is there anyway to
make it not do that?
thanks,
Cyrus
I think you are overestimating the effect of this form. *UNLESS*
you are running with deferred warnings, this will only muffle
|*uninteresting-conditions*| and
|*uninteresting-compiler-conditions*|.
By default, those are bound to |NIL|, so this shouldn't be
causing your problem.
R
Robert Goldman
2018-06-11 01:25:48 UTC
Permalink
Well, if you are comfortable cutting that macro line out of your copy of
ASDF, maybe you could tweak that line of code so that it prints the
values of those variables?

I'm wondering if this is a bug in SBCL instead of ASDF. I can replicate
your result: on SBCL, tracing `COMPILE-FILE` does not print anything.
*But* when I made this modification:
```
(defun call-with-muffled-conditions (thunk conditions)
"calls the THUNK in a context where the CONDITIONS are muffled"
(handler-bind ((t #'(lambda (c) (when (match-any-condition-p c
conditions)
(format t "~&MUFFLING CONDITION
~a~%" c)
(muffle-warning c)))))
(funcall thunk)))
```
... then I **did** see output from tracing `COMPILE-FILE`.

Also, on *neither* Allegro *nor* (my antique copy of) Clozure can I
replicate this issue.

Pending new evidence, I think this is for the SBCL folks to deal with...
Is there any chance that SBCL might have trouble tracing calls inside
`APPLY`? I can't see why this macro would make any difference, now that
I see that it's not trying to muffle anything.

Best,
r
Post by Cyrus Harmon
Ah, right.
1. SBCL 1.4.8.53-eb16b4745 and ASDF 3.3.1
2. I'm not sure if these change when running asdf:load-system, but for
CL-USER> asdf::*uninteresting-conditions*
NIL
CL-USER> asdf::*uninteresting-compiler-conditions*
NIL
CL-USER> asdf::*warnings-file-type*
NIL
thanks,
Cyrus
Post by Robert Goldman
1. Let us know the implementation, implementation version, and ASDF
version
2. Look at the values of |*uninteresting-conditions*|,
|*uninteresting-compiler-conditions*|, and |*warnings-file-type*|
in your running lisp.
That will help us figure out why you are seeing this effect.
Thanks,
r
I don't know enough about ASDF to know if I'm running with
deferred warnings -- I'm just trying to do (asdf:load-system ...)
and removing the with-muffled-compiler-conditions form (which
itself is inside a with-saved-deferred-warnings form) makes the
trace output reappear. I could well be overestimating of that
particular form, but somehow the TRACE output is being swallowed
unless that form is removed.
Post by Cyrus Harmon
Dear ASDF folks,
I was trying to trace calls to compile-file today and noticed
that the with-muffled-compiler-conditions form in
uiop:compile-file* muffles trace output. Is there anyway to
make it not do that?
thanks,
Cyrus
I think you are overestimating the effect of this form. *UNLESS*
you are running with deferred warnings, this will only muffle
|*uninteresting-conditions*| and
|*uninteresting-compiler-conditions*|.
By default, those are bound to |NIL|, so this shouldn't be
causing your problem.
R
Loading...