remedybg-issues icon indicating copy to clipboard operation
remedybg-issues copied to clipboard

Breakpoint that's set before program is started reliably gets skipped

Open scallyw4g opened this issue 5 months ago • 4 comments

Similar to #309, I've been experiencing this bug for multiple years. It's also intermittent, and I also seem to have a stable repro for it!

The bug is just as the title of the issue says; if I set a breakpoint before I start my program, it never gets hit. Interestingly, if I set the breakpoint after the program starts, it get's hit. As far as I can tell it always happens in code loaded from a DLL, but it does not always happen.

It does not appear to be a timing issue, at least to the extent that I can test. Putting a 1-second sleep into the code before the breakpoint does not cause the breakpoint to trigger. This is how I tested that adding the breakpoint after the program starts successfully triggers it.

Steps to reproduce:

  1. Download bonsai (my game-engine side-project)
  2. Checkout branch jesse/debug/remedy_repro_2 (commit 2cf28b6f648bc917e9d65381da6556a69294b1d4)
  3. (optional) Run ./remedy_repro.make.sh (this runs a debug build for the targets to repro the issue)
  4. Open remedy_repro.rdbg
  5. Hit F5

The program should crash on an assertion in OctreeNodeNeedsToSplit. This is unrelated to the bug, it's just the thing I happened to be working on when I discovered this repro.

The bug is that there should be a breakpoint set near the start of MaintainWorldOctree (the function that calls into OctreeNodeNeedsToSplit) which is not triggered.

Also added the binaries I used on my machine to repro so you can skip the compile.

Happy to provide any additional information I can.

scallyw4g avatar Sep 11 '24 15:09 scallyw4g