Closed shinra-electric closed 3 weeks ago
Where did those spambots come from?
I'm just thinking I might be using a version of LLVM that's too new (18). I will test using prior versions.
Edit: Using llvm@16 does not make any difference, so that's probably not the issue.
@shinra-electric Please share your build config. Also start with simple games and binaries after nuking your cache completely. Remove ~/Library/caches/rpcs3 completely just to be safe.
Remove ~/Library/caches/rpcs3 completely just to be safe.
This seems to have fixed the issue. Deleting all caches using the context menu in the UI didn't help before, but deleting the whole folder did the trick.
Just to add to this, I have LLVM working on one Mac, but can't get it working on another with similar specs.
I think it may be a threading/deadlock issue when compiling the SPU cache (PPU seems to be fine), but this is just speculation.
Edit: I'll often get this error message:
F {SPU Worker 6} SIG: Thread terminated due to fatal error: Verification failed (object: 0x0)
(in file /Applications/Games/Emulators/Playstation 3/rpcs3/rpcs3/util/vm_native.cpp:323[:3], in function void utils::memory_commit(void *, usz, protection)) (errno=13=Permission denied)
Just to add to this, I have LLVM working on one Mac, but can't get it working on another with similar specs.
I think it may be a threading/deadlock issue when compiling the SPU cache (PPU seems to be fine), but this is just speculation.
Edit: I'll often get this error message:
F {SPU Worker 6} SIG: Thread terminated due to fatal error: Verification failed (object: 0x0) (in file /Applications/Games/Emulators/Playstation 3/rpcs3/rpcs3/util/vm_native.cpp:323[:3], in function void utils::memory_commit(void *, usz, protection)) (errno=13=Permission denied)
We're aware of the error and the root cause is understood. It will be fixed soon. It happens sometimes when a large number of blocks is being compiled in parallel. As a workaround, set your "LLVM compiler threads" to something low once the cache has been built the first time. 1 thread will always work, but may be too slow, 2-4 should be ok.
I have tried clearing the whole cache and then trying with only 1 max LLVM thread, but still an almost same error occurs:
F {PPU[0x1000000] main_thread} SIG: Thread terminated due to fatal error: Verification failed (object: 0x0)
(in file /Users/mehran/Documents/Projects/rpcs3/RPCS3-Arm-Build-Script/rpcs3/rpcs3/util/types.hpp:942[:102], in function decltype(auto) ensure(T &&, const_str, std::source_location) [T = bool]) (errno=2=No such file or directory)
I did the compilation using @shinra-electric's script.
Please open a ticket for that. It is still not clear why only some people are affected by this while we have a workaround in the code already.
Opened the ticket at #16002
Quick summary
LLVM is not working on macOS Arm builds.
Details
Yesterday PR #15992 was merged to master, and should enable LLVM for Arm builds on macOS.
I'm aware that not all games will work, but I'm unable to get any games to work.
There are no obvious errors in the log, it will just stall at the end of compiling the SPU cache.
The app then can't be quit, and trying to stop emulation will produce error messages saying the main thread is not responsive ("too sleepy"). The app must be force-quit to close at this point.
Edit: Forgot to mention I'm on the latest macOS 15 beta.
Attach a log file
This is a sample log from Arkedo Jump.
Attach capture files for visual issues
No response
System configuration
No response
Other details
No response