Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LegacyRandomSource crash from Botania mixin #4780

Open
purejosh opened this issue Jan 10, 2025 · 3 comments
Open

LegacyRandomSource crash from Botania mixin #4780

purejosh opened this issue Jan 10, 2025 · 3 comments

Comments

@purejosh
Copy link

Mod Loader

Forge

Minecraft Version

1.20.1

Botania version

1.20.1-446-FORGE

Modloader version

47.3.7

Modpack info

No response

The latest.log file

https://gist.github.com/purejosh/7c044fd9ef9b89e839f3149a5c0e59c0

Issue description

Server randomly crashes with this log.

Steps to reproduce

No response

Other information

No response

@TheRealWormbo
Copy link
Collaborator

May I ask why you reported this here? The log seems to suggest a different mod's mixin. Botania just happens to be present, and is not the only mod "involved" either.

@purejosh
Copy link
Author

If there's a mixin conflict, why would I only report it to one person? Understanding the mixin and what may conflict with it needs more than one perspective. I'm not sure why you're questioning this report.

@purejosh purejosh changed the title LegacyRandomCrash from Botania mixin LegacyRandomSource crash from Botania mixin Jan 10, 2025
@TheRealWormbo
Copy link
Collaborator

Here's what I read out of the crash stack trace:

  • ThreadingDetector, a vanilla class used in LegacyRandomSource (another vanilla class), creates an exception with the intention of crashing things due to an illegal state.
  • The illegal state is that NaturalSpawner (yet another vanilla class, responsible for natural mob spawning) accessed the random source concurrently with some other code.
  • The call stack traces back to the usual place where natural mob spawning would happen.
  • Botania's mixins to mob spawning do not access randomness and certainly (being mixins) do not move that functionality off the main thread.

What you are seeing here is vanilla code reacting to something else accessing the random source concurrently. Whatever that "something" is, it shouldn't be doing that. Botania was present in the general area of code that detected the illegal random source state, but it was not involved in either the detection or the creation of said invalid state.

As far as I can tell, this is not a mixin conflict, but some completely unrelated code that ran in another thread at the time the main thread attempted to generate randomness for vanilla mob spawning logic.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

2 participants