From owner-freebsd-bugs@FreeBSD.ORG Mon Jun 14 07:40:05 2004 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 91C5016A4CE for ; Mon, 14 Jun 2004 07:40:05 +0000 (GMT) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 72DF643D5A for ; Mon, 14 Jun 2004 07:40:05 +0000 (GMT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.12.11/8.12.11) with ESMTP id i5E7e3Vg052491 for ; Mon, 14 Jun 2004 07:40:03 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.12.11/8.12.11/Submit) id i5E7e3Px052490; Mon, 14 Jun 2004 07:40:03 GMT (envelope-from gnats) Date: Mon, 14 Jun 2004 07:40:03 GMT Message-Id: <200406140740.i5E7e3Px052490@freefall.freebsd.org> To: freebsd-bugs@FreeBSD.org From: Edwin Groothuis Subject: Re: kern/67919: imagemagicks convert image to movie conversion kills 5.2.1 machine in vnode_pager_putpages X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: Edwin Groothuis List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 14 Jun 2004 07:40:05 -0000 The following reply was made to PR kern/67919; it has been noted by GNATS. From: Edwin Groothuis To: freebsd-gnats-submit@FreeBSD.org Cc: Subject: Re: kern/67919: imagemagicks convert image to movie conversion kills 5.2.1 machine in vnode_pager_putpages Date: Mon, 14 Jun 2004 17:34:19 +1000 I've attached a sample program with which the behaviour can be simulated. It works against my 256Mb /tmp partition. I have had different experiences with it. 1. start program, wait a couple of seconds, see these messages: Jun 14 16:49:39 k7 kernel: vnode_pager_putpages: I/O error 28 Jun 14 16:49:39 k7 kernel: vnode_pager_putpages: residual I/O 65536 at 124934 Jun 14 16:49:39 k7 kernel: pid 781 (mtest), uid 1001 inumber 6 on /tmp: filesystem full Two things can happen now: 2a. ^C the program, program itself becomes unkillable (state is something like bwrite in top), but machine responds (although very lagging) until it doesn't do anything further. The messages above keep coming in a regular interval (once every second or so) 2b. kill -9 the program, program terminates after some seconds. Machine keeps working for two-three seconds and an endless stream of vnode_pager_putpages messsages overflow the console. Some googling for the vnode_pager_putpages showed me this thread too: http://archives.neohapsis.com/archives/freebsd/2000-05/0345.html which sounds exactly like what is happening here. #include #include #include #include #include #define FNAME "/tmp/blaat" #define SIZE 500000*1024 int main(int argc,char **argv) { FILE *f; char *a=malloc(SIZE); int fd; int i; printf("Start\n"); if ((f=fopen(FNAME,"w"))==NULL) { perror("fopen"); return 1; } if (fseek(f,SIZE,SEEK_SET)!=0) { perror("fseek"); return 1; } if (fwrite("a",1,1,f)!=1) { perror("fwrite"); return 1; } if (fseek(f,0,SEEK_SET)!=0) { perror("fseek"); return 1; } if (fclose(f)!=0) { perror("fclose"); return 1; } if ((fd=open(FNAME,O_RDWR))==NULL) { perror("open"); return 1; } if ((a=mmap(NULL,SIZE,PROT_WRITE|PROT_READ,MAP_SHARED,fd,0))==MAP_FAILED) { perror("mmap"); return 1; } for (i=0;i