Possible issue with charset and multi gpu system
#1
Hi,

I'm getting different behaviour when running on two different computers with the following command:

Code:
cudaHashcat-lite64.exe -o out.txt -s 0 -l 65610000 --pw-min 4 --pw-max 4 -m 1400 F6F2EA8F45D8A057C9566A33F99474DA2E5C6A6604D736121650E2730C6FB0A3 -1 "1234567890qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM~@#$%^&*()_+{}:|<>,./;'[]\-=" ?1?1?1?1

Computer 1: Win7 64b with GT 430 driver ver nvidia 285.62
Works fine

Computer 2: Win7 64b with 8x GTX580 driver ver nvidia 285.27
It will write the plaintext to out.txt but will keep running

Below is the console output:

Code:
C:\ProgramData\BOINC\slots\0 - Copy\oclHashcat-lite-0.09>cudaHashcat-lite32.exe -o out.txt --pw-min 4 --pw-max 4 -m 1400 F6F2EA8F45D8A057C9566A33F99474DA2E5C6A6 604D736121650E2730C6FB0A3 -1 "1234567890qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDF GHJKLZXCVBNM~@#$%^&*()_+{}:|<>,./;'[]\-=" ?1?1?1?1 cudaHashcat-lite v0.9 by atom starting... GPU-Loops: 64 GPU-Accel: 80 Password lengths range: 4 - 4 Platform: NVidia compatible platform found Watchdog: Temperature limit set to 90c Device #1: GeForce GTX 580, 1536MB, 1544Mhz, 16MCU Device #2: GeForce GTX 580, 1536MB, 1544Mhz, 16MCU Device #3: GeForce GTX 580, 1536MB, 1544Mhz, 16MCU Device #4: GeForce GTX 580, 1536MB, 1544Mhz, 16MCU Device #5: GeForce GTX 580, 1536MB, 1544Mhz, 16MCU Device #6: GeForce GTX 580, 1536MB, 1544Mhz, 16MCU Device #7: GeForce GTX 580, 1536MB, 1544Mhz, 16MCU Device #8: GeForce GTX 580, 1536MB, 1544Mhz, 16MCU [s]tatus [p]ause [r]esume [q]uit => s Status.......: Cracked Hash.Target..: f6f2ea8f45d8a057c9566a33f99474da2e5c6a6604d736121650e2730c6fb0a3 Hash.Type....: SHA256 Time.Running.: 3 secs Time.Left....: 0 secs Plain.Mask...: ?1?1?1?1 Plain.Text...: *a90 Plain.Length.: 4 Progress.....: 27599120/65610000 (42.07%) Speed.GPU.#1.: 285.1M/s Speed.GPU.#2.: 0/s Speed.GPU.#3.: 264.0M/s Speed.GPU.#4.: 0/s Speed.GPU.#5.: 0/s Speed.GPU.#6.: 0/s Speed.GPU.#7.: 0/s Speed.GPU.#8.: 0/s Speed.GPU.#*.: 2237.6M/s HWMon.GPU.#1.: 0% GPU, 45c Temp HWMon.GPU.#2.: 0% GPU, 46c Temp HWMon.GPU.#3.: 0% GPU, 40c Temp HWMon.GPU.#4.: 0% GPU, 43c Temp HWMon.GPU.#5.: 0% GPU, 40c Temp HWMon.GPU.#6.: 0% GPU, 42c Temp HWMon.GPU.#7.: 0% GPU, 43c Temp HWMon.GPU.#8.: 0% GPU, 43c Temp ^C

It gets stuck at the last line or if I don't press s it will keep running for ever.

After playing with the parameters I discovered that removing -= from charset made it work on both computers but it doesn't make sense to me.

Code:
cudaHashcat-lite64.exe -o out.txt -s 0 -l 65610000 --pw-min 4 --pw-max 4 -m 1400 F6F2EA8F45D8A057C9566A33F99474DA2E5C6A6604D736121650E2730C6FB0A3 -1 "1234567890qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM~@#$%^&*()_+{}:|<>,./;'[]\" ?1?1?1?1

I don't have these issues with version 0.08

BTW if you wonder I'm playing with distributed hashing and trying to make it cracker independent that's why the parameters are like that.

leau
#2
This is because 65610000 > 59969536 which is 88 (nr of chars in your charset) ^ 4 (pw-min/pw-max).
#3
(02-27-2012, 06:24 PM)atom Wrote: This is because 65610000 > 59969536 which is 88 (nr of chars in your charset) ^ 4 (pw-min/pw-max).

Oh my mistake I pasted the wrong version of the command line. I remove the -s -l during testing because I didn't want to have to recalculate it. BTW I always get an error when the -l value is too great.

That would be the correct version
Code:
cudaHashcat-lite64.exe -o out.txt --pw-min 4 --pw-max 4 -m 1400 F6F2EA8F45D8A057C9566A33F99474DA2E5C6A6604D736121650E2730C6FB0A3 -1 "1234567890qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM~@#$%^&*()_+{}:|<>,./;'[]\-=" ?1?1?1?1

and if I remove the --pw-min and --pw-max I get the same behavior

Code:
cudaHashcat-lite64.exe -o out.txt -m 1400 F6F2EA8F45D8A057C9566A33F99474DA2E5C6A6604D736121650E2730C6FB0A3 -1 "1234567890qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM~@#$%^&*()_+{}:|<>,./;'[]\-=" ?1?1?1?1
#4
I guess there is also something wrong with the escaping in your cmdline. For example, you must escape the ^ char with ^ - but you dont do it?

I recommend to convert the charset to hex and use the --hex-charset parameter.

#5
(02-27-2012, 07:00 PM)atom Wrote: I guess there is also something wrong with the escaping in your cmdline. For example, you must escape the ^ char with ^ - but you dont do it?

I recommend to convert the charset to hex and use the --hex-charset parameter.

Tried using --hex-charset and it works on the computer with 1 GPU but not 8.
Also I tried running with one card (-d1) and it works without changing the charset (to hex or removing characters) for both computers.

If I don't specify a charset it works on both computers also.
#6
what exactly is the problem? if you are doing --pw-min 4 --pw-max 4 then it can not use all gpus but one. you need a keyspace that is big enough to feed all gpus with work. try again with --pw-min 8 and --pw-max 8
#7
(02-27-2012, 08:52 PM)atom Wrote: what exactly is the problem? if you are doing --pw-min 4 --pw-max 4 then it can not use all gpus but one. you need a keyspace that is big enough to feed all gpus with work. try again with --pw-min 8 and --pw-max 8

It looks like it might be hardware or OS related. It runs on 6 of the 8 GPU. I used -d1 to -d8 for testing and I can also run it using -d1,2,3,... excluding the two faulty GPU. I tried it on other computers and it seems to be running fine.

FYI It didn't matter what I used (--pw-max 4, --pw-max 8, no --pw-max) as soon as I used that charset oclhashcat-lite would start but never terminate, typing s would render status info and freeze and typing q would also freeze. I had to CRTL-C to get back to the prompt.
#8
faulty hardware can generate irritating errors.

do i understand this correct: if you exclude the faulty hardware everything works fine?
#9
(02-28-2012, 11:09 AM)atom Wrote: faulty hardware can generate irritating errors.

do i understand this correct: if you exclude the faulty hardware everything works fine?

Yes that's correct.

Thanks for the help and the great software