Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Thu, 10 May 2007 07:02:55 +0000 (UTC)
From:  -.-PhanTom-.- <>
Subject:  Re: Potfile size limitation?

Solar Designer <solar@...> writes:

> On Wed, May 09, 2007 at 10:09:54PM +0000, -. -PhanTom-. - wrote:
> > I am gonna need a little more help to get this working...
> > I installed gdb under cygwin, and added "-g" to the flags in the JTR
> > makefile:
> > 
> > CFLAGS = -c -Wall -O2 -fomit-frame-pointer -g
> > ASFLAGS = -c
> > LDFLAGS = -g
> This is almost right.   You should also remove -fomit-frame-pointer in
> order to get backtrace ("bt") working.  Sorry, I forgot to mention that.
> > "while running under gdb, then type "bt", "i r", "disass $pc-20 $pc+20"
> >  in gdb (and post the output of these commands in here"
> > 
> > (gdb) bt
> > No stack.
> > (gdb) i r
> > The program has no registers now.
> > (gdb) disass $pc-20 $pc+20
> > No registers.
> > (gdb)
> > 
> > Doesn't look right...?
> Of course it doesn't.  You need to actually "run" John under gdb and
> have it crash first.  In John's "run" directory, you invoke gdb as:
> 	gdb ./john
> Then in gdb you type:
> 	run --show passwd
> (or whatever command-line options make John crash).  When it crashes
> (you should be back to a gdb prompt), you type "bt" and so on.

ok, here is the output from the gdb excercise:

Loaded symbols for /cygdrive/c/WINDOWS/system32/ntdll.dll
Loaded symbols for /cygdrive/c/WINDOWS/system32/kernel32.dll
Loaded symbols for /home/-.-PhanTom-.-/john-1.7.2/run/cygwin1.dll
Loaded symbols for /cygdrive/c/WINDOWS/system32/advapi32.dll
Loaded symbols for /cygdrive/c/WINDOWS/system32/rpcrt4.dll
   5729 [main] john 1036 _cygtls::handle_exceptions: Exception: STATUS_ACCESS_VI
   6229 [main] john 1036 open_stackdumpfile: Dumping stack trace to john.exe.sta
  15935 [main] john 1036 _cygtls::handle_exceptions: Exception: STATUS_ACCESS_VI
  16229 [main] john 1036 _cygtls::handle_exceptions: Error while dumping state (
probably corrupted stack)

Program received signal SIGSEGV, Segmentation fault.
0x61016525 in stack_info::walk ()
   from /home/-.-PhanTom-.-/john-1.7.2/run/cygwin1.dll
(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 ?? ()
(gdb) i r
eax            0x22b5b8 2274744
ecx            0x0      0
edx            0x6111a700       1628546816
ebx            0x22b898 2275480
esp            0x22b5b4 0x22b5b4
ebp            0x22b608 0x22b608
esi            0x22b634 2274868
edi            0x22ce64 2281060
eip            0x61016525       0x61016525
eflags         0x202    514
cs             0x1b     27
ss             0x23     35
ds             0x23     35
es             0x23     35
fs             0x3b     59
gs             0x0      0
(gdb) disass $pc-20 $pc+20
Dump of assembler code from 0x61016511 to 0x61016539:
0x61016511 <_ZN10stack_info4walkEv+17>: dec    %esi
0x61016512 <_ZN10stack_info4walkEv+18>: mov    %edx,0x20(%ebx)
0x61016515 <_ZN10stack_info4walkEv+21>: mov    0x14(%ebx),%eax
0x61016518 <_ZN10stack_info4walkEv+24>: test   %eax,%eax
0x6101651a <_ZN10stack_info4walkEv+26>: mov    %eax,0x8(%ebx)
0x6101651d <_ZN10stack_info4walkEv+29>: je     0x61016560 <_ZN10stack_info4walkE
0x6101651f <_ZN10stack_info4walkEv+31>: add    $0x4,%edx
0x61016522 <_ZN10stack_info4walkEv+34>: cmpb   $0x0,(%ebx)
0x61016525 <_ZN10stack_info4walkEv+37>: mov    (%edx),%eax
0x61016527 <_ZN10stack_info4walkEv+39>: mov    $0x1,%ecx
0x6101652c <_ZN10stack_info4walkEv+44>: mov    %eax,0x14(%ebx)
0x6101652f <_ZN10stack_info4walkEv+47>: je     0x61016560 <_ZN10stack_info4walkE
0x61016531 <_ZN10stack_info4walkEv+49>: xor    %ecx,%ecx
0x61016533 <_ZN10stack_info4walkEv+51>: lea    0x0(%esi),%esi
End of assembler dump.

> How many entries do you have in your john.pot, though?  (You can find
> out with "wc -l john.pot".)

$ wc -l john.pot
21100879 john.pot

> If you like to experiment, you can try Cygwin's "sort -S 1G" on a large
> file (your john.pot or an even larger file) and see if that crashes in a
> similar way (indicating that there is a memory size limitation imposed
> by Cygwin or Windows' address space layout).

"sort -S 1G john.pot" - runs fine, no crashes and uses 970 MB RAM, 1 Gb VM.
> > Btw, a friend tested versions 1.6.31 - 1.6.37 - same error.
> That's somewhat inconsistent with your previous report that 1.6.39
> doesn't crash.  It is unlikely that I accidentally fixed a bug between
> 1.6.37 and 1.6.39, but then introduced a similar one in 1.6.40.

Will compile all versions from 1.6.31 -1.6.40 myself and see if they give
the same error...

> > Tried to compile 1.7.2 under ubuntu-7.04-desktop-amd64 - can't get
> > it to compile, not even using "generic"....
> Most likely you can't compile any other C program on that system as
> well.  Please make sure that you have "development" packages installed -
> including gcc, binutils, and perhaps libc6-dev and libc6-dev-amd64, as
> well as their dependencies.  (Sorry, I am not familiar with Ubuntu to
> provide you with an exact list of package names.)

Ah yeah, sorry. Forgot to install gcc build-essential - doh! :)
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 ....


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.