[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Sks-devel] Re: sks recon cores when it claims "reconciliation compl
From: |
Chris Kuethe |
Subject: |
Re: [Sks-devel] Re: sks recon cores when it claims "reconciliation complete" |
Date: |
Mon, 26 Jan 2004 19:32:21 -0700 (MST) |
On Mon, 26 Jan 2004, Yaron M. Minsky wrote:
> So, it sounds like Numerix is at fault. One interesting thing about
I think so. At least with gcc 2.95.3 as my compiler, all versions of
Numerix die. Feh!
> Numerix is that it has 3 different implementations: Slong, based on an
> assembler/C core, Dlong, which uses long-longs (this only works on
> 32-bit machines) and Clong, which is supposed to be broadly portable.
Dlong:
2004-01-26 18:28:28 Opening log
2004-01-26 18:28:28 sks_recon, SKS version 1.0.6
2004-01-26 18:28:28 Copyright Yaron Minsky 2002-2003
2004-01-26 18:28:28 Licensed under GPL. See COPYING file for details
2004-01-26 18:28:28 recon port: 11370
2004-01-26 18:28:28 Opening PTree database
2004-01-26 18:28:28 Setting up PTree data structure
2004-01-26 18:28:28 PTree setup complete
2004-01-26 18:28:28 Initiating catchup
2004-01-26 18:28:28 Fetching filters
2004-01-26 18:28:28 Starting event loop
2004-01-26 18:28:45 Membership: <ADDR_INET
62.116.124.106:11370>(keyserver.noreply.org 11370), <ADDR_INET
213.141.74.169:11370>(keys.se.linux.org 11370), <ADDR_INET
64.217.17.198:11370>(dannyj.dynip.com 11370), <ADDR_INET
134.169.171.249:11370>(sks.keyserver.penguin.de 11370), <ADDR_INET
134.169.171.253:11370>(calvin.lk.etc.tu-bs.de 11370)
2004-01-26 18:28:45 Beginning recon as server, client: <ADDR_INET
134.169.171.253:60447>
2004-01-26 18:28:45 Joining reconciliation
2004-01-26 18:35:47 Reconciliation complete
2004-01-26 18:35:48 calling print_hashes (server)
2004-01-26 18:35:48 hashconvert:1
*core*
(gdb) bt
#0 0xac29e59 in memset ()
#1 0x10 in ?? ()
#2 0x1c0cdbf7 in dz_quo_n2 ()
#3 0x1c0bc7f7 in dx_quo_k ()
#4 0x1c08470c in Numerix__modulo_745 ()
#5 0xe0cf7fe0 in ?? ()
Cannot access memory at address 0x94cf7fe0.
1c0cdbda: 53 push %ebx
1c0cdbdb: 8b 75 10 mov 0x10(%ebp),%esi
1c0cdbde: 83 c6 04 add $0x4,%esi
1c0cdbe1: 56 push %esi
1c0cdbe2: 57 push %edi
1c0cdbe3: 8b 55 ec mov 0xffffffec(%ebp),%edx
1c0cdbe6: 52 push %edx
1c0cdbe7: 8b 4d fc mov 0xfffffffc(%ebp),%ecx
1c0cdbea: 51 push %ecx
1c0cdbeb: 8b 45 08 mov 0x8(%ebp),%eax
1c0cdbee: 83 c0 04 add $0x4,%eax
1c0cdbf1: 50 push %eax
1c0cdbf2: e8 15 f9 ff ff call 1c0cd50c <dn_quo_n2>
>> 1c0cdbf7: 83 c4 20 add $0x20,%esp
1c0cdbfa: 8b 45 f0 mov 0xfffffff0(%ebp),%eax
1c0cdbfd: 39 45 f4 cmp %eax,0xfffffff4(%ebp)
1c0cdc00: 74 3d je 1c0cdc3f <dz_quo_n2+0x363>
(gdb) info registers
eax 0x0 0
ecx 0x4 4
edx 0x1 1
ebx 0x10 16
esp 0xcf7fe000 0xcf7fe000
ebp 0xcf7fe094 0xcf7fe094
esi 0x3c072fe0 1007103968
edi 0x3c072fd0 1007103952
eip 0xac29e59 0xac29e59
eflags 0x10202 66050
cs 0x1f 31
ss 0x27 39
ds 0x27 39
es 0x27 39
fs 0x27 39
gs 0x27 39
Clong:
...
2004-01-26 18:58:43 Done received
2004-01-26 18:58:44 Reconciliation complete
2004-01-26 18:58:44 calling print_hashes (client)
2004-01-26 18:58:44 hashconvert:1
*core*
(gdb) bt
#0 0xf18ee59 in memset ()
#1 0x10 in ?? ()
#2 0x1c0c51b7 in cz_quo_n2 ()
#3 0x1c0b9775 in cx_quo_k ()
#4 0x1c083bbc in Numerix__modulo_585 ()
#5 0x4ccf7fe0 in ?? ()
Cannot access memory at address 0x54cf7fe0.
(gdb) info registers
eax 0x0 0
ecx 0x2 2
edx 0x8 8
ebx 0x10 16
esp 0xcf7fe000 0xcf7fe000
ebp 0xcf7fe054 0xcf7fe054
esi 0x3c06344c 1007039564
edi 0x3c06343c 1007039548
eip 0xf18ee59 0xf18ee59
eflags 0x10202 66050
cs 0x1f 31
ss 0x27 39
ds 0x27 39
es 0x27 39
fs 0x27 39
gs 0x27 39
> I would suggest switching the implementation you're using and try
> again. To do this, you need to change line 20 of number.ml.
Perhaps this could be a Makfile.local option?
> On a broader note, I sometimes wonder whether I should switch sks to
> using the ocaml Bignum package. These days, I'm more concerned with
> portability than with tweaking that last bit of performance out of the
> remote set-comparison algorithm, which isn't really the bottleneck
> anyway.
Might be worth it, if it works... There's something to be said for making
full use of a CPU, but "pretty good" code that works everywere is probably
more useful than some blazing fast stuff that works on 2 machines (unless
its some sort of nuclear physics packacge and by machine we mean one of
the ASCI systems...)
CK
--
Chris Kuethe, GCIA CISSP: Secure Systems Specialist - U of A CNS
office: 157 General Services Bldg. +1.780.492.8135
address@hidden
GDB has a 'break' feature; why doesn't it have 'fix' too?