Project

General

Profile

Actions

Emulator Issues #13723

closed

Adding MemChecks can cause a freeze.

Emulator Issues #13723: Adding MemChecks can cause a freeze.

Added by taolas over 1 year ago. Updated 29 days ago.

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

0%

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

Description

Windows 10, latest Dolphin version, any game. Dual core off.

Around when the following is being executed by the CPU thread, a call to Core::CPUThreadGuard from the Main Thread is causing a complete lockup/freeze for me.

void ConsoleListener::Log([[maybe_unused]] Common::Log::LogLevel level, const char* text)
{
  ::OutputDebugStringW(UTF8ToWString(text).c_str());
}

This is most reproduceable by loading a set of memory breakpoints while a game is running, with one of the MBP addresses getting hammered. BPs need logging enabled. This will cause (CPU thread) logging on the MBP address that gets triggered to clash with a (Main Thread) CPU thread guard in MemChecks::Add.

Alternatively, programming in an infinite loop into a logging call on the CPU thread, then triggering any CPU Guard in the main thread will lock up both threads on the same code listed above.

I'm worried this is a source of random instability.

Updated by Dentomologist 29 days ago Actions #1

  • Subject changed from Log Manager can cause a freeze. to Adding MemChecks can cause a freeze.
  • Status changed from New to Fixed
  • Fixed in set to 2412-258

(Title edited because this happened even when logging was completely disabled).

Actions

Also available in: PDF Atom