08-10-2014, 05:25 AM -
I half-assed cellFsStRead (someone should implement that properly), but it goes as far as letting you select a character, confirming it, and then crashing with an access violation, causing an assertion failure. This may be because of cellSaveDataAutoSave2.
You might also be able to pause the save thread as soon as it's created (probably with code) and it might not crash. Speculation on my part.
Relevant log:
You might also be able to pause the save thread as soon as it's created (probably with code) and it might not crash. Speculation on my part.
Relevant log:
Code:
PPU: ! {PPU[1] Thread (CPUThread)[0x0040b028]} *** New PPU Thread [sdu_sample_auto_save] (flags=0x0, entry=0x2df458): id = 892
HLE: W {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} cellSysutil warning: cellSaveDataAutoSave2(version=0, dirName_addr=0xd00e0d50, errDialog=1, setBuf=0xd00e0d70, funcList=0x2df478, funcStat=0x2df480, funcFile=0xffffffff, container=6, userdata_addr=0x5a89f3d0)
RSX: W {RSXThread} NV4097_SET_VERTEX_ATTRIB_INPUT_MASK: 109
RSX: W {RSXThread} NV4097_SET_VERTEX_ATTRIB_OUTPUT_MASK: 4001
RSX: E {RSXThread} TODO: CELL_GCM_NV4097_SET_TRANSFORM_BRANCH_BITS(0x0)
RSX: E {RSXThread} TODO: CELL_GCM_NV4097_SET_VERTEX_TEXTURE_ADDRESS(0x101)
RSX: E {RSXThread} TODO: CELL_GCM_NV4097_SET_VERTEX_TEXTURE_CONTROL0(0x8000)
RSX: E {RSXThread} TODO: CELL_GCM_NV4097_SET_VERTEX_TEXTURE_FILTER(0x0)
RSX: E {RSXThread} TODO: CELL_GCM_NV4097_SET_VERTEX_TEXTURE_ADDRESS + 0x20(0x101)
RSX: E {RSXThread} TODO: CELL_GCM_NV4097_SET_VERTEX_TEXTURE_CONTROL0 + 0x20(0x8000)
RSX: E {RSXThread} TODO: CELL_GCM_NV4097_SET_VERTEX_TEXTURE_FILTER + 0x20(0x0)
RSX: E {RSXThread} TODO: CELL_GCM_NV4097_SET_VERTEX_TEXTURE_ADDRESS + 0x40(0x101)
RSX: E {RSXThread} TODO: CELL_GCM_NV4097_SET_VERTEX_TEXTURE_CONTROL0 + 0x40(0x8000)
RSX: E {RSXThread} TODO: CELL_GCM_NV4097_SET_VERTEX_TEXTURE_FILTER + 0x40(0x0)
RSX: E {RSXThread} TODO: CELL_GCM_NV4097_SET_VERTEX_TEXTURE_ADDRESS + 0x60(0x101)
RSX: E {RSXThread} TODO: CELL_GCM_NV4097_SET_VERTEX_TEXTURE_CONTROL0 + 0x60(0x8000)
RSX: E {RSXThread} TODO: CELL_GCM_NV4097_SET_VERTEX_TEXTURE_FILTER + 0x60(0x0)
RSX: W {RSXThread} NV4097_SET_VERTEX_ATTRIB_OUTPUT_MASK: 4001
RSX: W {RSXThread} NV4097_SET_TEX_COORD_CONTROL
RSX: W {RSXThread} TODO: NV4097_SET_ZMIN_MAX_CONTROL: cullNearFarEnable=1, zclampEnable=0, cullIgnoreW=0
HLE: E {PPU[2] Thread (Callback)[0x002cd004]} TODO: UTF16toUTF8
HLE: E {PPU[2] Thread (Callback)[0x002cd004]} TODO: UTF16toUTF8
RSX: W {RSXThread} NV4097_SET_VERTEX_ATTRIB_INPUT_MASK: 109
RSX: W {RSXThread} NV4097_SET_VERTEX_ATTRIB_OUTPUT_MASK: 4001
RSX: E {RSXThread} TODO: CELL_GCM_NV4097_SET_TRANSFORM_BRANCH_BITS(0x0)
RSX: E {RSXThread} TODO: CELL_GCM_NV4097_SET_VERTEX_TEXTURE_ADDRESS(0x101)
RSX: E {RSXThread} TODO: CELL_GCM_NV4097_SET_VERTEX_TEXTURE_CONTROL0(0x8000)
RSX: E {RSXThread} TODO: CELL_GCM_NV4097_SET_VERTEX_TEXTURE_FILTER(0x0)
RSX: E {RSXThread} TODO: CELL_GCM_NV4097_SET_VERTEX_TEXTURE_ADDRESS + 0x20(0x101)
RSX: E {RSXThread} TODO: CELL_GCM_NV4097_SET_VERTEX_TEXTURE_CONTROL0 + 0x20(0x8000)
RSX: E {RSXThread} TODO: CELL_GCM_NV4097_SET_VERTEX_TEXTURE_FILTER + 0x20(0x0)
RSX: E {RSXThread} TODO: CELL_GCM_NV4097_SET_VERTEX_TEXTURE_ADDRESS + 0x40(0x101)
RSX: E {RSXThread} TODO: CELL_GCM_NV4097_SET_VERTEX_TEXTURE_CONTROL0 + 0x40(0x8000)
RSX: E {RSXThread} TODO: CELL_GCM_NV4097_SET_VERTEX_TEXTURE_FILTER + 0x40(0x0)
RSX: E {RSXThread} TODO: CELL_GCM_NV4097_SET_VERTEX_TEXTURE_ADDRESS + 0x60(0x101)
RSX: E {RSXThread} TODO: CELL_GCM_NV4097_SET_VERTEX_TEXTURE_CONTROL0 + 0x60(0x8000)
RSX: E {RSXThread} TODO: CELL_GCM_NV4097_SET_VERTEX_TEXTURE_FILTER + 0x60(0x0)
RSX: W {RSXThread} NV4097_SET_VERTEX_ATTRIB_OUTPUT_MASK: 4001
RSX: W {RSXThread} NV4097_SET_TEX_COORD_CONTROL
RSX: W {RSXThread} TODO: NV4097_SET_ZMIN_MAX_CONTROL: cullNearFarEnable=1, zclampEnable=0, cullIgnoreW=0
G: E {PPU[2] Thread (Callback)[0x0010f618]} Exception: Access violation: addr = 0x3001b000 (last_syscall=0x0)
MEM: E {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} DynamicMemoryBlock::Free(addr=0x0): failed
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x30000000, size = 0x10000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x30100000, size = 0x100000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x30200000, size = 0x1400000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x30010000, size = 0x2000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x30012000, size = 0x1000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x30013000, size = 0x1000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x30014000, size = 0x1000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x30015000, size = 0x1000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x31600000, size = 0x100000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x30016000, size = 0x1000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x31700000, size = 0x700000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x31e00000, size = 0x100000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x31f00000, size = 0x200000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x32100000, size = 0x100000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x30017000, size = 0x1000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x32200000, size = 0x100000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x32300000, size = 0x400000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x32700000, size = 0x200000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x32900000, size = 0x200000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x32b00000, size = 0x100000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x32c00000, size = 0x200000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x32e00000, size = 0x200000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x33100000, size = 0x100000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x33200000, size = 0x100000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x33300000, size = 0x100000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x33400000, size = 0x100000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x33500000, size = 0x100000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x33600000, size = 0x100000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x33700000, size = 0x100000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x33800000, size = 0x100000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x33900000, size = 0x100000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x33a00000, size = 0x100000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x33b00000, size = 0x100000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x33c00000, size = 0x100000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x33d00000, size = 0x100000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x33e00000, size = 0x100000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x33f00000, size = 0x100000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x34000000, size = 0x100000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x34100000, size = 0x100000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x34200000, size = 0x100000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x34300000, size = 0x100000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x34400000, size = 0x100000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x34500000, size = 0x100000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x34600000, size = 0x100000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x34700000, size = 0x100000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x34800000, size = 0x100000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x34900000, size = 0x100000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x34a00000, size = 0x100000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x34b00000, size = 0x100000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x34c00000, size = 0x100000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x34d00000, size = 0x100000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x34e00000, size = 0x100000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x34f00000, size = 0x100000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x35000000, size = 0x100000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x35100000, size = 0x100000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x35200000, size = 0x100000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x35300000, size = 0x100000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x35400000, size = 0x100000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x35500000, size = 0x100000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x35600000, size = 0x100000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x35700000, size = 0x100000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x35800000, size = 0x100000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x35900000, size = 0x100000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x35a00000, size = 0x100000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x35b00000, size = 0x100000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x35c00000, size = 0x100000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x35d00000, size = 0x100000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x35e00000, size = 0x100000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x35f00000, size = 0x100000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x36000000, size = 0x100000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x36100000, size = 0x100000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x36200000, size = 0x100000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x36300000, size = 0x100000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x36400000, size = 0x100000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x36500000, size = 0x100000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x36600000, size = 0x100000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x36700000, size = 0x100000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x36800000, size = 0x100000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x36900000, size = 0x100000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x36a00000, size = 0x100000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x36b00000, size = 0x400000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x36f00000, size = 0x400000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x30018000, size = 0x1000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x30019000, size = 0x1000
MEM: ! {PPU[892] Thread (sdu_sample_auto_save)[0x003f70c4]} *** Memory Block: addr = 0x3001a000, size = 0x1000