Date: Mon, 7 Feb 2000 20:07:43 +0100 (CET) From: Bjoern Groenvall <bg@bg.sics.se> To: FreeBSD-gnats-submit@freebsd.org Cc: bg@sics.se Subject: kern/16568: How to crash FreeBSD 4.4 Message-ID: <200002071907.UAA19100@bg.sics.se>
next in thread | raw e-mail | index | archive | help
>Number: 16568
>Category: kern
>Synopsis: How to crash FreeBSD 4.4
>Confidential: no
>Severity: critical
>Priority: high
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Mon Feb 7 11:10:02 PST 2000
>Closed-Date:
>Last-Modified:
>Originator: Bjoern Groenvall
>Release: FreeBSD 3.4-RELEASE i386
>Organization:
SICS
>Environment:
pao$ dmesg | head -15
Copyright (c) 1992-1999 FreeBSD Inc.
Copyright (c) 1982, 1986, 1989, 1991, 1993
The Regents of the University of California. All rights reserved.
FreeBSD 3.4-RELEASE #1: Wed Dec 22 12:16:23 CET 1999
root@pao.sics.se:/usr/src/sys/compile/PAO
Timecounter "i8254" frequency 1193182 Hz
Timecounter "TSC" frequency 598840712 Hz
CPU: AMD-K7(tm) Processor (598.84-MHz 686-class CPU)
Origin = "AuthenticAMD" Id = 0x612 Stepping = 2
Features=0x81f9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,PAT,MMX>
AMD Features=0xc0400000<<b22>,<b30>,3DNow!>
real memory = 134217728 (131072K bytes)
avail memory = 127496192 (124508K bytes)
Preloaded elf kernel "kernel" at 0xc02c5000.
Pentium Pro MTRR support enabled
>Description:
The attached program almost reliably crashes FreeBSD 3.4. By "almost"
here is ment that usually you get a crash on the first run, sometimes
you have to try twice. Other times it is even necessary to do some
compilations and then try crash.c again. Usually there is a crash on
the first or second try.
We have tried this program on other machines too with different CPUs
and they crashed to. If you need more info, just ask.
>How-To-Repeat:
Compile and run the following program. If you don't get a panic on the
first try, Ctrl-C and rerun.
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h>
void
qerror(const char *msg)
{
perror(msg);
exit(10);
}
int
main()
{
int fd;
/* Get a numerically large fd. */
fd = dup2(0, getdtablesize() - 10);
if (fd < 0)
qerror("dup2");
fprintf(stderr, "fd = %d\n", fd);
while (1)
switch (fork()) {
case -1:
qerror("fork");
case 0:
write(2, ".", 1);
exit(0);
default:
wait(0);
break;
}
}
>Fix:
Unknown.
>Release-Note:
>Audit-Trail:
>Unformatted:
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200002071907.UAA19100>
