Project

General

Profile

Emulator Issues #11718

QT: Rapid screenshots freeze or crash

Added by ryanebola16 9 months ago. Updated 2 months ago.

Status:
Questionable
Priority:
Normal
Assignee:
% Done:

0%

Operating system:
N/A
Issue type:
Bug
Milestone:
Current
Regression:
Yes
Relates to usability:
No
Relates to performance:
No
Easy:
No
Relates to maintainability:
No
Regression start:
Fixed in:

Description

Game Name?

Super Smash Bros. Brawl

Game ID? (right click the game in the game list, Properties, Info tab)

RSBE01

MD5 Hash? (right click the game in the game list, Properties, Verify tab, Verify Integrity button)

4ea8dda4fadb4b58b15052d053bc0af8
WIIScrubber edited ISO, only replaces music and intro video. Works fine on Dolphin and real Wii.

What's the problem? Describe what went wrong.

Rapid screenshots freeze or crash Dolphin. This issue did not occur in WX.

What steps will reproduce the problem?

  1. Proceed to Brawl's Brawl mode character select screen
  2. Press the screenshot hotkey as rapidly as possible
  3. Dolphin should freeze or crash within ~20 screenshots

Is the issue present in the latest development version? For future reference, please also write down the version number of the latest development version.

Yes, 10153

Is the issue present in the latest stable version?

No, 5.0

If the issue isn't present in the latest stable version, which is the first broken version? (You can find the first broken version by bisecting. Windows users can use the tool https://forums.dolphin-emu.org/Thread-green-notice-development-thread-unofficial-dolphin-bisection-tool-for-finding-broken-builds and anyone who is building Dolphin on their own can use git bisect.)

5.0-7062

What are your PC specifications? (CPU, GPU, Operating System, more)

Win 10 Pro x64
Intel Core i7-4702MQ CPU @2.20GHz
GeForce GT 750M
2x 8GB Hynix 1600MHz
GeForce Game Ready Driver 425.31

History

#1 Updated by JMC4789 9 months ago

Does it happen in single core?

#2 Updated by ryanebola16 9 months ago

Yes, occurred in both single and dual core.

#3 Updated by ryanebola16 9 months ago

Also appears to be independent of ubershader settings

#4 Updated by JMC4789 7 months ago

  • Assignee set to spycrab0
  • Status changed from New to Accepted

Appears to be a Qt regression.

#5 Updated by JMC4789 7 months ago

Technically it won't happen in latest master... unless you enable the debug GUI.

#6 Updated by JosJuice 7 months ago

  • Regression changed from No to Yes
  • Milestone set to Current

Also happens when holding the frame advance key. Like JMC just mentioned, 5.0-10607 makes it so that it only happens if you have the debugger enabled, but this isn't a proper fix for the issue.

Dolphin doesn't necessarily always freeze or crash from the testing I've done, but the GUI gets unresponsive due to the large number of backlogged EmulationStateChanged events, and sooner or later you usually get an "Unable to resolve read address" panic alert with the following stack trace:

    [External Code] 
    Dolphin.exe!QtMsgAlertHandler::__l2::<lambda>() Line 67 C++
    Dolphin.exe!RunOnObject<bool <lambda>(void) >(QObject * object, QtMsgAlertHandler::__l2::bool <lambda>(void) && functor) Line 34    C++
    Dolphin.exe!QtMsgAlertHandler(const char * caption, const char * text, bool yes_no, Common::MsgType style) Line 75  C++
    Dolphin.exe!Common::MsgAlert(bool yes_no, Common::MsgType style, const char * format, ...) Line 129 C++
    Dolphin.exe!PowerPC::ReadFromHardware<0,unsigned int,0>(unsigned int em_address) Line 255   C++
    Dolphin.exe!Dolphin_Debugger::WalkTheStack(const std::function<void __cdecl(unsigned int)> & stack_step) Line 56    C++
    Dolphin.exe!Dolphin_Debugger::GetCallstack(std::vector<Dolphin_Debugger::CallstackEntry,std::allocator<Dolphin_Debugger::CallstackEntry> > & output) Line 89    C++
    Dolphin.exe!CodeWidget::UpdateCallstack() Line 293  C++
    Dolphin.exe!CodeWidget::Update() Line 272   C++
    [External Code] 
    Dolphin.exe!Settings::EmulationStateChanged(Core::State _t1) Line 514   C++
    [External Code] 
    Dolphin.exe!main(int argc, char * * argv) Line 220  C++
    Dolphin.exe!WinMain(HINSTANCE__ * __formal, HINSTANCE__ * __formal, char * __formal, int __formal) Line 104 C++
    [External Code] 

#7 Updated by JosJuice 5 months ago

Actually, the screenshot situation does not seem to be improved much by 5.0-10607. I was assuming it was similar to the frame advance situation and didn't actually test the screenshot situation.

#8 Updated by JosJuice 5 months ago

  • Status changed from Accepted to Fix pending

#9 Updated by JosJuice 2 months ago

  • Status changed from Fix pending to Questionable

The PR fixes the issue for me but not the issue reporter, so... Let's mark it as questionable for now, I guess?

#10 Updated by ryanebola16 2 months ago

Checked again for good measure. Reproduced in 5.0-11274.
And a link to the crash dump: https://github.com/dolphin-emu/dolphin/pull/8320#issuecomment-525976324

Also available in: Atom PDF