Sometimes failed to exit game window(using qt window close button)
using arch qt6-base 6.7.2-1 (QT_QPA_PLATFORM=wayland)
#0 0x000075c9656f0733 in clock_nanosleep () from /usr/lib/libc.so.6
#1 0x000075c9656fc827 in nanosleep () from /usr/lib/libc.so.6
#2 0x0000000000854b9b in Emulator::GracefulShutdown(bool, bool, bool) ()
#3 0x000075c960da16f7 in ?? () from /usr/lib/libQt6Core.so.6
#4 0x000075c96171b264 in QAction::activate(QAction::ActionEvent) () from /usr/lib/libQt6Gui.so.6
#5 0x000075c961e0e6d5 in ?? () from /usr/lib/libQt6Widgets.so.6
but using main_window's toolbar_stop works correct. https://github.com/RPCS3/rpcs3/blob/master/rpcs3/rpcs3qt/main_window.cpp#L3200
Emu.GracefulShutdown(false);
so I've changed rpcs3/rpcs3qt/gs_frame.cpp
https://github.com/RPCS3/rpcs3/blob/master/rpcs3/rpcs3qt/gs_frame.cpp#L1175
bool gs_frame::event(QEvent* ev)
...
- Emu.GracefulShutdown(true, true);
+ Emu.GracefulShutdown(false);
seems works fine.
We don't support Qt 6.7.2 yet, because it is a mess. The proposed fix can't be correct. It's either a bug/change in the new Qt version or something else is wrong in the emulator.
Also, where is the log file? There's no way to know what went wrong without a log file.
sorry I failed to upload log first time. RPCS3.log
....
E SIG: Thread [rsx::thread] is too sleepy. Waiting for it 17116101.456µs already!
E SIG: Thread [rsx::thread] is too sleepy. Waiting for it 34260021.456µs already!
E SIG: Thread [rsx::thread] is too sleepy. Waiting for it 68376168.871µs already!
killed manualy(because stuck)
seems enough only set async_op = false
void GracefulShutdown(bool allow_autoexit = true, bool async_op = false, bool savestate = false);
bool gs_frame::event(QEvent* ev)
...
- Emu.GracefulShutdown(true, true);
+ Emu.GracefulShutdown(true, false);
anyway idk why gs_frame:QEvent::Close is not same as main_window:toolbar_stop
Because blocking the event is bad. But it should work even if it's async. I didn't have any issues for years and I also cannot reproduce this, so I'm assuming it's a different bug. Anyway, we don't support Qt 6.7 so we can't debug this anyway.
@yuiiio what's the status of this issue , do you know?
closing due to inactivity