-
Notifications
You must be signed in to change notification settings - Fork 131
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
Segfaults from OpenCV code #208
Comments
I'm investigating this and I've been able to reproduce it on Linux. Some dev notes:
Now, if I just do a return at those
So, not sure... right now I think opencv is messing with something (and |
Looks like an external issue from @fabioz 's investigation. Let us see if the out-of-proc adapter will help in this case. |
Same thing for me on iOS. I don't know if it's an OpenCV issue or something else. |
happened to me as well with any progress? |
If you were having this issue in the past, please try it on the most recent version of the extension. |
Closing due to lack of recent repros. Please re-open if you see it on the most recent debugpy / vscode-python. |
The same segfault happens to me again on macOS 12.6.3 (Intel) with Python 3.10.10 and 3.11.2, but not on Python 3.9.16 (all 3 are Backtrace when attaching lldb to the script:
(lldb) target create "python"
Current executable set to 'python' (x86_64).
(lldb) settings set -- target.run-args "reproduce.py"
(lldb) r
Process 1326 launched: '/Users/user/.virtualenvs/tmp-4f4210bf00ec2de/bin/python' (x86_64)
Process 1326 stopped
* thread #2, stop reason = exec
frame #0: 0x0000000100011ae0 dyld`_dyld_start
dyld`_dyld_start:
-> 0x100011ae0 <+0>: movq %rsp, %rdi
0x100011ae3 <+3>: pushq $0x0
0x100011ae5 <+5>: movq $0x0, %rbp
0x100011aec <+12>: andq $-0x10, %rsp
Target 0: (Python) stopped.
(lldb) c
Process 1326 resuming
done
Process 1326 stopped
* thread #2, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
frame #0: 0x0000000100602430 Python`tupledealloc + 36
Python`tupledealloc:
-> 0x100602430 <+36>: movq %rax, (%rcx)
0x100602433 <+39>: movq 0x8(%rax), %rdx
0x100602437 <+43>: andl $0x3, %edx
0x10060243a <+46>: orq %rcx, %rdx
Target 0: (Python) stopped.
(lldb) bt
* thread #2, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
* frame #0: 0x0000000100602430 Python`tupledealloc + 36
frame #1: 0x0000000100602531 Python`tupledealloc + 293
frame #2: 0x00000001005a0e6a Python`code_dealloc + 121
frame #3: 0x00000001005bd79e Python`func_clear + 285
frame #4: 0x00000001005bd4cc Python`func_dealloc + 66
frame #5: 0x00000001005d9f77 Python`PyDict_Clear + 214
frame #6: 0x00000001005d5464 Python`dict_tp_clear + 9
frame #7: 0x000000010070ab3b Python`gc_collect_main + 1611
frame #8: 0x000000010070bc21 Python`_PyGC_CollectNoFail + 49
frame #9: 0x00000001006e2894 Python`finalize_modules + 1529
frame #10: 0x00000001006e1e24 Python`Py_FinalizeEx + 576
frame #11: 0x0000000100707f31 Python`Py_RunMain + 498
frame #12: 0x00000001007093ca Python`Py_BytesMain + 42
frame #13: 0x000000010001252e dyld`start + 462 |
@alkasm commented on Fri May 03 2019
Overview
Possibly related to microsoft/vscode-python#2693
I am seeing a segfault while running code in VSCode. Note that it only happens when the program ends, and doesn't seem to negatively impact anything. All my code works fine.
The underlying issue is possibly in OpenCV, and it wouldn't surprise me at all as I come across segfaults here and there in OpenCV. However, I only see a segfault when running in VSCode through the normal debug runner via F5, and I'm not sure why I only see it here.
The segfault occurs when I subclass a specific class from OpenCV:
I can repro this reliably across multiple different versions of Python, and multiple versions of the
opencv-python
PyPI package, so I hope you can too.Environment data
Expected behaviour
If I just run my code "normally" through the embedded terminal in VSCode (or run it anywhere else) with just
python vid-seg.py
, or if I just use thecv2
class instead of my subclassed version, I don't get a segfault.Actual behaviour
Steps to reproduce:
Create a venv,
pip install opencv-python==4.1.0.25
. Create a.py
file with the code above that subclassescv2.VideoCapture()
. Run the file with the standard debug runner configuration.To be sure my
launch.json
is:Logs
macOS segfault report
The text was updated successfully, but these errors were encountered: