progress() value out of range

progress() value out of range

by Lewis Kemp -
Number of replies: 4

I'm hoping someone will be able to help me, because I am out of ideas (and everything Google can give me) now.

We've got some courses that are very large (SCORM files) and it's causing backup issues.

Initially, none of them would back up, they'd just sit on "unfinished", meaning none of the following backups would run.

I've updated PHP to 5.6, changed max_execution_time = 3600 in php.ini and turned on "enabletgzbackups".

Some of the smaller ones do now backup, but I'm still having issues with some of the larger ones, where I get "Coding error detected, it must be fixed by a programmer: progress() value out of range".


I've found a few possible solutions, such as: https://tracker.moodle.org/browse/MDL-45783?focusedCommentId=296114&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-296114


but that tells me to modify "moodle\backup\util\core_backup_progress.class.php", but that file does not exist on my 2.8.1 server.

I've even tried searching every .php file within the util folder for the string "TIME_LIMIT" in case it had been moved to another file, but I found nothing!  It's really frustrating, because I think this would have fixed my issue.


Has anyone got any suggestions? Thank you!

Average of ratings: -
In reply to Lewis Kemp

Re: progress() value out of range

by Paul K -

Hi,


I'm having the same problem with a Moodle course, which is above 2 GB and which has a lot of mp3 files (more than 30) in one folder. The backup procedure shows following error:

"Coding error detected, it must be fixed by a programmer: progress() value out of range" and stops.


I'm using Moodle 2.8.3 and PHP 5.6.


Unfortunately, until know I havent' found any solution for this error.


In reply to Paul K

Re: progress() value out of range

by Raúl González Álvarez -

Hello Paul.

I have the same problem;

Did you fix it?

I do not know what to do either.


Big hug and thank you so much.

In reply to Raúl González Álvarez

Re: progress() value out of range

by SVI eSolutions -

Has anyone found a solution for this? I have the same issue with some of my courses, in some of my moodles... But not all, which leads me to believe that it's due to large courses... But I'm not sure...

In reply to SVI eSolutions

Re: progress() value out of range

by Paul K -
Hi,

one update regarding the issue with backup of files larger than 2GB under Windows. Just to make it clear. This problem still persist on Moodle 3.1.2 instance, under Windows 2012 R2, IIS, PHP 5.6.25. At least with the 32 bit PHP version it is not possible to backup Moodle courses larger than 2GB.

Based on the information posted on moodle.org:

"Windows is not suitable for large Moodle installations because PHP for Windows does not support 64-bit integer numbers, even if it is running on 64-bit Windows in 64-bit mode. One of the problems is that Moodle may fail to access data if there are more than 2 billion records in one database table because the id column is too big for integers. Another limitation is a maximum file size of 2GB, which can cause problems (for example) when making backups of large courses. Please consider a different operating system with full 64-bit support for very large installations."

Due to fact that the PHP 7 ist still not fully tested and supported under Moodle 3.x we have decided to use the PHP 32bit, 5.6.25 version in FastCGI-process under IIS, and PHP 64bit version 7 only in cron backup script. With this configuration we are able to backup courses larger than 2 GB. Unfortunately the limitation persist when we are trying to restore courses which are bigger than 2 GB. The only way to restore them, is to select some activities and materials so that overall there will be less than 2GB of data and conduct the resotration procedure in two, three steps. Hopefully, the next Moodle release will be fully supported by PHP 7 64 bit, and that the backup and restore will work without such problems.

Best regards
Paul

Average of ratings: Useful (1)