in reply to Sarah Brown

Additional info: I have an "Update contact" job in the worker queue that has been stuck for 6 days. The contact is: hexbear.net/u/Florn

As I've noticed previously, this is a contact with an animated GIF as an avatar. Every time this happened, blocking the contact, and deleting the job from the worker queue, fixes the problem.

This is happening on both 2024.03 and 2024.08

Friendica Support reshared this.

in reply to Sarah Brown

maybe relevant to this?
blog.cloudflare.com/uncovering…

Friendica Support reshared this.

in reply to FeralRobots

@FeralRobots I doubt it. The common factor is apparently genuine accounts with animated avatars, and it's now happened several times. I think the Friendica worker has some sort of size limit for avatars, and when one exceeds it, it's not failing gracefully, but instead bunging up the system.

PSA, guys, yes, your animated GIF avatars are lovely. Also, the Fediverse consists of thousands of servers, many of which are self hosted. Consider whether your avatar which goes on for megabyte upon megabyte is maybe a little bit antisocial?

Friendica Support reshared this.

in reply to Sarah Brown

OK, more digging. It's failing in line 231 of /var/www/html/src/Object/Image.php.

Which is this:

} catch (\Throwable $error) {
			/** @see https://github.com/php/doc-en/commit/d09a881a8e9059d11e756ee59d75bf404d6941ed */
			if (strstr($error->getMessage(), "gd-webp cannot allocate temporary buffer")) {
				DI::logger()->notice('Image is probably animated and therefore unsupported', ['message' => $error->getMessage(), 'code' => $error->getCode(), 'trace' => $error->getTraceAsString(), 'file' => $this->filename]);
			} else {
				DI::logger()->warning('Unexpected throwable.', ['message' => $error->getMessage(), 'code' => $error->getCode(), 'trace' => $error->getTraceAsString(), 'file' => $this->filename]);
			}

So my suspicion was right: it's animated GIF avatars which are causing this. However, rather than fail gracefully, I'm left with a zombie worker job which seems to persist forever.

Friendica Support reshared this.

⇧