Port-sparc archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: OpenSSL issues with 9.2



> On 25 May 2021, at 20:30, Martin Husemann <martin%duskware.de@localhost> wrote:
> 
> On Tue, May 25, 2021 at 12:04:29PM +1000, Matt Wallis wrote:
> 
>> I?m assuming that the Sparc binaries are built on an UltraSparc so
>> that they have a chance of being released in the same century as the
>> other binaries.
> 
> Of course not. Everything is cross compiled (in case of the official binaries
> on amd64 machines).
> 
> If you get core files, it should be very simple to pinpoint the wrong
> instruction with gdb. Even simpler if you installed the debug sets.

OK, I am unfortunately none the wiser. Hopefully this will mean something to 
someone else. There’s both a short and full bt.

Program terminated with signal SIGABRT, Aborted.
#0 about () at /usr/src/lib/libc/stdlib/about.c:80
80.                 (void)signal(SIGABRT, SIG_DFL);

(gdb) bt
#0  abort () at /usr/src/lib/libc/stdlib/abort.c:80
#1  0xeda19fc8 in __assert13 (
    file=0xedda9630 "/usr/src/crypto/external/bsd/openssl/dist/crypto/bn/bn_div
    failedexpr=0xedda9670 "(*wnumtop) == 0")
    at /usr/src/lib/libc/gen/assert.c:72
#2  0xedd466e0 in bn_div_fixed_top (dv=dv@entry=0x0, rm=rm@entry=0xed92020c,
    num=num@entry=0xefffe77c, divisor=divisor@entry=0xed9201f8,
    ctx=ctx@entry=0xedeba120)
    at /usr/src/crypto/external/bsd/openssl/dist/crypto/bn/bn_div.c:439
#3  0xedd46744 in BN_div (dv=dv@entry=0x0, rm=rm@entry=0xed92020c,
    num=num@entry=0xefffe77c, divisor=divisor@entry=0xed9201f8,
    ctx=ctx@entry=0xedeba120)
    at /usr/src/crypto/external/bsd/openssl/dist/crypto/bn/bn_div.c:229
#4  0xedd45a08 in BN_nnmod (r=r@entry=0xed92020c, m=m@entry=0xefffe77c,
    d=d@entry=0xed9201f8, ctx=ctx@entry=0xedeba120)
    at /usr/src/crypto/external/bsd/openssl/dist/crypto/bn/bn_mod.c:20
#5  0xedd44d28 in bn_mod_inverse_no_branch (pnoinv=0xefffe7f4, ctx=0xedeba120,
    n=0xefffe864, a=<optimized out>, in=0xed9201e4)
    at /usr/src/crypto/external/bsd/openssl/dist/crypto/bn/bn_gcd.c:67
#6  int_bn_mod_inverse (in=0xed9201e4, a=<optimized out>, n=0xefffe864,
    ctx=0xedeba120, pnoinv=0xefffe7f4)
    at /usr/src/crypto/external/bsd/openssl/dist/crypto/bn/bn_gcd.c:214
#7  0xedd45630 in BN_mod_inverse (in=in@entry=0xed9201e4,
    a=a@entry=0xedb46004, n=n@entry=0xefffe864, ctx=ctx@entry=0xedeba120)
    at /usr/src/crypto/external/bsd/openssl/dist/crypto/bn/bn_gcd.c:528
#8  0xedd44a80 in BN_MONT_CTX_set (mont=mont@entry=0xedb46000,
    mod=mod@entry=0xedeb8080, ctx=ctx@entry=0xedeba120)
    at /usr/src/crypto/external/bsd/openssl/dist/crypto/bn/bn_mont.c:351
#9  0xedcfc06c in BN_is_prime_fasttest_ex (a=0xedeb8080,
    checks=<optimized out>, ctx_passed=0xedeba120,
    do_trial_division=<optimized out>, cb=0x0)
    at /usr/src/crypto/external/bsd/openssl/dist/crypto/bn/bn_prime.c:215
#10 0xedcfc784 in BN_generate_prime_ex (ret=ret@entry=0xedeb8080,
    bits=bits@entry=1536, safe=safe@entry=0, add=<optimized out>,
    add@entry=0x0, rem=rem@entry=0x0, cb=<optimized out>, cb@entry=0x0)
    at /usr/src/crypto/external/bsd/openssl/dist/crypto/bn/bn_prime.c:104
#11 0xedc7b694 in rsa_builtin_keygen (cb=0x0, e_value=<optimized out>,
    primes=<optimized out>, bits=<optimized out>, rsa=0xedbba0c0)
    at /usr/src/crypto/external/bsd/openssl/dist/crypto/rsa/rsa_gen.c:164
#12 RSA_generate_multi_prime_key (rsa=0xedbba0c0, bits=<optimized out>,
    primes=<optimized out>, e_value=<optimized out>, cb=0x0)
    at /usr/src/crypto/external/bsd/openssl/dist/crypto/rsa/rsa_gen.c:61
#13 0xede37de4 in rsa_generate_private_key (rsap=0xedeb4208, bits=3072)
    at /usr/src/crypto/external/bsd/openssh/dist/sshkey.c:1454
#14 sshkey_generate (type=-56, type@entry=0, bits=3072,
    keyp=keyp@entry=0xefffeb78)
    at /usr/src/crypto/external/bsd/openssh/dist/sshkey.c:1607
#15 0x0001931c in main (argc=<optimized out>, argv=0xeffff8f4)
    at /usr/src/crypto/external/bsd/openssh/dist/ssh-keygen.c:2816


(gdb) list
75
76              /*
77               * if SIGABRT ignored, or caught and the handler returns, do
78               * it again, only harder.
79               */
80              (void)signal(SIGABRT, SIG_DFL);
81              (void)sigprocmask(SIG_SETMASK, &mask, (sigset_t *)NULL);
82              (void)raise(SIGABRT);
83              _exit(1);
84      }

(gdb) info locals
mask = {__bits = {4294967263, 4294967295, 4294967295, 4294967295}}

(gdb) bt full
#0  abort () at /usr/src/lib/libc/stdlib/abort.c:80
        mask = {__bits = {4294967263, 4294967295, 4294967295, 4294967295}}
#1  0xeda19fc8 in __assert13 (
    file=0xedda9630 "/usr/src/crypto/external/bsd/openssl/dist/crypto/bn/bn_div
    failedexpr=0xedda9670 "(*wnumtop) == 0")
    at /usr/src/lib/libc/gen/assert.c:72
        buf = "assertion \"(*wnumtop) == 0\" failed: file \"/usr/src/crypto/ext.
        l = <optimized out>
#2  0xedd466e0 in bn_div_fixed_top (dv=dv@entry=0x0, rm=rm@entry=0xed92020c,
    num=num@entry=0xefffe77c, divisor=divisor@entry=0xed9201f8,
    ctx=ctx@entry=0xedeba120)
    at /usr/src/crypto/external/bsd/openssl/dist/crypto/bn/bn_div.c:439
        q = 0
        l0 = <optimized out>
        n0 = <optimized out>
        n1 = <optimized out>
        rem = <optimized out>
        norm_shift = <optimized out>
        i = 1
        j = <optimized out>
        loop = <optimized out>
        tmp = 0xed920298
        snum = 0xed9202ac
        sdiv = 0xed920300
        res = <optimized out>
        resp = 0xedef6144
        wnum = 0xedeb7d10
        wnumtop = 0xedeb7d14
        d0 = 2839579553
        d1 = 0
        num_n = <optimized out>
        div_n = 1
        __func__ = "bn_div_fixed_top"
#3  0xedd46744 in BN_div (dv=dv@entry=0x0, rm=rm@entry=0xed92020c,
    num=num@entry=0xefffe77c, divisor=divisor@entry=0xed9201f8,
    ctx=ctx@entry=0xedeba120)
    at /usr/src/crypto/external/bsd/openssl/dist/crypto/bn/bn_div.c:229
        ret = 0
#4  0xedd45a08 in BN_nnmod (r=r@entry=0xed92020c, m=m@entry=0xefffe77c,
    d=d@entry=0xed9201f8, ctx=ctx@entry=0xedeba120)
    at /usr/src/crypto/external/bsd/openssl/dist/crypto/bn/bn_mod.c:20
No locals.
#5  0xedd44d28 in bn_mod_inverse_no_branch (pnoinv=0xefffe7f4, ctx=0xedeba120,
    n=0xefffe864, a=<optimized out>, in=0xed9201e4)
    at /usr/src/crypto/external/bsd/openssl/dist/crypto/bn/bn_gcd.c:67
        local_B = {d = 0xedef6130, top = 2, dmax = 2, neg = 0, flags = 6}
        A = 0xed9201f8
        M = 0xed920248
        D = 0xed920234
        T = 0xed9201e4
        B = 0xed92020c
        X = 0xed920220
        R = 0xed9201e4
        ret = 0x0
        Y = 0xed92025c
        sign = <optimized out>
        A = <optimized out>
        B = <optimized out>
        X = <optimized out>
        Y = <optimized out>
        M = <optimized out>
        D = <optimized out>
        T = <optimized out>
        R = <optimized out>
        ret = <optimized out>
        sign = <optimized out>
        local_B = <optimized out>
        tmp = <optimized out>
        local_A = <optimized out>
#6  int_bn_mod_inverse (in=0xed9201e4, a=<optimized out>, n=0xefffe864,
    ctx=0xedeba120, pnoinv=0xefffe7f4)
    at /usr/src/crypto/external/bsd/openssl/dist/crypto/bn/bn_gcd.c:214
        A = <optimized out>
        M = <optimized out>
        D = <optimized out>
        T = 0xed920248
        B = <optimized out>
        X = <optimized out>
        Y = <optimized out>
        sign = <optimized out>
        pnoinv = 0xefffe7f4
        a = <optimized out>
        A = <optimized out>
        Y = <optimized out>
        M = <optimized out>
        ret = <optimized out>
        n = 0xefffe864
        in = 0xed9201e4
        B = <optimized out>
        R = <optimized out>
        sign = <optimized out>
        shift = <optimized out>
        ctx = 0xedeba120
        tmp = <optimized out>
        X = <optimized out>
        D = <optimized out>
        T = <optimized out>
        A = <optimized out>
        B = <optimized out>
        X = <optimized out>
        Y = <optimized out>
        M = <optimized out>
        D = <optimized out>
        T = <optimized out>
        sign = <optimized out>
        shift = <optimized out>
        tmp = <optimized out>
#7  0xedd45630 in BN_mod_inverse (in=in@entry=0xed9201e4,
    a=a@entry=0xedb46004, n=n@entry=0xefffe864, ctx=ctx@entry=0xedeba120)
    at /usr/src/crypto/external/bsd/openssl/dist/crypto/bn/bn_gcd.c:528
        new_ctx = 0x0
        rv = <optimized out>
        noinv = 0
#8  0xedd44a80 in BN_MONT_CTX_set (mont=mont@entry=0xedb46000,
    mod=mod@entry=0xedeb8080, ctx=ctx@entry=0xedeba120)
    at /usr/src/crypto/external/bsd/openssl/dist/crypto/bn/bn_mont.c:351
        tmod = {d = 0xefffe85c, top = 1, dmax = 2, neg = 0, flags = 4}
        buf = {2839579553, 0}
        i = <optimized out>
        Ri = 0xed9201e4
        R = 0xedb46004
        ctx = 0xedeba120
        mod = 0xedeb8080
        buf = <optimized out>
        mont = 0xedb46000
        ret = <optimized out>
        R = <optimized out>
        i = <optimized out>
        Ri = <optimized out>
        tmod = <optimized out>
        i = <optimized out>
        Ri = <optimized out>
        R = <optimized out>
        tmod = <optimized out>
        buf = <optimized out>
#9  0xedcfc06c in BN_is_prime_fasttest_ex (a=0xedeb8080,
    checks=<optimized out>, ctx_passed=0xedeba120,
    do_trial_division=<optimized out>, cb=0x0)
    at /usr/src/crypto/external/bsd/openssl/dist/crypto/bn/bn_prime.c:215
        j = <optimized out>
        A1_odd = 0xed9201bc
        check = 0xed9201d0
        k = 5
        A3 = 0xed9201a8
        i = <optimized out>
        A1 = 0xed920194
        ctx_passed = 0xedeba120
        a = 0xedeb8080
        i = <optimized out>
        ret = <optimized out>
        A1 = <optimized out>
        A1_odd = <optimized out>
        mont = <optimized out>
        do_trial_division = <optimized out>
        j = <optimized out>
        mod = <optimized out>
        k = <optimized out>
        ctx = <optimized out>
        A3 = <optimized out>
        cb = 0x0
        checks = 4
        check = <optimized out>
        i = <optimized out>
        j = <optimized out>
        k = <optimized out>
        A1 = <optimized out>
        A1_odd = <optimized out>
        A3 = <optimized out>
        check = <optimized out>
        mod = <optimized out>
#10 0xedcfc784 in BN_generate_prime_ex (ret=ret@entry=0xedeb8080,
    bits=bits@entry=1536, safe=safe@entry=0, add=<optimized out>,
    add@entry=0x0, rem=rem@entry=0x0, cb=<optimized out>, cb@entry=0x0)
    at /usr/src/crypto/external/bsd/openssl/dist/crypto/bn/bn_prime.c:104
        t = 0xed920180
        found = 0
        i = <optimized out>
        j = <optimized out>
        c1 = 1
        ctx = 0x0
        checks = <optimized out>
#11 0xedc7b694 in rsa_builtin_keygen (cb=0x0, e_value=<optimized out>,
    primes=<optimized out>, bits=<optimized out>, rsa=0xedbba0c0)
    at /usr/src/crypto/external/bsd/openssl/dist/crypto/rsa/rsa_gen.c:164
        retries = 0
        pinfo = 0x0
        prime = 0xedeb8080
        ok = -1
        bitse = 0
        quo = <optimized out>
        bitst = <optimized out>
        r0 = 0xed920000
        r1 = 0xed920014
        tmp = <optimized out>
        n = 0
        i = <optimized out>
        rmd = <optimized out>
        ctx = 0x0
        error = <optimized out>
        r2 = 0x0
        bitsr = {1536, 1536, -627894960, -1874853755, -307498540}
        adj = 0
        prime_infos = 0x0
        r0 = <optimized out>
        r1 = <optimized out>
        r2 = <optimized out>
        tmp = <optimized out>
        prime = <optimized out>
        ok = <optimized out>
        n = <optimized out>
        bitsr = <optimized out>
        bitse = <optimized out>
        i = <optimized out>
        quo = <optimized out>
        rmd = <optimized out>
        adj = <optimized out>
        retries = <optimized out>
        pinfo = <optimized out>
        prime_infos = <optimized out>
        ctx = <optimized out>
        bitst = <optimized out>
        error = <optimized out>
        j = <optimized out>
        prev_prime = <optimized out>
        pr0 = <optimized out>
        d = <optimized out>
        p = <optimized out>
#12 RSA_generate_multi_prime_key (rsa=0xedbba0c0, bits=<optimized out>,
    primes=<optimized out>, e_value=<optimized out>, cb=0x0)
    at /usr/src/crypto/external/bsd/openssl/dist/crypto/rsa/rsa_gen.c:61
No locals.
#13 0xede37de4 in rsa_generate_private_key (rsap=0xedeb4208, bits=3072)
    at /usr/src/crypto/external/bsd/openssh/dist/sshkey.c:1454
        private = 0x0
        f4 = 0x0
        ret = -1
        private = <optimized out>
        f4 = <optimized out>
        ret = <optimized out>
#14 sshkey_generate (type=-56, type@entry=0, bits=3072,
    keyp=keyp@entry=0xefffeb78)
    at /usr/src/crypto/external/bsd/openssh/dist/sshkey.c:1607
        k = 0xedeb4200
        ret = -1
#15 0x0001931c in main (argc=<optimized out>, argv=0xeffff8f4)
    at /usr/src/crypto/external/bsd/openssh/dist/ssh-keygen.c:2816
        dotsshdir = '\000' <repeats 360 times>...
        comment = '\000' <repeats 40 times>, "\357\377\364\364\355\357OP\355\35.
        passphrase1 = <optimized out>
        passphrase2 = <optimized out>
        rr_hostname = 0x0
        ep = 0x0
        fp = <optimized out>
        ra = <optimized out>
        private = 0x0
        public = 0x0
        pw = 0xedb2b920
        st = {st_dev = 0, st_mode = 0, st_ino = 0, st_nlink = 0, st_uid = 0,
          st_gid = 0, st_rdev = 0, st_atim = {tv_sec = 0, tv_nsec = 0},
          st_mtim = {tv_sec = 0, tv_nsec = 0}, st_ctim = {tv_sec = 0,
            tv_nsec = 0}, st_birthtim = {tv_sec = 0, tv_nsec = 0},
          st_size = 0, st_blocks = 0, st_blksize = 0, st_flags = 0,
          st_gen = 0, st_spare = {0, 0}}
        r = <optimized out>
        opt = <optimized out>
        type = 0
        fd = <optimized out>
        change_passphrase = <optimized out>
        change_comment = <optimized out>
        show_cert = <optimized out>
        find_host = <optimized out>
        delete_host = <optimized out>
        hash_hosts = <optimized out>
        gen_all_hostkeys = <optimized out>
        gen_krl = 0
        update_krl = <optimized out>
        change_comment = <optimized out>
        show_cert = <optimized out>
        find_host = <optimized out>
        delete_host = <optimized out>
        hash_hosts = <optimized out>
        gen_all_hostkeys = <optimized out>
        gen_krl = 0
        update_krl = <optimized out>
        check_krl = <optimized out>
        prefer_agent = <optimized out>
        convert_to = <optimized out>
        convert_from = <optimized out>
        print_public = <optimized out>
        print_generic = <optimized out>
        cert_serial_autoinc = <optimized out>
        cert_serial = <optimized out>
        identity_comment = <optimized out>
        ca_key_path = 0x0
        bits = 3072
        f = 0x2f400 <hostname+192>
        errstr = 0x0
        log_level = <optimized out>
        out_file = "\000\000\000\000\355@\003\300\357\377\361\024\000\000\000\0.
        checkpoint = <optimized out>
        memory = <optimized out>
        generator_wanted = <optimized out>
        do_gen_candidates = 0
        do_screen_candidates = <optimized out>
        start_lineno = <optimized out>
        lines_to_process = <optimized out>
        start = 0x0


Home | Main Index | Thread Index | Old Index