Windows server: PHP processing error/site crash

Windows server: PHP processing error/site crash

by Jeffrey Jones -
Number of replies: 4

We're experiencing intermittent crashs and problems with our site. Our Moodle install has about 30,000 registered students and a bit over 2,000 course shells used primarily for "blended" instructional purposes. Many are just static, and the others are just starting to get active as we start up our school year.

We're running PHP Version 5.3.13, MySQL (I forget that version, but it's current as of June), Moodle 2.2.3+ (Build: 20120601) on Windows Server 2008 SP1 running IIS 7.5. Data (including file data) and web service are split between two boxes. 

When things started goin' south, we'd get the following...

HTTP Error 500.0 - Internal Server Error
The FastCGI process has failed frequently recently. Try the request again in a while

...so we turned off FastCGI's auto fast recovery. We've had some problems getting PHP's error logs goin' too, but the error below seems the most likely crash-inducer...

[23-Aug-2012 09:17:23 UTC] Potential coding error - existing temptables found when disposing database. Must be dropped!
[23-Aug-2012 09:17:23 UTC] PHP Fatal error:  Uncaught exception 'ddl_change_structure_exception' with message 'DDL sql execution error' in E:\www\lib\dml\moodle_database.php:400
Stack trace:
#0 E:\www\lib\dml\mysqli_native_moodle_database.php(669): moodle_database->query_end(false)
#1 E:\www\lib\ddl\database_manager.php(88): mysqli_native_moodle_database->change_database_structure('DROP TEMPORARY ...')
#2 E:\www\lib\ddl\database_manager.php(75): database_manager->execute_sql('DROP TEMPORARY ...')
#3 E:\www\lib\ddl\database_manager.php(522): database_manager->execute_sql_arr(Array)
#4 E:\www\lib\dml\moodle_temptables.php(130): database_manager->drop_temp_table(Object(xmldb_table))
#5 E:\www\lib\dml\moodle_database.php(322): moodle_temptables->dispose()
#6 E:\www\lib\dml\mysqli_native_moodle_database.php(334): moodle_database->dispose()
#7 E:\www\lib\dml\moodle_database.php(140): mysqli_native_moodle_database->dispose()
#8 [internal function]: moodle_database->__destruct()
#9 {main}
  thrown in E:\www\lib\dml\moodle_database.php on line 400

...Does that actually look likely? If so, fixes? If not, any ideas where we might look?

Average of ratings: -
In reply to Jeffrey Jones

Re: Windows server: PHP processing error/site crash

by Howard Miller -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers

Well... I don't know. The bit of code throwing the exception isn't very well commented but it seems to be related to database transactions and looks to be throwing out certain 'types' - although I'm not sure what a type is.

The commit for that line leads to MDL-19470 which is also rather opaque. Your man here is Petr Skoda. He will probably put his finger on thi straight away if you drop him an email!

In reply to Jeffrey Jones

Re: Windows server: PHP processing error/site crash

by Mark Adams -

Hi Jeffrey - did you ever find a solution to this as i'm having the same issue on one of our servers?

Cheers.

 

In reply to Mark Adams

Re: Windows server: PHP processing error/site crash

by Mike deSimon -

We are having this issue as well. Any help?