Date: Thu, 26 May 2005 17:58:29 -0500 From: Stephen Montgomery-Smith <stephen@math.missouri.edu> To: freebsd-stable@freebsd.org Subject: Reproducable panic with RELENG_5 Message-ID: <42965495.1060001@math.missouri.edu>
next in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format. --------------000001010409030806050300 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit I have now found a way to reliably reproduce the panic on FreeBSD RELENG_5 (as of about May 21 2005). I enclose as an attachment the program that does the dirty deed. It needs the math/fftw3 port with the SMP stuff enabled. After starting the program ddd, run "top -s0" - you have to do this as root, otherwise the -s0 option will not be accepted. At this point, my HTT enabled dual Xeon system with machdep.hyperthreading_allowed=1 panics after less than a minute. Sometimes it dumps, and sometimes it doesn't. I would be curious if other people can get there similar systems to panic. I have made some attempts to create programs that produce this effect without using fftw3, but I have not succeeded. --------------000001010409030806050300 Content-Type: text/plain; name="ddd.shar" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="ddd.shar" # This is a shell archive. Save it in a file, remove anything before # this line, and then unpack it by entering "sh file". Note, it may # create directories; files and directories will be owned by you and # have default permissions. # # This archive contains: # # ddd # ddd/ddd.c # ddd/wisdom.out # ddd/Makefile # ddd/README # echo c - ddd mkdir -p ddd > /dev/null 2>&1 echo x - ddd/ddd.c sed 's/^X//' >ddd/ddd.c << 'END-of-ddd/ddd.c' X#include <stdio.h> X#include <stdlib.h> X#include <string.h> X#include <complex.h> X#include <fftw3.h> X#include <math.h> X#include <fcntl.h> X#include <sys/types.h> X#include <sys/uio.h> X#include <unistd.h> X#include <signal.h> X X#define D (1<<13) X Xfftw_plan p; Xdouble *fft_in; Xcomplex *fft_out; X Xint main() { X FILE *wisdom_out; X int dim[1] = {D}; X int i; X X fftw_init_threads(); X fftw_plan_with_nthreads(4); X X if ((wisdom_out = fopen("wisdom.out","r"))==NULL) { X perror("Cannot open wisdom.out"); X exit(1); X } X X fftw_import_wisdom_from_file(wisdom_out); X fclose(wisdom_out); X X fft_in = fftw_malloc(sizeof(double)*D*5); X fft_out = fftw_malloc(sizeof(complex)*(D/2+1)*5); X X p = fftw_plan_many_dft_r2c(1,dim,5,fft_in,NULL,1,D,fft_out,NULL,1,D/2+1,FFTW_EXHAUSTIVE); X X while (1) { X memset(fft_in,0,sizeof(double)*D*5); X for (i=0;i<D*5;i++) fft_in[i] = i; /*junk data*/ X fftw_execute(p); X } X} END-of-ddd/ddd.c echo x - ddd/wisdom.out sed 's/^X//' >ddd/wisdom.out << 'END-of-ddd/wisdom.out' X(fftw-3.0.1 fftw_wisdom X (fftw_rdft2_radix2_register 0 #xc040 #xf7bda7be #x12056b7a #x59fc8404 #xbb7cea09) X (fftw_rdft2_thr_vrank_geq1_register 0 #xc040 #xc29d2dfe #x445a408b #xf34f1e77 #xbfe59da9) X (fftw_codelet_n1_16 0 #xc040 #x3d877fef #x12b9a2eb #x702a3084 #x115fe742) X (fftw_codelet_n1_16 0 #xc040 #xde3e9b75 #xa9c89431 #x48d5d383 #x9ad2d071) X (fftw_rdft2_thr_vrank_geq1_register 0 #xc040 #x5e2fbbb5 #xb8e5d15e #xbe183237 #x98def706) X (fftw_codelet_t1_16 0 #xc040 #xead00db9 #x84525223 #xde0c1ade #x3fd0a83a) X (fftw_rdft2_radix2_register 0 #xc040 #x6cca79b0 #x7b35f7a6 #x740ec972 #x5e145ea5) X (fftw_dft_vrank_geq1_register 1 #xc040 #x5aa4f029 #xeb0b8e7e #xecb5d7d8 #xd8168da4) X (fftw_codelet_t1_16 0 #xc040 #xae874ae5 #xa35569bf #x1374173a #xc28a6c6a) X (fftw_codelet_t1_16 0 #xc040 #xdd5bb17a #xb51edc5d #x27305acf #x2c8658de) X (fftw_codelet_t1_16 0 #xc040 #xcdc6362e #x0d594e65 #x826d28fd #xe2a20fbd) X (fftw_dft_vrank_geq1_register 1 #xc040 #x1afeea22 #xf0f5939d #x0d01c4e1 #x0a3e416e) X (fftw_rdft2_radix2_register 2 #xc040 #x4ca79471 #xfe5b9d2b #xaf3cc798 #x1c835346) X (fftw_codelet_t1_16 0 #xc040 #x6c8cc00e #x72a117ce #x61682263 #x44776160) X (fftw_codelet_n1_16 0 #xc040 #x75704e1e #x59732e31 #x714c2cb0 #x88f3c387) X (fftw_dft_vrank_geq1_register 1 #xc040 #xbed4f14c #xb8a29440 #xf8a07c9e #x08852bad) X (fftw_rdft2_thr_vrank_geq1_register 0 #xc040 #x72cb8c46 #x4f30ceab #x046f523c #xd3256c49) X (fftw_codelet_t1_16 0 #xc040 #xb7c20184 #xa7b75389 #xc1762caf #xbb7b0e88) X ) END-of-ddd/wisdom.out echo x - ddd/Makefile sed 's/^X//' >ddd/Makefile << 'END-of-ddd/Makefile' X#CC=cc -funroll-loops -O3 -fomit-frame-pointer -ffast-math \ XCC=cc -I/usr/local/include \ X -I/usr/X11R6/include \ X -L/usr/local/lib \ X -L/usr/X11R6/lib X XLIBRARIES= -lfftw3_threads -lfftw3 -lm -pthread X Xall: ddd X Xddd: ddd.c X ${CC} -o ddd ddd.c ${LIBRARIES} X Xclean: X rm -f ddd core *.core END-of-ddd/Makefile echo x - ddd/README sed 's/^X//' >ddd/README << 'END-of-ddd/README' XThis program will bring down FreeBSD RELENG_5 on my dual Xeon with XHHT enabled (including machdep.hyperthreading_allowed=1). X XInstall the math/fftw3 port with SMP_THREADS_ENABLED set in the options. X XAfter make, run the program: X./ddd & XIt is important that you run the program from within the directory that Xcontains the file wisdom.out. X XThen run the command Xtop -s0 XThis last command has to be run as root, although if you merely run top, Xyou will get the same effect, only you have to wait much longer. X XAfter a very short time, your system should panic. X END-of-ddd/README exit --------------000001010409030806050300--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?42965495.1060001>