Remove Rbp Probing - Fixes #612 (Skylantern), #658 (GoldenCube)#662
Merged
Remove Rbp Probing - Fixes #612 (Skylantern), #658 (GoldenCube)#662
Conversation
RBD probing was originally to address 1.6 issues with crossplay between Windows and Linux, as well as when players were not using the same build of the mod. This issue has now been resolved by rwmt#623. The probing caused errors when a constructor was invoked via reflection. I don’t have an explanation for why this is happening, but it’s not worth investigating at the moment, as we are reverting the code to the state that Zetrith implemented, along with the rwmt#623 fix.
This was
linked to
issues
Aug 31, 2025
Author
|
Windows -> Mac has been tested and works as expected. Good to merge from my side. :) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Label: 1.6, fix
Important: Might be good to wait with merging until someone tests Windows -> Mac. But I'm almost certain it should work.
Fixes: #612 (Skylantern), #658 (GoldenCube)
I investigated issue #658. I tried reverting the changes to
DeferredStackTracingImpl.csstep by step because I couldn't get my head around why this only happens in 1.6 and not in 1.5.Reverts: #562
Rbp probing was originally introduced to address 1.6 crossplay issues between Windows and Linux, as well as mismatches when players were not using the same mod build. These issues have since been resolved by #623.
The probing causes errors when a constructor is invoked via reflection because it failed to find the next rbp pointer and then we tried to dereference a null pointer(#612, #658). I don’t have an exact explanation for why the probing fails, but since the issue is resolved by reverting to Zetrith’s original implementation (together with the #623 fix), there’s no need to investigate further, I think.
Reverts: #548
This was our first attempt changing rbp lookup in 1.6. However, it caused problems, which led to #562. In that PR, we changed the offset from +1 to +4. I initially reverted it back to this PR, but the stack trace was incomplete. Then, after switching the offset back to +1 - everything works fine. I assume this was also related to the #623 issue.
Tests