openwall / john

John the Ripper jumbo - advanced offline password cracker, which supports hundreds of hash and cipher types, and runs on many operating systems, CPUs, GPUs, and even some FPGAs
https://www.openwall.com/john/
Other
10.15k stars 2.08k forks source link

Formats failing on the new Intel OpenCL CPU intel-oneapi (2024.0) #5379

Closed claudioandre-br closed 4 months ago

claudioandre-br commented 10 months ago

FTR:

---------------------------- TESTING ----------------------------- Binary: ../run/john => ../run/john --list=build-info Version: 1.9.0-jumbo-1+bleeding-09f03ea13e 2023-11-25 10:47:56 -0300

[...] Testing: krb5tgs-opencl, Kerberos 5 TGS-REP etype 23 [MD4 HMAC-MD5 RC4 OpenCL]... Build log: Compilation started Compilation done Linking started Linking done Device build started Options used by backend compiler: -I opencl -cl-mad-enable -DDEVICE_INFO=36 -DSIZEOF_HOST_SIZE_T=8 -DDEV_VER_MAJOR=2023 -DDEV_VER_MINOR=16 -D_OPENCL_COMPILER -DPLAINTEXT_LENGTH=27 -DDATA_LEN=1145 -DUCS_2 -DCONST_CACHE_SIZE=131072 -DENC_RAW -DENC_RAW -DLOC_0=-1 -DLOC_1=-1 -DLOC_2=-1 -DLOC_3=-1 -DNUM_INT_KEYS=1 -DIS_STATIC_GPU_MASK=0 Device build done Kernel "krb5tgs_init" was successfully vectorized (16) Kernel "krb5tgs_crypt" was successfully vectorized (16) Done. FAILED (crypt_all(49) zero return) [...] Testing: pfx-opencl, (.pfx, .p12) [PKCS#12 PBE (SHA1/SHA-256/512) OpenCL]... Build log: Compilation started Compilation done Linking started Linking done Device build started Options used by backend compiler: -I opencl -cl-mad-enable -DDEVICE_INFO=36 -DSIZEOF_HOST_SIZE_T=8 -DDEV_VER_MAJOR=2023 -DDEV_VER_MINOR=16 -D_OPENCL_COMPILER -DPLAINTEXT_LENGTH=48 -DMAX_DATA_LENGTH=8192 -DENC_RAW -DENC_RAW Device build done Kernel "pfx" was successfully vectorized (16) Done. FAILED (cmp_all(49)) [...] 2 out of 73 tests have FAILED

solardiz commented 10 months ago

Is the OpenCL "driver" upgrade the only change? I made relevant changes in July, so if your prior testing was before July, then those changes I made could also be suspect.

claudioandre-br commented 10 months ago

It is CI.

[Edited] It was tested and passed yesterday. See the download date of run_tests.sh and --list=build-info output

Rebased yesterday (it includes NEWS: Add Keplr wallet support):

2023-11-25 16:20:07 (40.5 MB/s) - 'run_tests.sh' saved [14251/14251]

---------------------------- TESTING -----------------------------
Binary: ../run/john
=> ../run/john --list=build-info
Version: 1.9.0-jumbo-1+bleeding-09f03ea13e 2023-11-25 10:47:56 -0300

[...]
Testing: krb5tgs-opencl, Kerberos 5 TGS-REP etype 23 [MD4 HMAC-MD5 RC4 OpenCL]... Build log: Compilation started
Compilation done
Linking started
Linking done
Device build started
Device build done
Kernel <krb5tgs_init> was successfully vectorized (16)
Kernel <krb5tgs_crypt> was not vectorized
Done.
PASS
[...]

Testing: pfx-opencl, (.pfx, .p12) [PKCS#12 PBE (SHA1/SHA-256/512) OpenCL]... Build log: Compilation started
Compilation done
Linking started
Linking done
Device build started
Device build done
Kernel <pfx> was successfully vectorized (16)
Done.
PASS
solardiz commented 10 months ago

In other words, it worked yesterday and stopped working today with only the OpenCL "driver" having changed, correct?

claudioandre-br commented 10 months ago

In other words, it worked yesterday and stopped working today with only the OpenCL "driver" having changed, correct?

The exact same (last) commit was tested yesterday and today.

solardiz commented 10 months ago

Somehow we saw even more/different formats fail in: https://github.com/openwall/john/pull/5382#issuecomment-1838999062

claudioandre-br commented 10 months ago

mscash (OpenCL) formats are disabled during my tests. They were problematic somewhere and I keep them disabled (only inside CI).

solardiz commented 4 months ago

It's good to have this recorded, but I see no need to track it as an issue.