ndunand / moodle-qtype_matrix

Source code of https://moodle.org/plugins/qtype_matrix
2 stars 10 forks source link

Fatal error when running cron #31

Open relecand opened 8 years ago

relecand commented 8 years ago

Starting activity modules Processing module function quiz_cron ...

Looking for quiz overdue quiz attempts...

Fatal error: Call to undefined method qtype_matrix_question::write_order() in /var/www/moodle/question/type/matrix/question.php on line 248

relecand commented 8 years ago

Is this a typo?

https://github.com/ndunand/moodle-qtype_matrix/blob/master/question.php#L248

Should it be write_data instead?

ndunand commented 8 years ago

Indeed it looks like it should be write_data. Can you try and report back?

relecand commented 8 years ago

I changed it to write_data(). This is the result:

  Looking for quiz overdue quiz attempts...
Error while processing attempt 52696 at 4177 quiz:
Fehler in der Kodierung gefunden, den nur ein Programmierer korrigieren kann: Cannot modify a question_attempt_step_read_only.
#0 /var/www/moodle/question/type/matrix/question.php(226): question_attempt_step_read_only->set_qt_var('_order', '1612,1614,1616,...')
#1 /var/www/moodle/question/type/matrix/question.php(248): qtype_matrix_question->write_data(Object(question_attempt_step_read_only))
#2 /var/www/moodle/question/type/matrix/question.php(307): qtype_matrix_question->load_data(Object(question_attempt_step_read_only))
#3 /var/www/moodle/question/engine/questionattempt.php(1415): qtype_matrix_question->apply_attempt_state(Object(question_attempt_step_read_only))
#4 /var/www/moodle/question/engine/questionusage.php(862): question_attempt::load_from_records(Object(pgsql_native_moodle_recordset), '547776', Object(question_engine_unit_of_work), 'deferredfeedbac...')
#5 /var/www/moodle/question/engine/datalib.php(355): question_usage_by_activity::load_from_records(Object(pgsql_native_moodle_recordset), '69751')
#6 /var/www/moodle/question/engine/lib.php(84): question_engine_data_mapper->load_questions_usage_by_activity('69751')
#7 /var/www/moodle/mod/quiz/attemptlib.php(474): question_engine::load_questions_usage_by_activity('69751')
#8 /var/www/moodle/mod/quiz/cronlib.php(78): quiz_attempt->__construct(Object(stdClass), Object(stdClass), Object(stdClass), Object(stdClass))
#9 /var/www/moodle/mod/quiz/lib.php(530): mod_quiz_overdue_attempt_updater->update_overdue_attempts(1475148740, 1475148680)
#10 /var/www/moodle/lib/classes/task/legacy_plugin_cron_task.php(93): quiz_cron()
#11 /var/www/moodle/lib/cronlib.php(74): core\task\legacy_plugin_cron_task->execute()
#12 /var/www/moodle/admin/cron.php(81): cron_run()
#13 {main}
Error while processing attempt 52572 at 4177 quiz:
Fehler in der Kodierung gefunden, den nur ein Programmierer korrigieren kann: Cannot modify a question_attempt_step_read_only.
#0 /var/www/moodle/question/type/matrix/question.php(226): question_attempt_step_read_only->set_qt_var('_order', '1615,1614,1613,...')
#1 /var/www/moodle/question/type/matrix/question.php(248): qtype_matrix_question->write_data(Object(question_attempt_step_read_only))
#2 /var/www/moodle/question/type/matrix/question.php(307): qtype_matrix_question->load_data(Object(question_attempt_step_read_only))
#3 /var/www/moodle/question/engine/questionattempt.php(1415): qtype_matrix_question->apply_attempt_state(Object(question_attempt_step_read_only))
#4 /var/www/moodle/question/engine/questionusage.php(862): question_attempt::load_from_records(Object(pgsql_native_moodle_recordset), '546870', Object(question_engine_unit_of_work), 'deferredfeedbac...')
#5 /var/www/moodle/question/engine/datalib.php(355): question_usage_by_activity::load_from_records(Object(pgsql_native_moodle_recordset), '69613')
#6 /var/www/moodle/question/engine/lib.php(84): question_engine_data_mapper->load_questions_usage_by_activity('69613')
#7 /var/www/moodle/mod/quiz/attemptlib.php(474): question_engine::load_questions_usage_by_activity('69613')
#8 /var/www/moodle/mod/quiz/cronlib.php(78): quiz_attempt->__construct(Object(stdClass), Object(stdClass), Object(stdClass), Object(stdClass))
#9 /var/www/moodle/mod/quiz/lib.php(530): mod_quiz_overdue_attempt_updater->update_overdue_attempts(1475148740, 1475148680)
#10 /var/www/moodle/lib/classes/task/legacy_plugin_cron_task.php(93): quiz_cron()
#11 /var/www/moodle/lib/cronlib.php(74): core\task\legacy_plugin_cron_task->execute()
#12 /var/www/moodle/admin/cron.php(81): cron_run()
#13 {main}
Error while processing attempt 53288 at 4177 quiz:
Fehler in der Kodierung gefunden, den nur ein Programmierer korrigieren kann: Cannot modify a question_attempt_step_read_only.
#0 /var/www/moodle/question/type/matrix/question.php(226): question_attempt_step_read_only->set_qt_var('_order', '1616,1613,1614,...')
#1 /var/www/moodle/question/type/matrix/question.php(248): qtype_matrix_question->write_data(Object(question_attempt_step_read_only))
#2 /var/www/moodle/question/type/matrix/question.php(307): qtype_matrix_question->load_data(Object(question_attempt_step_read_only))
#3 /var/www/moodle/question/engine/questionattempt.php(1415): qtype_matrix_question->apply_attempt_state(Object(question_attempt_step_read_only))
#4 /var/www/moodle/question/engine/questionusage.php(862): question_attempt::load_from_records(Object(pgsql_native_moodle_recordset), '552611', Object(question_engine_unit_of_work), 'deferredfeedbac...')
#5 /var/www/moodle/question/engine/datalib.php(355): question_usage_by_activity::load_from_records(Object(pgsql_native_moodle_recordset), '70523')
#6 /var/www/moodle/question/engine/lib.php(84): question_engine_data_mapper->load_questions_usage_by_activity('70523')
#7 /var/www/moodle/mod/quiz/attemptlib.php(474): question_engine::load_questions_usage_by_activity('70523')
#8 /var/www/moodle/mod/quiz/cronlib.php(78): quiz_attempt->__construct(Object(stdClass), Object(stdClass), Object(stdClass), Object(stdClass))
#9 /var/www/moodle/mod/quiz/lib.php(530): mod_quiz_overdue_attempt_updater->update_overdue_attempts(1475148740, 1475148680)
#10 /var/www/moodle/lib/classes/task/legacy_plugin_cron_task.php(93): quiz_cron()
#11 /var/www/moodle/lib/cronlib.php(74): core\task\legacy_plugin_cron_task->execute()
#12 /var/www/moodle/admin/cron.php(81): cron_run()
#13 {main}
Error while processing attempt 52707 at 4177 quiz:
Fehler in der Kodierung gefunden, den nur ein Programmierer korrigieren kann: Cannot modify a question_attempt_step_read_only.
#0 /var/www/moodle/question/type/matrix/question.php(226): question_attempt_step_read_only->set_qt_var('_order', '1612,1614,1611,...')
#1 /var/www/moodle/question/type/matrix/question.php(248): qtype_matrix_question->write_data(Object(question_attempt_step_read_only))
#2 /var/www/moodle/question/type/matrix/question.php(307): qtype_matrix_question->load_data(Object(question_attempt_step_read_only))
#3 /var/www/moodle/question/engine/questionattempt.php(1415): qtype_matrix_question->apply_attempt_state(Object(question_attempt_step_read_only))
#4 /var/www/moodle/question/engine/questionusage.php(862): question_attempt::load_from_records(Object(pgsql_native_moodle_recordset), '547885', Object(question_engine_unit_of_work), 'deferredfeedbac...')
#5 /var/www/moodle/question/engine/datalib.php(355): question_usage_by_activity::load_from_records(Object(pgsql_native_moodle_recordset), '69762')
#6 /var/www/moodle/question/engine/lib.php(84): question_engine_data_mapper->load_questions_usage_by_activity('69762')
#7 /var/www/moodle/mod/quiz/attemptlib.php(474): question_engine::load_questions_usage_by_activity('69762')
#8 /var/www/moodle/mod/quiz/cronlib.php(78): quiz_attempt->__construct(Object(stdClass), Object(stdClass), Object(stdClass), Object(stdClass))
#9 /var/www/moodle/mod/quiz/lib.php(530): mod_quiz_overdue_attempt_updater->update_overdue_attempts(1475148740, 1475148680)
#10 /var/www/moodle/lib/classes/task/legacy_plugin_cron_task.php(93): quiz_cron()
#11 /var/www/moodle/lib/cronlib.php(74): core\task\legacy_plugin_cron_task->execute()
#12 /var/www/moodle/admin/cron.php(81): cron_run()
#13 {main}
relecand commented 8 years ago

Do you have any idea to solve this?

ndunand commented 8 years ago

@laurentopprecht any ideas?