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
10.87k stars 2.13k forks source link

Juiced eliminator crash after cutscenes in Italian language #15471

Open tigerz98 opened 2 years ago

tigerz98 commented 2 years ago

Game or games this happens in

Juiced eliminator eu version

What area of the game / PPSSPP

at the start of the carrer when you have the first cutscene with Nina the game will crash at the end of it.The intro goes well and also the game crash when you put the italian/german or french language.In the english version it works just fine. P_20220409_164039

What should happen

the game should go without crashing.

Logs

No response

Platform

Windows

Mobile phone model or graphics card

geoforce 820m

PPSSPP version affected

v1.12.3-1034-g5b58b6906

Last working version

No response

Graphics backend (3D API)

Direct3D 11

Checklist

anr2me commented 2 years ago

If you're on PC, you can generate a log file, so the devs can checked the logs. Run the DebugLog.bat to generate the debug log, then zip and upload the log file here.

Panderner commented 2 years ago

JuicedLog.zip Here.

anr2me commented 2 years ago

LOL That is such a massive logs file O.o It's flooded with "Invalid address", you should disable "Ignore bad memory addresses" so it will stop on the first "Invalid address" thus not flooding the logs :)

Panderner commented 2 years ago

Ignore bad memory addresses disabled.zip here:

anr2me commented 2 years ago

Btw, how do you change the language? from PPSSPP settings?

because the Europe version i have (ULES00379 v1.01) didn't have in-game language selection

I tried changing the language to Italiano from PPSSPP settings but the game didn't crashed (tested on the latest dev build) image

Do i need to create new game and start a new career with Italian language? and not skipping the intro?

Edit: nevermind, looked like i need to create new career with Italian lang, it showed the blue crash screen when i use JIT/Interpreter, but crashed the PPSSPP when i use IR interpreter image image The English language doesn't seems to go to that part of the code (_free_r function) when i put breakpoint at 08971D50 and 08971D30, none of them gets triggered

Panderner commented 2 years ago

I tried to set the language to Spanish it also crashes the game.

sum2012 commented 1 year ago

Can anyone try real psp font ?

unknownbrackets commented 1 year ago

The first invalid address (which would crash the game on a real PSP), is 3fffffff. It's after some GPU activity for 040b0000: 512 x 352 x 3 , so maybe some value got overwritten incorrectly.

Does this happen using the software renderer?

-[Unknown]

anr2me commented 1 year ago

Software renderer also crashed(IR with fastmem)/blue screen(jit/interp/IR without fastmem), not sure about real psp font

unknownbrackets commented 1 year ago

Okay, so it's not some framebuffer download issue.

Naturally, it's completely expected that an invalid memory access would cause a crash under IR, so it's probably not necessary to note it specifically. Only when fast memory is disabled are checks done to prevent crashes. Jit has a crash handler but IR doesn't (and it's harder to recover from C++ code safely.) So that part is completely expected.

Definitely possible that some small variation in font metrics causes a crash if this game is using sceFont.

-[Unknown]

anr2me commented 1 year ago

I've tested it using real PSP fonts along with software renderer too, and it's still showing blue screen image

Btw, may be it's related to audio? because it's trying to use a different audio file before the crash When using English language this is the filesys & sceio logs that was different

38:02:090 user_main    W[SCEIO]: HLE\sceIo.cpp:1540 80010002=sceIoOpen(disc0:/PSP_GAME/USRDIR/game/audio/speech/uie/uie.sdt, 1, 0): file not found
38:02:091 user_main    D[FILESYS]: FileSystems\ISOFileSystem.cpp:338 Got a raw sector open: '/sce_lbn0x4fdbf_size0x208140', sector 0004fdbf, size 00208140
38:37:290 user_main    I[SCEUTIL]: Dialog\PSPSaveDialog.cpp:94 sceUtilitySavedataInitStart(0906c484) - LISTLOAD (4)
38:37:290 user_main    I[SCEUTIL]: Dialog\PSPSaveDialog.cpp:95 sceUtilitySavedataInitStart(0906c484) : Game key (hex): 344516FA2298B03E29724A7D83A122BB
38:38:376 user_main    I[SCEUTIL]: Dialog\SavedataParam.cpp:642 Loading file with size 246714 in ms0:/PSP/SAVEDATA/ULES003790000/JUICED.BIN
// new career intro video here
// end of intro
39:23:502 user_main    D[FILESYS]: FileSystems\ISOFileSystem.cpp:338 Got a raw sector open: '/sce_lbn0x6a9ff_size0x2678be', sector 0006a9ff, size 002678be
39:23:503 user_main    D[FILESYS]: FileSystems\ISOFileSystem.cpp:338 Got a raw sector open: '/sce_lbn0x6a9ff_size0x2678be', sector 0006a9ff, size 002678be
39:23:503 idle0        I[FILESYS]: FileSystems\ISOFileSystem.cpp:515 Reading beyond end of file from seekPos 2520338, clamping size 16384 to 940
39:23:505 user_main    D[FILESYS]: FileSystems\ISOFileSystem.cpp:338 Got a raw sector open: '/sce_lbn0x6c0c0_size0x35a523', sector 0006c0c0, size 0035a523
39:23:506 user_main    D[FILESYS]: FileSystems\ISOFileSystem.cpp:338 Got a raw sector open: '/sce_lbn0x6c0c0_size0x35a523', sector 0006c0c0, size 0035a523
39:23:507 idle0        I[FILESYS]: FileSystems\ISOFileSystem.cpp:515 Reading beyond end of file from seekPos 3514815, clamping size 16384 to 868
39:25:646 user_main    W[SCEIO]: HLE\sceIo.cpp:1540 80010002=sceIoOpen(disc0:/PSP_GAME/USRDIR/game/audio/speech/racee/racee.sdt, 1, 0): file not found
39:25:646 user_main    D[FILESYS]: FileSystems\ISOFileSystem.cpp:338 Got a raw sector open: '/sce_lbn0x4d3f3_size0x4aa300', sector 0004d3f3, size 004aa300
39:36:217 user_main    D[FILESYS]: FileSystems\ISOFileSystem.cpp:338 Got a raw sector open: '/sce_lbn0x6a960_size0x4f04a', sector 0006a960, size 0004f04a
39:36:217 user_main    D[FILESYS]: FileSystems\ISOFileSystem.cpp:338 Got a raw sector open: '/sce_lbn0x6a960_size0x4f04a', sector 0006a960, size 0004f04a
39:36:218 user_main    D[FILESYS]: FileSystems\ISOFileSystem.cpp:338 Got a raw sector open: '/sce_lbn0x6a960_size0x4f04a', sector 0006a960, size 0004f04a
39:36:219 idle0        I[FILESYS]: FileSystems\ISOFileSystem.cpp:515 Reading beyond end of file from seekPos 0, clamping size 325632 to 323658

And this is the logs from Italiano language

29:37:437 user_main    W[SCEIO]: HLE\sceIo.cpp:1540 80010002=sceIoOpen(disc0:/PSP_GAME/USRDIR/game/audio/speech/uii/uii.sdt, 1, 0): file not found
29:37:437 user_main    D[FILESYS]: FileSystems\ISOFileSystem.cpp:338 Got a raw sector open: '/sce_lbn0x509cb_size0x1ca100', sector 000509cb, size 001ca100
30:12:187 user_main    I[SCEUTIL]: Dialog\PSPSaveDialog.cpp:94 sceUtilitySavedataInitStart(0906c484) - LISTLOAD (4)
30:12:187 user_main    I[SCEUTIL]: Dialog\PSPSaveDialog.cpp:95 sceUtilitySavedataInitStart(0906c484) : Game key (hex): 344516FA2298B03E29724A7D83A122BB
30:13:386 user_main    I[SCEUTIL]: Dialog\SavedataParam.cpp:642 Loading file with size 246714 in ms0:/PSP/SAVEDATA/ULES003790000/JUICED.BIN
// new career intro video here
// blue screen after new career intro

Edit: When it crashed the video playback doesn't seems to end properly, the logs stopped here: image

When it worked properly (English lang), the logs supposed to be like this: image

sum2012 commented 1 year ago

I get more log for good and bad mpeg. Bad: 32:29:965 user_main D[ME]: HLE\sceMpeg.cpp:1471 960=sceMpegRingbufferAvailableSize(096d8208) 32:29:966 user_main D[ME]: HLE\sceMpeg.cpp:1983 sceMpegAtracDecode(096d8234, 096d8254, 096cb570, 0) 32:29:966 user_main D[ME]: HLE\sceMpeg.cpp:1224 sceMpegAvcDecodeStop(096d8234, 00000000, 09ffef60, 09ffef64) 32:30:083 user_main W[MEMMAP]: Core\Core.cpp:443 Read Word: Invalid address 3fffffff PC 08971d50 LR 08971d44

Good: 34:41:952 user_main D[ME]: HLE\sceMpeg.cpp:1471 960=sceMpegRingbufferAvailableSize(09666cf8) 34:41:952 user_main D[ME]: HLE\sceMpeg.cpp:1983 sceMpegAtracDecode(09666d24, 09666d44, 096d67f0, 0) 34:41:952 user_main D[ME]: HLE\sceMpeg.cpp:1224 sceMpegAvcDecodeStop(09666d24, 00000000, 09ffef60, 09ffef64) 34:42:134 mpeg_sound I[SCEKERNEL]: HLE\sceKernelThread.cpp:2156 sceKernelExitThread(0) 34:42:134 user_main I[SCEKERNEL]: HLE\sceKernelThread.cpp:2319 sceKernelTerminateDeleteThread(405) 34:42:134 user_main D[ME]: HLE\sceMpeg.cpp:581 sceMpegDelete(09666d24) 34:42:168 user_main D[ME]: HLE\sceMpeg.cpp:2051 sceMpegRingbufferDestruct(09666cf8) 34:42:201 user_main I[SCEKERNEL]: HLE\sceKernelMemory.cpp:1173 sceKernelPrintf: SINGLE 34:42:201 user_main I[SCEKERNEL]: HLE\sceKernelMemory.cpp:1173 sceKernelPrintf: RM_RACE GM_CMS

sum2012 commented 8 months ago

I forget how to reproduce the issue

anr2me commented 8 months ago

I forget how to reproduce the issue

Here:

i need to create new career with Italian lang, it showed the blue crash screen when i use JIT/Interpreter, but crashed the PPSSPP when i use IR interpreter

sum2012 commented 8 months ago

@anr2me I find my backup iso in the jpcsp folder of my computer