Skip to content

Argon2 Threading failure #73

Description

@andreasknoepfle

We recently started seeing errors 💣 in out production & staging systems related to argon2_elixir.
All calls that triggered the error we found so far were throwing in Argon2.verify_pass/2.

** (ArgumentError) Threading failure
lib/argon2/base.ex:126 Argon2.Base.handle_error/1

The only thing that we can link to the issue is an update from OTP 28.4.2 to 28.4.3 that happened around the same time, where the error now appeared sporadically. Now with 28.5.0.2 it seems that we get the error near to all the time, but it only seems to be appearing after the system ran for a while (weirdly).

Since the error is related to threading, we also tried setting parallelism to 1, to see if we can fix it temporarily, but this doesn't seem to do the trick.
Is there a chance anything related to changes in OTP are causing issues with argon's threading? Do you have an idea what could be going on?

Interestingly enough, we have never seen the issue appearing on our developer machines (mostly Mac, weather in docker/alpine or just natively) but always only in the relatively restricted cloud environments of our customers.

Thank you already 💚

Cheers
Andi

Details:
argon2_elixir 4.1.3
Elixir 1.20.1
OTP 28.5.0.2
Linux/Alpine (hex.pm base image: https://bob.hex.pm/docker?elixir_version=1.20.1&erlang_version=28.5.0.2&os=alpine&os_version=3.23.4 )

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions