Date: Mon, 26 Aug 2002 23:17:27 +0100 From: Dominic Marks <dominic_marks@btinternet.com> To: freebsd-hackers@freebsd.org Subject: kevent and pipes interaction on 4.6-STABLE Message-ID: <20020826221727.GB92538@gallium>
next in thread | raw e-mail | index | archive | help
--3uo+9/B/ebqu+fSQ Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hey, I'm attempting the junior userland hacker task of replacing select in make with kevent. I have written the code and it is, as far as I know correct. The problem is that this code doesn't work. An example being the following: > cd /usr/src > /usr/obj/usr/home/dom/code/src/usr.bin/make/make -j2 clean xxx: kq = 3 xxx: new job on fd 5 xxx: closing job on fd 5 xxx: new job on fd 5 At this point it blocks waiting for events on fd 5 and it never comes back to life. It I watch kevent being called in Job_CatchOutput it is returning with EBADF. I have checked that kq is >0 when Job_CatchOutput is called so the bad file descriptor message is coming from the pipe. I am using the job->inPipe variable, which is a valid descriptor (I believe) as the identification for the new kevent. Please look at the diff to -CURRENT's make I have attached (small) and see if I have made any really trivial error. A truss log is also attached. Thanks! -- Dominic Marks Computer & Politics Geek [work]::[npl.co.uk] << dominic.marks at npl.co.uk >> [educ]::[umist.ac.uk] << notyet-known at umist.ac.uk >> [home]::[btinternet] << dominic_marks at btinternet.com >> --3uo+9/B/ebqu+fSQ Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="make-kqueue.diff" Index: job.c =================================================================== RCS file: /media/cvs/freebsd/src/usr.bin/make/job.c,v retrieving revision 1.38 diff -u -r1.38 job.c --- job.c 20 Jun 2002 19:28:00 -0000 1.38 +++ job.c 26 Aug 2002 22:06:31 -0000 @@ -1,4 +1,5 @@ /* + * Copyright (c) 2002, Dominic Marks * Copyright (c) 1988, 1989, 1990, 1993 * The Regents of the University of California. All rights reserved. * Copyright (c) 1988, 1989 by Adam de Boor @@ -105,6 +106,7 @@ #include <sys/types.h> #include <sys/stat.h> #include <sys/file.h> +#include <sys/event.h> #include <sys/time.h> #include <sys/wait.h> #include <err.h> @@ -237,8 +239,13 @@ * (2) a job can only be run locally, but * nLocal equals maxLocal */ #ifndef RMT_WILL_WATCH -static fd_set outputs; /* Set of descriptors of pipes connected to +#ifdef USE_SELECT +static fd_set outputs; + /* Set of descriptors of pipes connected to * the output channels of children */ +#else +static int kq = -1; +#endif /* USE_SELECT */ #endif STATIC GNode *lastNode; /* The node for which output was most recently @@ -704,11 +711,27 @@ JobClose(job) Job *job; { + int rv; + struct kevent ke; + if (usePipes) { #ifdef RMT_WILL_WATCH - Rmt_Ignore(job->inPipe); + + Rmt_Ignore(job->inPipe); #else +#ifdef USE_SELECT FD_CLR(job->inPipe, &outputs); +#else + memset(&ke, 0, sizeof(struct kevent)); + printf("xxx: closing job on fd %d\n", job->inPipe); + ke.ident = job->inPipe; + ke.filter = EVFILT_READ; + ke.flags = EV_DELETE; + rv = kevent(kq, &ke, 1, NULL, 0, NULL); + if (rv < 0) { + Punt("kevent(2) failed when closing a job"); + } +#endif /* USE_SELECT */ #endif if (job->outPipe != job->inPipe) { (void) close(job->outPipe); @@ -1192,6 +1215,10 @@ Job *job; /* Job to execute */ char **argv; { +#ifndef USE_SELECT + int rv; + struct kevent ke; +#endif /* USE_SELECT */ int cpid; /* ID of new child */ if (DEBUG(JOB)) { @@ -1305,7 +1332,19 @@ #ifdef RMT_WILL_WATCH Rmt_Watch(job->inPipe, JobLocalInput, job); #else +#ifdef USE_SELECT FD_SET(job->inPipe, &outputs); +#else + memset(&ke, 0, sizeof(struct kevent)); + printf("xxx: new job on fd %d\n", job->inPipe); + ke.ident = job->inPipe; + ke.filter = EVFILT_READ; + ke.flags = EV_ADD; + rv = kevent(kq, &ke, 1, NULL, 0, NULL); + if (rv < 0) { + Punt("kevent(2) failed when adding a job"); + } +#endif /* USE_SELECT */ #endif /* RMT_WILL_WATCH */ } @@ -2313,16 +2352,23 @@ void Job_CatchOutput() { - int nfds; - struct timeval timeout; - fd_set readfds; +#ifdef USE_SELECT + int nfds; + struct timeval timeout; + fd_set readfds; +#else +#define KEVENT_SET_SIZE 8 + int kq, rv, idx; + struct kevent ke[KEVENT_SET_SIZE]; +#endif /* USE_SELECT */ LstNode ln; Job *job; #ifdef RMT_WILL_WATCH int pnJobs; /* Previous nJobs */ #endif - + (void) fflush(stdout); + #ifdef RMT_WILL_WATCH pnJobs = nJobs; @@ -2347,26 +2393,49 @@ } #else if (usePipes) { +#ifdef USE_SELECT readfds = outputs; - timeout.tv_sec = SEL_SEC; - timeout.tv_usec = SEL_USEC; - if ((nfds = select(FD_SETSIZE, &readfds, (fd_set *) 0, - (fd_set *) 0, &timeout)) <= 0) - return; + timeout.tv_sec = SEL_SEC; + timeout.tv_usec = SEL_USEC; + + if ((nfds = select(FD_SETSIZE, &readfds, (fd_set *) 0, + (fd_set *) 0, &timeout)) <= 0) { + return; + } else { + if (Lst_Open(jobs) == FAILURE) { + Punt("Cannot open job table"); + } + while (nfds && (ln = Lst_Next(jobs)) != NULL) { + job = (Job *) Lst_Datum(ln); + if (FD_ISSET(job->inPipe, &readfds)) { + JobDoOutput(job, FALSE); + nfds -= 1; + } + } + } +#else + memset(&ke, 0, sizeof(struct kevent) * KEVENT_SET_SIZE); + rv = kevent(kq, NULL, 0, ke, KEVENT_SET_SIZE, NULL); + if (rv <= 0) { + return; + } else { if (Lst_Open(jobs) == FAILURE) { Punt("Cannot open job table"); } - while (nfds && (ln = Lst_Next(jobs)) != NULL) { - job = (Job *) Lst_Datum(ln); - if (FD_ISSET(job->inPipe, &readfds)) { - JobDoOutput(job, FALSE); - nfds -= 1; + while ((ln = Lst_Next(jobs)) != NULL) { + for (idx = 0; idx < rv; idx++) { + if (ke[idx].ident == job->inPipe) { + /* we found the kevent for the job */ + JobDoOutput(job, FALSE); + continue; + } } } Lst_Close(jobs); } +#endif /* USE_SELECT */ } #endif /* RMT_WILL_WATCH */ } @@ -2439,6 +2508,16 @@ } else { targFmt = TARG_FMT; } + +#ifndef USE_SELECT + if (kq < 0) { + kq = kqueue(); + printf("xxx: kq = %d\n", kq); + } + if (kq < 0) { + Punt("kqueue(2) could not assign a kqueue"); + } +#endif /* ! USE_SELECT */ if (shellPath == NULL) { /* --3uo+9/B/ebqu+fSQ Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="trussmake.log" Script started on Mon Aug 26 22:47:02 2002 > truss /usr/obj/usr/home/dom/code/src/usr.bin/make/make -j2 clean getrlimit(0x8,0xbfbfeef0) = 0 (0x0) sigaction(SIGSYS,0xbfbfee28,0xbfbfee10) = 0 (0x0) __getcwd(0xbfbfef00,0x400) = 0 (0x0) sigaction(SIGSYS,0xbfbfee10,0x0) = 0 (0x0) stat("/usr/src",0xbfbffb00) = 0 (0x0) __sysctl(0xbfbfee50,0x2,0xbfbfee58,0xbfbfee4c,0x8072220,0xe) = 0 (0x0) __sysctl(0xbfbfee58,0x2,0xbfbfeee8,0xbfbfeeec,0x0,0x0) = 0 (0x0) stat("obj.i386",0xbfbfee40) ERR#2 'No such file or directory' stat("obj",0xbfbfee40) ERR#2 'No such file or directory' stat("/usr/obj/usr/src",0xbfbfee40) ERR#2 'No such file or directory' readlink("/etc/malloc.conf",0xbfbfedd0,63) ERR#2 'No such file or directory' mmap(0x0,4096,0x3,0x1002,-1,0x0) = 671571968 (0x28076000) break(0x8083000) = 0 (0x0) break(0x8084000) = 0 (0x0) stat(".",0xbfbfedd0) = 0 (0x0) open(".",0x4,00) = 3 (0x3) fstat(3,0xbfbfedd0) = 0 (0x0) fcntl(0x3,0x2,0x1) = 0 (0x0) __sysctl(0xbfbfec88,0x2,0x8080a60,0xbfbfec84,0x0,0x0) = 0 (0x0) fstatfs(0x3,0xbfbfecd0) = 0 (0x0) break(0x8085000) = 0 (0x0) break(0x8086000) = 0 (0x0) getdirentries(0x3,0x8084000,0x1000,0x8082134) = 512 (0x200) getdirentries(0x3,0x8084000,0x1000,0x8082134) = 0 (0x0) lseek(3,0x0,0) = 0 (0x0) close(3) = 0 (0x0) break(0x8087000) = 0 (0x0) break(0x8088000) = 0 (0x0) break(0x8089000) = 0 (0x0) gettimeofday(0xbfbfee98,0x0) = 0 (0x0) stat("/usr/share/mk",0xbfbfedf0) = 0 (0x0) open("/usr/share/mk",0x4,024) = 3 (0x3) fstat(3,0xbfbfedf0) = 0 (0x0) fcntl(0x3,0x2,0x1) = 0 (0x0) fstatfs(0x3,0xbfbfecf0) = 0 (0x0) break(0x808a000) = 0 (0x0) getdirentries(0x3,0x8089000,0x1000,0x8082a74) = 1024 (0x400) getdirentries(0x3,0x8089000,0x1000,0x8082a74) = 0 (0x0) lseek(3,0x0,0) = 0 (0x0) close(3) = 0 (0x0) open("/usr/share/mk/sys.mk",0x0,0666) = 3 (0x3) fstat(3,0xbfbfe870) = 0 (0x0) break(0x808e000) = 0 (0x0) read(0x3,0x808a000,0x4000) = 5288 (0x14a8) break(0x808f000) = 0 (0x0) break(0x8090000) = 0 (0x0) break(0x8091000) = 0 (0x0) break(0x8092000) = 0 (0x0) break(0x8093000) = 0 (0x0) break(0x8094000) = 0 (0x0) break(0x8095000) = 0 (0x0) stat("/etc/defaults/make.conf",0xbfbfe790) = 0 (0x0) break(0x8096000) = 0 (0x0) open("/etc/defaults/make.conf",0x0,0666) = 4 (0x4) fstat(4,0xbfbfe870) = 0 (0x0) break(0x809a000) = 0 (0x0) read(0x4,0x8096000,0x4000) = 16082 (0x3ed2) read(0x4,0x8096000,0x4000) = 0 (0x0) close(4) = 0 (0x0) stat("/etc/make.conf",0xbfbfe7d0) = 0 (0x0) open("/etc/make.conf",0x0,0666) = 4 (0x4) fstat(4,0xbfbfe870) = 0 (0x0) read(0x4,0x8096000,0x4000) = 54 (0x36) read(0x4,0x8096000,0x4000) = 0 (0x0) close(4) = 0 (0x0) open("/usr/share/mk/bsd.cpu.mk",0x0,0666) = 4 (0x4) fstat(4,0xbfbfe870) = 0 (0x0) read(0x4,0x8096000,0x4000) = 3380 (0xd34) read(0x4,0x8096000,0x4000) = 0 (0x0) close(4) = 0 (0x0) stat("/etc/make.conf.local",0xbfbfe7d0) ERR#2 'No such file or directory' stat("/etc/objformat",0xbfbfe7d0) = 0 (0x0) open("/etc/objformat",0x0,0666) = 4 (0x4) fstat(4,0xbfbfe870) = 0 (0x0) read(0x4,0x8096000,0x4000) = 14 (0xe) read(0x4,0x8096000,0x4000) = 0 (0x0) close(4) = 0 (0x0) read(0x3,0x808a000,0x4000) = 0 (0x0) close(3) = 0 (0x0) open("BSDmakefile",0x0,0666) ERR#2 'No such file or directory' open("makefile",0x0,0666) ERR#2 'No such file or directory' open("Makefile",0x0,0666) = 3 (0x3) fstat(3,0xbfbfe8d0) = 0 (0x0) read(0x3,0x808a000,0x4000) = 8449 (0x2101) pipe() = 4 (0x4) vfork() = 92511 (0x1695f) SIGNAL 20 close(5) = 0 (0x0) read(0x4,0xbfbfe5e0,0x400) = 29 (0x1d) read(0x4,0xbfbfe5e0,0x400) = 0 (0x0) close(4) = 0 (0x0) wait4(0xffffffff,0xbfbfe5d4,0x0,0x0) = 92511 (0x1695f) break(0x809b000) = 0 (0x0) break(0x809c000) = 0 (0x0) read(0x3,0x808a000,0x4000) = 0 (0x0) close(3) = 0 (0x0) open(".depend",0x0,0666) ERR#2 'No such file or directory' kqueue() = 3 (0x3) fstat(1,0xbfbfeb20) = 0 (0x0) ioctl(1,TIOCGETA,0xbfbfeb54) = 0 (0x0) xxx: kq = 3 write(1,0x808a000,12) = 12 (0xc) sigaction(SIGINT,0xbfbfee58,0xbfbfee40) = 0 (0x0) sigaction(SIGINT,0xbfbfee58,0xbfbfee40) = 0 (0x0) sigaction(SIGHUP,0xbfbfee58,0xbfbfee40) = 0 (0x0) sigaction(SIGHUP,0xbfbfee58,0xbfbfee40) = 0 (0x0) sigaction(SIGQUIT,0xbfbfee58,0xbfbfee40) = 0 (0x0) sigaction(SIGQUIT,0xbfbfee58,0xbfbfee40) = 0 (0x0) sigaction(SIGTERM,0xbfbfee58,0xbfbfee40) = 0 (0x0) sigaction(SIGTERM,0xbfbfee58,0xbfbfee40) = 0 (0x0) stat("upgrade_checks",0xbfbfedc0) ERR#2 'No such file or directory' gettimeofday(0xbfbfec60,0x0) = 0 (0x0) getpid() = 92510 (0x1695e) open("/dev/urandom",0x0,00) = 4 (0x4) read(0x4,0xbfbfec6c,0x74) = 116 (0x74) close(4) = 0 (0x0) stat("/tmp",0xbfbfed40) = 0 (0x0) open("/tmp/makeirqsjHmX1j",0xa02,0600) = 4 (0x4) getdtablesize() = 1792 (0x700) fcntl(0x4,0x3,0x0) = 2 (0x2) lstat("/tmp/makeirqsjHmX1j",0xbfbfed60) = 0 (0x0) unlink(0x807c744) = 0 (0x0) fcntl(0x4,0x2,0x1) = 0 (0x0) fstat(4,0xbfbfe9d0) = 0 (0x0) break(0x80a0000) = 0 (0x0) write(4,0x809c000,6) = 6 (0x6) write(4,0x809c000,97) = 97 (0x61) write(4,0x809c000,7) = 7 (0x7) write(4,0x809c000,6) = 6 (0x6) write(4,0x809c000,111) = 111 (0x6f) write(4,0x809c000,7) = 7 (0x7) pipe() = 5 (0x5) fcntl(0x5,0x2,0x1) = 0 (0x0) fcntl(0x6,0x2,0x1) = 0 (0x0) vfork() = 92513 (0x16961) xxx: new job on fd 5 write(1,0x808a000,21) = 21 (0x15) kevent(0x3,0xbfbfedbc,0x1,0x0,0x0,0x0) = 0 (0x0) close(4) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' SIGNAL 20 xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 92513 (0x16961) xxx: closing job on fd 5 write(1,0x808a000,25) = 25 (0x19) kevent(0x3,0xbfbfedec,0x1,0x0,0x0,0x0) = 0 (0x0) close(6) = 0 (0x0) read(0x5,0x808c034,0x400) = 12 (0xc) read(0x5,0x808c034,0x400) = 0 (0x0) close(5) = 0 (0x0) stat("upgrade_checks",0xbfbfed60) ERR#2 'No such file or directory' wait4(0xffffffff,0xbfbfee68,0x3,0x0) ERR#10 'No child processes' stat("clean",0xbfbfedb0) ERR#2 'No such file or directory' stat("/tmp",0xbfbfed30) = 0 (0x0) open("/tmp/makeVlmw4Evle7",0xa02,0600) = 4 (0x4) fcntl(0x4,0x3,0x0) = 2 (0x2) lstat("/tmp/makeVlmw4Evle7",0xbfbfed50) = 0 (0x0) unlink(0x807c744) = 0 (0x0) fcntl(0x4,0x2,0x1) = 0 (0x0) fstat(4,0xbfbfe9c0) = 0 (0x0) write(4,0x809c000,6) = 6 (0x6) write(4,0x809c000,98) = 98 (0x62) write(4,0x809c000,7) = 7 (0x7) pipe() = 5 (0x5) fcntl(0x5,0x2,0x1) = 0 (0x0) fcntl(0x6,0x2,0x1) = 0 (0x0) vfork() = 92521 (0x16969) xxx: new job on fd 5 write(1,0x808a000,21) = 21 (0x15) kevent(0x3,0xbfbfedac,0x1,0x0,0x0,0x0) = 0 (0x0) close(4) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,0x808a000,25) = 25 (0x19) wait4(0xffffffff,0xbfbfee68,0x3,0x0) = 0 (0x0) kevent(0x809abc0,0x0,0x0,0xbfbfede0,0x8,0x0) ERR#9 'Bad file descriptor' xxx: Bad file descriptor write(1,^C0x808a000,25) = 25 (0x19) SIGNAL 2 SIGNAL 2 SIGNAL 20 kill(0x16969,0x2) ERR#3 'No such process' lstat("clean",0xbfbfe784) ERR#2 'No such file or directory' kill(0x16969,0x2) ERR#3 'No such process' sigprocmask(0x3,0xbfbfe864,0xbfbfe854) = 0 (0x0) sigaction(SIGINT,0xbfbfe83c,0x0) = 0 (0x0) sigaction(SIGINT,0xbfbfe7fc,0xbfbfe7e4) = 0 (0x0) getpid() = 92510 (0x1695e) kill(0x1695e,0x2) = 0 (0x0) kill(0x16969,0x13) ERR#3 'No such process' sigprocmask(0x3,0xbfbfe854,0x0) = 0 (0x0) sigprocmask(0x3,0xbfbfe854,0x0) = 0 (0x0) sigaction(SIGCONT,0xbfbfe83c,0x0) = 0 (0x0) SIGNAL 2 SIGNAL 2 process exit, rval = 2 > exit exit Script done on Mon Aug 26 22:47:12 2002 --3uo+9/B/ebqu+fSQ-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020826221727.GB92538>