convos icon indicating copy to clipboard operation
convos copied to clipboard

Container crashed due to invalid instruction in argon2.so, under Haswell or older

Open nroach44 opened this issue 10 months ago • 2 comments

Describe the bug When attempting to run this container on a machine with an Ivy Bridge / Haswell CPU, the container will start up, but when "logging in" to create a password, the container dies.

The following is seen in syslog:

Oct 26 09:57:55 uranus kernel: traps: perl[144999] trap invalid opcode ip:7f626e209811 sp:7ffedc4b5b10 error:0 in Argon2.so[7f626e206000+5000]

Since that file seems to live at /diff/app/local/lib/perl5/x86_64-linux-thread-multi/auto/Crypt/Argon2/Argon2.so in the container's work dir, I'm logging it here. If it should be filed against the main container let me know.

Since Haswell and Ivy Bridge are old, but still quite capable for self hosting, and there's no mention of required CPU functions for x86_64 on the Alpine Linux wiki, I believe this to be a bug.

To Reproduce Run the container on a machine with an Ivy Bridge or Haswell CPU.

Expected behavior Container runs without issue.

Screenshots Nil

Environment: Debian 12, podman.

nroach44 avatar Oct 26 '23 02:10 nroach44

Maybe relevant upstream issue:

  • https://github.com/Leont/crypt-argon2/issues/12

stigtsp avatar Oct 26 '23 10:10 stigtsp

Hi @nroach44

This is likely caused by the issue linked above, where Crypt::Argon2 is built using -march=native. I hope this will be fixed soon. In the meanwhile, you can try to rebuild the docker container on your machine - it should work.

stigtsp avatar Oct 26 '23 11:10 stigtsp

@nroach44, @trymbill, @jberger: If you have some time to spare, could you test v8.06?

jhthorsen avatar Mar 18 '24 01:03 jhthorsen

#worksForMe

Both in general and when changing my password to a temp password, logging out and back in, and then changing it again.

nroach44 avatar Mar 20 '24 08:03 nroach44

I'm not having luck with v8.06. Still cannot login, the pod crashes when attempting. I will also note however that the help page displays v8.05 even when I've deployed v8.06. Is there an easy way to confirm which code I'm running?

jberger avatar Mar 20 '24 15:03 jberger

I'm going to close this issue, since it seems resolved.

jhthorsen avatar Mar 20 '24 23:03 jhthorsen