openwall / openwall/john

SunMD5 format crashes in some arches

Open
#5,296 21 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug portability
Dominant language
C
Stars
13.6k
Forks
2.6k
PR merge metrics
No merged PRs in 30d

Description

SunMD5 format crashes in all non X86 arches if SIMD and OMP is enabled.

  • it fails in clang and gcc;
  • on Linux and macOS.

Below is macOS on ARM (see also https://github.com/openwall/john/issues/5296#issuecomment-2054087067 and https://github.com/openwall/john/issues/5296#issuecomment-2746243947):

E,g.:

Testing: SunMD5 [MD5 128/128 ASIMD 4x2]... (4xOMP) run_tests.sh: line 62: 13013 Abort trap: 6
     $JTR_BIN -test-full=0 --format=cpu

Exit status: 134

The best clue we have so far is something around line 791.

https://github.com/openwall/john/blob/c8daf44f05b986880b018991b0f6c83f9b05a1a8/src/sunmd5_fmt_plug.c#L791

It's more about documenting, but maybe someone can reproduce the issue and find a misuse of 'some' API by the format.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with src/sunmd5_fmt_plug.c around line 791 and reproduce the failure using the reported run_tests.sh invocation: $JTR_BIN -test-full=0 --format=cpu. Compare behavior on non-x86 architectures with SIMD and OpenMP enabled under the reported compiler and operating-system combinations. Done means the SunMD5 test no longer aborts in those configurations.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
performance, testing-qa
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.