[SOLVED] Missing module "Pleroma.Upload.Filter.Exiftool.StripLocation" after upgrading from Pleroma

I had installed the latest version of Pleroma the other day and then upgraded/replaced it with Akkoma 3.6.0-0-g36cb19d and I’m having problems attaching any pictures to my posts.

My syslog says:

Feb 22 20:07:45 web pleroma[1446092]: Request: POST /api/v1/media
Feb 22 20:07:45 web pleroma[1446092]: ** (exit) an exception was raised:
Feb 22 20:07:45 web pleroma[1446092]:     ** (UndefinedFunctionError) function Pleroma.Upload.Filter.Exiftool.StripLocation.filter/1 is undefined (module Pleroma.Upload.Filter.Exiftool.StripLocation is not available)
Feb 22 20:07:45 web pleroma[1446092]:         Pleroma.Upload.Filter.Exiftool.StripLocation.filter(%Pleroma.Upload{id: "0250f32a-919d-41c0-a4d3-5328f3bc1f04", name: "35Aa002_2022-10-23 [sfw].jpg", tempfile: "/tmp/plug-1677/multipart-1677096465-432705282909-1", content_type: "image/jpeg", width: nil, height: nil, blurhash: nil, path: "0250f32a-919d-41c0-a4d3-5328f3bc1f04/35Aa002_2022-10-23 [sfw].jpg"})
Feb 22 20:07:45 web pleroma[1446092]:         (pleroma 3.6.0-0-g36cb19d) lib/pleroma/upload/filter.ex:31: Pleroma.Upload.Filter.filter/2
Feb 22 20:07:45 web pleroma[1446092]:         (pleroma 3.6.0-0-g36cb19d) lib/pleroma/upload.ex:84: Pleroma.Upload.store/2
Feb 22 20:07:45 web pleroma[1446092]:         (pleroma 3.6.0-0-g36cb19d) lib/pleroma/web/activity_pub/activity_pub.ex:1505: Pleroma.Web.ActivityPub.ActivityPub.upload/2
Feb 22 20:07:45 web pleroma[1446092]:         (pleroma 3.6.0-0-g36cb19d) lib/pleroma/web/mastodon_api/controllers/media_controller.ex:25: Pleroma.Web.MastodonAPI.MediaController.create/2
Feb 22 20:07:45 web pleroma[1446092]:         (pleroma 3.6.0-0-g36cb19d) lib/pleroma/web/mastodon_api/controllers/media_controller.ex:5: Pleroma.Web.MastodonAPI.MediaController.action/2
Feb 22 20:07:45 web pleroma[1446092]:         (pleroma 3.6.0-0-g36cb19d) lib/pleroma/web/mastodon_api/controllers/media_controller.ex:5: Pleroma.Web.MastodonAPI.MediaController.phoenix_controller_pipeline/2
Feb 22 20:07:45 web pleroma[1446092]:         (phoenix 1.6.15) lib/phoenix/router.ex:354: Phoenix.Router.__call__/2

The root of the error seems to be this: “module Pleroma.Upload.Filter.Exiftool.StripLocation is not available”

I’ve tried doing a reinstall of Akkoma (I am using the OTP method) with commands like:

mv /opt/pleroma /opt/pleroma-bak
su pleroma -s $SHELL -lc "curl 'https://akkoma-updates.s3-website.fr-par.scw.cloud/stable/akkoma-$FLAVOUR.zip' -o /tmp/akkoma.zip && unzip /tmp/akkoma.zip -d /tmp/"
mkdir /opt/pleroma
mv -v /tmp/release/* /opt/pleroma
systemctl restart pleroma

However, I get the same error message. I’ve also looked at some of the image mogrify settings on my /pleroma/admin dashboard in the Upload settings but haven’t had any luck resolving this error.

I think I found a resolution to this one.

In my /etc/pleroma/config.exs file I had to change:

config :pleroma, Pleroma.Upload, filters: [Pleroma.Upload.Filter.Exiftool.StripLocation, Pleroma.Upload.Filter.Exiftool.ReadDescription, Pleroma.Upload.Filter.AnonymizeFilename, Pleroma.Upload.Filter.Dedupe]

To:

config :pleroma, Pleroma.Upload, filters: [Pleroma.Upload.Filter.Exiftool, Pleroma.Upload.Filter.AnonymizeFilename, Pleroma.Upload.Filter.Dedupe]

It seems the ExifTool filter stops at “Pleroma.Upload.Filter.ExifTool” without the additional “.StripLocation” and “.ReadDescription” suffixes attached.

Yeah. The ReadDescription one isn’t in Akkoma atm. Pleroma’s “StripLocation” is the same as “Pleroma.Upload.Filter.ExifTool”.

For who’s interested, see also PR https://akkoma.dev/AkkomaGang/akkoma/pulls/241

1 Like