fix: Increase robustness of function-local static initialization for certain injector behaviors #491
No reviewers
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
OldButImportant
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
software-migration-backups/Dumper-7-17-05-2026!491
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "ELDment/main"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
During dump generation, a fatal crash was observed, which was traced back to the initialization of function-local static
std::unordered_mapUpon further investigation, it appears the root cause is that certain manual-mapping injectors do not properly handle the CRT's initialization routines
By moving these variables to file scope, we sidestep the runtime initialization path that requires complex guard logic from the injector
I'll test and merge this pr soon. Which injector did you have this issue with? I've only seen crashes due to improperly initialized static variables in injectors that didn't properly initialize them. When using a normal load library injector I've never had that issue.
heya, @Fischsalat
I’m using the master131/ExtremeInjector with the following configuration
Ok, you're manual mapping so there's a really high chance the injector just isn't properly initializing the variables, rather than MSVC being bugged.
@Fischsalat
Oh, totally possible you're right about that
Btw, mind merging this PR that initializes variables more conservatively?
Do you mean this one? Yea I can merge it after I've tested it.
@Fischsalat
alrightly, take your time
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.Merge
Merge the changes and update on Forgejo.Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.