Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CI: add a build for ARM architecture #5416

Merged
merged 3 commits into from
Jan 9, 2024

Conversation

claudioandre-br
Copy link
Member

Remove some unnecessary tasks and add a build for ARM.


Using CircleCI SSH we will be able to reproduce and debug the SunMD5 issue.

Testing: SunMD5 [MD5 128/128 ASIMD 4x2]... (2xOMP) *** stack smashing detected ***: terminated
.circleci/circle-ci.sh: line 102:  9032 Aborted                 (core dumped) $JTR --test=0

@@ -11,7 +11,6 @@ jobs:
- run:
name: Testing JtR
command: .circleci/circle-ci.sh TEST
no_output_timeout: 20m
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We (probably) don't need this.

@solardiz
Copy link
Member

solardiz commented Jan 5, 2024

Using CircleCI SSH we will be able to reproduce and debug the SunMD5 issue.

Testing: SunMD5 [MD5 128/128 ASIMD 4x2]... (2xOMP) *** stack smashing detected ***: terminated
.circleci/circle-ci.sh: line 102:  9032 Aborted                 (core dumped) $JTR --test=0

This actually failed just like that. So I guess this PR is not intended for merging yet? @claudioandre-br Are you going to debug and fix this issue now? Or on the contrary, exclude SunMD5 from this test for now? Thank you!

@solardiz
Copy link
Member

solardiz commented Jan 5, 2024

GitHub Actions is going to also have Arm support soon: https://github.blog/changelog/2023-10-30-accelerate-your-ci-cd-with-arm-based-hosted-runners-in-github-actions/ "will be entering private beta in January 2024."

@claudioandre-br
Copy link
Member Author

So I guess this PR is not intended for merging yet?

It's easy to reproduce the error and get information about it, but isn't it a bug in the ARM omp implementation itself? I'll try disabling simd just to see what happens. but the for itself looks good.

If so, it is beyond our hands.

@solardiz
Copy link
Member

solardiz commented Jan 5, 2024

isn't it a bug in the ARM omp implementation itself?

I think we don't know.

@solardiz
Copy link
Member

solardiz commented Jan 6, 2024

exclude SunMD5 from this test for now

Maybe we need to do that, so that we test the rest of the formats with Arm ASIMD, OpenMP, and ASan? We haven't run such tests beyond this format, have we?

@claudioandre-br
Copy link
Member Author

exclude SunMD5 from this test for now

Maybe we need to do that, so that we test the rest of the formats with Arm ASIMD, OpenMP, and ASan? We haven't run such tests beyond this format, have we?

All other formats (that are not disabled because of something else [1]) are tested in Mac and by this PR.

[1] more or less 20 are deactivated for macOS.

[...]
Testing: dynamic_2014 [md5($s.md5($p).$s) (PW > 55 or salt > 11 bytes) 128/128 ASIMD 4x2]... PASS
Testing: dummy [N/A]... PASS
Testing: crypt, generic crypt(3) [?/64]... (4xOMP) PASS
All 407 formats passed self-tests!
 Ok: -test-full=0 --format=cpu (macOS ASIMD)

@solardiz
Copy link
Member

solardiz commented Jan 6, 2024

All other formats (that are not disabled because of something else [1]) are tested in Mac and by this PR.

But that's without ASan, right? So maybe we need to exclude SunMD5 from the test with ASan, to let it proceed to test further formats.

[1] more or less 20 are deactivated for macOS.

That's a lot. What are they, and where are they deactivated? Perhaps try re-enabling them?

@claudioandre-br
Copy link
Member Author

All other formats (that are not disabled because of something else [1]) are tested in Mac and by this PR.

But that's without ASan, right? So maybe we need to exclude SunMD5 from the test with ASan, to let it proceed to test further formats.

In fact, since we don't have much hardware, there is no CI with ASAN in non-X86 environments. You're thinking of ASAN for some reason, but it's safe to assume that it's disabled (I mean, not tested) on anything other than Linux X86_64.

[1] more or less 20 are deactivated for macOS.

That's a lot. What are they, and where are they deactivated? Perhaps try re-enabling them?

I disable formats when they fail and I know no one will fix them. For example:

echo 'raw-BLAKE2 = Y' >> ../run/john-local.conf  #BLAKE2
echo 'timeroast = Y' >> ../run/john-local.conf # fails on BE

# Only viable if we use our own NVIDIA hardware;
echo 'pgpdisk-opencl = Y' >> ../run/john-local.conf #FAILED (cmp_all(49)) Intel OpenCL CPU
echo 'bitlocker-opencl = Y' >> ../run/john-local.conf # Very slow format
echo 'argon2-opencl = Y' >> ../run/john-local.conf # Very slow format

Everything disabled is documented (disabling is documenting the format fails for me). Since I know it fails, I stop testing it. But, e.g., I will re-enable the recently fixed VMX format to check.

@claudioandre-br
Copy link
Member Author

For example, the CI that runs in this repository does not have any CPU formats disabled, but it is easy to see that we are not testing (on purpose) many OpenCL formats. At:

@claudioandre-br
Copy link
Member Author

I disabled the sunmd5 testing. So, CI should pass now.

Remove some unnecessary tasks and add a build for ARM.

Signed-off-by: Claudio André <claudioandre.br@gmail.com>
SunMD5 format crashes on ARM (macOS and Linux)
See openwall#5296.

Signed-off-by: Claudio André <claudioandre.br@gmail.com>
Wine tasks cannot be run under new Fedora images, but "normal" tasks
must be updated. Likewise, OpenCL should also be updated (when possible).

Signed-off-by: Claudio André <claudioandre.br@gmail.com>
@solardiz
Copy link
Member

solardiz commented Jan 9, 2024

Somehow ci/circleci: non-SIMD doesn't run. @claudioandre-br Would you like me to merge this PR now?

@claudioandre-br
Copy link
Member Author

I removed it (because GitHub Actions has one identical build job).

@solardiz solardiz merged commit 76dfc5a into openwall:bleeding-jumbo Jan 9, 2024
31 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants