Broken images and failed system check

Semi Palar
Semi Palar
@semi-palar
2 weeks ago
35 posts
Hi there,

Our system check returned an error: https://ririungan.semipalar.sch.id/core/system_check

And as you can see on the homepage at ririungan.semipalar.sch.id, some images are broken. We've looked into the log and we found this:

[system] core: reset expired queue_id 1198304 in jrImageOptim/optimize_images queue - worker id 3024580 - process no longer running
[system] core: deleted queue_id 1198278 in jrImageOptim/optimize_images queue - failed 10 times

Any idea where to fix this? Any help would be appreciated. Thanks!
updated by @semi-palar: 05/15/25 06:21:26AM
michael
@michael
2 weeks ago
7,809 posts
jrImageOptim this looks like a custom module that's opening a queue but not saving or clearing properly.

You should see the queue at
ACP -> DASHBOARD -> QUEUE VIEWER

Find the offending queue and empty it.
empt.jpg
empt.jpg  •  260KB

Semi Palar
Semi Palar
@semi-palar
2 weeks ago
35 posts
@michael done that but the log still looks the same (screenshot attached), and images are still broken. I believe this is the culprit.
Semi Palar
Semi Palar
@semi-palar
2 weeks ago
35 posts
Anyway, this problem started after we're getting stuck in this spinning loop of failed updates.
michael
@michael
2 weeks ago
7,809 posts
My guess: Have you changed any code in the default modules? What happens when modules update is the old version gets removed and the new version gets put in place.

So for example, jrAudio.

Initially it is found at:
/modules/jrAudio

Then when you update it it gets moved to
/modules/jrAudio-1.0.0
and the new version gets put at
/modules/jrAudio-1.0.1

and
/modules/jrAudio turns into a symlink pointing to the newest version.

So if you've changed any module files to make your system work, you'll find those changes in the old module directory.

The correct/intended way to adjust a module's output is via the. "events and listeners" system that uses hooks in your own module to tap into data from other modules.

Since you have a module called jrImageOptim which 'jr' seems like it was made by 'the jamroom network' team but its not our module makes me guess that's a custom module (that really should be either your prefix spImageOpim or just 'xx' xxImageOptim). And maybe you've made some alterations to core modules to make that work possibly.
Semi Palar
Semi Palar
@semi-palar
one week ago
35 posts
michael:
My guess: Have you changed any code in the default modules? What happens when modules update is the old version gets removed and the new version gets put in place.

No, we don't do anything to the code. In fact, we're not doing anything to ANY code at all.

michael:
So for example, jrAudio.

Initially it is found at:
/modules/jrAudio

Then when you update it it gets moved to
/modules/jrAudio-1.0.0
and the new version gets put at
/modules/jrAudio-1.0.1

We haven't been able to update any module at all since forever now, which sucks and now we have broken images all over the place. I really want this to get fixed as it starts to concern our users. And oh, newly uploaded image gets broken as soon as it gets uploaded btw.
updated by @semi-palar: 05/22/25 11:31:34AM
michael
@michael
one week ago
7,809 posts
Try disabling modules that show up in the integrity check where it gets stuck, then re-run the integrity check. That will allow you to isolate where the issue is.

Try checking the server error logs for any error messages.

To fix the issue the first step is to locate the issue.

Tags