Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Fri, 11 May 2007 11:15:38 +0400
From: Solar Designer <>
Subject: Re:  Re: Potfile size limitation?

On Thu, May 10, 2007 at 07:02:55AM +0000, -. -PhanTom-. - wrote:
> (gdb) bt
> #0  0x61016525 in stack_info::walk ()
>    from /home/-.-PhanTom-.-/john-1.7.2/run/cygwin1.dll
> #1  0x7c859f4c in OutputDebugStringA ()
>    from /cygdrive/c/WINDOWS/system32/kernel32.dll
> #2  0x40010006 in ?? ()
> #3  0x00000000 in ?? ()

Well, this is not useful.  It appears that gdb traps the fault that
occurs during Cygwin's backtrace dump rather than the one in John
itself.  Additionally, it appears that this fault occurs in a callback
from Windows APIs, which were compiled without frame pointers, so we do
not get a complete backtrace back into John.

> $ wc -l john.pot
> 21100879 john.pot

OK, I went ahead and created a fake 688 MB john.pot with 33.5 million
entries (mostly duplicates, which could have affected the results).
Then I ran "john --show passwd" on a tiny password file for which there
were entries in john.pot.  I've noticed the "john" process take up to
1.5 GB of memory (watching it in "top"), then it produced the expected
output and terminated normally.  As expected, no crash.  This is on
Linux/x86-64 (Owl-current).  I might try with a 32-bit build and with a
large john.pot with no duplicate entries later, but I don't expect to be
able to reproduce the problem in this way.

> > > Tried to compile 1.7.2 under ubuntu-7.04-desktop-amd64 - ...
> However, when I compile "linux-x86-64" and test it, I don't get SSE2 - 
> Only [64/64 BS] and a rather poor performance compared to [128/128 BS SSE2]
> If I try to compile "linux-x86-sse2" I get errors:
> "make: *** No rule to make target 'linux-x86-sse2'. Stop"
> libc6-dev is already installed. Trying to install libc6-amd64 I get an error
> about wrong architecture i386 ....

This tells me several things:

1. You're using a version of John older than 1.7.2 - why?  SSE2 was
added to the "linux-x86-64" target in 1.7.2.

2. The "linux-x86-sse2" target would be wrong for x86-64 (it shouldn't
work, unless your distribution is for 32-bit x86, which it might be).
The reason it's missing, though, is that you're using an older version
of John.

3. Your Linux distribution might be for 32-bit x86, not x86-64.  What
does "uname -m" say?  What kind of addresses does "ldd /bin/ls" print?

Alexander Peslyak <solar at>
GPG key ID: 5B341F15  fp: B3FB 63F4 D7A3 BCCC 6F6E  FC55 A2FC 027C 5B34 1F15 - bringing security into open computing environments

To unsubscribe, e-mail and reply
to the automated confirmation request that will be sent to you.

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.