Project

General

Profile

Actions

Emulator Issues #11718

closed

QT: Rapid screenshots freeze or crash

Added by ryanebola16 almost 5 years ago. Updated over 1 year ago.

Status:
Fixed
Priority:
Normal
Assignee:
-
% Done:

0%

Operating system:
N/A
Issue type:
Bug
Milestone:
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

Actions #1

Updated by JMC4789 almost 5 years ago

Does it happen in single core?

Actions #2

Updated by ryanebola16 almost 5 years ago

Yes, occurred in both single and dual core.

Actions #3

Updated by ryanebola16 almost 5 years ago

Also appears to be independent of ubershader settings

Actions #4

Updated by JMC4789 almost 5 years ago

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

Appears to be a Qt regression.

Actions #5

Updated by JMC4789 almost 5 years ago

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

Actions #6

Updated by JosJuice almost 5 years ago

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

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]	
Actions #7

Updated by JosJuice over 4 years 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.

Actions #8

Updated by JosJuice over 4 years ago

  • Status changed from Accepted to Fix pending
Actions #9

Updated by JosJuice over 4 years 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?

Actions #10

Updated by ryanebola16 over 4 years 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

Actions #11

Updated by ZephyrSurfer about 3 years ago

Can you test again in 5.0-13915. That revision has got a different model to way to check that it's thread safe to perform the screenshot.

If it works there try the revision immediately prior as well.

Actions #12

Updated by Zopolis4 over 1 year ago

I am unable to reproduce this issue in 5.0-17214, using RSBE01 revision 2 (52ce7160ced2505ad5e397477d0ea4fe).

Actions #13

Updated by JMC4789 over 1 year ago

Unable to reproduce as well just starting up a game and holding screenshot, this is likely fixed.

Actions #14

Updated by JMC4789 over 1 year ago

  • Status changed from Questionable to Fixed
  • Assignee deleted (spycrab0)
  • Milestone deleted (Current)
Actions

Also available in: Atom PDF