hrydgard / ppsspp

A PSP emulator for Android, Windows, Mac and Linux, written in C++. Want to contribute? Join us on Discord at https://discord.gg/5NJB6dD or just send pull requests / issues. For discussion use the forums at forums.ppsspp.org.
https://www.ppsspp.org
Other
11.02k stars 2.15k forks source link

PPSSPP exits without error when I try to start a game #11312

Closed Andrew9x closed 6 years ago

Andrew9x commented 6 years ago

What happens?

On the first run, I browse the iso, and start it and play it, exit the application. At a later time when I choose to play again and click on the picture of the iso in the game selection screen, the application exits, without any error. If I try to start PPSSPP after that, then nothing happens.

I managed to fix this issue, by going to home/.config/ppsspp/PSP/SYSTEM/ and deleting ppsspp.ini there. When doing so I can start PPSSPP without any problem, the game runs normally, but then the cycle restarts again. On the second run it will always crash, and I have to remove the ini file again.

My guess is that the PPSSPP somehow can create the ini file, but cant modify it? Like the graphic settings I change (resolution to 4X, FXAA) or the app cant increment the count of runs.

Operating system and PPSSPP version?

Linux Mint 19 PPSSPP v1.6.3-347-g0684068

unknownbrackets commented 6 years ago

Are there any messages logged? If it's crashing, are you able to get a gdb backtrace of the crash?

If you quit the game without exiting PPSSPP, are you still able to start the game a second time until you exit PPSSPP?

If you don't change any settings, and you just reload like that, does it still happen?

-[Unknown]

Andrew9x commented 6 years ago

For your first suggestion, you'll have to guide me a bit as I don't know where is the log file located / or where can I get the backtrace.

  1. As you will see in the video: no, that doesnt help.

  2. If I don't touch the settings, then I dont have to go through the trouble of deleting ppsspp.ini. So at least the app always starts. However I noticed that the recent games list are now empty.

Here is the video: https://www.youtube.com/watch?v=jdP9oE42SYg&feature=youtu.be

I don't think its related to a specific game, but the app crashes for Final Fantasy Type 0, Lord of Arcana, and Jak & Daxter.

unknownbrackets commented 6 years ago

I'm not able to load that video.

For getting a backtrace, you'd first need gdb, installed via package manager: http://www.gdbtutorial.com/tutorial/how-install-gdb

Next, you'll ideally want to compile PPSSPP yourself (this is easy, even if you're using a ppa or something right now.) That's done like this:

sudo apt-get install git cmake build-essential libsdl2-dev libgl1-mesa-dev libglu1-mesa-dev
git clone --recurse-submodules https://github.com/hrydgard/ppsspp.git
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Debug ..
make
gdb ./PPSSPPSDL

At this point you should see a line like this:

(gdb)

You can exit any time by typing "quit". But to continue, type "run". Then just reproduce the issue.

At some point, when it crashes, you should see that (gdb) prompt again in the terminal window. Once it does, type bt or backtrace. Then paste the output of that here.

It will log messages within the terminal window as well, above the (gdb) line when it crashes.

-[Unknown]

Andrew9x commented 6 years ago

The video should work now.

Warnings during build: (each refers to the same -Wno-deprecated-register, whatever that is)

Build log 1:

--- `[ 15%] Building CXX object CMakeFiles/native.dir/ext/native/file/file_util.cpp.o /home/janos/ppsspp/ext/native/file/file_util.cpp: In function ‘size_t getFilesInDir(const char*, std::vector*, const char*, int)’: /home/janos/ppsspp/ext/native/file/file_util.cpp:253:51: warning: ‘int readdir_r(DIR*, dirent*, dirent**)’ is deprecated [-Wdeprecated-declarations] while (!readdir_r(dirp, (dirent*) &diren, &result) && result) ^ In file included from /usr/include/features.h:424:0, from /usr/include/dirent.h:25, from /home/janos/ppsspp/ext/native/file/file_util.cpp:11: /usr/include/dirent.h:189:12: note: declared here extern int __REDIRECT (readdir_r, ^ At global scope: cc1plus: warning: unrecognized command line option ‘-Wno-deprecated-register’` `[ 28%] Building CXX object CMakeFiles/Common.dir/Common/FileUtil.cpp.o /home/janos/ppsspp/Common/FileUtil.cpp: In function ‘bool File::DeleteDirRecursively(const string&)’: /home/janos/ppsspp/Common/FileUtil.cpp:656:42: warning: ‘int readdir_r(DIR*, dirent*, dirent**)’ is deprecated [-Wdeprecated-declarations] while (!readdir_r(dirp, &dirent, &result) && result) ^ In file included from /usr/include/features.h:424:0, from /usr/include/x86_64-linux-gnu/c++/7/bits/os_defines.h:39, from /usr/include/x86_64-linux-gnu/c++/7/bits/c++config.h:533, from /usr/include/c++/7/iosfwd:38, from /usr/include/c++/7/ios:38, from /usr/include/c++/7/istream:38, from /usr/include/c++/7/fstream:38, from /home/janos/ppsspp/Common/FileUtil.h:20, from /home/janos/ppsspp/Common/FileUtil.cpp:27: /usr/include/dirent.h:189:12: note: declared here extern int __REDIRECT (readdir_r, ^ /home/janos/ppsspp/Common/FileUtil.cpp: In function ‘void File::CopyDir(const string&, const string&)’: /home/janos/ppsspp/Common/FileUtil.cpp:718:51: warning: ‘int readdir_r(DIR*, dirent*, dirent**)’ is deprecated [-Wdeprecated-declarations] while (!readdir_r(dirp, (dirent*) &diren, &result) && result) ^ In file included from /usr/include/features.h:424:0, from /usr/include/x86_64-linux-gnu/c++/7/bits/os_defines.h:39, from /usr/include/x86_64-linux-gnu/c++/7/bits/c++config.h:533, from /usr/include/c++/7/iosfwd:38, from /usr/include/c++/7/ios:38, from /usr/include/c++/7/istream:38, from /usr/include/c++/7/fstream:38, from /home/janos/ppsspp/Common/FileUtil.h:20, from /home/janos/ppsspp/Common/FileUtil.cpp:27: /usr/include/dirent.h:189:12: note: declared here extern int __REDIRECT (readdir_r, ^ At global scope: cc1plus: warning: unrecognized command line option ‘-Wno-deprecated-register’` `[ 32%] Building C object CMakeFiles/sfmt19937.dir/ext/sfmt19937/SFMT.c.o In file included from /home/janos/ppsspp/ext/sfmt19937/SFMT.h:69:0, from /home/janos/ppsspp/ext/sfmt19937/SFMT.c:26: /home/janos/ppsspp/ext/sfmt19937/SFMT-params.h:7:4: warning: #warning "SFMT_MEXP is not defined. I assume MEXP is 19937." [-Wcpp] #warning "SFMT_MEXP is not defined. I assume MEXP is 19937." ^~~~~~~ cc1: warning: unrecognized command line option ‘-Wno-deprecated-register’ ` `[ 65%] Building CXX object CMakeFiles/Core.dir/Core/FileSystems/DirectoryFileSystem.cpp.o /home/janos/ppsspp/Core/FileSystems/DirectoryFileSystem.cpp: In function ‘bool FixFilenameCase(const string&, std::__cxx11::string&)’: /home/janos/ppsspp/Core/FileSystems/DirectoryFileSystem.cpp:80:51: warning: ‘int readdir_r(DIR*, dirent*, dirent**)’ is deprecated [-Wdeprecated-declarations] while (!readdir_r(dirp, (dirent*) &diren, &result) && result) ^ In file included from /usr/include/features.h:424:0, from /usr/include/x86_64-linux-gnu/c++/7/bits/os_defines.h:39, from /usr/include/x86_64-linux-gnu/c++/7/bits/c++config.h:533, from /usr/include/c++/7/utility:68, from /usr/include/c++/7/algorithm:60, from /home/janos/ppsspp/Core/FileSystems/DirectoryFileSystem.cpp:20: /usr/include/dirent.h:189:12: note: declared here extern int __REDIRECT (readdir_r, ^ At global scope: cc1plus: warning: unrecognized command line option ‘-Wno-deprecated-register’ ` ---

Andrew9x commented 6 years ago
Build log 2:

--- `[ 65%] Building CXX object CMakeFiles/Core.dir/Core/FileSystems/DirectoryFileSystem.cpp.o /home/janos/ppsspp/Core/FileSystems/DirectoryFileSystem.cpp: In function ‘bool FixFilenameCase(const string&, std::__cxx11::string&)’: /home/janos/ppsspp/Core/FileSystems/DirectoryFileSystem.cpp:80:51: warning: ‘int readdir_r(DIR*, dirent*, dirent**)’ is deprecated [-Wdeprecated-declarations] while (!readdir_r(dirp, (dirent*) &diren, &result) && result) ^ In file included from /usr/include/features.h:424:0, from /usr/include/x86_64-linux-gnu/c++/7/bits/os_defines.h:39, from /usr/include/x86_64-linux-gnu/c++/7/bits/c++config.h:533, from /usr/include/c++/7/utility:68, from /usr/include/c++/7/algorithm:60, from /home/janos/ppsspp/Core/FileSystems/DirectoryFileSystem.cpp:20: /usr/include/dirent.h:189:12: note: declared here extern int __REDIRECT (readdir_r, ^ At global scope: cc1plus: warning: unrecognized command line option ‘-Wno-deprecated-register’ ` `[ 88%] Building CXX object CMakeFiles/Core.dir/GPU/Common/GPUStateUtils.cpp.o /home/janos/ppsspp/GPU/Common/GPUStateUtils.cpp: In function ‘bool NeedsTestDiscard()’: /home/janos/ppsspp/GPU/Common/GPUStateUtils.cpp:51:82: warning: comparison between ‘enum GEBlendSrcFactor’ and ‘enum GEBlendDstFactor’ [-Wenum-compare] etBlendFuncA() != GE_SRCBLEND_SRCALPHA && gstate.getBlendFuncA() != GE_DSTBLEND_DOUBLESRCALPHA) ^~~~~~~~~~~~~~~~~~~~~~~~~~ At global scope: cc1plus: warning: unrecognized command line option ‘-Wno-deprecated-register’` `[ 88%] Building CXX object CMakeFiles/Core.dir/GPU/Common/ShaderTranslation.cpp.o /home/janos/ppsspp/GPU/Common/ShaderTranslation.cpp: In function ‘bool TranslateShader(std::__cxx11::string*, ShaderLanguage, TranslatedShaderMetadata*, std::__cxx11::string, ShaderLanguage, Draw::ShaderStage, std::__cxx11::string*)’: /home/janos/ppsspp/GPU/Common/ShaderTranslation.cpp:313:27: warning: ‘void spirv_cross::CompilerGLSL::set_options(spirv_cross::CompilerGLSL::Options&)’ is deprecated [-Wdeprecated-declarations] glsl.set_options(options); ^ In file included from /home/janos/ppsspp/GPU/Common/ShaderTranslation.cpp:40:0: /home/janos/ppsspp/ext/SPIRV-Cross/spirv_glsl.hpp:159:7: note: declared here void set_options(Options &opts) ^~~~~~~~~~~ /home/janos/ppsspp/GPU/Common/ShaderTranslation.cpp:327:27: warning: ‘void spirv_cross::CompilerGLSL::set_options(spirv_cross::CompilerGLSL::Options&)’ is deprecated [-Wdeprecated-declarations] glsl.set_options(options); ^ In file included from /home/janos/ppsspp/GPU/Common/ShaderTranslation.cpp:40:0: /home/janos/ppsspp/ext/SPIRV-Cross/spirv_glsl.hpp:159:7: note: declared here void set_options(Options &opts) ^~~~~~~~~~~ At global scope: cc1plus: warning: unrecognized command line option ‘-Wno-deprecated-register’` ---

Andrew9x commented 6 years ago
Build log 3:

--- ``` [ 93%] Building CXX object CMakeFiles/PPSSPPSDL.dir/UI/DiscordIntegration.cpp.o In file included from /home/janos/ppsspp/UI/DiscordIntegration.cpp:5:0: /home/janos/ppsspp/UI/DiscordIntegration.cpp: In function ‘void handleDiscordError(int, const char*)’: /home/janos/ppsspp/Common/Log.h:104:51: warning: format ‘%d’ expects argument of type ‘int’, but argument 6 has type ‘const char*’ [-Wformat=] GenericLog(v, t, __FILE__, __LINE__, __VA_ARGS__); \ ^ /home/janos/ppsspp/Common/Log.h:107:33: note: in expansion of macro ‘GENERIC_LOG’ #define ERROR_LOG(t,...) do { GENERIC_LOG(LogTypes::t, LogTypes::LERROR, __VA_ARGS__) } while (false) ^~~~~~~~~~~ /home/janos/ppsspp/UI/DiscordIntegration.cpp:32:2: note: in expansion of macro ‘ERROR_LOG’ ERROR_LOG(SYSTEM, "Discord error code %d: '%s'", message); ^~~~~~~~~ /home/janos/ppsspp/Common/Log.h:104:51: warning: format ‘%s’ expects a matching ‘char*’ argument [-Wformat=] GenericLog(v, t, __FILE__, __LINE__, __VA_ARGS__); \ ^ /home/janos/ppsspp/Common/Log.h:107:33: note: in expansion of macro ‘GENERIC_LOG’ #define ERROR_LOG(t,...) do { GENERIC_LOG(LogTypes::t, LogTypes::LERROR, __VA_ARGS__) } while (false) ^~~~~~~~~~~ /home/janos/ppsspp/UI/DiscordIntegration.cpp:32:2: note: in expansion of macro ‘ERROR_LOG’ ERROR_LOG(SYSTEM, "Discord error code %d: '%s'", message); ^~~~~~~~~ At global scope: cc1plus: warning: unrecognized command line option ‘-Wno-deprecated-register’ ``` ---

Andrew9x commented 6 years ago
GDB run:

--- ``` gdb ./PPSSPPSDL GNU gdb (Ubuntu 8.1-0ubuntu3) 8.1.0.20180409-git Copyright (C) 2018 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: . Find the GDB manual and other documentation resources online at: . For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from ./PPSSPPSDL...done. (gdb) run Starting program: /home/janos/ppsspp/PPSSPPSDL [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". Vulkan is not available. [New Thread 0x7fffe8523700 (LWP 14511)] [New Thread 0x7ffff7e40700 (LWP 14512)] D: zip_read.cpp:267: D: Registered VFS for prefix : /home/janos/ppsspp/assets/ D: zip_read.cpp:267: D: Registered VFS for prefix : /home/janos/ppsspp/ D: zip_read.cpp:267: D: Registered VFS for prefix : /usr/share/ppsspp/assets/ D: zip_read.cpp:267: D: Registered VFS for prefix : assets/ D: zip_read.cpp:267: D: Registered VFS for prefix : /home/janos/ I: Config.cpp:489: Longest display side: -1 pixels. Choosing scale 1 22:17:136 Core/Config.cpp:1039 I[LOADER]: Loading controller config: /home/janos/.config/ppsspp/PSP/SYSTEM/controls.ini Pixels: 960 x 544 Virtual pixels: 960 x 544 OpenGL 2.0 or higher. I: gpu_features.cpp:159: GPU Vendor : nouveau ; renderer: NV4C version str: 2.1 Mesa 18.0.0-rc5 ; GLSL version str: 1.20 D: gpu_features.cpp:77: D: Checking for GL driver bugs... vendor=1 model='NV4C' D: thin3d_gl.cpp:235: D: Shader module created (0x555557024c30) D: thin3d_gl.cpp:235: D: Shader module created (0x555557024e60) D: thin3d_gl.cpp:235: D: Shader module created (0x555557024f30) D: thin3d_gl.cpp:235: D: Shader module created (0x555557025000) [New Thread 0x7fffe7084700 (LWP 14513)] loading control pad mappings from gamecontrollerdb.txt: SUCCESS! [New Thread 0x7fffe6883700 (LWP 14514)] I: NativeApp.cpp:686: NativeInitGraphics [New Thread 0x7fffe6082700 (LWP 14515)] I: NativeApp.cpp:762: NativeInitGraphics completed I: GLRenderManager.cpp:168: Running first frame (0) 22:32:362 Core/Config.cpp:1368 I[LOADER]: Failed to read /home/janos/.config/ppsspp/PSP/SYSTEM/NPJH50443_ppsspp.ini. No game-specific settings found, using global defaults. 22:32:362 Core/System.cpp:317 I[BOOT]: PPSSPP v1.6.3-358-g17de6ad2d 22:32:390 Core/MemMap.cpp:292 I[MEMMAP]: Memory system initialized. Base at 0x2300000000 (RAM at @ 0x2308000000, uncached @ 0x2348000000) 22:32:393 Core/PSPLoaders.cpp:197 I[LOADER]: NPJH50443 : FINAL FANTASY TYPE-0 22:32:394 Core/Config.cpp:1368 I[LOADER]: Failed to read /home/janos/.config/ppsspp/PSP/SYSTEM/NPJH50443_ppsspp.ini. No game-specific settings found, using global defaults. 22:32:394 Core/PSPLoaders.cpp:256 I[LOADER]: Loading disc0:/PSP_GAME/SYSDIR/EBOOT.BIN... [New Thread 0x7fffe5701700 (LWP 14517)] 22:32:395 HLE/sceKernelMemory.cpp:434 I[SCEKERNEL]: Kernel and user memory pools initialized [New Thread 0x7fffaedfe700 (LWP 14518)] [New Thread 0x7fffae5fd700 (LWP 14519)] 22:32:503 HLE/sceKernel.cpp:154 I[SCEKERNEL]: Kernel initialized. 22:32:739 Util/BlockAllocator.cpp:392 I[SCEKERNEL]: ----------- 22:32:739 Util/BlockAllocator.cpp:396 I[SCEKERNEL]: Block: 08800000 - 08804000 size 00004000 taken=1 tag=usersystemlib 22:32:739 Util/BlockAllocator.cpp:396 I[SCEKERNEL]: Block: 08804000 - 08c90800 size 0048c800 taken=1 tag=ELF/YELLOWJP 22:32:739 Util/BlockAllocator.cpp:396 I[SCEKERNEL]: Block: 08c90800 - 0a000000 size 0136f800 taken=0 tag=(untitled) 22:32:739 Util/BlockAllocator.cpp:398 I[SCEKERNEL]: ----------- 22:32:748 HLE/sceKernelModule.cpp:1254 I[LOADER]: Module YELLOWJP: 00000000 08bafd98 08bafdd0 22:34:755 HLE/ReplaceTables.cpp:1435 I[HLE]: Replaced memcpy_jak at 08ad44e0 with hash 0ffa5db8396d4274 22:34:755 HLE/ReplaceTables.cpp:1435 I[HLE]: Replaced memmove at 08ad4520 with hash 3c421a9265f37ebc 22:34:755 HLE/ReplaceTables.cpp:1435 I[HLE]: Replaced memset_jak at 08ad47e4 with hash eabb9c1b4f83d2b4 22:34:756 HLE/sceKernelModule.cpp:1347 I[LOADER]: Exporting ent 0 named YELLOWJP, 2 funcs, 4 vars, resident 08bb02ec 22:34:756 HLE/sceKernelModule.cpp:1347 I[LOADER]: Exporting ent 1 named sceLibm, 197 funcs, 2 vars, resident 08bb0324 22:34:759 HLE/sceKernelModule.cpp:1347 I[LOADER]: Exporting ent 2 named sceLibc, 469 funcs, 18 vars, resident 08bb0964 22:34:764 HLE/sceKernelModule.cpp:1657 I[LOADER]: Module entry: 08ac17bc [Thread 0x7fffe5701700 (LWP 14517) exited] 22:34:845 root N[BOOT]: UI/EmuScreen.cpp:289 Loading /media/janos/USB STICK/Final_Fantasy_Type-0_V2.iso... 22:34:846 root I[SCEKERNEL]: HLE/sceKernelThread.cpp:1995 276=sceKernelCreateThread(user_main, 08ac190c, 00000020, 131072, 80004000, 00000000) 22:34:847 root I[SCEKERNEL]: HLE/sceKernelThread.cpp:2084 0=sceKernelStartThread(276, 33, 09fffed0) 22:34:847 root I[SCEKERNEL]: HLE/sceKernelThread.cpp:2123 __KernelReturnFromThread: 0 22:34:854 user_main I[SCEIO]: HLE/sceIo.cpp:1020 stdout: name:SQEX memory pool size:56 blocksize:18845696 totalblocknum:1 freeblocknum:0 22:34:854 user_main I[SCEKERNEL]: Util/BlockAllocator.cpp:392 ----------- 22:34:854 user_main I[SCEKERNEL]: Util/BlockAllocator.cpp:396 Block: 08800000 - 08804000 size 00004000 taken=1 tag=usersystemlib 22:34:855 user_main I[SCEKERNEL]: Util/BlockAllocator.cpp:396 Block: 08804000 - 08c90800 size 0048c800 taken=1 tag=ELF/YELLOWJP 22:34:855 user_main I[SCEKERNEL]: Util/BlockAllocator.cpp:396 Block: 08c90800 - 09e89800 size 011f9000 taken=1 tag=FPL 22:34:855 user_main I[SCEKERNEL]: Util/BlockAllocator.cpp:396 Block: 09e89800 - 09e8a000 size 00000800 taken=0 tag=(untitled) 22:34:855 user_main I[SCEKERNEL]: Util/BlockAllocator.cpp:396 Block: 09e8a000 - 09eb2000 size 00028000 taken=1 tag=UserSbrk 22:34:855 user_main I[SCEKERNEL]: Util/BlockAllocator.cpp:396 Block: 09eb2000 - 09fdfc00 size 0012dc00 taken=0 tag=(untitled) 22:34:855 user_main I[SCEKERNEL]: Util/BlockAllocator.cpp:396 Block: 09fdfc00 - 09fffc00 size 00020000 taken=1 tag=stack/user_main 22:34:855 user_main I[SCEKERNEL]: Util/BlockAllocator.cpp:396 Block: 09fffc00 - 0a000000 size 00000400 taken=0 tag=stack/root 22:34:855 user_main I[SCEKERNEL]: Util/BlockAllocator.cpp:398 ----------- 22:34:944 idle0 I[FRAMEBUF]: Common/FramebufferCommon.cpp:451 Creating FBO for 00000000 : 480 x 272 x 3 22:34:944 idle0 W[G3D]: Common/FramebufferCommon.cpp:1311 Memcpy fbo upload 04400000 -> 04000000 22:34:947 user_main I[SCEKERNEL]: HLE/sceKernelThread.cpp:1995 302=sceKernelCreateThread(SQEX FILE READING THREAD, 0885cd20, 00000018, 73728, 00000000, 00000000) 22:34:947 user_main I[SCEKERNEL]: HLE/sceKernelThread.cpp:2084 0=sceKernelStartThread(302, 0, 00000000) 22:34:962 user_main I[SCEUTIL]: HLE/sceUtility.cpp:306 0=sceUtilityLoadModule(00000300) Thread 1 "PPSSPPSDL" received signal SIGSEGV, Segmentation fault. 0x0000000000000000 in ?? () (gdb) ``` ---

unknownbrackets commented 6 years ago

Okay, so it definitely did segfault. Were you able to run bt to get a backtrace?

The module it loaded was PSP_MODULE_AV_AVCODEC, which might be it preparing to play a video or music. This could mean it's actually an FFmpeg issue.

-[Unknown]

Andrew9x commented 6 years ago

Ops, I forgot to do that. Here you go:

Thread 1 "PPSSPPSDL" received signal SIGSEGV, Segmentation fault.
0x0000000000000000 in ?? ()
(gdb) bt
#0  0x0000000000000000 in ?? ()
#1  0x0000555555bbae23 in GLQueueRunner::InitCreateFramebuffer (
    this=0x555556ff51c8, step=...)
    at /home/janos/ppsspp/ext/native/thin3d/GLQueueRunner.cpp:349
#2  0x0000555555bba913 in GLQueueRunner::RunInitSteps (this=0x555556ff51c8, 
    steps=std::vector of length 13, capacity 16 = {...})
    at /home/janos/ppsspp/ext/native/thin3d/GLQueueRunner.cpp:258
#3  0x0000555555bb10a0 in GLRenderManager::Run (this=0x555556ff4a00, frame=1)
    at /home/janos/ppsspp/ext/native/thin3d/GLRenderManager.cpp:483
#4  0x0000555555baff8a in GLRenderManager::ThreadFrame (this=0x555556ff4a00)
    at /home/janos/ppsspp/ext/native/thin3d/GLRenderManager.cpp:171
#5  0x0000555555b6db6c in SDLGLGraphicsContext::ThreadFrame (
    this=0x555556eb2990) at /home/janos/ppsspp/SDL/SDLGLGraphicsContext.h:39
#6  0x0000555555b6a4e2 in main (argc=1, argv=0x7fffffffdef8)
    at /home/janos/ppsspp/SDL/SDLMain.cpp:772
(gdb) 
hrydgard commented 6 years ago

That's a rather odd place for it to die... Maybe some GL framebuffer extension is misbehaving. What GPU do you have and what Linux driver are you using for it?

Andrew9x commented 6 years ago

I've got a dedicated Geforce 940M, but for power saving reasons I always use the integrated Intel HD 520.

lshw info:
  *-display                 
       description: VGA compatible controller
       product: HD Graphics 520
       vendor: Intel Corporation
       physical id: 2
       bus info: pci@0000:00:02.0
       version: 07
       width: 64 bits
       clock: 33MHz
       capabilities: pciexpress msi pm vga_controller bus_master cap_list rom
       configuration: driver=i915 latency=0
       resources: irq:131 memory:92000000-92ffffff memory:a0000000-afffffff ioport:5000(size=64) memory:c0000-dffff
  *-display
       description: 3D controller
       product: GM108M [GeForce 940M]
       vendor: NVIDIA Corporation
       physical id: 0
       bus info: pci@0000:01:00.0
       version: a2
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress bus_master cap_list
       configuration: driver=nouveau latency=0
       resources: irq:130 memory:93000000-93ffffff memory:80000000-8fffffff memory:90000000-91ffffff ioport:4000(size=128)
Andrew9x commented 6 years ago

To recap what we know: Once I exit ppsspp, I have to delete the ppsspp.ini, otherwise I can't start it again. (even if I don't mess with the settings) The recent games list is empty (guess it gets its info from the ini file)

Side note, "gdb run", doesn't let me start the game, not even once.

Crashes on my dad's pc too, which has the linux mint too, with kernel 4.15.0.33.

unknownbrackets commented 6 years ago

Does it matter if you use Vulkan or OpenGL as the backend?

-[Unknown]

Andrew9x commented 6 years ago

image I don't have an option to select Vulkan. Not sure if I am supposed to..

unknownbrackets commented 6 years ago

11328 had similar behavior on Mac, which makes it sound like this could be related to realpath, perhaps. Maybe I got my usage of realpath wrong somehow...

The latest git build gives realpath a more generous buffer for realpath, much more than the posix docs say, is it any better?

To confirm - v1.6.3 doesn't crash like this, does it?

-[Unknown]

Andrew9x commented 6 years ago

I just checked v1.6.3-358-g17de6ad, before work. It started without any problem, loaded my graphic settings, the recent games list was there. I could start it as many times as I wanted, with no issue :D (exiting and restarting works too)

I think it's safe to say it's solved, but I'll double check when I get home.

unknownbrackets commented 6 years ago

Oh, this is probably just 404594d then, and the log was on the wrong thread. Good to hear it's fixed.

-[Unknown]