Closed thecityofguanyu closed 7 years ago
Confirmed the same behavior on Demon's Souls. And to clarify, the game IDs used are:
And the "Narrow error" code is always (0x56295a14cf60)
.
Does this affect all games? I've tried a bunch including the Sonic CD demo and they all fail with the exact same "F LDR: St11range_error thrown: Narrow error (0x55a42471cf40)" error message.
Literally not a single game will launch in RPCS3 right now.
@Enverex
Literally not a single game will launch in RPCS3 right now.
I don't have an incredibly large sample size, but in my case it has indeed failed to launch on every single game tried.
@thecityofguanyu Try PR https://github.com/RPCS3/rpcs3/pull/2632 it fixed my Linux issues.
@hcorion
No luck, unfortunately. The same error is immediately thrown after attempting to launch any game.
RPCS3 v0.0.2-5085-c726cc20 Alpha
F LDR: St11range_error thrown: Narrow error (0x562a63228f70)
F LDR: St11range_error thrown: Narrow error (0x562a63228f70)
FWIW, it appears to be compiling without LLVM support.
/opt/rpcs3# cmake CMakeLists.txt && make GitVersion && make
-- No build type selected, default to Release
CMake Warning (dev) at 3rdparty/libpng/CMakeLists.txt:317 (get_target_property):
Policy CMP0026 is not set: Disallow use of the LOCATION target property.
Run "cmake --help-policy CMP0026" for policy details. Use the cmake_policy
command to set the policy and suppress this warning.
The LOCATION property should not be read from target "png16_static". Use
the target name directly with add_custom_command, or use the generator
expression $<TARGET_FILE>, as appropriate.
This warning is for project developers. Use -Wno-dev to suppress it.
-- cotire 1.7.3 loaded.
-- Initializing RPCS3_SRC_DIR=/opt/rpcs3/rpcs3
CMake Warning at rpcs3/CMakeLists.txt:94 (find_package):
Could not find a configuration file for package "LLVM" that is compatible
with requested version "4.0".
The following configuration files were considered but not accepted:
/usr/share/llvm-3.8/cmake/LLVMConfig.cmake, version: 3.8.1
-- RPCS3: using builtin libpng
-- RPCS3: using builtin ffmpeg
LLVM not found! LLVM 4.0 is required. RPCS3 will be compiled without LLVM support.
-- dir='/usr/lib/x86_64-linux-gnu/wx/include/gtk2-unicode-3.0'
-- dir='/usr/include/wx-3.0'
-- dir='/opt/rpcs3/rpcs3/../3rdparty/libpng'
-- dir='/opt/rpcs3/rpcs3/../3rdparty/ffmpeg/linux/x86_64/include'
-- dir='/usr/lib/x86_64-linux-gnu/wx/include/gtk2-unicode-3.0'
-- dir='/usr/include/wx-3.0'
-- dir='/usr/include'
-- dir='/usr/include/AL'
-- dir='/opt/rpcs3/rpcs3/../3rdparty/pugixml/src'
-- dir='/opt/rpcs3/rpcs3'
-- dir='/opt/rpcs3/rpcs3/Loader'
-- dir='/opt/rpcs3/rpcs3/Crypto'
-- dir='/opt/rpcs3/rpcs3/..'
-- dir='/opt/rpcs3/rpcs3/../Utilities/yaml-cpp/include'
-- dir='/opt/rpcs3/rpcs3/../asmjit/src/asmjit'
-- dir='/opt/rpcs3/rpcs3/../3rdparty/GSL/include'
-- dir='/opt/rpcs3/rpcs3/../rsx_program_decompiler/rsx_decompiler'
-- dir='/opt/rpcs3/rpcs3/../rsx_program_decompiler/shader_code'
-- dir='/opt/rpcs3/rpcs3/../Vulkan/Vulkan-LoaderAndValidationLayers/include'
-- dir='/opt/rpcs3/rpcs3/../Vulkan/glslang/glslang/Public'
-- dir='/opt/rpcs3/rpcs3/../3rdparty/GL'
-- dir='/opt/rpcs3/rpcs3/../3rdparty/stblib'
-- dir='/opt/rpcs3/rpcs3/../rsx_program_decompiler/rsx_decompiler'
-- dir='/opt/rpcs3/rpcs3/../rsx_program_decompiler/shader_code'
-- dir='/opt/rpcs3/rpcs3/../3rdparty/cereal/include'
-- Initializing SOURCE_DIR=/opt/rpcs3/rsx_program_decompiler/shader_code
-- Initializing SOURCE_DIR=/opt/rpcs3/rsx_program_decompiler/rsx_decompiler
-- Configuring done
-- Generating done
-- Build files have been written to: /opt/rpcs3
Generating something_that_never_exists
-- Found Git: /usr/bin/git (found version "2.11.0")
-- GIT_VERSION: 5085-c726cc20
Built target GitVersion
[ 4%] Built target png16_static
[ 6%] Built target rsx_decompiler
[ 7%] Built target shader_code
[100%] Built target rpcs3
[100%] Generating something_that_never_exists
-- Found Git: /usr/bin/git (found version "2.11.0")
-- GIT_VERSION: 5085-c726cc20
[100%] Built target GitVersion
And my local LLVM version:
/opt/rpcs3# dpkg -l | grep '^.i' | grep llvm
ii libllvm3.8:amd64 1:3.8.1-17 amd64 Modular compiler and toolchain technologies, runtime library
ii libllvm3.9:amd64 1:3.9.1-4 amd64 Modular compiler and toolchain technologies, runtime library
ii libllvm3.9:i386 1:3.9.1-4 i386 Modular compiler and toolchain technologies, runtime library
ii llvm 1:3.8-34+nmu1 amd64 Low-Level Virtual Machine (LLVM)
ii llvm-3.8 1:3.8.1-17 amd64 Modular compiler and toolchain technologies
ii llvm-3.8-dev 1:3.8.1-17 amd64 Modular compiler and toolchain technologies, libraries and headers
ii llvm-3.8-runtime 1:3.8.1-17 amd64 Modular compiler and toolchain technologies, IR interpreter
ii llvm-runtime
Yeah, because RPCS3 only supports llvm 4.0, most distros that I know of haven't upgraded to 4.0 yet.
Could you try a simpler homebrew ROM like scoggerHD? See if that works?
@hcorion
Same outcome with scoggerHD.
RPCS3 v0.0.2-5085-c726cc20 Alpha
S {PKG Installer} LDR: Package successfully installed to /home/user/.config/rpcs3/dev_hdd0/game/SCOG00001/
F LDR: St11range_error thrown: Narrow error (0x558724d03f70)
F LDR: St11range_error thrown: Narrow error (0x558724d03f70)
/opt/rpcs3/ md5sum /tmp/scogger-hd.pkg
2dfcd40eb3fea89c2354eb02e0e5e0cb /tmp/scogger-hd.pkg
What debian version are you running? EDIT: Also, what hardware do you have?
@hcorion Unstable repos.
/opt/rpcs3/ uname -a
Linux desktop 4.9.0-2-amd64 #1 SMP Debian 4.9.13-1 (2017-02-27) x86_64 GNU/Linux
/opt/rpcs3/ lsb_release -da
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 9.0 (stretch)
Release: 9.0
Codename: stretch
@hcorion Just saw your hardware question edit.
All works fine in Windows partition.
Same behaviour here too @hcorion - regardless of commercial game or Scogger HD.
·! 0:14:21.905237 LDR: Elf path: /host_root//home/arcade/.config/rpcs3/dev_hdd0/game/SCOG00001/USRDIR/EBOOT.BIN
·! 0:14:21.905244 LDR: ** Segment: p_type=0x1, p_vaddr=0x10000, p_filesz=0x1d053c, p_memsz=0x1d053c, flags=0x5
·F 0:14:21.905776 LDR: St11range_error thrown: Narrow error (0x559746777f40)
·! 0:14:21.905781 Stopping emulator...
This machine is running Arch. i7-5775c, Nvidia GTX 1060 6GB, 8GB RAM. Kernel 4.10.6, GCC 6.3.1.
@Enverex are you using the PKGBUILD?
I wasn't originally. I tried it just in case and got the same result.
@thecityofguanyu I was able to reproduce the issue in a fresh Virtual Box installation of Debian 9. I fixed it by adding llvm 4 and forcing the build to use clang 4.0. here are the commands I used: (assuming sudo is installed and setup properly)
wget -O - http://apt.llvm.org/llvm-snapshot.gpg.key|sudo apt-key add -
sudo apt-get install software-properties-common
sudo apt-add-repository "deb http://apt.llvm.org/unstable/ llvm-toolchain-4.0 main"
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install clang-4.0 lldb-4.0 lld-4.0
Now that clang and llvm 4.0 have been setup, we can use them for building rpcs3. I used the following cmake command:
cmake ./location/of/rpcs3 -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_C_COMPILER="clang-4.0" -DCMAKE_CXX_COMPILER="clang++-4.0"
So are you saying GCC 6 and CLang 3 don't work, but Clang 4 explicitly does?
@Enverex GCC 6.3.1 and clang 3.9.1 work fine for me on Arch Linux. I have no idea what's causing this problem. It's just using clang 4.0 seemed to fix the problem on Debian when I tried.
@hcorion We discussed in #development on Discord, but recording here for visibility:
Installing clang-4.0 lldb-4.0 lld-4.0
and compiling with your specified cmake flags does stop the St11range_error
output; however, attempting to start any game now immediately crashes rpcs3. This is independent of any PPU/SPU setting.
/opt/rpcs3# ./bin/rpcs3
18:23:34: Warning: Mismatch between the program and library build versions detected.
The library used 3.0 (wchar_t,compiler with C++ ABI 1010,wx containers,compatible with 2.8),
and your program used 3.0 (wchar_t,compiler with C++ ABI 1002,wx containers,compatible with 2.8).
: CommandLine Error: Option 'help-list' registered more than once!
LLVM ERROR: inconsistency in registered CommandLine options
Ok, so for some reason sometimes gcc 6.3.1 on certain systems fails to compile a working rpcs3 properly, so we need to use clang.
However, it seems either clang and llvm doesn't seem to link properly or something as well. It possibly has something to do with multiple versions of llvm, but I'm not sure.
@thecityofguanyu Try using the previous cmake flags, but this time, we need to disable llvm. To do this we need to edit the file rpcs3/rpcs3/CMakeLists.txt, on line 94 change find_package(LLVM 4.0 CONFIG) to find_package(LLVM 3.0 CONFIG)
now rpcs3 should work.
@hcorion
Grep from CMakeLists.txt after making LLVM change:
/opt/rpcs3# cat rpcs3/CMakeLists.txt | grep LLVM
find_package(LLVM 3.0 CONFIG)
${LLVM_INCLUDE_DIRS}
if(NOT LLVM_FOUND)
Message("LLVM not found! LLVM 4.0 is required. RPCS3 will be compiled without LLVM support.")
add_definitions(${LLVM_DEFINITIONS})
add_definitions(-DLLVM_AVAILABLE)
llvm_map_components_to_libnames(LLVM_LIBS mcjit vectorize ipo x86codegen x86disassembler)
llvm_map_components_to_libnames(LLVM_LIBS mcjit vectorize ipo x86codegen x86disassembler mcdisassembler)
if(LLVM_FOUND)
target_link_libraries(rpcs3 ${LLVM_LIBS})
Compilation now fails
/opt/rpcs3# cmake -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_C_COMPILER="clang-4.0" -DCMAKE_CXX_COMPILER="clang++-4.0" CMakeLists.txt && make GitVersion && make VERBOSE=1 | tee /tmp/rpcs3-5085-1ae334e5-llvm3.0_compile.log.1
CMake Warning (dev) at 3rdparty/libpng/CMakeLists.txt:317 (get_target_property):
Policy CMP0026 is not set: Disallow use of the LOCATION target property.
Run "cmake --help-policy CMP0026" for policy details. Use the cmake_policy
command to set the policy and suppress this warning.
The LOCATION property should not be read from target "png16_static". Use
the target name directly with add_custom_command, or use the generator
expression $<TARGET_FILE>, as appropriate.
This warning is for project developers. Use -Wno-dev to suppress it.
-- cotire 1.7.3 loaded.
-- Initializing RPCS3_SRC_DIR=/opt/rpcs3/rpcs3
CMake Warning at rpcs3/CMakeLists.txt:94 (find_package):
Could not find a configuration file for package "LLVM" that is compatible
with requested version "3.0".
The following configuration files were considered but not accepted:
/usr/lib/llvm-4.0/cmake/LLVMConfig.cmake, version: 4.0.0
/usr/share/llvm-3.8/cmake/LLVMConfig.cmake, version: 3.8.1
-- RPCS3: using builtin libpng
-- RPCS3: using builtin ffmpeg
LLVM not found! LLVM 4.0 is required. RPCS3 will be compiled without LLVM support.
-- dir='/usr/lib/x86_64-linux-gnu/wx/include/gtk2-unicode-3.0'
-- dir='/usr/include/wx-3.0'
-- dir='/opt/rpcs3/rpcs3/../3rdparty/libpng'
-- dir='/opt/rpcs3/rpcs3/../3rdparty/ffmpeg/linux/x86_64/include'
-- dir='/usr/lib/x86_64-linux-gnu/wx/include/gtk2-unicode-3.0'
-- dir='/usr/include/wx-3.0'
-- dir='/usr/include'
-- dir='/usr/include/AL'
-- dir='/opt/rpcs3/rpcs3/../3rdparty/pugixml/src'
-- dir='/opt/rpcs3/rpcs3'
-- dir='/opt/rpcs3/rpcs3/Loader'
-- dir='/opt/rpcs3/rpcs3/Crypto'
-- dir='/opt/rpcs3/rpcs3/..'
-- dir='/opt/rpcs3/rpcs3/../Utilities/yaml-cpp/include'
-- dir='/opt/rpcs3/rpcs3/../asmjit/src/asmjit'
-- dir='/opt/rpcs3/rpcs3/../3rdparty/GSL/include'
-- dir='/opt/rpcs3/rpcs3/../rsx_program_decompiler/rsx_decompiler'
-- dir='/opt/rpcs3/rpcs3/../rsx_program_decompiler/shader_code'
-- dir='/opt/rpcs3/rpcs3/../Vulkan/Vulkan-LoaderAndValidationLayers/include'
-- dir='/opt/rpcs3/rpcs3/../Vulkan/glslang/glslang/Public'
-- dir='/opt/rpcs3/rpcs3/../3rdparty/GL'
-- dir='/opt/rpcs3/rpcs3/../3rdparty/stblib'
-- dir='/opt/rpcs3/rpcs3/../rsx_program_decompiler/rsx_decompiler'
-- dir='/opt/rpcs3/rpcs3/../rsx_program_decompiler/shader_code'
-- dir='/opt/rpcs3/rpcs3/../3rdparty/cereal/include'
-- Initializing SOURCE_DIR=/opt/rpcs3/rsx_program_decompiler/shader_code
-- Initializing SOURCE_DIR=/opt/rpcs3/rsx_program_decompiler/rsx_decompiler
-- Configuring done
-- Generating done
-- Build files have been written to: /opt/rpcs3
Generating something_that_never_exists
-- Found Git: /usr/bin/git (found version "2.11.0")
-- GIT_VERSION: 5085-1ae334e5
Built target GitVersion
/usr/bin/cmake -H/opt/rpcs3 -B/opt/rpcs3 --check-build-system CMakeFiles/Makefile.cmake 0
/usr/bin/cmake -E cmake_progress_start /opt/rpcs3/CMakeFiles /opt/rpcs3/CMakeFiles/progress.marks
make -f CMakeFiles/Makefile2 all
make[1]: Entering directory '/opt/rpcs3'
make -f 3rdparty/libpng/CMakeFiles/png16_static.dir/build.make 3rdparty/libpng/CMakeFiles/png16_static.dir/depend
make[2]: Entering directory '/opt/rpcs3'
cd /opt/rpcs3 && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /opt/rpcs3 /opt/rpcs3/3rdparty/libpng /opt/rpcs3 /opt/rpcs3/3rdparty/libpng /opt/rpcs3/3rdparty/libpng/CMakeFiles/png16_static.dir/DependInfo.cmake --color=
make[2]: Leaving directory '/opt/rpcs3'
make -f 3rdparty/libpng/CMakeFiles/png16_static.dir/build.make 3rdparty/libpng/CMakeFiles/png16_static.dir/build
make[2]: Entering directory '/opt/rpcs3'
make[2]: Nothing to be done for '3rdparty/libpng/CMakeFiles/png16_static.dir/build'.
make[2]: Leaving directory '/opt/rpcs3'
[ 4%] Built target png16_static
make -f rsx_program_decompiler/shader_code/CMakeFiles/shader_code.dir/build.make rsx_program_decompiler/shader_code/CMakeFiles/shader_code.dir/depend
make[2]: Entering directory '/opt/rpcs3'
cd /opt/rpcs3 && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /opt/rpcs3 /opt/rpcs3/rsx_program_decompiler/shader_code /opt/rpcs3 /opt/rpcs3/rsx_program_decompiler/shader_code /opt/rpcs3/rsx_program_decompiler/shader_code/CMakeFiles/shader_code.dir/DependInfo.cmake --color=
make[2]: Leaving directory '/opt/rpcs3'
make -f rsx_program_decompiler/shader_code/CMakeFiles/shader_code.dir/build.make rsx_program_decompiler/shader_code/CMakeFiles/shader_code.dir/build
make[2]: Entering directory '/opt/rpcs3'
make[2]: Nothing to be done for 'rsx_program_decompiler/shader_code/CMakeFiles/shader_code.dir/build'.
make[2]: Leaving directory '/opt/rpcs3'
[ 5%] Built target shader_code
make -f rsx_program_decompiler/rsx_decompiler/CMakeFiles/rsx_decompiler.dir/build.make rsx_program_decompiler/rsx_decompiler/CMakeFiles/rsx_decompiler.dir/depend
make[2]: Entering directory '/opt/rpcs3'
cd /opt/rpcs3 && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /opt/rpcs3 /opt/rpcs3/rsx_program_decompiler/rsx_decompiler /opt/rpcs3 /opt/rpcs3/rsx_program_decompiler/rsx_decompiler /opt/rpcs3/rsx_program_decompiler/rsx_decompiler/CMakeFiles/rsx_decompiler.dir/DependInfo.cmake --color=
make[2]: Leaving directory '/opt/rpcs3'
make -f rsx_program_decompiler/rsx_decompiler/CMakeFiles/rsx_decompiler.dir/build.make rsx_program_decompiler/rsx_decompiler/CMakeFiles/rsx_decompiler.dir/build
make[2]: Entering directory '/opt/rpcs3'
make[2]: Nothing to be done for 'rsx_program_decompiler/rsx_decompiler/CMakeFiles/rsx_decompiler.dir/build'.
make[2]: Leaving directory '/opt/rpcs3'
[ 7%] Built target rsx_decompiler
make -f rpcs3/CMakeFiles/rpcs3.dir/build.make rpcs3/CMakeFiles/rpcs3.dir/depend
make[2]: Entering directory '/opt/rpcs3'
cd /opt/rpcs3 && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /opt/rpcs3 /opt/rpcs3/rpcs3 /opt/rpcs3 /opt/rpcs3/rpcs3 /opt/rpcs3/rpcs3/CMakeFiles/rpcs3.dir/DependInfo.cmake --color=
make[2]: Leaving directory '/opt/rpcs3'
make -f rpcs3/CMakeFiles/rpcs3.dir/build.make rpcs3/CMakeFiles/rpcs3.dir/build
make[2]: Entering directory '/opt/rpcs3'
[ 7%] Building CXX object rpcs3/CMakeFiles/rpcs3.dir/Emu/Cell/PPUThread.cpp.o
cd /opt/rpcs3/rpcs3 && ccache /usr/bin/clang++-4.0 -DCMAKE_BUILD -DGLX_GLXEXT_PROTOTYPES -DGL_GLEXT_PROTOTYPES -DWXUSINGDLL -D_FILE_OFFSET_BITS=64 -D__WXGTK__ -DwxGUI -isystem /usr/lib/x86_64-linux-gnu/wx/include/gtk2-unicode-3.0 -isystem /usr/include/wx-3.0 -I/opt/rpcs3/rpcs3/../3rdparty/libpng -I/opt/rpcs3/rpcs3/../3rdparty/ffmpeg/linux/x86_64/include -I/usr/include/AL -I/opt/rpcs3/rpcs3/../3rdparty/pugixml/src -I/opt/rpcs3/rpcs3 -I/opt/rpcs3/rpcs3/Loader -I/opt/rpcs3/rpcs3/Crypto -I/opt/rpcs3/rpcs3/.. -I/opt/rpcs3/rpcs3/../Utilities/yaml-cpp/include -I/opt/rpcs3/rpcs3/../asmjit/src/asmjit -I/opt/rpcs3/rpcs3/../3rdparty/GSL/include -I/opt/rpcs3/rpcs3/../rsx_program_decompiler/rsx_decompiler -I/opt/rpcs3/rpcs3/../rsx_program_decompiler/shader_code -I/opt/rpcs3/rpcs3/../Vulkan/Vulkan-LoaderAndValidationLayers/include -I/opt/rpcs3/rpcs3/../Vulkan/glslang/glslang/Public -I/opt/rpcs3/rpcs3/../3rdparty/GL -I/opt/rpcs3/rpcs3/../3rdparty/stblib -I/opt/rpcs3/rpcs3/../3rdparty/cereal/include -std=c++14 -fexceptions -pthread -O3 -DNDEBUG -ftemplate-depth=1024 -msse -msse2 -mcx16 -mssse3 -Qunused-arguments -include /opt/rpcs3/rpcs3/cotire/rpcs3_CXX_prefix.hxx -o CMakeFiles/rpcs3.dir/Emu/Cell/PPUThread.cpp.o -c /opt/rpcs3/rpcs3/Emu/Cell/PPUThread.cpp
/opt/rpcs3/rpcs3/Emu/Cell/PPUThread.cpp:21:10: fatal error: 'llvm/Support/FormattedStream.h' file not found
#include "llvm/Support/FormattedStream.h"
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
make[2]: *** [rpcs3/CMakeFiles/rpcs3.dir/Emu/Cell/PPUThread.cpp.o] Error 1
rpcs3/CMakeFiles/rpcs3.dir/build.make:3501: recipe for target 'rpcs3/CMakeFiles/rpcs3.dir/Emu/Cell/PPUThread.cpp.o' failed
make[2]: Leaving directory '/opt/rpcs3'
CMakeFiles/Makefile2:233: recipe for target 'rpcs3/CMakeFiles/rpcs3.dir/all' failed
make[1]: *** [rpcs3/CMakeFiles/rpcs3.dir/all] Error 2
make[1]: Leaving directory '/opt/rpcs3'
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2
Try running make clean?
@hcorion Compiles fine now! Will attempt to launch a game, and a window comes up, but that's it. Set to interpreter/interpreter.
F {rsx::thread} St13runtime_error thrown: Verification failed (e=11):
(in file /opt/rpcs3/rpcs3/Emu/RSX/GL/GLHelpers.h:715)
Seems to be that same error on Catherine/DeS/Scogger HD.
@thecityofguanyu What GPU driver are you using? Is it the default open source nouveau drivers or NVIDIA binary drivers? If your on nouveau, switch to the binary drivers.
@hcorion NVIDIA binary v375.26.
Do other modern opengl games/programs (like openg 4.5 minimum) run on your computer (under debian)?
You could also try commenting out line 715 in rpcs3/rpcs3/Emu/RSX/GL/GLHelpers.h
Do other modern opengl games/programs (like openg 4.5 minimum) run on your computer (under debian)
I guess I don't know enough about the OpenGL versions of each particular game, but I haven't had a probably running anything before -- Steam games (Civ 5/Shadow of Mordor/ETS2/L4D2/Bioshock Infinite) and Dolphin-emu have all worked fine under Debian.
You could also try commenting out line 715 in rpcs3/rpcs3/Emu/RSX/GL/GLHelpers.h
I'll give that a try.
Not sure if it's worth noting but I got the same Narrow error when compiling with CLang 3.9 / LLVM 3.9.
4.0 hasn't safely dropped onto Arch yet so I can't really test that.
Can I have a backtrace for the exception throw? Need to use "catch throw" in gdb or something.
Here you go.
Starting program: /usr/bin/rpcs3
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
Catchpoint 1 (exception thrown), __cxxabiv1::__cxa_throw (obj=<optimized out>, tinfo=<optimized out>, dest=<optimized out>) at /build/gcc-multilib/src/gcc/libstdc++-v3/libsupc++/eh_throw.cc:62
62 /build/gcc-multilib/src/gcc/libstdc++-v3/libsupc++/eh_throw.cc: No such file or directory.
(gdb) bt
#0 0x00007ffff2b664a0 in __cxxabiv1::__cxa_throw(void*, std::type_info*, void (*)(void*)) (obj=<optimized out>, tinfo=<optimized out>, dest=<optimized out>) at /build/gcc-multilib/src/gcc/libstdc++-v3/libsupc++/eh_throw.cc:62
#1 0x0000555555d617be in fmt::raw_narrow_error(char const*, fmt_type_info const*, unsigned long) ()
#2 0x0000555555a6b9ce in ()
#3 0x0000555555a63632 in ppu_load_exec(elf_object<elf_be, unsigned long, (elf_machine)21, (elf_os)0, (elf_type)2> const&) ()
#4 0x0000555555c86992 in Emulator::Load() ()
#5 0x0000555555c87953 in Emulator::BootGame(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool) ()
#6 0x0000555555cbff15 in GameViewer::DClick(wxListEvent&) ()
#7 0x00007ffff6caf74e in wxAppConsoleBase::CallEventHandler(wxEvtHandler*, wxEventFunctor&, wxEvent&) const () at /usr/lib/libwx_baseu-3.0.so.0
#8 0x00007ffff6e32c35 in wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) () at /usr/lib/libwx_baseu-3.0.so.0
#9 0x00007ffff6e3302d in wxEvtHandler::SearchDynamicEventTable(wxEvent&) () at /usr/lib/libwx_baseu-3.0.so.0
#10 0x00007ffff6e330af in wxEvtHandler::TryHereOnly(wxEvent&) () at /usr/lib/libwx_baseu-3.0.so.0
#11 0x00007ffff6e33163 in wxEvtHandler::ProcessEventLocally(wxEvent&) () at /usr/lib/libwx_baseu-3.0.so.0
#12 0x00007ffff6e331c5 in wxEvtHandler::ProcessEvent(wxEvent&) () at /usr/lib/libwx_baseu-3.0.so.0
#13 0x00007ffff75cca6b in wxScrollHelperEvtHandler::ProcessEvent(wxEvent&) () at /usr/lib/libwx_gtk2u_core-3.0.so.0
#14 0x00007ffff73a58b4 in () at /usr/lib/libwx_gtk2u_core-3.0.so.0
#15 0x00007ffff73a9999 in () at /usr/lib/libwx_gtk2u_core-3.0.so.0
#16 0x00007ffff6caf74e in wxAppConsoleBase::CallEventHandler(wxEvtHandler*, wxEventFunctor&, wxEvent&) const () at /usr/lib/libwx_baseu-3.0.so.0
#17 0x00007ffff6e32c35 in wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) () at /usr/lib/libwx_baseu-3.0.so.0
#18 0x00007ffff6e32d2b in wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) () at /usr/lib/libwx_baseu-3.0.so.0
#19 0x00007ffff6e330db in wxEvtHandler::TryHereOnly(wxEvent&) () at /usr/lib/libwx_baseu-3.0.so.0
#20 0x00007ffff6e33163 in wxEvtHandler::ProcessEventLocally(wxEvent&) () at /usr/lib/libwx_baseu-3.0.so.0
#21 0x00007ffff6e331c5 in wxEvtHandler::ProcessEvent(wxEvent&) () at /usr/lib/libwx_baseu-3.0.so.0
#22 0x00007ffff6e32f37 in wxEvtHandler::SafelyProcessEvent(wxEvent&) () at /usr/lib/libwx_baseu-3.0.so.0
#23 0x00007ffff737a60d in () at /usr/lib/libwx_gtk2u_core-3.0.so.0
#24 0x00007ffff1adb7ac in () at /usr/lib/libgtk-x11-2.0.so.0
#25 0x00007ffff0b05f75 in g_closure_invoke () at /usr/lib/libgobject-2.0.so.0
#26 0x00007ffff0b17f82 in () at /usr/lib/libgobject-2.0.so.0
#27 0x00007ffff0b2066f in g_signal_emit_valist () at /usr/lib/libgobject-2.0.so.0
#28 0x00007ffff0b20faf in g_signal_emit () at /usr/lib/libgobject-2.0.so.0
#29 0x00007ffff1bf38cc in () at /usr/lib/libgtk-x11-2.0.so.0
#30 0x00007ffff1ad9f74 in gtk_propagate_event () at /usr/lib/libgtk-x11-2.0.so.0
#31 0x00007ffff1ada32b in gtk_main_do_event () at /usr/lib/libgtk-x11-2.0.so.0
#32 0x00007ffff175146c in () at /usr/lib/libgdk-x11-2.0.so.0
#33 0x00007ffff082d5a7 in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
#34 0x00007ffff082d810 in () at /usr/lib/libglib-2.0.so.0
#35 0x00007ffff082db32 in g_main_loop_run () at /usr/lib/libglib-2.0.so.0
#36 0x00007ffff1ad93a7 in gtk_main () at /usr/lib/libgtk-x11-2.0.so.0
#37 0x00007ffff734c265 in wxGUIEventLoop::DoRun() () at /usr/lib/libwx_gtk2u_core-3.0.so.0
#38 0x00007ffff6cf0c3b in wxEventLoopBase::Run() () at /usr/lib/libwx_baseu-3.0.so.0
#39 0x00007ffff6cb6386 in wxAppConsoleBase::MainLoop() () at /usr/lib/libwx_baseu-3.0.so.0
#40 0x00007ffff6d41c20 in wxEntry(int&, wchar_t**) () at /usr/lib/libwx_baseu-3.0.so.0
#41 0x000055555585c1c7 in main ()
@Enverex You have a pretty funny setup there, why is libstdc++-v3 in the /build/gcc-multilib/src
folder? Do you have a custom version of GCC installed?
No, I assume that's just how it looks due to Arch using a chroot to build it in the first place.
Can you run ldd on the rpcs3 binary and then show the output?
linux-vdso.so.1 (0x00007fff881b4000)
libdl.so.2 => /usr/lib/libdl.so.2 (0x00007fa7454b0000)
libyaml-cpp.so.0.5 => /usr/lib/libyaml-cpp.so.0.5 (0x00007fa74522f000)
libwx_gtk2u_core-3.0.so.0 => /usr/lib/libwx_gtk2u_core-3.0.so.0 (0x00007fa7449b4000)
libwx_baseu-3.0.so.0 => /usr/lib/libwx_baseu-3.0.so.0 (0x00007fa74451e000)
libwx_baseu_net-3.0.so.0 => /usr/lib/libwx_baseu_net-3.0.so.0 (0x00007fa7442d1000)
libwx_gtk2u_aui-3.0.so.0 => /usr/lib/libwx_gtk2u_aui-3.0.so.0 (0x00007fa744034000)
libwx_gtk2u_gl-3.0.so.0 => /usr/lib/libwx_gtk2u_gl-3.0.so.0 (0x00007fa743e1e000)
libwx_baseu_xml-3.0.so.0 => /usr/lib/libwx_baseu_xml-3.0.so.0 (0x00007fa743c0e000)
libopenal.so.1 => /usr/lib/libopenal.so.1 (0x00007fa743958000)
libGLEW.so.2.0 => /usr/lib/libGLEW.so.2.0 (0x00007fa7436c3000)
libGLU.so.1 => /usr/lib/libGLU.so.1 (0x00007fa743443000)
libGL.so.1 => /usr/lib/libGL.so.1 (0x00007fa7431b8000)
libz.so.1 => /usr/lib/libz.so.1 (0x00007fa742fa1000)
librt.so.1 => /usr/lib/librt.so.1 (0x00007fa742d99000)
libX11.so.6 => /usr/lib/libX11.so.6 (0x00007fa742a5a000)
libavformat.so.57 => /usr/lib/libavformat.so.57 (0x00007fa742627000)
libavcodec.so.57 => /usr/lib/libavcodec.so.57 (0x00007fa741096000)
libavutil.so.55 => /usr/lib/libavutil.so.55 (0x00007fa740e16000)
libswresample.so.2 => /usr/lib/libswresample.so.2 (0x00007fa740bf9000)
libswscale.so.4 => /usr/lib/libswscale.so.4 (0x00007fa74096f000)
libpng16.so.16 => /usr/lib/libpng16.so.16 (0x00007fa740739000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007fa7403b1000)
libm.so.6 => /usr/lib/libm.so.6 (0x00007fa74009e000)
libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007fa73fe87000)
libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007fa73fc69000)
libc.so.6 => /usr/lib/libc.so.6 (0x00007fa73f8c5000)
/lib64/ld-linux-x86-64.so.2 (0x00007fa7456b4000)
libgtk-x11-2.0.so.0 => /usr/lib/libgtk-x11-2.0.so.0 (0x00007fa73f285000)
libgdk-x11-2.0.so.0 => /usr/lib/libgdk-x11-2.0.so.0 (0x00007fa73efd0000)
libpangocairo-1.0.so.0 => /usr/lib/libpangocairo-1.0.so.0 (0x00007fa73edc3000)
libcairo.so.2 => /usr/lib/libcairo.so.2 (0x00007fa73ea95000)
libgdk_pixbuf-2.0.so.0 => /usr/lib/libgdk_pixbuf-2.0.so.0 (0x00007fa73e86e000)
libpango-1.0.so.0 => /usr/lib/libpango-1.0.so.0 (0x00007fa73e622000)
libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0x00007fa73e3d0000)
libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0x00007fa73e0bd000)
libXxf86vm.so.1 => /usr/lib/libXxf86vm.so.1 (0x00007fa73deb7000)
libSM.so.6 => /usr/lib/libSM.so.6 (0x00007fa73dcaf000)
libjpeg.so.8 => /usr/lib/libjpeg.so.8 (0x00007fa73da45000)
libtiff.so.5 => /usr/lib/libtiff.so.5 (0x00007fa73d7c1000)
libexpat.so.1 => /usr/lib/libexpat.so.1 (0x00007fa73d597000)
libGLX.so.0 => /usr/lib/libGLX.so.0 (0x00007fa73d365000)
libXext.so.6 => /usr/lib/libXext.so.6 (0x00007fa73d153000)
libGLdispatch.so.0 => /usr/lib/libGLdispatch.so.0 (0x00007fa73ce9d000)
libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00007fa73cc74000)
libssh.so.4 => /usr/lib/libssh.so.4 (0x00007fa73c9f9000)
libmodplug.so.1 => /usr/lib/libmodplug.so.1 (0x00007fa73c66c000)
libbluray.so.1 => /usr/lib/libbluray.so.1 (0x00007fa73c421000)
libgnutls.so.30 => /usr/lib/libgnutls.so.30 (0x00007fa73c0b5000)
libgmp.so.10 => /usr/lib/libgmp.so.10 (0x00007fa73be22000)
libbz2.so.1.0 => /usr/lib/libbz2.so.1.0 (0x00007fa73bc12000)
libva.so.1 => /usr/lib/libva.so.1 (0x00007fa73b9f2000)
libxvidcore.so.4 => /usr/lib/libxvidcore.so.4 (0x00007fa73b6e0000)
libx265.so.102 => /usr/lib/libx265.so.102 (0x00007fa73a670000)
libx264.so.148 => /usr/lib/libx264.so.148 (0x00007fa73a2fa000)
libwebpmux.so.2 => /usr/lib/libwebpmux.so.2 (0x00007fa73a0f0000)
libwebp.so.6 => /usr/lib/libwebp.so.6 (0x00007fa739e8e000)
libvpx.so.4 => /usr/lib/libvpx.so.4 (0x00007fa73993d000)
libvorbisenc.so.2 => /usr/lib/libvorbisenc.so.2 (0x00007fa73968a000)
libvorbis.so.0 => /usr/lib/libvorbis.so.0 (0x00007fa73945d000)
libtheoraenc.so.1 => /usr/lib/libtheoraenc.so.1 (0x00007fa73921c000)
libtheoradec.so.1 => /usr/lib/libtheoradec.so.1 (0x00007fa739003000)
libspeex.so.1 => /usr/lib/libspeex.so.1 (0x00007fa738dea000)
libschroedinger-1.0.so.0 => /usr/lib/libschroedinger-1.0.so.0 (0x00007fa738b0e000)
libopus.so.0 => /usr/lib/libopus.so.0 (0x00007fa7388bd000)
libopenjp2.so.7 => /usr/lib/libopenjp2.so.7 (0x00007fa73867d000)
libopencore-amrwb.so.0 => /usr/lib/libopencore-amrwb.so.0 (0x00007fa738469000)
libopencore-amrnb.so.0 => /usr/lib/libopencore-amrnb.so.0 (0x00007fa73823f000)
libmp3lame.so.0 => /usr/lib/libmp3lame.so.0 (0x00007fa737fc8000)
libgsm.so.1 => /usr/lib/libgsm.so.1 (0x00007fa737dbc000)
liblzma.so.5 => /usr/lib/liblzma.so.5 (0x00007fa737b96000)
libvdpau.so.1 => /usr/lib/libvdpau.so.1 (0x00007fa737992000)
libva-drm.so.1 => /usr/lib/libva-drm.so.1 (0x00007fa73778f000)
libva-x11.so.1 => /usr/lib/libva-x11.so.1 (0x00007fa737589000)
libsoxr.so.0 => /usr/lib/libsoxr.so.0 (0x00007fa737312000)
libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0x00007fa73710e000)
libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0x00007fa736f08000)
libatk-1.0.so.0 => /usr/lib/libatk-1.0.so.0 (0x00007fa736ce2000)
libgio-2.0.so.0 => /usr/lib/libgio-2.0.so.0 (0x00007fa73694e000)
libpangoft2-1.0.so.0 => /usr/lib/libpangoft2-1.0.so.0 (0x00007fa736739000)
libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x00007fa7364f5000)
libXrender.so.1 => /usr/lib/libXrender.so.1 (0x00007fa7362ea000)
libXinerama.so.1 => /usr/lib/libXinerama.so.1 (0x00007fa7360e7000)
libXi.so.6 => /usr/lib/libXi.so.6 (0x00007fa735ed6000)
libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0x00007fa735ccb000)
libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0x00007fa735ac0000)
libXcomposite.so.1 => /usr/lib/libXcomposite.so.1 (0x00007fa7358bd000)
libXdamage.so.1 => /usr/lib/libXdamage.so.1 (0x00007fa7356ba000)
libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x00007fa7353f9000)
libpixman-1.so.0 => /usr/lib/libpixman-1.so.0 (0x00007fa735151000)
libEGL.so.1 => /usr/lib/libEGL.so.1 (0x00007fa734f3e000)
libxcb-shm.so.0 => /usr/lib/libxcb-shm.so.0 (0x00007fa734d3a000)
libxcb-render.so.0 => /usr/lib/libxcb-render.so.0 (0x00007fa734b2c000)
libthai.so.0 => /usr/lib/libthai.so.0 (0x00007fa734922000)
libffi.so.6 => /usr/lib/libffi.so.6 (0x00007fa734719000)
libpcre.so.1 => /usr/lib/libpcre.so.1 (0x00007fa7344a6000)
libICE.so.6 => /usr/lib/libICE.so.6 (0x00007fa734289000)
libuuid.so.1 => /usr/lib/libuuid.so.1 (0x00007fa734084000)
libXau.so.6 => /usr/lib/libXau.so.6 (0x00007fa733e80000)
libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00007fa733c7a000)
libgcrypt.so.20 => /usr/lib/libgcrypt.so.20 (0x00007fa73396b000)
libxml2.so.2 => /usr/lib/libxml2.so.2 (0x00007fa733603000)
libp11-kit.so.0 => /usr/lib/libp11-kit.so.0 (0x00007fa7332d4000)
libunistring.so.2 => /usr/lib/libunistring.so.2 (0x00007fa732f63000)
libtasn1.so.6 => /usr/lib/libtasn1.so.6 (0x00007fa732d50000)
libnettle.so.6 => /usr/lib/libnettle.so.6 (0x00007fa732b18000)
libhogweed.so.4 => /usr/lib/libhogweed.so.4 (0x00007fa7328e3000)
libogg.so.0 => /usr/lib/libogg.so.0 (0x00007fa7326dc000)
liborc-0.4.so.0 => /usr/lib/liborc-0.4.so.0 (0x00007fa73245e000)
libdrm.so.2 => /usr/lib/libdrm.so.2 (0x00007fa73224d000)
libgomp.so.1 => /usr/lib/libgomp.so.1 (0x00007fa73201f000)
libresolv.so.2 => /usr/lib/libresolv.so.2 (0x00007fa731e09000)
libmount.so.1 => /usr/lib/libmount.so.1 (0x00007fa731bbb000)
libharfbuzz.so.0 => /usr/lib/libharfbuzz.so.0 (0x00007fa73192b000)
libdatrie.so.1 => /usr/lib/libdatrie.so.1 (0x00007fa731723000)
libgpg-error.so.0 => /usr/lib/libgpg-error.so.0 (0x00007fa73150e000)
libblkid.so.1 => /usr/lib/libblkid.so.1 (0x00007fa7312c8000)
libgraphite2.so.3 => /usr/lib/libgraphite2.so.3 (0x00007fa73109c000)
Alright, last ditch attempt. @thecityofguanyu If possible could you uninstall all previous version of clang/llvm that are on your system, keeping only 4.0, undo the changes to CmakeLists.txt, and then do a full rebuild using clang? If that doesn't work I don't have any other ideas.
@hcorion
I updated my proprietary NVIDIA drivers to 375.39 and bounced X server. Recompiling after that, it launches and doesn't immediately crash on every game like it was before. There is some funky behavior with audio -- it breaks my PulseAudio when I start a game. I've just set audio to null for now and ignored it.
But definitely progress! I don't know if it was actually the driver upgraded that made a difference or if it was just bouncing X. I hadn't rebooted at all in troubleshooting efforts.
If possible could you uninstall all previous version of clang/llvm that are on your system, keeping only 4.0, undo the changes to CmakeLists.txt, and then do a full rebuild using clang?
I also did this and the results are the same as the top of this comment.
@thecityofguanyu For demon's souls press start at the black screen; video playback hangs if the mixer thread dies. Also, you might need manual LLE for some games as some libs dont load when using auto select modules; seems to be a linux-only bug.
I'm on Arch Linux and have the same issue as in the OP. I just tried building with clang instead (but 5.0-dev, not 4.0) and it was the same. I'm curious what else to try.
Let's see if this works. Try this flatpak
Install flatpak if you don't have it already
Install RPCS3 flatpak:
flatpak remote-add --if-not-exists gnome https://sdk.gnome.org/gnome.flatpakrepo
flatpak install net.rpc3.RPCS3.flatpak
flatpak run net.rpc3.RPCS3
Setup RPCS3 with PS3 firmware and other settings as in the quickstart guide
Surely it just works now?
I just tried and it crashed with:
: CommandLine Error: Option 'pass-remarks' registered more than once!
LLVM ERROR: inconsistency in registered CommandLine options
Also attach the log file rpcs3.log found in .config/rpcs3/ in your home dir.
gdb that crash. "catch throw" or something.
I think I'm missing something there.
warning: Error disabling address space randomization: Operation not permitted
warning: File "/usr/lib/libthread_db-1.0.so" auto-loading has been declined by your `auto-load safe-path' set to "$debugdir:$datadir/auto-load".
To enable execution of this file add
add-auto-load-safe-path /usr/lib/libthread_db-1.0.so
line to your configuration file "/home/gee/.gdbinit".
To completely disable this security protection add
set auto-load safe-path /
line to your configuration file "/home/gee/.gdbinit".
For more information about this security protection see the
"Auto-loading safe path" section in the GDB manual. E.g., run from the shell:
info "(gdb)Auto-loading safe path"
warning: Unable to find libthread_db matching inferior's thread library, thread debugging will not be available.
[New LWP 10]
[New LWP 11]
: CommandLine Error: Option 'pass-remarks' registered more than once!
LLVM ERROR: inconsistency in registered CommandLine options
[LWP 11 exited]
[LWP 6 exited]
[Inferior 1 (process 6) exited with code 01]
I also encountered this launch error about LLVM commandline args and was unable to fix it. Ended up compiling without LLVM support to work around the issue.
This is the flatpak we were asked to use though (because compiling it results in the "St11range_error thrown: Narrow error" issue).
I'm getting the same "inconsistency in registered CommandLine options" error with the Flatpak version.
We must get LLVM to work on the official binary. With this flatpak LLVM works for me on Ubuntu 16.04 but not for other people... Needs more investigation.
Did you bundle llvm in the flatpak?
What drivers are you guys using with the Flatpak?
Have seen this with the two games that I successfully tested on Windows 10 -- Catherine and Hatsune Miku: Project DIVA F. On Linux, they both resulted in the following error in the log:
I'm running the current latest RPCS3 build,
b70a1edb
. Linux OS info is4.9.0-2-amd64 #1 SMP Debian 4.9.13-1 (2017-02-27) x86_64 GNU/Linux
.Dependency info: