-
Notifications
You must be signed in to change notification settings - Fork 46
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
Crash during long running proccess in asyncio.create_subprocess_shell on Windows #62
Comments
I have the same issue with a long running Future. I solved it by using Edit: I had a freeze using |
It is a common problem with Qt bindings for python, where a c++ object underneath gets deleted, and python then tries to use a reference to it. This needs a bit more digging and ideally a reproducible example. Perhaps a long |
I'm also seeing this using (Py)Qt6 and Python 3.11 in https://github.com/dnadlinger/artiq/tree/qt6. No leads as to a reproducible example, unfortunately. The same application works just fine when running against (Py)Qt5. Backtrace is the same as above, though I've also seen nonsensical overload resolution errors in the QMutexLocker constructor (with the same stack trace, presumably due to memory corruption). I am not very familiar with the internals of Python's GC and how PyQt integrates with it – any ideas what kind of information might be helpful in tracking this down further? |
I will address PR later this week, thanks for looking into this.
…On Mon, 2 Oct 2023, at 23:05, David Nadlinger wrote:
@esmorun <https://github.com/esmorun> / @awoimbee <https://github.com/awoimbee>: You might want to check whether #87 <#87> fixes the issue.
—
Reply to this email directly, view it on GitHub <#62 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AABJ6ZGZXWPOYYDFZVGGZPDX5LCZNAVCNFSM5JNAE222U5DIOJSWCZC7NNSXTN2JONZXKZKDN5WW2ZLOOQ5TCNZUGMYDQMBZGE2A>.
You are receiving this because you commented.Message ID: ***@***.***>
|
Hi, I'm executing ffmpeg in an asyncio subprocess to convert a video. Example:
Long running processes will eventually crash the entire PyQt GUI. Sometimes it just crashes to desktop without any output in the Python shell, and sometimes this error message appears:
The ffmpeg process continues as an orphaned process and finishes the job. Can anybody shed some light on what might be happening? I have tested the same code on Ubuntu and MacOS and have not encountered any issues.
I'm on PyQt 6.2.2 and Python 3.9.9.
Edit: I now understand that the error is happening because the QMutex object that is created on line 64 in windows.py is deleted before the loop at line 100 in the _poll function finishes. Just for fun I tried to remove the QMutexLocker by removing line 99:
with QtCore.QMutexLocker(self._lock):
...and this actually prevents my app from crashing, but I assume this is not a solution and the lock was there for a reason.
The text was updated successfully, but these errors were encountered: