hedge-dev / hedge-dev/UnleashedRecomp

Game has a chance for it to get stuck in a critical section during SFD Playback

Open
#424 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

unresponsive
Dominant language
C++
Stars
5.1k
Forks
421
PR merge metrics
No merged PRs in 30d

Description

>	ntdll.dll!00007ffeed2c7734()	Unknown
 	ntdll.dll!00007ffeed17ff43()	Unknown
 	KernelBase.dll!00007ffeeabf7f48()	Unknown
 	[Inline Frame] UnleashedRecomp.exe!?A0x92702888::__crtWaitOnAddress(volatile void *) Line 176	C++
 	UnleashedRecomp.exe!__std_atomic_wait_direct(const void * _Storage, void * _Comparand, unsigned __int64 _Size, unsigned long _Remaining_timeout) Line 218	C++
 	UnleashedRecomp.exe!std::_Atomic_wait_direct<unsigned int &,long>(const std::_Atomic_storage<unsigned int &,4> * const _This, long _Expected_bytes, const std::memory_order _Order) Line 473	C++
 	[Inline Frame] UnleashedRecomp.exe!std::_Atomic_storage<unsigned int &,4>::wait(const unsigned int _Expected, const std::memory_order _Order) Line 1007	C++
 	UnleashedRecomp.exe!RtlEnterCriticalSection(_XRTL_CRITICAL_SECTION * cs) Line 700	C++
 	[Inline Frame] UnleashedRecomp.exe!std::invoke(void(*)(_XRTL_CRITICAL_SECTION *) && _Arg1, _XRTL_CRITICAL_SECTION * &) Line 1705	C++
 	[Inline Frame] UnleashedRecomp.exe!std::_Apply_impl(void(*)(_XRTL_CRITICAL_SECTION *) && _Tpl, std::tuple<_XRTL_CRITICAL_SECTION *> &) Line 1064	C++
 	[Inline Frame] UnleashedRecomp.exe!std::apply(void(*)(_XRTL_CRITICAL_SECTION *) && _Tpl, std::tuple<_XRTL_CRITICAL_SECTION *> &) Line 1075	C++
 	UnleashedRecomp.exe!HostToGuestFunction<&RtlEnterCriticalSection>(PPCContext & ctx, unsigned char * base) Line 308	C++
 	UnleashedRecomp.exe!__imp__sub_831E07D8(PPCContext & ctx, unsigned char * base) Line 42766	C++
 	UnleashedRecomp.exe!__imp__sub_82E5C3D8(PPCContext & ctx, unsigned char * base) Line 21680	C++
 	UnleashedRecomp.exe!__imp__sub_82E58810(PPCContext & ctx, unsigned char * base) Line 12474	C++
 	UnleashedRecomp.exe!__imp__sub_82E58880(PPCContext & ctx, unsigned char * base) Line 12587	C++
 	UnleashedRecomp.exe!__imp__sub_824F0AB0(PPCContext & ctx, unsigned char * base) Line 9209	C++
 	UnleashedRecomp.exe!__imp__sub_824F19C0(PPCContext & ctx, unsigned char * base) Line 11513	C++
 	UnleashedRecomp.exe!__imp__sub_824EB5B0(PPCContext & ctx, unsigned char * base) Line 40576	C++
 	UnleashedRecomp.exe!sub_824EB5B0(PPCContext & ctx, unsigned char * base) Line 5896	C++
 	UnleashedRecomp.exe!__imp__sub_822C1020(PPCContext & ctx, unsigned char * base) Line 2588	C++
 	UnleashedRecomp.exe!__imp__sub_822C1130(PPCContext & ctx, unsigned char * base) Line 2789	C++
 	UnleashedRecomp.exe!__imp__sub_822C0E18(PPCContext & ctx, unsigned char * base) Line 2528	C++
 	UnleashedRecomp.exe!__imp__sub_822C3AC0(PPCContext & ctx, unsigned char * base) Line 9171	C++
 	UnleashedRecomp.exe!__imp___xstart(PPCContext & ctx, unsigned char * base) Line 2392	C++
 	UnleashedRecomp.exe!GuestThread::Start(const GuestThreadParams & params) Line 80	C++
 	UnleashedRecomp.exe!main(int argc, char * * argv) Line 235	C++
 	[Inline Frame] UnleashedRecomp.exe!invoke_main() Line 78	C++
 	UnleashedRecomp.exe!__scrt_common_main_seh() Line 288	C++
 	kernel32.dll!00007ffeec5755a7()	Unknown
 	ntdll.dll!00007ffeed17c800()	Unknown

This happened whilst testing on RelWithDebInfo

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the hang during SFD Playback in the RelWithDebInfo configuration and inspect the stack trace at RtlEnterCriticalSection. Trace the call path through GuestThread::Start and main, then identify why the critical section remains blocked. Done means SFD Playback no longer gets stuck in the critical section.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
game-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.