-
Notifications
You must be signed in to change notification settings - Fork 96
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ACL2(p) can hang when profiling #638
Comments
…ssue #638) and in part by turning off waterfall-parallelism in a few books. Also, removed item from :doc unsupported-waterfall-parallelism-features about memoization not being supported with parallel execution, since that combination has been supported for some time. However, in its place (following a suggestion from David Rager), added an item about profiling possibly hanging with waterfall-parallelism enabled, pointing to GitHub Issue #638. (I have not yet propagated this change to doc.lisp or the online manual, but I will likely do that pretty soon.)
Thanks for the report @MattKaufmann. The inter-leaved This would be interesting to look into, but it's a potentially deep dive. So, I don't plan to look at it anymore unless it's bothering someone. The chances of making things worse via a "good" change are non-trivial. Also, given I currently know nothing about how CCL implements parallelism, and given there's probably not a whole lot of CCL testing of multi-threading combined with profiling, it wouldn't surprise me if there were a CCL bug (but that's not where I would start). @MattKaufmann, thanks for fixing the cert.pl issue so that profiling is disabled. I'll close this unless someone else raises objections. |
@MattKaufmann @ragerdl Do you think that this Issue can be closed? |
@acoglio I don't know what's best, but I have no objection to closing it. |
I'm pretty sure it's still a bug, but you can mark it as won't fix if you
want :)
…On Mon, Jun 27, 2022, 12:45 PM MattKaufmann ***@***.***> wrote:
@acoglio <https://github.com/acoglio> I don't know what's best, but I
have no objection to closing it.
—
Reply to this email directly, view it on GitHub
<#638 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAREJ7XZEMLM7M46S6VHZODVRHSDRANCNFSM4CO3KZYA>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
If it's still a bug it seems best to keep it open. Just checking! |
I don't know if it's best to keep this open. David is probably the only one who knows enough about the ACL2(p) implementation to have a chance at fixing the problem with reasonable effort, and I don't blame him at all for not being interested in doing that (he's moved on). I'm pretty sure that I've done all the debugging I want to do on this (I've never signed up for ACL2(p) maintenance, even though I've done some). I suppose I'd be willing to incorporate fixes into the ACL2 sources from someone else, IF those fixes only affect ACL2(p), not ACL2. But I'd be surprised if anyone takes that on. |
Here is how I was able to get ACL2(p) to hang with
waterfall-parallelism on, both in Linux and on a Mac. I've seen this
in lots of books when trying a regression, but I'm about to push a
change to books/build/make_cert_help.pl that avoids this problem
during regressions -- though this example shows that the problem still
remains if you profile with waterfall-parallelism on.
First, in an ACL2 directory, build ACL2 and ACL2(p) and clean the
books. Then (takes only a few seconds):
Then start ACL2(p) and evaluate these forms.
For me, the proof got stuck in the proof of SYMBOL-N-UNIQUE-N. Here's
a key part (from the top) of the backtrace.
One thing I noticed is that if I first traced the function
futures-resources-available, by inserting the following just before
(ld "generalize.lisp"), then the output from the trace was
interleaved.
So I wonder if futures-resources-available needs some sort of a lock
or other method to make it atomic; but I'm just grasping at straws.
David has suggested that I file this issue against him, though he
plans not to fix the problem unless perhaps it prevents users from
being productive.
The text was updated successfully, but these errors were encountered: