Skip site navigation (1)Skip section navigation (2)
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>