RetroArch icon indicating copy to clipboard operation
RetroArch copied to clipboard

(Qt) Shader menu can freeze RetroArch on closing content/exiting

Open LazyBumHorse opened this issue 5 years ago • 0 comments

Description

Closing content or exiting RetroArch when the Qt shader menu is open can cause crashes, freezes and sometimes hundreds of messages like:

QBasicTimer::start: QBasicTimer can only be used with threads started with QThread
QBasicTimer::start: QBasicTimer can only be used with threads started with QThread
QBasicTimer::start: QBasicTimer can only be used with threads started with QThread
...
QObject::killTimer: Timers cannot be stopped from another thread
QObject::~QObject: Timers cannot be stopped from another thread

This seems to be related to the way shader parameters are loaded, as the crash seems to happen somewhere after

[INFO] [Qt]: Reloading shader parameters.

Sometimes this is the very last log message.

Steps to reproduce the bug

The best way I found to reproduce:

  1. Load shaders_glsl/crt/crt-royale.glslp
  2. Open Qt shader menu
  3. Close Content or Exit to freeze and eventually crash RetroArch

It might not always crash, but with crt-royale there seems to be a very high probability.

Bisect Results

I noticed this issue while testing for #9315 (but couldn't find a good way to reproduce it). It was on master before that and it might be an issue that is as old as the Qt shader menu itself.

LazyBumHorse avatar Aug 22 '19 15:08 LazyBumHorse