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
Throttle errors coming from multiple threads #129
Comments
I think common lisp's |
Not yet sure it'd be bloat. If you spawn even as little as, say, 10 threads and they all invoke the debugger, your Emacs will be quite spammed with SLDB buffers. That doesn't seem to be very resilient default behavior. But maybe the onus is on the multi-threading framework to avoid situations like that, I'm not sure. |
Maybe in that case you don't want to enable the existing lisp-side customization option Maybe in that case you want to put something in your |
Right, but as multithreaded programming becomes more and more common, perhaps SLIME should have a default behaviour that is saner than popping large amounts of SLDB buffers. |
OK, if we're talking about sane default behaviour. Do you have a reasonable heuristic for that default behaviour? Don't allow more than N=3? outstanding errors at a time? Anything more complicated is better deferred to |
Maybe "trivial-sanity" as you explained the other day... |
I think N might be either 1 or a parameter. SLIME's thread list can display which threads have pending errors, and you can debug any pending error you'd like. Maybe the SLDB buffer can also display how many errors are pending. Not yet sure whether picking a restart in a given SLDB buffer should make the next pending error pop. What do you think? |
I don't know. It's precisely adding this kind of logic to SLDB that I think would bloat it unnecessarily. It's quite huge already. There can be other cleanups, but still... Anyway you say the SLIME thread list can already debug pending errors on demand, right? If so, I really think this is a case of advising users not to set Have you given any thought to creating a non-slime package that does manages these hooks? |
On Fri, Mar 7, 2014 at 3:47 PM, João Távora notifications@github.comwrote:
Have you given any thought to creating a non-slime package that does
Luís |
Obviously it doesn't fit your proposal. But it solves your problem :-) The idea is providing a function that either globally/dynamically (via a macro) organizes any existing debugger-hook and install itself as the global/dynamic debugger hook. The package would provide a number of debugger managing algorithms... But this concept of "pending errors" is quite amazing. Good luck. |
On Fri, Mar 7, 2014 at 4:58 PM, João Távora notifications@github.comwrote:
|
It would be nice if the SLIME debugger could (optionally?) throttle multiple simultaneous errors coming from different threads.
Some discussion: http://thread.gmane.org/gmane.lisp.slime.devel/11401
The text was updated successfully, but these errors were encountered: