From owner-freebsd-bugs Thu May 25 03:10:07 1995 Return-Path: bugs-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.10/8.6.6) id DAA20845 for bugs-outgoing; Thu, 25 May 1995 03:10:07 -0700 Received: (from gnats@localhost) by freefall.cdrom.com (8.6.10/8.6.6) id DAA20837 ; Thu, 25 May 1995 03:10:04 -0700 Date: Thu, 25 May 1995 03:10:04 -0700 Message-Id: <199505251010.DAA20837@freefall.cdrom.com> From: David Muir Sharnoff Reply-To: David Muir Sharnoff To: freebsd-bugs Subject: kern/443: 65 sendmails crashes system In-Reply-To: Your message of Wed, 31 May 1995 22:00:06 -0700 <199506010500.WAA00734@idiom.com> Sender: bugs-owner@FreeBSD.org Precedence: bulk >Number: 443 >Category: kern >Synopsis: 65 sendmails crashes system >Confidential: no >Severity: serious >Priority: low >Responsible: freebsd-bugs (FreeBSD bugs mailing list) >State: open >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Thu May 25 03:10:01 1995 >Originator: David Muir Sharnoff >Organization: Idiom Consulting >Release: FreeBSD 2.0-RELEASE i386 >Environment: FreeBSD 2.0R on a Pentium 90, 32MB ram, NCR53c810, ST32550Ns >Description: I'm writing a little program to see how fast email can be sent. It kinda stresses the system a bit. I don't mind if my system pauses while it tries to cope, but it shouldn't crash. >How-To-Repeat: Run the following perl5 program on a system that's been configured to handle lots of processes (eg: Filesystem 1K-blocks Used Avail Capacity iused ifree %iused Mounted on procfs 4 4 0 100% 47 997 5% /proc Don't forget to change the email address first! I'm not sure what triggered the crash. I was trying to type renice -20 $$ on the console, I had a top running in an xterm, and of course, I had all the usuall things running like innd and xntpd. # 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: # # mtt_send # echo x - mtt_send sed 's/^X//' >mtt_send << 'END-of-mtt_send' X#!/usr/local/bin/perl X X# X# Send fixed-size email messages very quickly for througput X# testing purposes. X# X# Each message has the following header: X# Subject: TTM $count $payload $interval $pid $message_number $current_time X# X# David Muir Sharnoff , 5/24/95 X# X X$mail_to = 'testmail'; X$count = 300; # messages X$payload = 200; # bytes in body X$interval = 0.2; # seconds, fractional okay X X$sendmail = '/usr/sbin/sendmail'; X$a_long_time = 2; # seconds for an email to really get there X X# ---------------------------------------------------------- X Xrequire 5.000; X$mail_from = getpwuid($<); X Xdie "no $sendmail" unless -x $sendmail; X X$body = "012345678901234567890123456789012345678\n" x ($payload+40 / 40); X$body = substr($body,1,$payload-1); X$body .= "\n"; X X$now = time; Xopen(SENDMAIL,"|$sendmail -t -oem -i") || die "open $sendmail: $!"; Xprint SENDMAIL < $actual) { X # going too fast X $delay = $ideal - $actual; X print STDERR "waiting for $delay seconds\n"; X select(undef,undef,undef,$delay); X } X X $pid = fork(); X redo unless defined $pid; X next if $pid; X X open(SENDMAIL,"|$sendmail -t -oem -i") || die "open $sendmail: $!"; X X $now = time; X print SENDMAIL < $ideal * 1.10 + 1.0); X X END-of-mtt_send exit >Fix: >Audit-Trail: >Unformatted: