unable to run hashcat in vgpu
#1
Wink 
There was a problem when starting up, and the console reported an error `cuCtxCreate(): invalid argument`

Below is the log file
Code:
$ cat ./example0.sh 
./hashcat -m 0 -t 32 -a 7 example0.hash ?a?a?a?a example.dict

$ sh ./example0.sh
hashcat (v6.2.6) starting

nvmlDeviceGetFanSpeed(): Not Supported

CUDA API (CUDA 11.7)
====================
* Device #1: Tesla T4, 7583/7680 MB, 40MCU

OpenCL API (OpenCL 3.0 CUDA 11.7.101) - Platform #1 [NVIDIA Corporation]
========================================================================
* Device #2: Tesla T4, skipped

Minimum password length supported by kernel: 0
Maximum password length supported by kernel: 256

Dictionary cache hit:
* Filename..: example.dict
* Passwords.: 128416
* Bytes.....: 1069601
* Keyspace..: 128416

Hashes: 6494 digests; 6494 unique digests, 1 unique salts
Bitmaps: 16 bits, 65536 entries, 0x0000ffff mask, 262144 bytes, 5/13 rotates

Optimizers applied:
* Zero-Byte
* Early-Skip
* Not-Salted
* Not-Iterated
* Single-Salt
* Raw-Hash

[color=#ffdc00]ATTENTION! Pure (unoptimized) backend kernels selected.[/color]
[color=#ffdc00]Pure kernels can crack longer passwords, but drastically reduce performance.[/color]
[color=#ffdc00]If you want to switch to optimized kernels, append -O to your commandline.[/color]
[color=#ffdc00]See the above message to find out about the exact limits.[/color]

Watchdog: Temperature abort trigger set to 90c

[color=#e82a1f][b]cuCtxCreate(): invalid argument[/b][/color]

Started: Fri Feb  7 21:28:49 2025
Stopped: Fri Feb  7 21:28:51 2025




Below is the information of nvidia-smi
Code:
$ nvidia-smi
Fri Feb  7 21:31:22 2025     
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 515.65.01    Driver Version: 515.65.01    CUDA Version: 11.7    |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|        Memory-Usage | GPU-Util  Compute M. |
|                              |                      |              MIG M. |
|===============================+======================+======================|
|  0  Tesla T4            On  | 00000000:00:0A.0 Off |                    0 |
| N/A  67C    P0    41W /  70W |      0MiB /  7680MiB |      0%      Default |
|                              |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
                                                                             
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU  GI  CI        PID  Type  Process name                  GPU Memory |
|        ID  ID                                                  Usage      |
|=============================================================================|
|  No running processes found                                                |
+-----------------------------------------------------------------------------+


I am curious why the first time I execute `hc_cuCtxCreate` to check device_available_mem, no exception is triggered
https://github.com/hashcat/hashcat/blob/...nd.c#L5365

But the second time when create context for each device, the program outputs invalid argument
https://github.com/hashcat/hashcat/blob/...nd.c#L9638

Unfortunately, there are so many statements in between that I can't debug whether the exception is caused by cuda_context or cuda_device.

So can anyone help me figure out what's going wrong here?
Reply
#2
./hashcat -m 0 -O -a 7 example0.hash ?a?a?a?a example.dict
Reply
#3
(02-07-2025, 07:40 PM)174region174 Wrote: ./hashcat -m 0 -O -a 7 example0.hash ?a?a?a?a example.dict

Not work, add -O parameter

Code:
[color=#008e02]$[/color] echo "./hashcat -m 0 -O -a 7 example0.hash ?a?a?a?a example.dict" > test.sh
[color=#17b529]$[/color] chmod +x ./test.sh
[color=#008e02]$[/color] ./test.sh                                                                 
hashcat (v6.2.6) starting

nvmlDeviceGetFanSpeed(): Not Supported

CUDA API (CUDA 11.7)
====================
* Device #1: Tesla T4, 7583/7680 MB, 40MCU

OpenCL API (OpenCL 3.0 CUDA 11.7.101) - Platform #1 [NVIDIA Corporation]
========================================================================
* Device #2: Tesla T4, skipped

Minimum password length supported by kernel: 0
Maximum password length supported by kernel: 31

Hashes: 6494 digests; 6494 unique digests, 1 unique salts
Bitmaps: 16 bits, 65536 entries, 0x0000ffff mask, 262144 bytes, 5/13 rotates

Optimizers applied:
* Optimized-Kernel
* Zero-Byte
* Precompute-Init
* Meet-In-The-Middle
* Early-Skip
* Not-Salted
* Not-Iterated
* Single-Salt
* Raw-Hash

Watchdog: Temperature abort trigger set to 90c

[b][color=#e82a1f]cuCtxCreate(): invalid argument[/color][/b]

Started: Sat Feb  8 11:33:42 2025
Stopped: Sat Feb  8 11:33:43 2025
Reply
#4
Can anyone help me? The same code can run correctly on most platforms, but it can't run on a few platforms. I want to know how to debug and find out the error?
Reply
#5
Run first hashcat -b and see if benchmark goes through
Reply
#6
(02-11-2025, 09:39 AM)TheBogeyman Wrote: Run first hashcat -b and see if benchmark goes through


The benchmark does not appear to be run correctly.

Code:
$ hashcat -b
hashcat (v6.2.6) starting in benchmark mode

Benchmarking uses hand-optimized kernel code by default.
You can use it in your cracking session by setting the -O option.
Note: Using optimized kernel code limits the maximum supported password length.
To disable the optimized kernel code in benchmark mode, use the -w option.

nvmlDeviceGetFanSpeed(): Not Supported

CUDA API (CUDA 11.7)
====================
* Device #1: Tesla T4, 7583/7680 MB, 40MCU

OpenCL API (OpenCL 3.0 CUDA 11.7.101) - Platform #1 [NVIDIA Corporation]
========================================================================
* Device #2: Tesla T4, skipped

Benchmark relevant options:
===========================
* --optimized-kernel-enable

-------------------
* Hash-Mode 0 (MD5)
-------------------

cuCtxCreate(): invalid argument


----------------------
* Hash-Mode 100 (SHA1)
----------------------


---------------------------
* Hash-Mode 1400 (SHA2-256)
---------------------------


---------------------------
* Hash-Mode 1700 (SHA2-512)
---------------------------


-------------------------------------------------------------
* Hash-Mode 22000 (WPA-PBKDF2-PMKID+EAPOL) [Iterations: 4095]
-------------------------------------------------------------


-----------------------
* Hash-Mode 1000 (NTLM)
-----------------------


---------------------
* Hash-Mode 3000 (LM)
---------------------


--------------------------------------------
* Hash-Mode 5500 (NetNTLMv1 / NetNTLMv1+ESS)
--------------------------------------------


----------------------------
* Hash-Mode 5600 (NetNTLMv2)
----------------------------


--------------------------------------------------------
* Hash-Mode 1500 (descrypt, DES (Unix), Traditional DES)
--------------------------------------------------------


------------------------------------------------------------------------------
* Hash-Mode 500 (md5crypt, MD5 (Unix), Cisco-IOS $1$ (MD5)) [Iterations: 1000]
------------------------------------------------------------------------------


----------------------------------------------------------------
* Hash-Mode 3200 (bcrypt $2*$, Blowfish (Unix)) [Iterations: 32]
----------------------------------------------------------------


--------------------------------------------------------------------
* Hash-Mode 1800 (sha512crypt $6$, SHA512 (Unix)) [Iterations: 5000]
--------------------------------------------------------------------


--------------------------------------------------------
* Hash-Mode 7500 (Kerberos 5, etype 23, AS-REQ Pre-Auth)
--------------------------------------------------------


-------------------------------------------------
* Hash-Mode 13100 (Kerberos 5, etype 23, TGS-REP)
-------------------------------------------------


---------------------------------------------------------------------------------
* Hash-Mode 15300 (DPAPI masterkey file v1 (context 1 and 2)) [Iterations: 23999]
---------------------------------------------------------------------------------


---------------------------------------------------------------------------------
* Hash-Mode 15900 (DPAPI masterkey file v2 (context 1 and 2)) [Iterations: 12899]
---------------------------------------------------------------------------------


------------------------------------------------------------------
* Hash-Mode 7100 (macOS v10.8+ (PBKDF2-SHA512)) [Iterations: 1023]
------------------------------------------------------------------


---------------------------------------------
* Hash-Mode 11600 (7-Zip) [Iterations: 16384]
---------------------------------------------


------------------------------------------------
* Hash-Mode 12500 (RAR3-hp) [Iterations: 262144]
------------------------------------------------


--------------------------------------------
* Hash-Mode 13000 (RAR5) [Iterations: 32799]
--------------------------------------------


--------------------------------------------------------------------------------
* Hash-Mode 6211 (TrueCrypt RIPEMD160 + XTS 512 bit (legacy)) [Iterations: 1999]
--------------------------------------------------------------------------------


-----------------------------------------------------------------------------------
* Hash-Mode 13400 (KeePass 1 (AES/Twofish) and KeePass 2 (AES)) [Iterations: 24569]
-----------------------------------------------------------------------------------


----------------------------------------------------------------
* Hash-Mode 6800 (LastPass + LastPass sniffed) [Iterations: 499]
----------------------------------------------------------------


--------------------------------------------------------------------
* Hash-Mode 11300 (Bitcoin/Litecoin wallet.dat) [Iterations: 200459]
--------------------------------------------------------------------


Started: Tue Feb 11 19:46:29 2025
Stopped: Tue Feb 11 19:46:52 2025
Reply
#7
I think this is not necessarily a cuCtxCreate error, maybe an exception has been triggered before. But I don't have a good way to debug it.
Reply