webMAN-MOD
webMAN-MOD copied to clipboard
sometimes load iso from nfts disk will crash,and corrupt file system for ever
sometimes load ps3 iso from nfts disk will crash,and corrupt file system for ever in latest 1.47.40.
sometimes load iso fail and reboot ,repair file system will not execute until 100%,it will quit to xmb at a fixed value like 30% or 40%, Although everything seems to be normal, it leaves hidden dangers. As damage accumulates, there will be big problems in the end。
i format my internal disk eventally ,and i reproduce this issue.when i first found problem, i try to uninstall webman and reinstall hfw in recovery mode, but it dosent work . when i enable check file system in next reboot ,it still quit at 30% ,cant repair complete.
i dont konw how to fix it or delete some file .file system repair quit abnormal due to what? how can i debug it or repair it quickly?
it look like wenman bug that corrupt some file permanently。
please help me
Thank you for your feedback. NTFS can be corrupted easily when the volume is not unmounted properly. On USB devices with NTFS this is more critical due the user can unplug the devices while it's being in use. That's why Windows requires to shutdown or unmount the USB devices before unplug them.
Now that said, we should confirm that the issue is related to webMAN and not related to user usage or device error. First you ned to check if the USB storage device has crosslinked files error. To do this you need to defrag the device or run chkdsk /F x:
If there are not errors, then we need to identify if the error is still present on the latest build or if started from a specific version. To do this you first have to validate that the error can be reproduced on the latest binaries available on the release page (you first need to use the online updater and test). If the error is found, try a previous version until the error is not found and report what version does not have the error.
It's not like my USB disk problem,because it appears with a low probability,and before problem happen, i can load and play other image from this disk,and after crash reboot,i cant reproduce issue with last image . When prepare to load, it will crash randomly with low probability on different images, whether it is built-in devntfs scanning or external prepiso scanning. looks like the problem is with load. this problem corrupt file system on internal disk ,not my usb ntfs disk.and after crash during next boot, i heard some little noise on my CD-ROM drive,although I've never used this. maybe last crash when loading game left some unkonwn status. I heard people in the china baidu tieba forum say that there seems to be more stability with the 1.47.28 and previous version, but I'm not sure because it's not easy to reproduce. thanks
Thank you again for your feedback. I understand your frustration with the issue that you described. However, there is not enough information that points to a specific module or a way to reproduce it. If I cannot reproduce the bug or at least get a hint of what is producing the bug, it will be hard to fix.
I suggest that test different versions until you find one stable and report the version to compare it with the current. Also try to enable Cobra debug payload to capture the events when the system crash.
Try this troubleshooting procedure. Maybe it can help to narrow the variables to something that can be reproduced at will.
my ps3 4012c 4.88 hfw 3.03hen ,i will slowly observe and try a stable version for a long time. crash just happen when load iso image from mygame into xmb ,it cant be load. and after i update hfw still cant repair this file system error,so i think corrupt maybe at some "config partition" not "system partition". i dont know work flow when load iso and fail crash will corrupt which system file,and ps3 based on what to repair the file system. maybe i can recover it by delete some file or reset some config? I'm more concerned about how to recover this file system error manually than having a problem. any suggestion? thanks
This seems to be a particular error in your system or maybe something wrong with your payload.
I haven't received reports from other users having a corrupted file system after mount a game. I don't have that issue either on CFW 4.88.2
Try opening a thread in psx-place forums. Other HEN users could give you ideas.
https://github.com/aldostools/webMAN-MOD/issues/408 this issue looks the same as mine,but i didn't load the game through the web,just from webman game or game list(L2+R2 mode),and i found load external ntfs iso from L2+R2 can reproduce issue quickly(load ten times or so and it will appear). chkdsk my external seagate 2t ntfs disk is fine from win10. and load iso from my internal ssd is reailable(i never meet this when load from internal disk).
Then I bought a new PS3 2112a model,use EVILNAT 4.88.2 COBRA 8.3 and webman 1.47.41,and issues still happen,when ps3 freeze green led stays blinking, after that file system corrupt and cant repair (superblock must corrupt, because i delete all my game and all related in my ps3 file system check still error until i reformat it ).The PS3 file system is terrible。。
This is a serious problem and file system damage is unrecoverable,needs to be improved. Hope you found this information helpful and I'll be happy to test the new changes for you if you have some new tmp test pkg after modify.
I found something new,if I load NTFS ISO with irisman, it pretty stable. When irisman loads the ISO, itself exits first and will takes longer time to load.
I think it's probably related to the length of time,maybe we can give external disk iso much time to respond?(like add 3 sec dalay and cleanup some resource or reset some status before next load)
@aldostools Hi bro,I am not familiar with the code and have no environment, if you can tell me which name function code can be modified to test and verify or other something, I would like to spare some time to debug, to make WebMan more stable finally.
webMAN MOD basically loads in memory the .ntfs[] file from dev_hdd0/tmp/wmtmp and pass it to raw_iso.sprx https://github.com/aldostools/webMAN-MOD/blob/master/include/mount/mount_rawiso.h
In that part, only the rawseciso plugin interacts with the NTFS drive. If something is being corrupte, maybe it's in that plugin. https://github.com/aldostools/webMAN-MOD/blob/master/Projects/rawseciso/main.c
webMAN MOD also interacts with the NTFS drive when scan for new content is done. It can be done by the internal prepNTFS: https://github.com/aldostools/webMAN-MOD/blob/master/include/scan/prepntfs.h Or by the standalone prepISO application: https://github.com/aldostools/webMAN-MOD/tree/master/Projects/prepISO
As I commented earlier, I don't have that issue on CFW 4.88.2. I cannot fix the bug if I cannot reproduce it or at least identify the exact code that has the issue.
hi @aldostools ,I tried to build package and get webMAN_MOD_1.47.41_Installer.pkg at the toplevel of code,but after install pkg, it will show "corrupt data",it cant be start, any idea of it?
and i found irisman look seem use libntfs and use cobra_mount_ps3_disc_image func to load game always,however webman use rawseciso and sys_storage_ext_mount_discfile_proxy func load game.
I think there may be problems with these two points:
- load ntfs code with rawseciso is complexited, load ntfs iso func with libntfs in irisman is code less and more clear.
- sys_storage_ext_mount_discfile_proxy,the func with _proxy maybe not reliable enough. because irisman not use this, if we use libntfs api , the func with _proxy doesn't seem necessary.
maybe webman should use libntfs api load ps3 iso too,keep same with irisman ,beacuse irisman stable with load iso.
cobra_mount_ps3_disc_image is used only for ISO stored in native file system (FAT32 or internal HDD). The read process is handled directly by Cobra payload. However, netiso & rawseciso require more memory and Cobra needs an external plugin to handle the read process. So it uses sys_storage_ext_mount_discfile_proxy to send/receive the read requests.
Both IRISMAN and webMAN MOD use rawseciso plugin and sys_storage_ext_mount_discfile_proxy func load game.
It looks like you didn't follow the flow of the code correctly. Here is where IRISMAN mounts the ISO https://github.com/aldostools/IRISMAN/blob/master/source/mount_game.h#L836-L891
In IRISMAN, rawseciso plugin is named "sprx_iso". The plugin is embedded in the EBOOT.BIN and extracted to /dev_hdd0/game/IRISMAN000/sprx_iso when the app starts.
Additionally webMAN uses a different libntfs api due IRISMAN uses psl1ght while webMAN uses PS3 SDK. Also the libntfs in webMAN is more restricted due the memory limitations of the sprx.
Maybe you could try is replacing /dev_hdd0/tmp/wm_res/raw_iso.sprx with /dev_hdd0/game/IRISMAN000/sprx_iso (renamed as raw_iso.sprx)
@aldostools I have very little knowledge about ps3,thanks for your explanation. and I think replacing the file maybe have a little effect , i replace file as you suggested and try it about 100 times, although I get 3 times freeze , but it crash when i call game menu(L2+R2),not crash at mounting as previous.
finally,i found high reproduce crash method , when iso loading i press L2+r2 quickly and do these operations in a loop,it will crash quickly and easily.just repate(L2+R2 ,mount external ntfs iso,L2+R2,mount external ntfs iso... not strict exactly, but similarly),I guess you can reproduce eaisly. I suspect that the problems I meet before are probably related to the operation too fast. maybe some operation are atomic,need lock to protect. (like cant call L2+R2 when mounting)
Hi i found some clue “"MC" feature isn't related in any way to the system temperature. However, "MC" has a limitation: if you start a game/app while the "MC" is allocated (e.g. the content scanning haven't finished), the system could freeze and it may result in an overheat if the system is not turned off soon.” maybe root cause is mem usage. MC options [bg fg debug app] what different between these?
There are 5 memory containers: 0-game, 1-app, 2-debug, 3-foreground (fg), 4-background (bg) https://www.psdevwiki.com/ps3/VSH#Memory_Containers
They are memory pools reserved for specific system components. The MCs 0 & 1 provide the largest pool of memory that can be used. For instance vsh_mc=1-app can be used on XMB without issues, but it freezes the console if you start a game while you have memory allocated in that containerl.
The MC 4-bg is reserved for video recording, audio player. In the newer builds of webMAN MOD, the default setting for new installations is MC=4-bg. It tries to first allocate memory in that container. If it fails, then it uses the default memory container. It can be changed if the user decides it.
what does MC[default] mean? not use these reserved memory pools? my external disk full of 2T games. maybe i should use max plugin memory 1280k and mc[default]?
MC[default] means that the default memory container is selected.
The new memory manager in webMAN first will try to use 4-bg if MC default is selected. If it fails, it will allocate the memory from the default memory container 3-fg.
If one MC is specified, that one will be used first before fall back to 4 or 3.