https://bugs.winehq.org/show_bug.cgi?id=56653
Bug ID: 56653 Summary: GetLogicalProcessorInformation can be missing Cache information Product: Wine Version: unspecified Hardware: aarch64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: ntdll Assignee: wine-bugs@winehq.org Reporter: sebastien.chev@gmail.com Distribution: ---
On some ARM64 platform, like SnapDragon, the GetLogicalProcessorInformation(...) will not fill-in Cache information.
Some system file, specificaly: "/sys/devices/system/cpu/cpu%u/cache/index%u/ways_of_associativity", "/sys/devices/system/cpu/cpu%u/cache/index%u/coherency_line_size" and "/sys/devices/system/cpu/cpu%u/cache/index%u/size" are missing, leading a an early abort of the "create_logical_proc_info(...)" helper function.
Some games, like Baldur's Gate 3 actually use the Cache informations to guess the optimal number of Worker to spawn. With the cache info missing, 0 workers are spawn, leading to a Stack Overflow later in the loading.
Debugged using the x86_64 version of Wine on ARM64 platform with Box64, but the issue is linux specific, not arch specific.