openwall / openwall/john

crypt format occasionally fails a `--test-full=0 --format=cpu` run on Ubuntu 22 powerpc64le

Open
#5,491 16 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

notes/external issues
Dominant language
C
Stars
13.6k
Forks
2.6k
PR merge metrics
No merged PRs in 30d

Description

This is Ubuntu 22, Canonical's hardware. Nothing related changed in john itself recently.

This is probably a hard to reproduce issue.

Version: 1.9.0-jumbo-1+bleeding-d384b5be9a 2024-05-30 20:33:48 +0200
Build: linux-gnu 64-bit powerpc64le Altivec AC OMP
SIMD: AltiVec, interleaving: MD4:1 MD5:1 SHA1:1 SHA256:1 SHA512:1
[...]
gcc version: 11.4.0
GNU libc version: 2.35 (loaded: 2.35)
Crypto library: OpenSSL
OpenSSL library version: 030000020
OpenSSL 3.0.2 15 Mar 2022
Will run 4 OpenMP threads
Testing: descrypt, traditional crypt(3) [DES 128/128 AltiVec]... (4xOMP) PASS
Testing: bsdicrypt, BSDI crypt(3) ("_J9..", 725 iterations) [DES 128/128 AltiVec]... (4xOMP) PASS
[...]
Testing: dummy [N/A]... PASS
Testing: crypt, generic crypt(3) [?/64]... (4xOMP) FAILED (cmp_all(96))
1 out of 410 tests have FAILED
 FAILED: -test-full=0 --format=cpu

In all cases, documenting. Well, "a close look" at the format can always make it better.


As I recall, crypt is a format that I have seen fail in some context(s).

Full log at https://launchpadlibrarian.net/733306772/buildlog_snap_ubuntu_jammy_ppc64el_john-the-ripper_BUILDING.txt.gz

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 by reproducing --test-full=0 --format=cpu on Ubuntu 22 powerpc64le using the reported John build and OpenMP settings, then inspect the linked full log around the crypt format failure. Trace the cmp_all(96) result and compare it with the passing format tests; done means identifying a reproducible cause and verifying a fix or documenting why the failure occurs.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.