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

Fixes issues where the mutex is destroyed while an unlock is happening #5475

Merged
merged 2 commits into from
Dec 30, 2018

Conversation

RipleyTom
Copy link
Contributor

@RipleyTom RipleyTom commented Dec 30, 2018

Should fix 4C4T issues(including DeS).

Problem I think is specifically when a mutex unlock awake a thread that then destroy the mutex, when unlock thread runs again the lock_guard destructor fails because mutex->mutex doesn't exist(either crashes or unlock gets stuck).

I think the lock guard might actually be ok because that destroy should succeed on a ps3 so it'll wait until the unlock ends and destroy it.

@Krusher97
Copy link

Played DeS for about 30 minutes with no crashes or freezes on my i5 6500.

@psennermann
Copy link

Finally DeS works again, thanks!

@AniLeo AniLeo added the Bugfix label Dec 30, 2018
@Nekotekina Nekotekina merged commit 7ebd3bb into RPCS3:master Dec 30, 2018
@Rozzemak
Copy link

Rozzemak commented Jan 1, 2019

Still occurs for me. (Win10)
Fixed with Win8 compat & Safe SPU block size.
I think, that any windows compat mode messes up min timer resolution time, thus different behavior.
(Just a guess.)
Log here if somebody wants, with broken/working settings right after havoc physics interaction, to see the difference maybe ?..
Freezes (No win 8 compat & mega SPU block size): (Right after havoc interaction.)
RPCS3.log.gz
Freeze2: (Right after havoc interaction.) Win8 compat, mega SPU cache size
RPCS3.log.gz
No Freeze: (Right after havoc interaction. -> sutters more afterwards) Win8 compat, safe SPU block size
RPCS3.log.gz
PS:(With no win 8 compat, safe SPU block size, game freezes too, just to be complete.)

@Asinin3
Copy link
Contributor

Asinin3 commented Jan 1, 2019

Mega/Giga block sizes are experimental though, that's not surpising. There was some changes made that broke mega/giga in some games awhile back. Which is a different issue all-together.

@Rozzemak
Copy link

Rozzemak commented Jan 1, 2019

Yea, but the fact that DeS does not freeze by Havoc interaction in win8 compat. mode is weird.
https://superuser.com/questions/133746/how-does-the-compatibility-mode-in-windows-work
Wanted to educate myself little bit, but unless compat. mode affects timers or winApi as whole, I have no idea how it could fix stuff.

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

Successfully merging this pull request may close these issues.

None yet

7 participants