Skip to content

Fix ogg_sync_pageout hook infinite recursion after 2df07b59#3707

Open
runlevel5 wants to merge 1 commit intoptitSeb:mainfrom
runlevel5:fix-ogg-alternate-recursion
Open

Fix ogg_sync_pageout hook infinite recursion after 2df07b59#3707
runlevel5 wants to merge 1 commit intoptitSeb:mainfrom
runlevel5:fix-ogg-alternate-recursion

Conversation

@runlevel5
Copy link
Copy Markdown
Contributor

@runlevel5 runlevel5 commented Mar 25, 2026

  • Fix infinite recursion in the ogg_sync_pageout hook caused by commit 2df07b5 ([DYNAREC] Refactored how Alt are undled with Dynarec)
  • Add suppressAlternate/unsuppressAlternate API to temporarily bypass alternate resolution for a specific address

I have tested it on PPC64LE, but love to get help from other backend contributors to see my changes would cause any issue

The commit 2df07b5 has caused regression
@ptitSeb
Copy link
Copy Markdown
Owner

ptitSeb commented Mar 25, 2026

Thanks for the issue, but this is absolutly not a fix.

The issue is infinite loops in memory allocators, and you create a workaround for a single ogg call? what about all the other call that also use memory?

@ptitSeb
Copy link
Copy Markdown
Owner

ptitSeb commented Mar 25, 2026

I'll push something more generic, as it can also happens with all hooked symbols from mallochook.c

ptitSeb added a commit that referenced this pull request Mar 25, 2026
@ptitSeb
Copy link
Copy Markdown
Owner

ptitSeb commented Mar 25, 2026

I have pushed this be199c5 that should fix your issue with ogg and all the potnetial others with mallochook

@ptitSeb
Copy link
Copy Markdown
Owner

ptitSeb commented Mar 25, 2026

Mmmm, I don't think this, or anything else, will work with the new alt handling, as the dynarec will always shadow the address. I might need to think of something more there. Maybe forcing the 1st step as interpreter?

ptitSeb added a commit that referenced this pull request Mar 25, 2026
…lt is used, to avoid inifite alt redirection (for #3707)
@ptitSeb
Copy link
Copy Markdown
Owner

ptitSeb commented Mar 25, 2026

I will probably work on a better solution latter, to avoid this passage via the Interpreter...

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants