Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork32k
Improve permission error messages in pdb and asyncio.tools#134290
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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
base:main
Are you sure you want to change the base?
Conversation
2b62a35
to6101e33
CompareUh oh!
There was an error while loading.Please reload this page.
gaogaotiantian commentedMay 21, 2025 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
Should this live in the code? I think this should live in the docs and we should just print a link for it. This documentation should probably live with |
pablogsal commentedMay 21, 2025 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
I think so. We want to provide actionable output to the users right where the error happens and not just in the docs. We could put it somewhere in the docs and drop a link there though although I think that is slight worse experience. But I don't feel very strongly |
I think this is too much text living in the code - especially with multiple copies. If we have a third library that utilizes I suggest that we put a link to the docs in the |
Maybe, but one of these cases is not even using |
These are CLI tools, we shouldn't show traceback here but a nice friendly error message |
We can show a message instead of traceback I have no problem with that. I really don't think we should have 50 lines of documentation pasted all over our code base. The detailed explanation should definitely live in the documentation somewhere. We should say something like "You don't have the permission to (retrieve data from?attach to?) another proces, for detailed information, seehttps://docs.python.org/...". For Unix users, that would directly translate to - try it with |
Alright let's out this in the docs somewhere thst makes sense and lets link to that from the error message. Would that work for you? |
Yes, that works for me. |
Add OS-specific permission requirements under the remote debuggingattachment protocol section. Include guidance for Linux, macOS, andWindows to help users resolve common permission-related issues whenattaching to processes.
Add help text and display a URL in permission-related errors whenusing the -p option in pdb to assist users in resolving commonissues during remote debugging.
Print a URL with steps to resolve permission errors when inspectingprocesses using asyncio.tools.
6101e33
to6e53e81
Compare
This PR enhances the user experience when a
PermissionError
occurs while attempting to attach to a process usingpdb -p
or tools likeasyncio ps
andasyncio pstree
. It adds platform-specific guidance for Linux, macOS, and Windows to help users understand why the operation failed and how to resolve it (e.g., usingsudo
, adjusting system settings, or enabling debugging privileges).Currently, the same logic is duplicated in both
pdb
andasyncio.tools
. If anyone has recommendations on how to avoid this duplication, I’d appreciate input. I couldn't find a clear shared location in the standard library where this kind of utility logic would belong.