webMAN-MOD icon indicating copy to clipboard operation
webMAN-MOD copied to clipboard

Toggle between Full and Lite edition does not work / Freeze after installation if there is an external hard drive with PS3ISO.

Open ozapft opened this issue 2 years ago • 20 comments

The combo L1 + R1 + △ does not work for the 'Full edition. I can only hear 3 beeps. With Lite Edition the Info webMAN unloaded appears but nothing happens.

Tested with a superslim / HEN (webMAN MOD 1.47.40 cac7e17)

BTW: On HEN I can´t install the Standard version.

ozapft avatar Apr 19 '22 06:04 ozapft

The 3 beeps occurs if /dev_hdd0/tmp/wm_reload already exists (e.g. a previous version failed to delete it). That file is always deleted the next time the plugins is started.

By default the full installer installs the full edition by default if a previous full edition is found or if HEN payload is detected. It acts like that since I added support to HEN. I needed to focus on a single edition. Changing this behavior now could cause confusion and issues to current HEN users that expects to install the full edition.

To install the standard edition on HEN or if the full edition is already installed, hold R1 while installing.

aldostools avatar Apr 19 '22 11:04 aldostools

I´ve checked if the file wm_reload in /dev_hdd0/tmp/ exists. It´s not there. But the combo L1 + R1 + △ nevertheless does not work. (only 3 beeps)

I´ve tried to hold R1 while installing. But the full version is always installed. (Pressing L1 installs the Lite Version)

ozapft avatar Apr 19 '22 11:04 ozapft

There are 5 conditions to cause the 3 beeps when L1 + R1 + is pressed:

if(syscalls_removed || is_mounting || refreshing_xml || file_exists(WM_RELOAD_FILE) || not_exists(TOGGLE_PLUGIN))
  {BEEP3; continue;}

1- Syscalls were already removed 2- A game is being mounted 3- A scan for content is in progress 4- /dev_hdd0/tmp/wm_reload already exists (this file is created to prevent load the sprx multiple times) 5- Not exists the other plugin that will be loaded:

  • /dev_hdd0/plugins/webftp_server_lite.sprx when using full/standard edition
  • /dev_hdd0/plugins/webftp_server.sprx when using lite edition

aldostools avatar Apr 19 '22 11:04 aldostools

Thank you very much for the detailed information.

Point 5 brought the solution. I´ve to copy the webftp_server_lite.sprx to the plugins directory. It did not exist. The toggle works now.

INFO:

I´ve additional tried a new installation of webMAN MOD after a complete removal. Unfortunately I had to realize that version 1.47.40 freezes the console after installation if there is an external hard drive with PS3ISO.

I´ve tried an older version 1.47.39 from 2022.04.07 - no freeze with external drive.

ozapft avatar Apr 19 '22 13:04 ozapft

I´ve tested new clean installation with version 1.47.39 from 2022.04.14 - freeze 1.47.39 from 2022.04.13 - no freeze.

ozapft avatar Apr 19 '22 15:04 ozapft

I´ve additional tried a new installation of webMAN MOD after a complete removal. Unfortunately I had to realize that version 1.47.40 freezes the console after installation if there is an external hard drive with PS3ISO.

I´ve tried an older version 1.47.39 from 2022.04.07 - no freeze with external drive.

Could you verify if the freeze is consistent? Does it happen after after uninstall or reinstalling over an existing installation?

If the error can be consistently reproduced, what storage type is the disk with PS3ISO? NTFS, exFAT, FAT32? How many isos does it contain?

I ask because the new .40 has a new redistribution of the memory usage for PS3 groups.

aldostools avatar Apr 19 '22 15:04 aldostools

Yes I´ve tried it 3 times. It´s consistent It happens only after uninstall and new installation. (I´ve removed all webMAN MOD files with irisman too. Directory xmlhost, wm_noscan in tmp, all Directories in /game.)

I´ve checked /dev_hdd0/wmtmp after freeze. Only one SFO was there.

The external drive is a ntfs drive with 101 PS3 ISO Files and 16 PS1 CUE Files.

An update installation works fine (I´ve disabled ntfs scan because I use PrepISO)

Last working version is 1.47.39 from 2022.04.13

ozapft avatar Apr 19 '22 15:04 ozapft

Ok, thank you for your feedback. I will verify.

aldostools avatar Apr 19 '22 15:04 aldostools

@ozapft A new commit has been uploaded with additional checks for NULL pointers. I expect that it helps to avoid the freeze that you're facing. I uninstalled webMAN on my system and reinstalled it again without any freeze during the startup.

Use the online updater or the release page to get the latest binaries.

aldostools avatar Apr 20 '22 04:04 aldostools

Thank you for the help.

I just tested the new version. During the first test, the system is frozen again. But much later than in the previous tests. All PS3 games were found, but not all PNG and SFO files. But it froze exactly when I clicked on My Games in the XMB. I assume that the scanning process or the generation of the mygames.xml was not yet completed.

On the second attempt, I waited much longer until I went to My Games in the XMB. The system did not freeze. Again, not all PNG and SFO files were found.

I checked this behavior 2 times.

update: I did this Test again with an older version. After the installation I clicked on My Games as fast as I could. The menu was not ready but no freeze.

ozapft avatar Apr 20 '22 06:04 ozapft

@ozapft Thank you for your feedback. I submitted a new commit and uploaded a new update. The new build has a refactored getLBA() function with new boundary checks. It should be also faster. I expect that now it helps to solve fix the freeze issue.

That function is used by the internal prepNTFS() for extraction of ICON0.PNG and PARAM.SFO from the ISO image. This is a recent feature. Before it was required to mount the game or use prepISO to get these files. It looks the old getlba() had bugs.

If the problem persists, please try to split the content of PS3ISO in 2 to identify if there is a specific ISO that could be causing the issue.

Thanks again for your patience and your tremendously valuable feedback.

aldostools avatar Apr 20 '22 13:04 aldostools

Thank you very much for your help! I´ve tested the new version 3 times. The freeze is gone! perfect!!

The problem with the missing SFO and PNG Files still exists. All .NTFS Files are found. Sometimes a .NTFS and a .SFO. Sometimes .NTFS .SFO and .PNG With the external program prepISO all files are found. I will do some tests this evening.

Unfortunately I found 2 new bugs. The /dev_hdd0/game/RELOADXMB directory is empty after a new installation. ->The reload does not refresh the XMB And after uninstall webMAN MOD the plugin webftp_server_lite.sprx in dev_hdd0/plugins/ is not deleted.

ozapft avatar Apr 20 '22 16:04 ozapft

I did some tests with iso files.

I took 1 iso from the original PS3ISO directory and copied it to a new directory PS3ISO2. webMAN has always found .NTFS .SFO and .PNG with this ISO. (tried it 3 times)

Then I renamed the directory PS3ISO to PS3ISO_ORG and PS3ISO2 to PS3ISO.

I did then a fresh install of webMAN.

This time only a .NTFS file was generated. (i tried this 3 times too) As a precaution I have checked the md5sum of the copied file. Both files are identical.

-> the result seems to be independent of the file. Maybe it´s the position on the hdd or a timing problem.

Again with prepISO .NTFS .SFO .PNG was genarated in both tests.

ozapft avatar Apr 20 '22 19:04 ozapft

I think the issue is the internal structure of the ISO. I'm searching the file table in a fixed position in the ISO. I will make a new build later today that read the file tables in the location specified in the ISO.

I may end implementing the same code in prepISO... I have to check.

aldostools avatar Apr 20 '22 20:04 aldostools

@ozapft A new update was uploaded. It fixes the bug uninstalling webftp_server_lite.sprx

Now RELOADXMB and PKGLAUNCH files are installed copying the files.

The extraction of PARAM.SFO / ICON0.PNG is performed seeking first for PS3_GAME folder sector, instead of assume that it is found in a fixed offset in the ISO. Also seeks them without ;1 if PARAM.SFO;1 and ICON0.PNG;1 are not found.

I hope that it now solves the issue extracting the NTFS files.

aldostools avatar Apr 20 '22 23:04 aldostools

I´ve tested the new version.

  • Uninstalling bug of webftp_server_lite.sprx is fixed
  • Empty RELOADXMB directory is fixed
  • Copy file to a NTFS Drive with webMAN Filemanger - instant freeze when I press paste - tested with two different NTFS drives
  • The extraction of PARAM.SFO / ICON0.PNG - not fixed - same result as with the last version.

Update 2: I´ve tested a second NTFS Drive with the same PS3ISO. Same 2TB Drive but different partitioning. Internal prepntfs doesn´t find any game. PrepISO works like every time. NTFS seems really tricky.

ozapft avatar Apr 21 '22 06:04 ozapft

I suspect that your issue could be related to buffer initialization failing to allocate memory. I uploaded a new build that has a new memory management system and first tries to allocate memory from the background memory container. Also fixed a issue with File Copy. I hope the new build causes less freezes on your system.

aldostools avatar Apr 23 '22 03:04 aldostools

Today I've tried the new version. I 'm very sorry to report that the last changes didn't change anything.

  • The system still freezes while trying to copy a larger file. A small png file still works. But a 200MB file freeze instantly the system by pressing paste.

I've verified this freeze with 2 different PS3 (HEN and Evilnat).

  • The extraction of PARAM.SFO / ICON0.PNG - does not work on all files - same result as with the last version.

Is it possible, that the NTFS lib used by internal prepNTFS has a bug?

Like I reported before.

I took 1 iso from the original PS3ISO directory and copied it to a new directory PS3ISO2. webMAN has always found .NTFS .SFO and .PNG with this ISO. (tried it 3 times)

Then I renamed the directory PS3ISO to PS3ISO_ORG and PS3ISO2 to PS3ISO.

I did then a fresh install of webMAN.

This time only a .NTFS file was generated. (i tried this 3 times too) As a precaution I have checked the md5sum of the copied file. Both files are identical.

I'm very sure that it's not because of my different NTFS disks. Since it was also tested on 2 different PS3 systems, I can also rule the PS3 out.

I can only report, that there is no problem while using prepISO 1.30.

ozapft avatar Apr 24 '22 15:04 ozapft

Thank you for your patience and bug reports. So far I don't find what else I can fix/improve.

At least there is a workaround using prepISO 1.30. I will put this issue on hold. Maybe I will revisit it in the future.

The NTFS lib in prepISO cannot be used directly. It could be an issue with the prx version.

aldostools avatar Apr 24 '22 16:04 aldostools

Thanks a lot for your efforts!

ozapft avatar Apr 24 '22 16:04 ozapft