RokeJulianLockhart@sayw4i:~/Software/Git/GitLab.com/RokeJulianLockhart/sg5n9q/ [-] `{title: "Non-Metadata", id: "s1gvg2"}`{.JSON5}.dir/ [-] `{title: "Technical", id: "s20cxw"}`{.JSON5}.dir/ [-] `{title: "Applications", id: ""}`{.JSON5}.dir/ [-] `{title: "Configurator", id: "s3wrcl"}`{.JSON5}.dir/ [-] `{title: "Code", id: ""}`{.JSON5}.dir$ cd /home/RokeJulianLockhart/Software/Git/GitLab.com/RokeJulianLockhart/sg5n9q/\ \ \[-]\ `\{title\:\ \"\`\{title:\ \"Non-Metadata\",id:\ \"s1gvg2\"\}\`\{.JSON5\}.dir/\ \ \[-\]\`\{title:\ \"Technical\",id:\ \"s20cxw\"\}\`\{.JSON5\}.dir/\ \ \[-\]\`\{title:\ \"Applications\",id:\ \"\"\}\`\{.JSON5\}.dir/\ \ \[-\]\`\{title:\ \"Configurator\",id:\ \"s3wrcl\"\}\`\{.JSON5\}.dir/\ \ \[-\]\`\{title:\ \"Code\",id:\ \"\"\}\`\{.JSON5\}.dir ; /usr/bin/env /usr/bin/python3 /home/RokeJulianLockhart/.vscode-insiders/extensions/ms-python.debugpy-2024.11.2024082901-linux-x64/bundled/libs/debugpy/adapter/../../debugpy/launcher 39897 -- /home/RokeJulianLockhart/Software/Git/GitLab.com/RokeJulianLockhart/sg5n9q/\ \ \[-\]\`\{title:\ \"Non-Metadata\",id:\ \"s1gvg2\"\}\`\{.JSON5\}.dir/\ \ \[-\]\`\{title:\ \"Technical\",id:\ \"s20cxw\"\}\`\{.JSON5\}.dir/\ \ \[-\]\`\{title:\ \"Applications\",id:\ \"\"\}\`\{.JSON5\}.dir/\ \ \[-\]\`\{title:\ \"Configurator\",id:\ \"s3wrcl\"\}\`\{.JSON5\}.dir/\ \ \[-\]\`\{title:\ \"Code\",id:\ \"\"\}\`\{.JSON5\}.dir/.\ \[-\]\`\`\{title:\ \"\`platform.uname\(\)\`\{.Py\}\ Field\ Output\",id:\ \"sgskr5\"\}\`\`\{.JSON5\}.txt.Py
>
> ^C
RokeJulianLockhart@sayw4i:~/Software/Git/GitLab.com/RokeJulianLockhart/sg5n9q/ [-] `{title: "Non-Metadata", id: "s1gvg2"}`{.JSON5}.dir/ [-] `{title: "Technical", id: "s20cxw"}`{.JSON5}.dir/ [-] `{title: "Applications", id: ""}`{.JSON5}.dir/ [-] `{title: "Configurator", id: "s3wrcl"}`{.JSON5}.dir/ [-] `{title: "Code", id: ""}`{.JSON5}.dir$
Summary
I've managed to break the path parsing. Specifically, including certain characters in the parent directories of the file being debugged causes the debugger to crash.
I don't know what specific characters cause this, but I'll update the report when(/if) I do.
Reproduction
Directory-Caused Crash
The undermentioned path, which contains a normal filename (
testfile.py) but an abnormally named immediate parent directory:...causes
ms-python.debugpyto crash:Merely one directory in the absolute path of the file need contain such characters for the parsing to fail, as the undermentioned "Terminal" log from
ms-python.debugpydemonstrates:If I put the file deep enough (like this example) it completely breaks. Enter doesn't work because the path is incorrectly escaped, so
^Cis necessary to exit the transient debug state:This causes Python Debugger: "Timed out waiting for launcher to connect" #1677 to occur:
Debugger Functioning with Unusual Filename
Note that this doesn't apply to the file's name. Consider the undermentioned example:
As the undermentioned "Terminal" log demonstrates, it functions:
Environment
Filename Character Support
One must be using a filesystem and OS that support such characters. I use BTRFS on Fedora 40, but anything comparable should work. 1
Versions
Code
Debugger
marketplace.visualstudio.com/_apis/public/gallery/publishers/ms-python/vsextensions/debugpy/2024.11.2024082901/vspackage?targetPlatform=linux-x642Miscellaneous
Potentially related to microsoft/vscode-python-debugger#233 (comment), although I doubt it, because
/home/RokeJulianLockhart/Documents/Text File.txt.pyworks.Footnotes
en.wikipedia.org/w/index.php?title=Filename&oldid=1245592690#Comparison_of_filename_limitations↩vscode-python-debugger/releases/download/v2024.11.2024082901/extension.vsixmanifest↩