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

RegisterProcessor race condition #5

Open
Wild-W opened this issue Aug 30, 2024 · 0 comments
Open

RegisterProcessor race condition #5

Wild-W opened this issue Aug 30, 2024 · 0 comments
Assignees
Labels
bug Something isn't working

Comments

@Wild-W
Copy link
Owner

Wild-W commented Aug 30, 2024

Critical bug

Usage of RegisterProcessor to hook a function in program memory creates a race condition that depends on the result of the hook not to resolve while the thread that owns the lua state is modifying it. The solution should be to find the location in CivilizationVI.exe that handles the game's lua event loop (or whatever other dispatch system is being used) and hook into it, or to reverse the ScriptSystem, ScriptSystemArgs, and TypedVariantMap structures and just use the existing processor system.

This bug was first reported to me 08/03/2024 and since 08/08/2024, fixing it has been this project's top priority. Unfortunately, I've been largely unsuccessful.

@Wild-W Wild-W added the bug Something isn't working label Aug 30, 2024
@Wild-W Wild-W self-assigned this Aug 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant