[Bug 219399] System panics after several hours of 14-threads-compilation orgies using poudriere on AMD Ryzen...

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Mon Jul 3 14:16:23 UTC 2017


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=219399

--- Comment #29 from Nils Beyer <nbe at renzel.net> ---
Hmm, are you probably a victim of the AMD Ryzen 20°C temperature offset:

   
https://www.reddit.com/r/Amd/comments/607xg2/why_do_the_x_ryzen_cpus_have_a_temperature_offset/

? So your real temperatures were aroung 5X°C? BTW: how do you measure the CPU
temperature under FreeBSD?


Regarding my script - you are correct; it's an endless buildworld and
buildkernel loop. Unfortunately, to catch the AMD Ryzen "bug", you need a TMPFS
mount. You can allow a user to mount TMPFS by executing following as root once:

    sysctl vfs.usermount=1

source: https://www.freebsd.org/doc/handbook/usb-disks.html


Here's the modified script that is able to run as user:
--------------------------------------------- SNIP
---------------------------------------------------
#!/bin/sh

OBJDIR="/tmp/ryzen_stress_test"

trap "exit 1" 1 2 3

cd /usr/src
umount ${OBJDIR}
mkdir ${OBJDIR}
mount -t tmpfs tmpfs ${OBJDIR} || exit 1

while [ 1 ]; do
        echo "`date` begin"
        BEG="`date +%s`"
        make -j20 buildworld buildkernel MAKEOBJDIRPREFIX=${OBJDIR}
>${OBJDIR}/${BEG}.log 2>&1
        ERR="$?"
        echo "`date` end - errorcode ${ERR}"
        [ "${ERR}" != "0" ] && cp ${OBJDIR}/${BEG}.log ~/.
        rm ${OBJDIR}/${BEG}.log
done
--------------------------------------------- SNIP
---------------------------------------------------

In this version the suspicious log files will be saved to your home dir. Just
save everything between the "SNIP"-lines to "ryzen_stress_test.sh" in your home
dir and then execute as user:

    /usr/bin/nohup sh ~/ryzen_stress_test.sh &

This spawns the stress test in the background; to kill it, execute as user:

    pkill -f ryzen_stress_test

then the remaining buildworld, buildkernel processes should die afterwards. As
user, execute:

    umount /tmp/ryzen_stress_test

in order to unmount and erase the TMPFS buildowlrd/buildkernel temporary
folder...

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-bugs mailing list