10-09-2011, 04:11 PM
I have noticed a bug at all most all jpcsp version,
this issue can be reproduced if we repeat save and load process in game,
it can be much easier to reproduce when running Tokimeki Memoriaru 4.
Dose jpcsp always create a new thread while loading sectors from UMD?
console message:
at jpcsp.Allegrex.compiler.RuntimeThread.run(RuntimeThread.java:51)
java.lang.OutOfMemoryError
java.lang.OutOfMemoryError
at java.io.RandomAccessFile.readBytes(Native Method)
at java.io.RandomAccessFile.read(Unknown Source)
at jpcsp.filesystems.umdiso.UmdIsoReader.readSectors(UmdIsoReader.java:1
57)
at jpcsp.filesystems.umdiso.UmdIsoFile.read(UmdIsoFile.java:301)
at java.io.InputStream.read(Unknown Source)
at jpcsp.filesystems.umdiso.UmdIsoFile.readFully(UmdIsoFile.java:236)
at jpcsp.util.Utilities.readFully(Utilities.java:321)
at jpcsp.HLE.modules150.IoFileMgrForUser$IOAsyncReadAction.execute(IoFil
eMgrForUser.java:479)
at jpcsp.HLE.modules150.IoFileMgrForUser.doStepAsync(IoFileMgrForUser.ja
va:1052)
at jpcsp.HLE.modules150.IoFileMgrForUser.hleAsyncThread(IoFileMgrForUser
.java:976)
at jpcsp.HLE.modules150.ThreadManForUser.hleKernelAsyncLoop(ThreadManFor
User.java:1385)
at sun.reflect.GeneratedMethodAccessor17.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at jpcsp.HLE.modules.HLEModuleFunctionReflection.executeInner(HLEModuleF
unctionReflection.java:389)
at jpcsp.HLE.modules.HLEModuleFunctionReflection.execute(HLEModuleFuncti
onReflection.java:345)
at jpcsp.HLE.modules.HLEModuleManager.handleSyscall(HLEModuleManager.jav
a:388)
at jpcsp.HLE.SyscallHandler.syscall(SyscallHandler.java:111)
at jpcsp.Allegrex.compiler.RuntimeContext.syscall(RuntimeContext.java:67
9)
at _S1_3_8000040.s(_S1_3_8000040.java:0)
at _S1_3_8000040.exec(_S1_3_8000040.java)
at jpcsp.Allegrex.compiler.RuntimeContext.runThread(RuntimeContext.java:
710)
at jpcsp.Allegrex.compiler.RuntimeThread.run(RuntimeThread.java:51)
this issue can be reproduced if we repeat save and load process in game,
it can be much easier to reproduce when running Tokimeki Memoriaru 4.
Dose jpcsp always create a new thread while loading sectors from UMD?
console message:
at jpcsp.Allegrex.compiler.RuntimeThread.run(RuntimeThread.java:51)
java.lang.OutOfMemoryError
java.lang.OutOfMemoryError
at java.io.RandomAccessFile.readBytes(Native Method)
at java.io.RandomAccessFile.read(Unknown Source)
at jpcsp.filesystems.umdiso.UmdIsoReader.readSectors(UmdIsoReader.java:1
57)
at jpcsp.filesystems.umdiso.UmdIsoFile.read(UmdIsoFile.java:301)
at java.io.InputStream.read(Unknown Source)
at jpcsp.filesystems.umdiso.UmdIsoFile.readFully(UmdIsoFile.java:236)
at jpcsp.util.Utilities.readFully(Utilities.java:321)
at jpcsp.HLE.modules150.IoFileMgrForUser$IOAsyncReadAction.execute(IoFil
eMgrForUser.java:479)
at jpcsp.HLE.modules150.IoFileMgrForUser.doStepAsync(IoFileMgrForUser.ja
va:1052)
at jpcsp.HLE.modules150.IoFileMgrForUser.hleAsyncThread(IoFileMgrForUser
.java:976)
at jpcsp.HLE.modules150.ThreadManForUser.hleKernelAsyncLoop(ThreadManFor
User.java:1385)
at sun.reflect.GeneratedMethodAccessor17.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at jpcsp.HLE.modules.HLEModuleFunctionReflection.executeInner(HLEModuleF
unctionReflection.java:389)
at jpcsp.HLE.modules.HLEModuleFunctionReflection.execute(HLEModuleFuncti
onReflection.java:345)
at jpcsp.HLE.modules.HLEModuleManager.handleSyscall(HLEModuleManager.jav
a:388)
at jpcsp.HLE.SyscallHandler.syscall(SyscallHandler.java:111)
at jpcsp.Allegrex.compiler.RuntimeContext.syscall(RuntimeContext.java:67
9)
at _S1_3_8000040.s(_S1_3_8000040.java:0)
at _S1_3_8000040.exec(_S1_3_8000040.java)
at jpcsp.Allegrex.compiler.RuntimeContext.runThread(RuntimeContext.java:
710)
at jpcsp.Allegrex.compiler.RuntimeThread.run(RuntimeThread.java:51)