Forums | Mahara Community
Support
/
get_class() expects parameter 1 to be object, int given
23 June 2022, 0:17
Hello,
we are preparing to upgrade our Mahara site and are testing version 22.04.2 right now. We are seeing errors but are not sure if this is a bug or a problem with our site.
I create a new group and on the group homepage I click 'edit'. I add a new block of content type 'image' to the top, upload an image to 'group files', select it and click save. I then resize the image by dragging its corner to make it wider and higher. After that the logfile shows following errors (They are also shown on the page directly, if the site is not in production mode and debug messages are show; sometimes a page reload is neeeded it seems):
[WAR] f1 (lib/view.php:3841) get_class() expects parameter 1 to be object, int given
Call stack (most recent first):
log_message("get_class() expects parameter 1 to be object, int ...", 8, true, true, "/var/www/html/mahara.abc.xyz/lib/v...", 3841) at /var/www/html/mahara.abc.xyz/lib/errors.php:515
error(2, "get_class() expects parameter 1 to be object, int ...", "/var/www/html/mahara.abc.xyz/lib/v...", 3841, array(size 19)) at /var/www/html/mahara.abc.xyz/lib/view.php:3841
View::get_artefactchooser_artefacts(array(size 2), null, 603, null, true) at /var/www/html/mahara.abc.xyz/blocktype/lib.php:2336
BlockInstance->rebuild_artefact_list() at /var/www/html/mahara.abc.xyz/blocktype/lib.php:2275
BlockInstance->commit() at /var/www/html/mahara.abc.xyz/lib/view.php:2829
View->moveblockinstance(array(size 7)) at /var/www/html/mahara.abc.xyz/lib/view.php:2107
View->process_changes() at /var/www/html/mahara.abc.xyz/view/blocks.json.php:30
[WAR] f1 (lib/errors.php:853) Failed to get a recordset: mysqli error: [0: ] in EXECUTE("SELECT DISTINCT agg.* FROM (SELECT a.id, a.id AS b FROM "artefact" a LEFT JOIN "tag" t ON t.resourcetype = 'artefact' AND a.id = t.resourceid
LEFT OUTER JOIN (
SELECT
r.artefact, r.can_view, r.can_edit, m.group
FROM
"group_member" m
JOIN "artefact" aa ON aa.group = m.group
JOIN "artefact_access_role" r ON aa.id = r.artefact AND r.role = m.role
WHERE
m.group = ?
AND m.member = ?
AND r.can_view = 1
) ga ON (ga.group = a.group AND a.id = ga.artefact) WHERE (a.institution = 'mahara' OR ga.can_view = 1 OR a.owner = ?) AND a.id = 291249) AS agg")Command was: SELECT DISTINCT agg.* FROM (SELECT a.id, a.id AS b FROM "artefact" a LEFT JOIN "tag" t ON t.resourcetype = 'artefact' AND a.id = t.resourceid
LEFT OUTER JOIN (
SELECT
r.artefact, r.can_view, r.can_edit, m.group
FROM
"group_member" m
JOIN "artefact" aa ON aa.group = m.group
JOIN "artefact_access_role" r ON aa.id = r.artefact AND r.role = m.role
WHERE
m.group = ?
AND m.member = ?
AND r.can_view = 1
) ga ON (ga.group = a.group AND a.id = ga.artefact) WHERE (a.institution = 'mahara' OR ga.can_view = 1 OR a.owner = ?) AND a.id = 291249) AS agg and values was (0:1135)
Call stack (most recent first):
log_message("Failed to get a recordset: mysqli error: [0: ] in ...", 8, true, true) at /var/www/html/mahara.abc.xyz/lib/errors.php:89
log_warn("Failed to get a recordset: mysqli error: [0: ] in ...") at /var/www/html/mahara.abc.xyz/lib/errors.php:853
SQLException->__construct("Failed to get a recordset: mysqli error: [0: ] in ...") at /var/www/html/mahara.abc.xyz/lib/dml.php:540
get_recordset_sql("SELECT DISTINCT agg.* FROM (SELECT a.id, a.id AS b...", array(size 1), null, null) at /var/www/html/mahara.abc.xyz/lib/dml.php:720
get_records_sql_assoc("SELECT DISTINCT agg.* FROM (SELECT a.id, a.id AS b...", array(size 1), null, null) at /var/www/html/mahara.abc.xyz/lib/view.php:3967
View::get_artefactchooser_artefacts(array(size 2), null, 603, null, true) at /var/www/html/mahara.abc.xyz/blocktype/lib.php:2336
BlockInstance->rebuild_artefact_list() at /var/www/html/mahara.abc.xyz/blocktype/lib.php:2275
BlockInstance->commit() at /var/www/html/mahara.abc.xyz/lib/view.php:2829
View->moveblockinstance(array(size 7)) at /var/www/html/mahara.abc.xyz/lib/view.php:2107
View->process_changes() at /var/www/html/mahara.abc.xyz/view/blocks.json.php:30
We are seeing this errors on existing groups too. Is this a general bug or is this just a problem of our site?
Cheers
27 June 2022, 10:47
Hello Ma,
It does seem like an error that needs fixing up
I've created a bug report and fix for it here https://reviews.mahara.org/c/mahara/+/12960
It looks as though (for reasons I've not worked out yet) your system sends the group ID as an integer rather than a string - so I adjusted the check for it to handle string and integer in the same way.
This should fix the problem you are having
Cheers
Robert
27 June 2022, 21:51
Hello Robert,
thank you for your answer and the quick fix. We are trying it out right now. It looks good so far!
Cheers
