sks-devel
[Top][All Lists]
Advanced

[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?





reply via email to

[Prev in Thread] Current Thread [Next in Thread]