PCSX2 / pcsx2

PCSX2 - The Playstation 2 Emulator
https://pcsx2.net
GNU General Public License v3.0
11.58k stars 1.6k forks source link

[BUG]: Debugger: Spamming B key or spacebar in R5900 disassembly view adds a random R3000 breakpoint #10392

Closed Berylskid closed 9 months ago

Berylskid commented 9 months ago

Describe the Bug

In R5900 disassembly view, pressing B key or spacebar adds Execute-type breakpoint for selected instruction. But spamming those keys immediately adds a random Execute-type breakpoint to R3000 view. And it often stops program.

Reproduction Steps

  1. Open PCSX2
  2. Run a game
  3. Open Debugger
  4. Spam B key or spacebar in R5900 Disassembly view while game is running
  5. See breakpoints tab in R3000 view

Expected Behavior

Any inputs in R5900 view should not affect R3000 view. Vice versa.

PCSX2 Revision

v1.7.5281

Operating System

Windows 11

If Linux - Specify Distro

No response

Logs & Dumps

No response

F0bes commented 9 months ago

🥲

Daniel-McCarthy commented 9 months ago

I'm trying to reproduce this, and haven't found this behavior. (I am on the same OS and version.) Below I have attached what I am experiencing when following these steps (no breakpoints are generated on my side for R3000 view and continues operating as expected).

Do you have any suggestions/tips for reproducing this? Are these the correct steps? PCSX2-ReproducingBreakpointBug1

Berylskid commented 9 months ago

I'm sorry, my reproduction step lacks some infos then. I'd correct it later.

How about doing it while running game?

Daniel-McCarthy commented 9 months ago

I'm sorry, my reproduction step lacks some infos then. I'd correct it later.

How about doing it while running game?

That did the trick, thanks! Happened as described immediately when testing while the game is running (on assembly that won't cause it to immediately pause).

Berylskid commented 9 months ago

Thanks for confirmation. Fixed description and reproduction steps.

F0bes commented 9 months ago

Okay, I can reproduce it. The IOP tab is receiving key presses even though it's not active. (No, it's not related to automatically swapping to the breaking CPUs tab, that happens after) I'm going to have to further investigate how to mitigate this Qt (I assume) issue.

F0bes commented 9 months ago

After some hair pulling, I figured out what the issue is. It should be resolved in #10406.