[bug] Account Confirmation Email Causes Internal Server Error #999

Closed
opened 2025-10-30 20:29:06 +00:00 by hashborgir · 7 comments

Your setup

From source

Extra details

Ubuntu 25.04

Version

stable 6d88834f6

PostgreSQL version

17

What were you trying to do?

Click the link in email to verify account.

What did you expect to happen?

Confirm account and redirect to main page

What actually happened?

Internal Server Error

Logs

─▶ journalctl -u akkoma.service -f
Oct 30 20:07:58 akkoma mix[22266]:       ...
Oct 30 20:07:58 akkoma mix[22266]:     }
Oct 30 20:07:58 akkoma mix[22266]:         (elixir 1.18.1) lib/string/chars.ex:3: String.Chars.impl_for!/1
Oct 30 20:07:58 akkoma mix[22266]:         (elixir 1.18.1) lib/string/chars.ex:22: String.Chars.to_string/1
Oct 30 20:07:58 akkoma mix[22266]:         nofile:1: (file)
Oct 30 20:07:58 akkoma mix[22266]:         (elixir 1.18.1) src/elixir.erl:388: :elixir.eval_external_handler/3
Oct 30 20:07:58 akkoma mix[22266]:         (stdlib 6.2.1) erl_eval.erl:919: :erl_eval.do_apply/7
Oct 30 20:07:58 akkoma mix[22266]:         (stdlib 6.2.1) erl_eval.erl:663: :erl_eval.expr/6
Oct 30 20:07:58 akkoma mix[22266]:         (stdlib 6.2.1) erl_eval.erl:271: :erl_eval.exprs/6
Oct 30 20:07:58 akkoma mix[22266]:         (elixir 1.18.1) src/elixir.erl:366: :elixir.eval_forms/4
Oct 30 20:11:31 akkoma mix[22266]: 20:11:31.783 request_id=GHNd3wsHp0q8lfsAAG-B [error] Internal server error: %Protocol.UndefinedError{protocol: String.Chars, value: %Pleroma.User{__meta__: #Ecto.Schema.Metadata<:loaded, "users">, id: "AzkHGQWt6e8dX77rcW", bio: "", raw_bio: nil, email: "eggsy.gallahad@gmail.com", name: "eggsy", nickname: "eggsy", password_hash: "", password: nil, password_confirmation: nil, ap_id: "https://psysocial.net/users/eggsy", avatar: %{}, local: true, follower_address: "https://psysocial.net/users/eggsy/followers", following_address: "https://psysocial.net/users/eggsy/following", featured_address: "https://psysocial.net/users/eggsy/collections/featured", search_rank: nil, search_type: nil, tags: [], last_refreshed_at: nil, last_digest_emailed_at: ~N[2025-10-30 20:11:07], banner: %{}, background: %{}, note_count: 0, follower_count: 0, following_count: 0, is_locked: false, is_confirmed: true, password_reset_pending: false, is_approved: true, registration_reason: nil, confirmation_token: nil, default_scope: "public", domain_blocks: [], is_active: true, no_rich_text: false, is_moderator: false, is_admin: false, show_role: true, mastofe_settings: nil, uri: nil, hide_followers_count: false, hide_follows_count: false, hide_followers: false, hide_follows: false, hide_favorites: true, email_notifications: %{"digest" => false}, mascot: nil, ...}, description: ""}
Oct 30 20:11:31 akkoma mix[22266]: 20:11:31.784 [error] #PID<0.6705.0> running Pleroma.Web.Endpoint (connection #PID<0.6704.0>, stream id 1) terminated
Oct 30 20:11:31 akkoma mix[22266]: Server: psysocial.net:80 (http)
Oct 30 20:11:31 akkoma mix[22266]: Request: GET /api/account/confirm_email/AzkHGQWt6e8dX77rcW/iUe1Ce1pHHH7KDxFDPbaKhI7TzJQRzqF9M0fsr1MrKw%3D
Oct 30 20:11:31 akkoma mix[22266]: ** (exit) an exception was raised:
Oct 30 20:11:31 akkoma mix[22266]:     ** (Protocol.UndefinedError) protocol String.Chars not implemented for type Pleroma.User (a struct). This protocol is implemented for the following type(s): Atom, BitString, Date, DateTime, Decimal, Float, Floki.Selector, Floki.Selector.AttributeSelector, Floki.Selector.Combinator, Floki.Selector.Functional, Floki.Selector.PseudoClass, Integer, List, NaiveDateTime, OpenApiSpex.Cast.Error, Phoenix.LiveComponent.CID, Postgrex.Copy, Postgrex.Query, Regex, RemoteIp.Block, Time, URI, Version, Version.Requirement
Oct 30 20:11:31 akkoma mix[22266]: Got value:
Oct 30 20:11:31 akkoma mix[22266]:     %Pleroma.User{
Oct 30 20:11:31 akkoma mix[22266]:       __meta__: #Ecto.Schema.Metadata<:loaded, "users">,
Oct 30 20:11:31 akkoma mix[22266]:       id: "AzkHGQWt6e8dX77rcW",
Oct 30 20:11:31 akkoma mix[22266]:       bio: "",
Oct 30 20:11:31 akkoma mix[22266]:       raw_bio: nil,
Oct 30 20:11:31 akkoma mix[22266]:       email: "",
Oct 30 20:11:31 akkoma mix[22266]:       name: "eggsy",
Oct 30 20:11:31 akkoma mix[22266]:       nickname: "eggsy",
Oct 30 20:11:31 akkoma mix[22266]:       password_hash: "",
Oct 30 20:11:31 akkoma mix[22266]:       password: nil,
Oct 30 20:11:31 akkoma mix[22266]:       password_confirmation: nil,
Oct 30 20:11:31 akkoma mix[22266]:       ap_id: "https://psysocial.net/users/eggsy",
Oct 30 20:11:31 akkoma mix[22266]:       avatar: %{},
Oct 30 20:11:31 akkoma mix[22266]:       local: true,
Oct 30 20:11:31 akkoma mix[22266]:       follower_address: "https://psysocial.net/users/eggsy/followers",
Oct 30 20:11:31 akkoma mix[22266]:       following_address: "https://psysocial.net/users/eggsy/following",
Oct 30 20:11:31 akkoma mix[22266]:       featured_address: "https://psysocial.net/users/eggsy/collections/featured",
Oct 30 20:11:31 akkoma mix[22266]:       search_rank: nil,
Oct 30 20:11:31 akkoma mix[22266]:       search_type: nil,
Oct 30 20:11:31 akkoma mix[22266]:       tags: [],
Oct 30 20:11:31 akkoma mix[22266]:       last_refreshed_at: nil,
Oct 30 20:11:31 akkoma mix[22266]:       last_digest_emailed_at: ~N[2025-10-30 20:11:07],
Oct 30 20:11:31 akkoma mix[22266]:       banner: %{},
Oct 30 20:11:31 akkoma mix[22266]:       background: %{},
Oct 30 20:11:31 akkoma mix[22266]:       note_count: 0,
Oct 30 20:11:31 akkoma mix[22266]:       follower_count: 0,
Oct 30 20:11:31 akkoma mix[22266]:       following_count: 0,
Oct 30 20:11:31 akkoma mix[22266]:       is_locked: false,
Oct 30 20:11:31 akkoma mix[22266]:       is_confirmed: true,
Oct 30 20:11:31 akkoma mix[22266]:       password_reset_pending: false,
Oct 30 20:11:31 akkoma mix[22266]:       is_approved: true,
Oct 30 20:11:31 akkoma mix[22266]:       registration_reason: nil,
Oct 30 20:11:31 akkoma mix[22266]:       confirmation_token: nil,
Oct 30 20:11:31 akkoma mix[22266]:       default_scope: "public",
Oct 30 20:11:31 akkoma mix[22266]:       domain_blocks: [],
Oct 30 20:11:31 akkoma mix[22266]:       is_active: true,
Oct 30 20:11:31 akkoma mix[22266]:       no_rich_text: false,
Oct 30 20:11:31 akkoma mix[22266]:       is_moderator: false,
Oct 30 20:11:31 akkoma mix[22266]:       is_admin: false,
Oct 30 20:11:31 akkoma mix[22266]:       show_role: true,
Oct 30 20:11:31 akkoma mix[22266]:       mastofe_settings: nil,
Oct 30 20:11:31 akkoma mix[22266]:       uri: nil,
Oct 30 20:11:31 akkoma mix[22266]:       hide_followers_count: false,
Oct 30 20:11:31 akkoma mix[22266]:       hide_follows_count: false,
Oct 30 20:11:31 akkoma mix[22266]:       hide_followers: false,
Oct 30 20:11:31 akkoma mix[22266]:       hide_follows: false,
Oct 30 20:11:31 akkoma mix[22266]:       hide_favorites: true,
Oct 30 20:11:31 akkoma mix[22266]:       email_notifications: %{"digest" => false},
Oct 30 20:11:31 akkoma mix[22266]:       mascot: nil,
Oct 30 20:11:31 akkoma mix[22266]:       emoji: %{},
Oct 30 20:11:31 akkoma mix[22266]:       pleroma_settings_store: %{},
Oct 30 20:11:31 akkoma mix[22266]:       ...
Oct 30 20:11:31 akkoma mix[22266]:     }
Oct 30 20:11:31 akkoma mix[22266]:         (elixir 1.18.1) lib/string/chars.ex:3: String.Chars.impl_for!/1
Oct 30 20:11:31 akkoma mix[22266]:         (elixir 1.18.1) lib/string/chars.ex:22: String.Chars.to_string/1
Oct 30 20:11:31 akkoma mix[22266]:         nofile:1: (file)
Oct 30 20:11:31 akkoma mix[22266]:         (elixir 1.18.1) src/elixir.erl:388: :elixir.eval_external_handler/3
Oct 30 20:11:31 akkoma mix[22266]:         (stdlib 6.2.1) erl_eval.erl:919: :erl_eval.do_apply/7
Oct 30 20:11:31 akkoma mix[22266]:         (stdlib 6.2.1) erl_eval.erl:663: :erl_eval.expr/6
Oct 30 20:11:31 akkoma mix[22266]:         (stdlib 6.2.1) erl_eval.erl:271: :erl_eval.exprs/6
Oct 30 20:11:31 akkoma mix[22266]:         (elixir 1.18.1) src/elixir.erl:366: :elixir.eval_forms/4

Severity

I cannot use the software

Have you searched for this issue?

  • I have double-checked and have not found this issue mentioned anywhere.
### Your setup From source ### Extra details Ubuntu 25.04 ### Version stable 6d88834f6 ### PostgreSQL version 17 ### What were you trying to do? Click the link in email to verify account. ### What did you expect to happen? Confirm account and redirect to main page ### What actually happened? Internal Server Error ### Logs ```shell ─▶ journalctl -u akkoma.service -f Oct 30 20:07:58 akkoma mix[22266]: ... Oct 30 20:07:58 akkoma mix[22266]: } Oct 30 20:07:58 akkoma mix[22266]: (elixir 1.18.1) lib/string/chars.ex:3: String.Chars.impl_for!/1 Oct 30 20:07:58 akkoma mix[22266]: (elixir 1.18.1) lib/string/chars.ex:22: String.Chars.to_string/1 Oct 30 20:07:58 akkoma mix[22266]: nofile:1: (file) Oct 30 20:07:58 akkoma mix[22266]: (elixir 1.18.1) src/elixir.erl:388: :elixir.eval_external_handler/3 Oct 30 20:07:58 akkoma mix[22266]: (stdlib 6.2.1) erl_eval.erl:919: :erl_eval.do_apply/7 Oct 30 20:07:58 akkoma mix[22266]: (stdlib 6.2.1) erl_eval.erl:663: :erl_eval.expr/6 Oct 30 20:07:58 akkoma mix[22266]: (stdlib 6.2.1) erl_eval.erl:271: :erl_eval.exprs/6 Oct 30 20:07:58 akkoma mix[22266]: (elixir 1.18.1) src/elixir.erl:366: :elixir.eval_forms/4 Oct 30 20:11:31 akkoma mix[22266]: 20:11:31.783 request_id=GHNd3wsHp0q8lfsAAG-B [error] Internal server error: %Protocol.UndefinedError{protocol: String.Chars, value: %Pleroma.User{__meta__: #Ecto.Schema.Metadata<:loaded, "users">, id: "AzkHGQWt6e8dX77rcW", bio: "", raw_bio: nil, email: "eggsy.gallahad@gmail.com", name: "eggsy", nickname: "eggsy", password_hash: "", password: nil, password_confirmation: nil, ap_id: "https://psysocial.net/users/eggsy", avatar: %{}, local: true, follower_address: "https://psysocial.net/users/eggsy/followers", following_address: "https://psysocial.net/users/eggsy/following", featured_address: "https://psysocial.net/users/eggsy/collections/featured", search_rank: nil, search_type: nil, tags: [], last_refreshed_at: nil, last_digest_emailed_at: ~N[2025-10-30 20:11:07], banner: %{}, background: %{}, note_count: 0, follower_count: 0, following_count: 0, is_locked: false, is_confirmed: true, password_reset_pending: false, is_approved: true, registration_reason: nil, confirmation_token: nil, default_scope: "public", domain_blocks: [], is_active: true, no_rich_text: false, is_moderator: false, is_admin: false, show_role: true, mastofe_settings: nil, uri: nil, hide_followers_count: false, hide_follows_count: false, hide_followers: false, hide_follows: false, hide_favorites: true, email_notifications: %{"digest" => false}, mascot: nil, ...}, description: ""} Oct 30 20:11:31 akkoma mix[22266]: 20:11:31.784 [error] #PID<0.6705.0> running Pleroma.Web.Endpoint (connection #PID<0.6704.0>, stream id 1) terminated Oct 30 20:11:31 akkoma mix[22266]: Server: psysocial.net:80 (http) Oct 30 20:11:31 akkoma mix[22266]: Request: GET /api/account/confirm_email/AzkHGQWt6e8dX77rcW/iUe1Ce1pHHH7KDxFDPbaKhI7TzJQRzqF9M0fsr1MrKw%3D Oct 30 20:11:31 akkoma mix[22266]: ** (exit) an exception was raised: Oct 30 20:11:31 akkoma mix[22266]: ** (Protocol.UndefinedError) protocol String.Chars not implemented for type Pleroma.User (a struct). This protocol is implemented for the following type(s): Atom, BitString, Date, DateTime, Decimal, Float, Floki.Selector, Floki.Selector.AttributeSelector, Floki.Selector.Combinator, Floki.Selector.Functional, Floki.Selector.PseudoClass, Integer, List, NaiveDateTime, OpenApiSpex.Cast.Error, Phoenix.LiveComponent.CID, Postgrex.Copy, Postgrex.Query, Regex, RemoteIp.Block, Time, URI, Version, Version.Requirement Oct 30 20:11:31 akkoma mix[22266]: Got value: Oct 30 20:11:31 akkoma mix[22266]: %Pleroma.User{ Oct 30 20:11:31 akkoma mix[22266]: __meta__: #Ecto.Schema.Metadata<:loaded, "users">, Oct 30 20:11:31 akkoma mix[22266]: id: "AzkHGQWt6e8dX77rcW", Oct 30 20:11:31 akkoma mix[22266]: bio: "", Oct 30 20:11:31 akkoma mix[22266]: raw_bio: nil, Oct 30 20:11:31 akkoma mix[22266]: email: "", Oct 30 20:11:31 akkoma mix[22266]: name: "eggsy", Oct 30 20:11:31 akkoma mix[22266]: nickname: "eggsy", Oct 30 20:11:31 akkoma mix[22266]: password_hash: "", Oct 30 20:11:31 akkoma mix[22266]: password: nil, Oct 30 20:11:31 akkoma mix[22266]: password_confirmation: nil, Oct 30 20:11:31 akkoma mix[22266]: ap_id: "https://psysocial.net/users/eggsy", Oct 30 20:11:31 akkoma mix[22266]: avatar: %{}, Oct 30 20:11:31 akkoma mix[22266]: local: true, Oct 30 20:11:31 akkoma mix[22266]: follower_address: "https://psysocial.net/users/eggsy/followers", Oct 30 20:11:31 akkoma mix[22266]: following_address: "https://psysocial.net/users/eggsy/following", Oct 30 20:11:31 akkoma mix[22266]: featured_address: "https://psysocial.net/users/eggsy/collections/featured", Oct 30 20:11:31 akkoma mix[22266]: search_rank: nil, Oct 30 20:11:31 akkoma mix[22266]: search_type: nil, Oct 30 20:11:31 akkoma mix[22266]: tags: [], Oct 30 20:11:31 akkoma mix[22266]: last_refreshed_at: nil, Oct 30 20:11:31 akkoma mix[22266]: last_digest_emailed_at: ~N[2025-10-30 20:11:07], Oct 30 20:11:31 akkoma mix[22266]: banner: %{}, Oct 30 20:11:31 akkoma mix[22266]: background: %{}, Oct 30 20:11:31 akkoma mix[22266]: note_count: 0, Oct 30 20:11:31 akkoma mix[22266]: follower_count: 0, Oct 30 20:11:31 akkoma mix[22266]: following_count: 0, Oct 30 20:11:31 akkoma mix[22266]: is_locked: false, Oct 30 20:11:31 akkoma mix[22266]: is_confirmed: true, Oct 30 20:11:31 akkoma mix[22266]: password_reset_pending: false, Oct 30 20:11:31 akkoma mix[22266]: is_approved: true, Oct 30 20:11:31 akkoma mix[22266]: registration_reason: nil, Oct 30 20:11:31 akkoma mix[22266]: confirmation_token: nil, Oct 30 20:11:31 akkoma mix[22266]: default_scope: "public", Oct 30 20:11:31 akkoma mix[22266]: domain_blocks: [], Oct 30 20:11:31 akkoma mix[22266]: is_active: true, Oct 30 20:11:31 akkoma mix[22266]: no_rich_text: false, Oct 30 20:11:31 akkoma mix[22266]: is_moderator: false, Oct 30 20:11:31 akkoma mix[22266]: is_admin: false, Oct 30 20:11:31 akkoma mix[22266]: show_role: true, Oct 30 20:11:31 akkoma mix[22266]: mastofe_settings: nil, Oct 30 20:11:31 akkoma mix[22266]: uri: nil, Oct 30 20:11:31 akkoma mix[22266]: hide_followers_count: false, Oct 30 20:11:31 akkoma mix[22266]: hide_follows_count: false, Oct 30 20:11:31 akkoma mix[22266]: hide_followers: false, Oct 30 20:11:31 akkoma mix[22266]: hide_follows: false, Oct 30 20:11:31 akkoma mix[22266]: hide_favorites: true, Oct 30 20:11:31 akkoma mix[22266]: email_notifications: %{"digest" => false}, Oct 30 20:11:31 akkoma mix[22266]: mascot: nil, Oct 30 20:11:31 akkoma mix[22266]: emoji: %{}, Oct 30 20:11:31 akkoma mix[22266]: pleroma_settings_store: %{}, Oct 30 20:11:31 akkoma mix[22266]: ... Oct 30 20:11:31 akkoma mix[22266]: } Oct 30 20:11:31 akkoma mix[22266]: (elixir 1.18.1) lib/string/chars.ex:3: String.Chars.impl_for!/1 Oct 30 20:11:31 akkoma mix[22266]: (elixir 1.18.1) lib/string/chars.ex:22: String.Chars.to_string/1 Oct 30 20:11:31 akkoma mix[22266]: nofile:1: (file) Oct 30 20:11:31 akkoma mix[22266]: (elixir 1.18.1) src/elixir.erl:388: :elixir.eval_external_handler/3 Oct 30 20:11:31 akkoma mix[22266]: (stdlib 6.2.1) erl_eval.erl:919: :erl_eval.do_apply/7 Oct 30 20:11:31 akkoma mix[22266]: (stdlib 6.2.1) erl_eval.erl:663: :erl_eval.expr/6 Oct 30 20:11:31 akkoma mix[22266]: (stdlib 6.2.1) erl_eval.erl:271: :erl_eval.exprs/6 Oct 30 20:11:31 akkoma mix[22266]: (elixir 1.18.1) src/elixir.erl:366: :elixir.eval_forms/4 ``` ### Severity I cannot use the software ### Have you searched for this issue? - [x] I have double-checked and have not found this issue mentioned anywhere.

the account in this stacktrace is already confirmed - note is_confirmed: true and confirmation_token: nil - not sure if errors on the edge case of trying to confirm a confirmed account are an issue?

the account in this stacktrace is already confirmed - note `is_confirmed: true` and `confirmation_token: nil` - not sure if errors on the edge case of trying to confirm a confirmed account are an issue?
Author

FloatingGhost, hi thanks for the reply. No. I'm not trying to confirm a confirmed account.

Steps to reproduce:

  1. You register for a new account.
  2. It sends a verification email.
  3. You click the link in the verificaton email to activate account and the browser says internal server error.

I tried on the version I created the issue about, I tried it on the latest tag, and the development versions. Each of them gives the same error when you try to confirm a freshly signed up account.

It gives an internal server error in browser, and the stack trace in the backend. Even though it says internal server error, it still does seem to confirm the account.

FloatingGhost, hi thanks for the reply. No. I'm not trying to confirm a confirmed account. Steps to reproduce: 1. You register for a new account. 2. It sends a verification email. 3. You click the link in the verificaton email to activate account and the browser says internal server error. I tried on the version I created the issue about, I tried it on the latest tag, and the development versions. Each of them gives the same error when you try to confirm a freshly signed up account. It gives an internal server error in browser, and the stack trace in the backend. Even though it says internal server error, it still does seem to confirm the account.

but your stack trace shows a confirmed account - again, note the is_confirmed field
I can't replicate the issue either

but your stack trace shows a confirmed account - again, note the is_confirmed field I can't replicate the issue either
Author

Yes, that's the bug. Account is just freshly created. You receive an activation link. You click the link to activate/confirm account, and it crashes.

I'm definitely not trying to confirm a confirmed account.

Yes, that's the bug. Account is just freshly created. You receive an activation link. You click the link to activate/confirm account, and it crashes. I'm definitely not trying to confirm a confirmed account.
Owner

There literally is nothing in the code handling this endpoint even attempting to coerce a user into a string:

def confirm_email(conn, %{"user_id" => uid, "token" => token}) do
case User.get_cached_by_id(uid) do
%User{local: true, is_confirmed: false, confirmation_token: ^token} = user ->
case User.confirm(user) do
{:ok, _} ->
redirect(conn, to: "/")
{:error, _} ->
json_reply(conn, 400, "Unable to confirm")
end
%User{is_confirmed: true} ->
json_reply(conn, 400, "Already verified email")
_ ->
json_reply(conn, 400, "Couldn't verify email")
end
end

Either

  • The ID resolves to a valid user, who is local and not yet confirmed and matches the token. Then confirming is attempted:
    • if confirmation successful, we redirect *(without rendering any user info)
    • if confirmation fails, we return a static error message
  • The ID resolves to a valid user, who is already confirmed. Then we return a static error message
  • The ID resolves to any other valid user or no user at all. Then we return a static error.

If anything goes wrong it would need to be during confirmation itself *(but this too is rather simple code), or during the post_registration_actions which send out emails etc. I cannot reproduce the issue though, neither can FloatingGhost and if the sissue was in post_registration_actions many more instances should be affected. Plus your stacktrace misses the most important bit displaying a puzzling nofile instead. As is I’m afraid it’s impossible to help you (and unlikely for it to be a wider issue).

To try and restore your setup to a sane state and maybe at least get a proper stacktrace you could try the following to wipe any custom modifications or stale compilation caches; then try again:

# stop the instance, then in the repo root
# run everything below making sure every _individual_ command succeeds!
$ rm -fr _build deps
# assuming origin is the remote pointing at https://akkoma.dev/AkkomaGang/akkoma.git
$ git fetch origin
$ git reset --hard origin/develop
$ git clean -fdx -- lib/ test/ priv/ static/
$ export MIX_ENV=prod
$ mix deps.get
$ mix deps.compile
$ mix compile
$ mix ecto.migrate
# now you can start the instance again

Side note: posting password hashes and email addresses for a user as you’ve done in the OP is generally not a good idea; you’ll want to redact those in the future.

There literally is _nothing_ in the code handling this endpoint even attempting to coerce a user into a string: https://akkoma.dev/AkkomaGang/akkoma/src/commit/d4a86697d9f001c3c7bb9bde084b1b3be96403b8/lib/pleroma/web/twitter_api/controller.ex#L20-L37 Either - The ID resolves to a valid user, who is local _and_ not yet confirmed _and_ matches the token. Then confirming is attempted: - if confirmation successful, we redirect *(without rendering any user info) - if confirmation fails, we return a static error message - The ID resolves to a valid user, who is already confirmed. Then we return a static error message - The ID resolves to any other valid user or no user at all. Then we return a static error. If anything goes wrong it would need to be during `confirmation` itself *(but this too is rather simple code), or during the `post_registration_actions` which send out emails etc. I cannot reproduce the issue though, neither can FloatingGhost and if the sissue was in `post_registration_actions` many more instances should be affected. Plus your stacktrace misses the most important bit displaying a puzzling `nofile` instead. As is I’m afraid it’s impossible to help you (and unlikely for it to be a wider issue). To try and restore your setup to a sane state and maybe at least get a proper stacktrace you could try the following to wipe any custom modifications or stale compilation caches; then try again: ```sh # stop the instance, then in the repo root # run everything below making sure every _individual_ command succeeds! $ rm -fr _build deps # assuming origin is the remote pointing at https://akkoma.dev/AkkomaGang/akkoma.git $ git fetch origin $ git reset --hard origin/develop $ git clean -fdx -- lib/ test/ priv/ static/ $ export MIX_ENV=prod $ mix deps.get $ mix deps.compile $ mix compile $ mix ecto.migrate # now you can start the instance again ``` Side note: posting password hashes and email addresses for a user as you’ve done in the OP is generally not a good idea; you’ll want to redact those in the future.
Author

After doing your instructions I no longer get an error when trying to verify a new user.

Side note: posting password hashes and email addresses for a user as you’ve done in the OP is generally not a good idea; you’ll want to redact those in the future.

Those are not real hashes or email addresses. I already took care to make sure they were fake when filing the bug.

After doing your instructions I no longer get an error when trying to verify a new user. > Side note: posting password hashes and email addresses for a user as you’ve done in the OP is generally not a good idea; you’ll want to redact those in the future. Those are not real hashes or email addresses. I already took care to make sure they were fake when filing the bug.
Owner

splendid, seems like either a bugged compile cache and/or some unintentional modification to the source was the culprit then

splendid, seems like either a bugged compile cache and/or some unintentional modification to the source was the culprit then
Oneric 2025-11-20 00:44:32 +00:00
  • closed this issue
  • removed the
    bug
    label
Sign in to join this conversation.
No milestone
No project
No assignees
3 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
AkkomaGang/akkoma#999
No description provided.