Fatal Python Error on debugpy.adapter shutdown
amadanmath opened this issue · 3 comments
Environment data
- debugpy version: 1.8.1
- OS and version: OSX Ventura 13.6.7
- Python version: 3.10.14, 3.11.9, 3.12.2 (Homebrew)
- Using VS Code or Visual Studio: No
Problem description
I was trying to set up nvim-dap-python
on NeoVim. It works until I execute the last instruction; when the debugger is expected to shut down, a Problem Report for Python window pops up. Investigating further, I could reproduce the error purely in command-line, without NeoVim:
Starting the adapter with
$ python -m debugpy.adapter
and letting it output the first three events (two telemetry outputs, one debugpySockets
); then stopping it with Ctrl-C.
Actual behavior
After outputting two more events, a Fatal Python Error is raised.
Content-Length: 137
{"seq": 1, "type": "event", "event": "output", "body": {"category": "telemetry", "output": "ptvsd", "data": {"packageVersion": "1.8.1"}}}Content-Length: 139
{"seq": 2, "type": "event", "event": "output", "body": {"category": "telemetry", "output": "debugpy", "data": {"packageVersion": "1.8.1"}}}Content-Length: 134
{"seq": 3, "type": "event", "event": "debugpySockets", "body": {"sockets": [{"host": "127.0.0.1", "port": 56546, "internal": false}]}}^CContent-Length: 79
{"seq": 4, "type": "event", "event": "debugpySockets", "body": {"sockets": []}}Content-Length: 79
{"seq": 5, "type": "event", "event": "debugpySockets", "body": {"sockets": []}}Fatal Python error: _enter_buffered_busy: could not acquire lock for <_io.BufferedReader name='<stdin>'> at interpreter shutdown, possibly due to daemon threads
Python runtime state: finalizing (tstate=0x00007f7960f05070)
Current thread 0x00007ff85fe507c0 (most recent call first):
<no Python frame>
Abort trap: 6
Additionally, Problem Report for Python window is shown, with the following information:
-------------------------------------
Translated Report (Full Report Below)
-------------------------------------
Process: Python [46526]
Path: /usr/local/Cellar/python@3.10/3.10.14/Frameworks/Python.framework/Versions/3.10/Resources/Python.app/Contents/MacOS/Python
Identifier: org.python.python
Version: 3.10.14 (3.10.14)
Code Type: X86-64 (Native)
Parent Process: bash [45361]
Responsible: kitty [1666]
User ID: 501
Date/Time: 2024-06-20 17:13:04.8525 +0900
OS Version: macOS 13.6.7 (22G720)
Report Version: 12
Bridge OS Version: 8.5 (21P5077)
Anonymous UUID: F0A08029-0D16-756F-668F-C79E48053E28
Sleep/Wake UUID: B19F6CAE-971F-49D7-99FF-29949992B0B2
Time Awake Since Boot: 430000 seconds
Time Since Wake: 29734 seconds
System Integrity Protection: enabled
Crashed Thread: 0 Dispatch queue: com.apple.main-thread
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Termination Reason: Namespace SIGNAL, Code 6 Abort trap: 6
Terminating Process: Python [46526]
Application Specific Information:
abort() called
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 libsystem_kernel.dylib 0x7ff81c73c196 __pthread_kill + 10
1 libsystem_pthread.dylib 0x7ff81c773ee6 pthread_kill + 263
2 libsystem_c.dylib 0x7ff81c69ab45 abort + 123
3 Python 0x104496174 fatal_error_exit + 13
4 Python 0x104495fe2 fatal_error + 30
5 Python 0x104498530 _Py_FatalErrorFormat + 300
6 Python 0x1044fdab9 _enter_buffered_busy + 231
7 Python 0x1044fbb00 buffered_close + 52
8 Python 0x10438cc47 method_vectorcall_NOARGS + 87
9 Python 0x1043832ce PyObject_VectorcallMethod + 135
10 Python 0x1045038ac _io_TextIOWrapper_close + 299
11 Python 0x10438cc47 method_vectorcall_NOARGS + 87
12 Python 0x1043832ce PyObject_VectorcallMethod + 135
13 Python 0x1044f671b iobase_finalize + 236
14 Python 0x1043c90a5 PyObject_CallFinalizerFromDealloc + 60
15 Python 0x104500cdb textiowrapper_dealloc + 18
16 Python 0x1043b39e4 insertdict + 1038
17 Python 0x1043c7b02 _PyModule_ClearDict + 601
18 Python 0x104497350 finalize_modules + 1280
19 Python 0x104496b2d Py_FinalizeEx + 581
20 Python 0x1044b4a69 Py_RunMain + 498
21 Python 0x1044b5b94 Py_BytesMain + 42
22 dyld 0x7ff81c41941f start + 1903
Thread 1:
0 libsystem_kernel.dylib 0x7ff81c735f7e read + 10
1 Python 0x1044b32c6 _Py_read + 114
2 Python 0x1044f8696 _io_FileIO_readinto + 159
3 Python 0x10438cb8e method_vectorcall_O + 89
4 Python 0x1043832ce PyObject_VectorcallMethod + 135
5 Python 0x1044fe5a4 _bufferedreader_raw_read + 181
6 Python 0x1044fe4d7 _bufferedreader_fill_buffer + 51
7 Python 0x1044fe206 _buffered_readline + 347
8 Python 0x10438ce80 method_vectorcall_FASTCALL + 93
9 Python 0x104457e9a call_function + 173
10 Python 0x104453ab9 _PyEval_EvalFrameDefault + 32837
11 Python 0x10444ac06 _PyEval_Vector + 361
12 Python 0x104384a2d method_vectorcall + 354
13 Python 0x1044de63f partial_vectorcall + 378
14 Python 0x104457e9a call_function + 173
15 Python 0x104453b92 _PyEval_EvalFrameDefault + 33054
16 Python 0x10444ac06 _PyEval_Vector + 361
17 Python 0x104457e9a call_function + 173
18 Python 0x104453ab9 _PyEval_EvalFrameDefault + 32837
19 Python 0x10444ac06 _PyEval_Vector + 361
20 Python 0x104457e9a call_function + 173
21 Python 0x104453ab9 _PyEval_EvalFrameDefault + 32837
22 Python 0x10444ac06 _PyEval_Vector + 361
23 Python 0x104384aa2 method_vectorcall + 471
24 Python 0x104453d81 _PyEval_EvalFrameDefault + 33549
25 Python 0x10444ac06 _PyEval_Vector + 361
26 Python 0x104457e9a call_function + 173
27 Python 0x104453ab9 _PyEval_EvalFrameDefault + 32837
28 Python 0x10444ac06 _PyEval_Vector + 361
29 Python 0x104457e9a call_function + 173
30 Python 0x104453ab9 _PyEval_EvalFrameDefault + 32837
31 Python 0x10444ac06 _PyEval_Vector + 361
32 Python 0x104384aa2 method_vectorcall + 471
33 Python 0x1044f36d3 thread_run + 115
34 Python 0x1044a81f3 pythread_wrapper + 36
35 libsystem_pthread.dylib 0x7ff81c7741d3 _pthread_start + 125
36 libsystem_pthread.dylib 0x7ff81c76fbd3 thread_start + 15
Thread 0 crashed with X86 Thread State (64-bit):
rax: 0x0000000000000000 rbx: 0x00007ff85fe507c0 rcx: 0x00007ff7bbf25ff8 rdx: 0x0000000000000000
rdi: 0x0000000000000103 rsi: 0x0000000000000006 rbp: 0x00007ff7bbf26020 rsp: 0x00007ff7bbf25ff8
r8: 0x00000000005f1680 r9: 0xffffffff00000000 r10: 0x0000000000000000 r11: 0x0000000000000246
r12: 0x0000000000000103 r13: 0x00007ff7bbf26290 r14: 0x0000000000000006 r15: 0x0000000000000016
rip: 0x00007ff81c73c196 rfl: 0x0000000000000246 cr2: 0x0000000000000000
Logical CPU: 0
Error Code: 0x02000148
Trap Number: 133
Binary Images:
0x103fd8000 - 0x103fdbfff org.python.python (3.10.14) <00fef16c-f414-3007-b17e-5c5d39c99317> /usr/local/Cellar/python@3.10/3.10.14/Frameworks/Python.framework/Versions/3.10/Resources/Python.app/Contents/MacOS/Python
0x10432b000 - 0x10459efff org.python.python (3.10.14, (c) 2001-2023 Python Software Foundation.) <b3157bb7-46b7-377f-b2aa-0f039ff3f421> /usr/local/Cellar/python@3.10/3.10.14/Frameworks/Python.framework/Versions/3.10/Python
0x10426f000 - 0x104276fff _json.cpython-310-darwin.so (*) <b67ae466-b793-3970-8aac-abde58c42ee8> /usr/local/Cellar/python@3.10/3.10.14/Frameworks/Python.framework/Versions/3.10/lib/python3.10/lib-dynload/_json.cpython-310-darwin.so
0x104296000 - 0x10429dfff zlib.cpython-310-darwin.so (*) <fac7861c-55fe-3456-9b81-5aaaead055fb> /usr/local/Cellar/python@3.10/3.10.14/Frameworks/Python.framework/Versions/3.10/lib/python3.10/lib-dynload/zlib.cpython-310-darwin.so
0x104283000 - 0x104286fff _bz2.cpython-310-darwin.so (*) <34a50c37-37f7-3aba-a3b2-2b2dd104471d> /usr/local/Cellar/python@3.10/3.10.14/Frameworks/Python.framework/Versions/3.10/lib/python3.10/lib-dynload/_bz2.cpython-310-darwin.so
0x1042bd000 - 0x1042c4fff _lzma.cpython-310-darwin.so (*) <644c39e5-cef9-3c48-bada-1b2168aeb587> /usr/local/Cellar/python@3.10/3.10.14/Frameworks/Python.framework/Versions/3.10/lib/python3.10/lib-dynload/_lzma.cpython-310-darwin.so
0x1042fa000 - 0x104319fff liblzma.5.dylib (*) <74cc93b3-d104-3692-ab7a-7348e6fc3cdc> /usr/local/Cellar/xz/5.4.6/lib/liblzma.5.dylib
0x1042aa000 - 0x1042adfff _opcode.cpython-310-darwin.so (*) <43b08d01-f707-3224-ab09-9066b622d5a5> /usr/local/Cellar/python@3.10/3.10.14/Frameworks/Python.framework/Versions/3.10/lib/python3.10/lib-dynload/_opcode.cpython-310-darwin.so
0x1042d1000 - 0x1042d4fff fcntl.cpython-310-darwin.so (*) <0ba11d5d-8d73-38fd-985d-7b125985c207> /usr/local/Cellar/python@3.10/3.10.14/Frameworks/Python.framework/Versions/3.10/lib/python3.10/lib-dynload/fcntl.cpython-310-darwin.so
0x1042e1000 - 0x1042e4fff _posixsubprocess.cpython-310-darwin.so (*) <8fbb87cb-8216-3bc4-88b0-117e9c56fd01> /usr/local/Cellar/python@3.10/3.10.14/Frameworks/Python.framework/Versions/3.10/lib/python3.10/lib-dynload/_posixsubprocess.cpython-310-darwin.so
0x10493f000 - 0x104946fff select.cpython-310-darwin.so (*) <2ce74d76-9fc2-3bc0-8afd-7cc27be1c085> /usr/local/Cellar/python@3.10/3.10.14/Frameworks/Python.framework/Versions/3.10/lib/python3.10/lib-dynload/select.cpython-310-darwin.so
0x10496a000 - 0x104975fff math.cpython-310-darwin.so (*) <773e93b7-f5e6-380f-bbed-ea03a9fdae8f> /usr/local/Cellar/python@3.10/3.10.14/Frameworks/Python.framework/Versions/3.10/lib/python3.10/lib-dynload/math.cpython-310-darwin.so
0x104953000 - 0x10495afff binascii.cpython-310-darwin.so (*) <931a83c9-83b3-3397-a960-f6186a3e416c> /usr/local/Cellar/python@3.10/3.10.14/Frameworks/Python.framework/Versions/3.10/lib/python3.10/lib-dynload/binascii.cpython-310-darwin.so
0x10499f000 - 0x1049aefff _datetime.cpython-310-darwin.so (*) <4ac29922-a35b-3f51-8d9f-63fa1f50eca4> /usr/local/Cellar/python@3.10/3.10.14/Frameworks/Python.framework/Versions/3.10/lib/python3.10/lib-dynload/_datetime.cpython-310-darwin.so
0x1049bf000 - 0x1049c6fff _struct.cpython-310-darwin.so (*) <c2f1001e-d4c2-31ba-9665-29d2cc159c17> /usr/local/Cellar/python@3.10/3.10.14/Frameworks/Python.framework/Versions/3.10/lib/python3.10/lib-dynload/_struct.cpython-310-darwin.so
0x1049d3000 - 0x1049dafff pyexpat.cpython-310-darwin.so (*) <ef73d690-90a6-30b8-9512-b6347c4d5ef3> /usr/local/Cellar/python@3.10/3.10.14/Frameworks/Python.framework/Versions/3.10/lib/python3.10/lib-dynload/pyexpat.cpython-310-darwin.so
0x1049e7000 - 0x1049f6fff _socket.cpython-310-darwin.so (*) <b6d662de-672d-3b1c-bf39-4cb33646aa98> /usr/local/Cellar/python@3.10/3.10.14/Frameworks/Python.framework/Versions/3.10/lib/python3.10/lib-dynload/_socket.cpython-310-darwin.so
0x104a03000 - 0x104a0afff array.cpython-310-darwin.so (*) <6001ca1b-1538-3c3e-803f-feff0c6c2287> /usr/local/Cellar/python@3.10/3.10.14/Frameworks/Python.framework/Versions/3.10/lib/python3.10/lib-dynload/array.cpython-310-darwin.so
0x104982000 - 0x104985fff _bisect.cpython-310-darwin.so (*) <485e81fc-ed82-3a46-9452-15a4ab1b467c> /usr/local/Cellar/python@3.10/3.10.14/Frameworks/Python.framework/Versions/3.10/lib/python3.10/lib-dynload/_bisect.cpython-310-darwin.so
0x104b17000 - 0x104b1afff _random.cpython-310-darwin.so (*) <61604403-c554-381f-95a3-ff00c9a92939> /usr/local/Cellar/python@3.10/3.10.14/Frameworks/Python.framework/Versions/3.10/lib/python3.10/lib-dynload/_random.cpython-310-darwin.so
0x104b27000 - 0x104b2efff _sha512.cpython-310-darwin.so (*) <5380019c-27e5-33c2-8b09-5b57cb06adb9> /usr/local/Cellar/python@3.10/3.10.14/Frameworks/Python.framework/Versions/3.10/lib/python3.10/lib-dynload/_sha512.cpython-310-darwin.so
0x7ff81c734000 - 0x7ff81c76dfff libsystem_kernel.dylib (*) <e82b6d50-ac03-370d-a74d-eb1a2725b6c5> /usr/lib/system/libsystem_kernel.dylib
0x7ff81c76e000 - 0x7ff81c779fff libsystem_pthread.dylib (*) <60b15e1f-39ea-33a1-8616-3af57dc1094a> /usr/lib/system/libsystem_pthread.dylib
0x7ff81c61b000 - 0x7ff81c6a2ff7 libsystem_c.dylib (*) <a720129c-c1cf-3e62-9d76-aa6fa0d31333> /usr/lib/system/libsystem_c.dylib
0x7ff81c413000 - 0x7ff81c4ab5ef dyld (*) <2faf54fd-58e6-360c-9bd8-2fbfe8be93d3> /usr/lib/dyld
External Modification Summary:
Calls made by other processes targeting this process:
task_for_pid: 0
thread_create: 0
thread_set_state: 0
Calls made by this process:
task_for_pid: 0
thread_create: 0
thread_set_state: 0
Calls made by all processes on this machine:
task_for_pid: 0
thread_create: 0
thread_set_state: 0
VM Region Summary:
ReadOnly portion of Libraries: Total=290.2M resident=0K(0%) swapped_out_or_unallocated=290.2M(100%)
Writable regions: Total=970.5M written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=970.5M(100%)
VIRTUAL REGION
REGION TYPE SIZE COUNT (non-coalesced)
=========== ======= =======
Kernel Alloc Once 8K 1
MALLOC 187.2M 19
MALLOC guard page 24K 5
MALLOC_MEDIUM (reserved) 360.0M 3 reserved VM address space (unallocated)
MALLOC_NANO (reserved) 384.0M 1 reserved VM address space (unallocated)
STACK GUARD 8K 2
Stack 32.0M 2
VM_ALLOCATE 7172K 8
__DATA 3579K 155
__DATA_CONST 6002K 119
__DATA_DIRTY 339K 57
__LINKEDIT 171.6M 22
__OBJC_RO 66.3M 1
__OBJC_RW 2013K 2
__TEXT 118.6M 172
dyld private memory 260K 2
shared memory 20K 3
=========== ======= =======
TOTAL 1.3G 574
TOTAL, minus reserved VM space 594.7M 574
-----------
Full Report
-----------
{"app_name":"Python","timestamp":"2024-06-20 17:13:04.00 +0900","app_version":"3.10.14","slice_uuid":"00fef16c-f414-3007-b17e-5c5d39c99317","build_version":"3.10.14","platform":1,"bundleID":"org.python.python","share_with_app_devs":0,"is_first_party":0,"bug_type":"309","os_version":"macOS 13.6.7 (22G720)","roots_installed":0,"name":"Python","incident_id":"6BD81D45-E1DC-4840-8115-3FE476A10970"}
{
"uptime" : 430000,
"procRole" : "Unspecified",
"version" : 2,
"userID" : 501,
"deployVersion" : 210,
"modelCode" : "MacBookPro16,4",
"coalitionID" : 1645,
"osVersion" : {
"train" : "macOS 13.6.7",
"build" : "22G720",
"releaseType" : "User"
},
"captureTime" : "2024-06-20 17:13:04.8525 +0900",
"incident" : "6BD81D45-E1DC-4840-8115-3FE476A10970",
"pid" : 46526,
"cpuType" : "X86-64",
"roots_installed" : 0,
"bug_type" : "309",
"procLaunch" : "2024-06-20 17:12:59.5958 +0900",
"procStartAbsTime" : 434724816762336,
"procExitAbsTime" : 434730072530794,
"procName" : "Python",
"procPath" : "\/usr\/local\/Cellar\/python@3.10\/3.10.14\/Frameworks\/Python.framework\/Versions\/3.10\/Resources\/Python.app\/Contents\/MacOS\/Python",
"bundleInfo" : {"CFBundleShortVersionString":"3.10.14","CFBundleVersion":"3.10.14","CFBundleIdentifier":"org.python.python"},
"storeInfo" : {"deviceIdentifierForVendor":"FA5450B9-64E2-5E63-BDBA-2BC691E52787","thirdParty":true},
"parentProc" : "bash",
"parentPid" : 45361,
"coalitionName" : "net.kovidgoyal.kitty",
"crashReporterKey" : "F0A08029-0D16-756F-668F-C79E48053E28",
"responsiblePid" : 1666,
"responsibleProc" : "kitty",
"codeSigningID" : "",
"codeSigningTeamID" : "",
"codeSigningValidationCategory" : 0,
"codeSigningTrustLevel" : 0,
"wakeTime" : 29734,
"bridgeVersion" : {"build":"21P5077","train":"8.5"},
"sleepWakeUUID" : "B19F6CAE-971F-49D7-99FF-29949992B0B2",
"sip" : "enabled",
"exception" : {"codes":"0x0000000000000000, 0x0000000000000000","rawCodes":[0,0],"type":"EXC_CRASH","signal":"SIGABRT"},
"termination" : {"flags":0,"code":6,"namespace":"SIGNAL","indicator":"Abort trap: 6","byProc":"Python","byPid":46526},
"asi" : {"libsystem_c.dylib":["abort() called"]},
"extMods" : {"caller":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"system":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"targeted":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"warnings":0},
"faultingThread" : 0,
"threads" : [{"triggered":true,"id":6231680,"threadState":{"r13":{"value":140701986874000},"rax":{"value":0},"rflags":{"value":582},"cpu":{"value":0},"r14":{"value":6},"rsi":{"value":6},"r8":{"value":6231680},"cr2":{"value":0},"rdx":{"value":0},"r10":{"value":0},"r9":{"value":18446744069414584320},"r15":{"value":22},"rbx":{"value":140704737462208,"symbolLocation":0,"symbol":"_main_thread"},"trap":{"value":133},"err":{"value":33554760},"r11":{"value":582},"rip":{"value":140703605965206,"matchesCrashFrame":1},"rbp":{"value":140701986873376},"rsp":{"value":140701986873336},"r12":{"value":259},"rcx":{"value":140701986873336},"flavor":"x86_THREAD_STATE","rdi":{"value":259}},"queue":"com.apple.main-thread","frames":[{"imageOffset":33174,"symbol":"__pthread_kill","symbolLocation":10,"imageIndex":21},{"imageOffset":24294,"symbol":"pthread_kill","symbolLocation":263,"imageIndex":22},{"imageOffset":523077,"symbol":"abort","symbolLocation":123,"imageIndex":23},{"imageOffset":1487220,"symbol":"fatal_error_exit","symbolLocation":13,"imageIndex":1},{"imageOffset":1486818,"symbol":"fatal_error","symbolLocation":30,"imageIndex":1},{"imageOffset":1496368,"symbol":"_Py_FatalErrorFormat","symbolLocation":300,"imageIndex":1},{"imageOffset":1911481,"symbol":"_enter_buffered_busy","symbolLocation":231,"imageIndex":1},{"imageOffset":1903360,"symbol":"buffered_close","symbolLocation":52,"imageIndex":1},{"imageOffset":400455,"symbol":"method_vectorcall_NOARGS","symbolLocation":87,"imageIndex":1},{"imageOffset":361166,"symbol":"PyObject_VectorcallMethod","symbolLocation":135,"imageIndex":1},{"imageOffset":1935532,"symbol":"_io_TextIOWrapper_close","symbolLocation":299,"imageIndex":1},{"imageOffset":400455,"symbol":"method_vectorcall_NOARGS","symbolLocation":87,"imageIndex":1},{"imageOffset":361166,"symbol":"PyObject_VectorcallMethod","symbolLocation":135,"imageIndex":1},{"imageOffset":1881883,"symbol":"iobase_finalize","symbolLocation":236,"imageIndex":1},{"imageOffset":647333,"symbol":"PyObject_CallFinalizerFromDealloc","symbolLocation":60,"imageIndex":1},{"imageOffset":1924315,"symbol":"textiowrapper_dealloc","symbolLocation":18,"imageIndex":1},{"imageOffset":559588,"symbol":"insertdict","symbolLocation":1038,"imageIndex":1},{"imageOffset":641794,"symbol":"_PyModule_ClearDict","symbolLocation":601,"imageIndex":1},{"imageOffset":1491792,"symbol":"finalize_modules","symbolLocation":1280,"imageIndex":1},{"imageOffset":1489709,"symbol":"Py_FinalizeEx","symbolLocation":581,"imageIndex":1},{"imageOffset":1612393,"symbol":"Py_RunMain","symbolLocation":498,"imageIndex":1},{"imageOffset":1616788,"symbol":"Py_BytesMain","symbolLocation":42,"imageIndex":1},{"imageOffset":25631,"symbol":"start","symbolLocation":1903,"imageIndex":24}]},{"id":6231705,"frames":[{"imageOffset":8062,"symbol":"read","symbolLocation":10,"imageIndex":21},{"imageOffset":1606342,"symbol":"_Py_read","symbolLocation":114,"imageIndex":1},{"imageOffset":1889942,"symbol":"_io_FileIO_readinto","symbolLocation":159,"imageIndex":1},{"imageOffset":400270,"symbol":"method_vectorcall_O","symbolLocation":89,"imageIndex":1},{"imageOffset":361166,"symbol":"PyObject_VectorcallMethod","symbolLocation":135,"imageIndex":1},{"imageOffset":1914276,"symbol":"_bufferedreader_raw_read","symbolLocation":181,"imageIndex":1},{"imageOffset":1914071,"symbol":"_bufferedreader_fill_buffer","symbolLocation":51,"imageIndex":1},{"imageOffset":1913350,"symbol":"_buffered_readline","symbolLocation":347,"imageIndex":1},{"imageOffset":401024,"symbol":"method_vectorcall_FASTCALL","symbolLocation":93,"imageIndex":1},{"imageOffset":1232538,"symbol":"call_function","symbolLocation":173,"imageIndex":1},{"imageOffset":1215161,"symbol":"_PyEval_EvalFrameDefault","symbolLocation":32837,"imageIndex":1},{"imageOffset":1178630,"symbol":"_PyEval_Vector","symbolLocation":361,"imageIndex":1},{"imageOffset":367149,"symbol":"method_vectorcall","symbolLocation":354,"imageIndex":1},{"imageOffset":1783359,"symbol":"partial_vectorcall","symbolLocation":378,"imageIndex":1},{"imageOffset":1232538,"symbol":"call_function","symbolLocation":173,"imageIndex":1},{"imageOffset":1215378,"symbol":"_PyEval_EvalFrameDefault","symbolLocation":33054,"imageIndex":1},{"imageOffset":1178630,"symbol":"_PyEval_Vector","symbolLocation":361,"imageIndex":1},{"imageOffset":1232538,"symbol":"call_function","symbolLocation":173,"imageIndex":1},{"imageOffset":1215161,"symbol":"_PyEval_EvalFrameDefault","symbolLocation":32837,"imageIndex":1},{"imageOffset":1178630,"symbol":"_PyEval_Vector","symbolLocation":361,"imageIndex":1},{"imageOffset":1232538,"symbol":"call_function","symbolLocation":173,"imageIndex":1},{"imageOffset":1215161,"symbol":"_PyEval_EvalFrameDefault","symbolLocation":32837,"imageIndex":1},{"imageOffset":1178630,"symbol":"_PyEval_Vector","symbolLocation":361,"imageIndex":1},{"imageOffset":367266,"symbol":"method_vectorcall","symbolLocation":471,"imageIndex":1},{"imageOffset":1215873,"symbol":"_PyEval_EvalFrameDefault","symbolLocation":33549,"imageIndex":1},{"imageOffset":1178630,"symbol":"_PyEval_Vector","symbolLocation":361,"imageIndex":1},{"imageOffset":1232538,"symbol":"call_function","symbolLocation":173,"imageIndex":1},{"imageOffset":1215161,"symbol":"_PyEval_EvalFrameDefault","symbolLocation":32837,"imageIndex":1},{"imageOffset":1178630,"symbol":"_PyEval_Vector","symbolLocation":361,"imageIndex":1},{"imageOffset":1232538,"symbol":"call_function","symbolLocation":173,"imageIndex":1},{"imageOffset":1215161,"symbol":"_PyEval_EvalFrameDefault","symbolLocation":32837,"imageIndex":1},{"imageOffset":1178630,"symbol":"_PyEval_Vector","symbolLocation":361,"imageIndex":1},{"imageOffset":367266,"symbol":"method_vectorcall","symbolLocation":471,"imageIndex":1},{"imageOffset":1869523,"symbol":"thread_run","symbolLocation":115,"imageIndex":1},{"imageOffset":1561075,"symbol":"pythread_wrapper","symbolLocation":36,"imageIndex":1},{"imageOffset":25043,"symbol":"_pthread_start","symbolLocation":125,"imageIndex":22},{"imageOffset":7123,"symbol":"thread_start","symbolLocation":15,"imageIndex":22}]}],
"usedImages" : [
{
"source" : "P",
"arch" : "x86_64",
"base" : 4361912320,
"CFBundleShortVersionString" : "3.10.14",
"CFBundleIdentifier" : "org.python.python",
"size" : 16384,
"uuid" : "00fef16c-f414-3007-b17e-5c5d39c99317",
"path" : "\/usr\/local\/Cellar\/python@3.10\/3.10.14\/Frameworks\/Python.framework\/Versions\/3.10\/Resources\/Python.app\/Contents\/MacOS\/Python",
"name" : "Python",
"CFBundleVersion" : "3.10.14"
},
{
"source" : "P",
"arch" : "x86_64",
"base" : 4365398016,
"CFBundleShortVersionString" : "3.10.14, (c) 2001-2023 Python Software Foundation.",
"CFBundleIdentifier" : "org.python.python",
"size" : 2572288,
"uuid" : "b3157bb7-46b7-377f-b2aa-0f039ff3f421",
"path" : "\/usr\/local\/Cellar\/python@3.10\/3.10.14\/Frameworks\/Python.framework\/Versions\/3.10\/Python",
"name" : "Python",
"CFBundleVersion" : "3.10.14"
},
{
"source" : "P",
"arch" : "x86_64",
"base" : 4364627968,
"size" : 32768,
"uuid" : "b67ae466-b793-3970-8aac-abde58c42ee8",
"path" : "\/usr\/local\/Cellar\/python@3.10\/3.10.14\/Frameworks\/Python.framework\/Versions\/3.10\/lib\/python3.10\/lib-dynload\/_json.cpython-310-darwin.so",
"name" : "_json.cpython-310-darwin.so"
},
{
"source" : "P",
"arch" : "x86_64",
"base" : 4364787712,
"size" : 32768,
"uuid" : "fac7861c-55fe-3456-9b81-5aaaead055fb",
"path" : "\/usr\/local\/Cellar\/python@3.10\/3.10.14\/Frameworks\/Python.framework\/Versions\/3.10\/lib\/python3.10\/lib-dynload\/zlib.cpython-310-darwin.so",
"name" : "zlib.cpython-310-darwin.so"
},
{
"source" : "P",
"arch" : "x86_64",
"base" : 4364709888,
"size" : 16384,
"uuid" : "34a50c37-37f7-3aba-a3b2-2b2dd104471d",
"path" : "\/usr\/local\/Cellar\/python@3.10\/3.10.14\/Frameworks\/Python.framework\/Versions\/3.10\/lib\/python3.10\/lib-dynload\/_bz2.cpython-310-darwin.so",
"name" : "_bz2.cpython-310-darwin.so"
},
{
"source" : "P",
"arch" : "x86_64",
"base" : 4364947456,
"size" : 32768,
"uuid" : "644c39e5-cef9-3c48-bada-1b2168aeb587",
"path" : "\/usr\/local\/Cellar\/python@3.10\/3.10.14\/Frameworks\/Python.framework\/Versions\/3.10\/lib\/python3.10\/lib-dynload\/_lzma.cpython-310-darwin.so",
"name" : "_lzma.cpython-310-darwin.so"
},
{
"source" : "P",
"arch" : "x86_64",
"base" : 4365197312,
"size" : 131072,
"uuid" : "74cc93b3-d104-3692-ab7a-7348e6fc3cdc",
"path" : "\/usr\/local\/Cellar\/xz\/5.4.6\/lib\/liblzma.5.dylib",
"name" : "liblzma.5.dylib"
},
{
"source" : "P",
"arch" : "x86_64",
"base" : 4364869632,
"size" : 16384,
"uuid" : "43b08d01-f707-3224-ab09-9066b622d5a5",
"path" : "\/usr\/local\/Cellar\/python@3.10\/3.10.14\/Frameworks\/Python.framework\/Versions\/3.10\/lib\/python3.10\/lib-dynload\/_opcode.cpython-310-darwin.so",
"name" : "_opcode.cpython-310-darwin.so"
},
{
"source" : "P",
"arch" : "x86_64",
"base" : 4365029376,
"size" : 16384,
"uuid" : "0ba11d5d-8d73-38fd-985d-7b125985c207",
"path" : "\/usr\/local\/Cellar\/python@3.10\/3.10.14\/Frameworks\/Python.framework\/Versions\/3.10\/lib\/python3.10\/lib-dynload\/fcntl.cpython-310-darwin.so",
"name" : "fcntl.cpython-310-darwin.so"
},
{
"source" : "P",
"arch" : "x86_64",
"base" : 4365094912,
"size" : 16384,
"uuid" : "8fbb87cb-8216-3bc4-88b0-117e9c56fd01",
"path" : "\/usr\/local\/Cellar\/python@3.10\/3.10.14\/Frameworks\/Python.framework\/Versions\/3.10\/lib\/python3.10\/lib-dynload\/_posixsubprocess.cpython-310-darwin.so",
"name" : "_posixsubprocess.cpython-310-darwin.so"
},
{
"source" : "P",
"arch" : "x86_64",
"base" : 4371771392,
"size" : 32768,
"uuid" : "2ce74d76-9fc2-3bc0-8afd-7cc27be1c085",
"path" : "\/usr\/local\/Cellar\/python@3.10\/3.10.14\/Frameworks\/Python.framework\/Versions\/3.10\/lib\/python3.10\/lib-dynload\/select.cpython-310-darwin.so",
"name" : "select.cpython-310-darwin.so"
},
{
"source" : "P",
"arch" : "x86_64",
"base" : 4371947520,
"size" : 49152,
"uuid" : "773e93b7-f5e6-380f-bbed-ea03a9fdae8f",
"path" : "\/usr\/local\/Cellar\/python@3.10\/3.10.14\/Frameworks\/Python.framework\/Versions\/3.10\/lib\/python3.10\/lib-dynload\/math.cpython-310-darwin.so",
"name" : "math.cpython-310-darwin.so"
},
{
"source" : "P",
"arch" : "x86_64",
"base" : 4371853312,
"size" : 32768,
"uuid" : "931a83c9-83b3-3397-a960-f6186a3e416c",
"path" : "\/usr\/local\/Cellar\/python@3.10\/3.10.14\/Frameworks\/Python.framework\/Versions\/3.10\/lib\/python3.10\/lib-dynload\/binascii.cpython-310-darwin.so",
"name" : "binascii.cpython-310-darwin.so"
},
{
"source" : "P",
"arch" : "x86_64",
"base" : 4372164608,
"size" : 65536,
"uuid" : "4ac29922-a35b-3f51-8d9f-63fa1f50eca4",
"path" : "\/usr\/local\/Cellar\/python@3.10\/3.10.14\/Frameworks\/Python.framework\/Versions\/3.10\/lib\/python3.10\/lib-dynload\/_datetime.cpython-310-darwin.so",
"name" : "_datetime.cpython-310-darwin.so"
},
{
"source" : "P",
"arch" : "x86_64",
"base" : 4372295680,
"size" : 32768,
"uuid" : "c2f1001e-d4c2-31ba-9665-29d2cc159c17",
"path" : "\/usr\/local\/Cellar\/python@3.10\/3.10.14\/Frameworks\/Python.framework\/Versions\/3.10\/lib\/python3.10\/lib-dynload\/_struct.cpython-310-darwin.so",
"name" : "_struct.cpython-310-darwin.so"
},
{
"source" : "P",
"arch" : "x86_64",
"base" : 4372377600,
"size" : 32768,
"uuid" : "ef73d690-90a6-30b8-9512-b6347c4d5ef3",
"path" : "\/usr\/local\/Cellar\/python@3.10\/3.10.14\/Frameworks\/Python.framework\/Versions\/3.10\/lib\/python3.10\/lib-dynload\/pyexpat.cpython-310-darwin.so",
"name" : "pyexpat.cpython-310-darwin.so"
},
{
"source" : "P",
"arch" : "x86_64",
"base" : 4372459520,
"size" : 65536,
"uuid" : "b6d662de-672d-3b1c-bf39-4cb33646aa98",
"path" : "\/usr\/local\/Cellar\/python@3.10\/3.10.14\/Frameworks\/Python.framework\/Versions\/3.10\/lib\/python3.10\/lib-dynload\/_socket.cpython-310-darwin.so",
"name" : "_socket.cpython-310-darwin.so"
},
{
"source" : "P",
"arch" : "x86_64",
"base" : 4372574208,
"size" : 32768,
"uuid" : "6001ca1b-1538-3c3e-803f-feff0c6c2287",
"path" : "\/usr\/local\/Cellar\/python@3.10\/3.10.14\/Frameworks\/Python.framework\/Versions\/3.10\/lib\/python3.10\/lib-dynload\/array.cpython-310-darwin.so",
"name" : "array.cpython-310-darwin.so"
},
{
"source" : "P",
"arch" : "x86_64",
"base" : 4372045824,
"size" : 16384,
"uuid" : "485e81fc-ed82-3a46-9452-15a4ab1b467c",
"path" : "\/usr\/local\/Cellar\/python@3.10\/3.10.14\/Frameworks\/Python.framework\/Versions\/3.10\/lib\/python3.10\/lib-dynload\/_bisect.cpython-310-darwin.so",
"name" : "_bisect.cpython-310-darwin.so"
},
{
"source" : "P",
"arch" : "x86_64",
"base" : 4373704704,
"size" : 16384,
"uuid" : "61604403-c554-381f-95a3-ff00c9a92939",
"path" : "\/usr\/local\/Cellar\/python@3.10\/3.10.14\/Frameworks\/Python.framework\/Versions\/3.10\/lib\/python3.10\/lib-dynload\/_random.cpython-310-darwin.so",
"name" : "_random.cpython-310-darwin.so"
},
{
"source" : "P",
"arch" : "x86_64",
"base" : 4373770240,
"size" : 32768,
"uuid" : "5380019c-27e5-33c2-8b09-5b57cb06adb9",
"path" : "\/usr\/local\/Cellar\/python@3.10\/3.10.14\/Frameworks\/Python.framework\/Versions\/3.10\/lib\/python3.10\/lib-dynload\/_sha512.cpython-310-darwin.so",
"name" : "_sha512.cpython-310-darwin.so"
},
{
"source" : "P",
"arch" : "x86_64",
"base" : 140703605932032,
"size" : 237568,
"uuid" : "e82b6d50-ac03-370d-a74d-eb1a2725b6c5",
"path" : "\/usr\/lib\/system\/libsystem_kernel.dylib",
"name" : "libsystem_kernel.dylib"
},
{
"source" : "P",
"arch" : "x86_64",
"base" : 140703606169600,
"size" : 49152,
"uuid" : "60b15e1f-39ea-33a1-8616-3af57dc1094a",
"path" : "\/usr\/lib\/system\/libsystem_pthread.dylib",
"name" : "libsystem_pthread.dylib"
},
{
"source" : "P",
"arch" : "x86_64",
"base" : 140703604781056,
"size" : 557048,
"uuid" : "a720129c-c1cf-3e62-9d76-aa6fa0d31333",
"path" : "\/usr\/lib\/system\/libsystem_c.dylib",
"name" : "libsystem_c.dylib"
},
{
"source" : "P",
"arch" : "x86_64",
"base" : 140703602651136,
"size" : 624112,
"uuid" : "2faf54fd-58e6-360c-9bd8-2fbfe8be93d3",
"path" : "\/usr\/lib\/dyld",
"name" : "dyld"
}
],
"sharedCache" : {
"base" : 140703602028544,
"size" : 21474836480,
"uuid" : "5b024447-21cb-39dc-9946-0924a6000a4b"
},
"vmSummary" : "ReadOnly portion of Libraries: Total=290.2M resident=0K(0%) swapped_out_or_unallocated=290.2M(100%)\nWritable regions: Total=970.5M written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=970.5M(100%)\n\n VIRTUAL REGION \nREGION TYPE SIZE COUNT (non-coalesced) \n=========== ======= ======= \nKernel Alloc Once 8K 1 \nMALLOC 187.2M 19 \nMALLOC guard page 24K 5 \nMALLOC_MEDIUM (reserved) 360.0M 3 reserved VM address space (unallocated)\nMALLOC_NANO (reserved) 384.0M 1 reserved VM address space (unallocated)\nSTACK GUARD 8K 2 \nStack 32.0M 2 \nVM_ALLOCATE 7172K 8 \n__DATA 3579K 155 \n__DATA_CONST 6002K 119 \n__DATA_DIRTY 339K 57 \n__LINKEDIT 171.6M 22 \n__OBJC_RO 66.3M 1 \n__OBJC_RW 2013K 2 \n__TEXT 118.6M 172 \ndyld private memory 260K 2 \nshared memory 20K 3 \n=========== ======= ======= \nTOTAL 1.3G 574 \nTOTAL, minus reserved VM space 594.7M 574 \n",
"legacyInfo" : {
"threadTriggered" : {
"queue" : "com.apple.main-thread"
}
},
"logWritingSignature" : "337a2a216d86340edec60e3a0da0f685be6b3294",
"trialInfo" : {
"rollouts" : [
{
"rolloutId" : "60da5e84ab0ca017dace9abf",
"factorPackIds" : {
},
"deploymentId" : 240000008
},
{
"rolloutId" : "62c751b6bcb0435c2153fe92",
"factorPackIds" : {
"SIRI_UNDERSTANDING_ASR_ASSISTANT" : "6317ae3a3d24842ff84fd83f",
"SIRI_UNDERSTANDING_MORPHUN" : "64e514ddc83b9a3d50649ddc"
},
"deploymentId" : 240000366
}
],
"experiments" : [
{
"treatmentId" : "45f4e2a5-551b-4bc2-a2dc-19c244dda8f8",
"experimentId" : "6643969b3099cf28e049862f",
"deploymentId" : 400000002
}
]
}
}
Expected behavior
No Fatal Python Error, and no Problem Report for Python window
Steps to reproduce:
- Run the adapter:
python -m debugpy.adapter
- Abort the adapter using Ctrl-C.
I also tried with different versions of debugpy
, all the way to debugpy==1.0.0
, and I still get the same problem.
This is probably caused by the message reader background thread waiting on stdin.read()
when KeyboardInterrupt
happens on main thread. If so, I think it could be fixed by catching the exception there and pre-emptively os.close(stdin_fd)
before exiting.
I am not sure I understand it correctly, not knowing the structure of debugpy, but note that the same happens without KeyboardInterrupt
, purely by executing the last line of the program from NeoVim's debugger (nvim-dap). So it seems it might be on any exit of pydebug, not just keyboard interrupted one. I don't know how to speak the pydebug protocol, so I can't test the hypothesis without the aid of an editor.