Sven Hartge wrote:
Sven Hartge wrote:
Steve Kostecke wrote:
Sven Hartge said:
Sven Hartge wrote:

On one of my machines (Dell Latitude E6500) haveged justs segfaults.
I must correct myself, haveged segfaults on _all_ Debian Sid machines I
have access to, the backtrace is virtually the same every time.

Thanks for tracking this down.

Here is a better backtrace.

Next interesting find: If I recompile using -O0 (i.e. without any optimization), haveged works fine.

And again, using -O1 results in the following (different) backtrace.

Maybe not a eglibc bug, but a bug inside haveged, which is know to be compiler dependant for its "magic".

--
Grüße,
Sven Hartge


  - Dienst-Entwicklung, Server-Betreuung -
IT-Services FH Gießen-Friedberg (Bereich Gießen)
       http://www.dvz.fh-giessen.de

Telefon: +49 641 309-1291
Fax    : +49 641 309-1288

Program received signal SIGSEGV, Segmentation fault.
0x08051534 in collect_ndrand (perf=<value optimized out>) at oneiteration.h:90
90        RESULT[i++] ^= *Pt0;
(gdb) bt full
#0  0x08051534 in collect_ndrand (perf=<value optimized out>) at 
oneiteration.h:90
        jumps = {0, 1189, 2332, 3524, 4679, 5835, 6990, 8162, 9317, 10515, 
11715, 12913, 14100, 
          15315, 16485, 17689, 18893, 20097, 21301, 22505, 23709, 24913, 26117, 
27321, 28525, 
          29729, 30933, 32137, 33341, 34545, 35749, 36953, 38157, 39361, 40565, 
41769, 42973, 
          44177, 45381, 46585}
        Pt0 = 0x2567cc98
        Pt1 = 0x846c000
        Pt2 = 0x2567cc9c
        Pt3 = <value optimized out>
        et0 = {tv_sec = -1073745896, tv_usec = -1209106050}
        et1 = {tv_sec = -1208237120, tv_usec = 0}
        i = 0
        inter = <value optimized out>
        PTtest = <value optimized out>
        pt = 0
        havege_hardtick = 0
#1  0x08055819 in ndinit (params=0x8057360, perf=0x0) at havege.c:368
        i = 0
#2  0x08048e5b in run (poolsize=4096, output=0xbffff1e0, buffer=0xbffff400, 
perf=0x0)
    at haveged.c:257
        fout = 0xbffff578
        random_fd = -1073744500
        ct = 10
        ft = -1208241248
#3  0x080495cc in main (argc=1, argv=0xbffff794) at haveged.c:243
        hp = 0x2567cc98
        hpf = {fill = -1073744152, etime = 134514520}
        cmds = {0x8055943 "d", 0x8055a77 "data", 0x8055a7c "1", 0x8055a7e "Data 
cache size [KB]", 
          0x80559a0 "i", 0x8055a93 "inst", 0x8055a7c "1", 0x8055a98 
"Instruction cache size [KB]", 
          0x8055ab4 "f", 0x8055ab6 "file", 0x8055a7c "1", 
          0x8055ca8 "Sample output file - default: 'sample'", 0x8055f67 "r", 
0x8055abb "run", 
          0x8055a7c "1", 0x8055cd0 "0=daemon,1=config info,>1=Write <r>KB 
sample file", 
          0x8055abf "v", 0x8055ac1 "verbose", 0x8055a7c "1", 
          0x8055d04 "Output level 0=minimal,1=config/fill items", 0x8055f59 
"w", 
          0x8055ac9 "write", 0x8055a7c "1", 0x8055d30 "Set 
write_wakeup_threshold [BITS]", 
          0x8055acf "h", 0x8055ad8 "help", 0x8055ad1 "0", 0x8055ad3 "This help"}
        long_options = 0xbffff400
        short_options = 0x2567cc9c <Address 0x2567cc9c out of bounds>
        c = <value optimized out>
        j = <value optimized out>
        poolsize = 627559580

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Reply via email to