NetBSD-Bugs archive

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

lib/55939: arc4random_uniform() broken on arm?



>Number:         55939
>Category:       lib
>Synopsis:       arc4random_uniform() broken on arm?
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    lib-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Jan 20 13:45:00 +0000 2021
>Originator:     Martin Husemann
>Release:        NetBSD 9.99.78
>Organization:
The NetBSD Foundation, Inc.
>Environment:
System: NetBSD space-truckin.duskware.de 9.99.78 NetBSD 9.99.78 (GENERIC) #118: Wed Jan 20 12:45:59 CET 2021 martin%seven-days-to-the-wolves.aprisoft.de@localhost:/work/src/sys/arch/evbarm/compile/GENERIC evbarm
Architecture: earmv7hfeb
Machine: evbarm
>Description:

While trying to update a machine to -current it spent ~20 cpu minutes in
extracting xfont.tgz:

# tar xpzf xfont.tgz
[ 6448.3086516] load: 0.99  cmd: tar 2494 [0x6db0dffe/0] 55.91u 1015.38s 99% 3124k

Attaching gdb showed:

[Switching to LWP 2494 of process 2494]
0x6db0dffe in __udivmodsi4 () from /lib/libc.so.12
(gdb) bt
#0  0x6db0dffe in __udivmodsi4 () from /lib/libc.so.12
#1  0x6db0bd50 in __aeabi_uidivmod () from /lib/libc.so.12
#2  0x6db02a08 in _arc4random_uniform (bound=bound@entry=62)
    at /work/src/lib/libc/gen/arc4random.c:642
#3  0x6db01a68 in __gettemp (
    path=path@entry=0x6de16000 "usr/X11R7/lib/X11/fonts/misc/8x13B-ISO8859-9.pcf.gzXXXXXX", doopen=0x7ffa51b4, doopen@entry=0x7ffa51ac, 
    domkdir=domkdir@entry=0, slen=slen@entry=0, oflags=oflags@entry=0)
    at /work/src/lib/libc/stdio/gettemp.c:89
#4  0x6db01910 in _mkstemp (
    path=0x6de16000 "usr/X11R7/lib/X11/fonts/misc/8x13B-ISO8859-9.pcf.gzXXXXXX") at /work/src/lib/libc/stdio/mkstemp.c:55
#5  0x6df2f9c4 in __archive_mktempx (tmpdir=tmpdir@entry=0x0, 
    template=template@entry=0x6dbbb17c)
    at /work/src/external/bsd/libarchive/dist/libarchive/archive_util.c:409

Unfortunately gdb died:

--Type <RET> for more, q to quit, c to continue without paging--q
terminate called after throwing an instance of 'gdb_exception_quit'
[ 6695.2111432] sorry, pid 2494 was killed: orphaned traced process
Abort (core dumped)


>How-To-Repeat:
no idea, apparently happens more or less randomly

>Fix:
n/a



Home | Main Index | Thread Index | Old Index