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