-
Bug
-
Resolution: Unresolved
-
Minor
-
None
-
4.1.10, 4.3.4
I just wanted to create an issue to document the case somewhere. Moodle sites where it was happening were patched but maybe it will become a bigger problem for somebody else in the future.
This was reproduced under:
- PHP 7.4, Moodle 3.11, postgresql 16.1 (Amazon Aurora)
- PHP 8.1.28 Moodle 4.3.4 , postgresql 16.1 (Amazon Aurora)
- PHP 8.1.28 Moodle 4.3.4 , postgresql 16.2 (Amazon Aurora)
I believe PHP and Moodle versions are not important. However it is not failing in normal Postgresql 16.1. This query is also covered by unittests (so I guess it does not happen in any of our testing matrices).
Default exception handler: Error reading from database Debug: ERROR: could not determine data type of parameter $3
|
|
|
SELECT c.id AS conversionid, c.sourcefileid AS conversionsourcefileid, c.targetformat AS conversiontargetformat, c.status AS conversionstatus, c.statusmessage AS conversionstatusmessage, c.converter AS conversionconverter, c.destfileid AS conversiondestfileid, c.data AS conversiondata, c.timecreated AS conversiontimecreated, c.timemodified AS conversiontimemodified, c.usermodified AS conversionusermodified
|
FROM mdl_file_conversion c
|
INNER JOIN mdl_files conversionsourcefile ON conversionsourcefile.id = c.sourcefileid
|
LEFT JOIN mdl_files conversiondestfile ON conversiondestfile.id = c.destfileid
|
WHERE
|
conversionsourcefile.contenthash = $1
|
AND c.targetformat = $2
|
AND (
|
c.destfileid IS NULL OR conversiondestfile.id IS NOT NULL
|
)
|
UNION ALL
|
SELECT
|
NULL AS conversionid,
|
orphanedsourcefile.id AS conversionsourcefileid,
|
$3 AS conversiontargetformat,
|
2 AS conversionstatus,
|
NULL AS conversionstatusmessage,
|
NULL AS conversionconverter,
|
orphaneddestfile.id AS conversiondestfileid,
|
NULL AS conversiondata,
|
0 AS conversiontimecreated,
|
0 AS conversiontimemodified,
|
0 AS conversionusermodified
|
FROM mdl_files orphanedsourcefile
|
INNER JOIN mdl_files orphaneddestfile ON (
|
orphaneddestfile.filename = orphanedsourcefile.contenthash
|
AND orphaneddestfile.component = 'core'
|
AND orphaneddestfile.filearea = 'documentconversion'
|
AND orphaneddestfile.filepath = $4
|
)
|
LEFT JOIN mdl_file_conversion orphanedconversion ON orphanedconversion.destfileid = orphaneddestfile.id
|
WHERE
|
orphanedconversion.id IS NULL
|
AND
|
orphanedsourcefile.id = $5
|
|
[array (
|
0 => '8b57065a9d5ceccbef6de4eb4cb9f02c2b4cf3d0',
|
1 => 'pdf',
|
2 => 'pdf',
|
3 => '/pdf/',
|
4 => '15743766',
|
)]
|
Error code: dmlreadexception
|
* line 486 of /lib/dml/moodle_database.php: dml_read_exception thrown
|
* line 293 of /lib/dml/moodle_read_slave_trait.php: call to moodle_database->query_end()
|
* line 338 of /lib/dml/pgsql_native_moodle_database.php: call to pgsql_native_moodle_database->read_slave_query_end()
|
* line 986 of /lib/dml/pgsql_native_moodle_database.php: call to pgsql_native_moodle_database->query_end()
|
* line 179 of /files/classes/conversion.php: call to pgsql_native_moodle_database->get_records_sql()
|
* line 75 of /files/classes/converter.php: call to core_files\\conversion::get_conversions_for_file()
|
* line 215 of /mod/assign/feedback/editpdf/classes/document_services.php: call to core_files\\converter->start_conversion()
|
* line 319 of /mod/assign/feedback/editpdf/classes/document_services.php: call to assignfeedback_editpdf\\document_services::list_compatible_submission_files_for_attempt()
|
* line 95 of /mod/assign/feedback/editpdf/ajax.php: call to assignfeedback_editpdf\\document_services::get_combined_document_for_attempt()
|
, referer https://..../mod/assign/view.php?id=766564&action=grader&userid=23608
|