From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id PAA21181; Fri, 28 May 2004 15:13:49 +0200 (MET DST) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id PAA21055 for ; Fri, 28 May 2004 15:13:48 +0200 (MET DST) X-SPAM-Warning: Sending machine is listed in blackholes.five-ten-sg.com Received: from gatekeeper.elmer.external.excelhustler.com (gatekeeper.excelhustler.com [68.99.114.105]) by nez-perce.inria.fr (8.12.10/8.12.10) with ESMTP id i4SDDkEV024096; Fri, 28 May 2004 15:13:46 +0200 Received: from chatterbox.elmer.internal.excelhustler.com (unknown [192.168.0.12]) (using TLSv1 with cipher EDH-RSA-DES-CBC3-SHA (168/168 bits)) (Client CN "chatterbox.elmer.internal.excelhustler.com", Issuer "excelhustler.com" (not verified)) by gatekeeper.elmer.external.excelhustler.com (Postfix) with ESMTP id 20DDAE01A4; Fri, 28 May 2004 08:13:45 -0500 (CDT) Received: from localhost (localhost [127.0.0.1]) by chatterbox.elmer.internal.excelhustler.com (Postfix) with ESMTP id B41675C067; Fri, 28 May 2004 08:13:43 -0500 (CDT) Received: from chatterbox.elmer.internal.excelhustler.com ([192.168.0.12]) by localhost (chatterbox [192.168.0.12]) (amavisd-new, port 10025) with ESMTP id 04037-08; Fri, 28 May 2004 08:13:40 -0500 (CDT) Received: from wile.internal.excelhustler.com (wile.internal.excelhustler.com [192.168.1.34]) by chatterbox.elmer.internal.excelhustler.com (Postfix) with ESMTP id 7C8465C063; Fri, 28 May 2004 08:13:39 -0500 (CDT) Received: by wile.internal.excelhustler.com (Postfix, from userid 1000) id 3FD3C49057; Fri, 28 May 2004 08:13:39 -0500 (CDT) Date: Fri, 28 May 2004 08:13:39 -0500 From: John Goerzen To: Bruno.Verlyck@inria.fr Cc: caml-list@inria.fr Subject: Re: [Caml-list] Cash broken? Message-ID: <20040528131339.GC9268@excelhustler.com> References: <20040527193823.GA12789@excelhustler.com> <200405281026.i4SAQFmR031229@waco.inria.fr> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="W/nzBZO5zC0uMSeA" Content-Disposition: inline In-Reply-To: <200405281026.i4SAQFmR031229@waco.inria.fr> User-Agent: Mutt/1.5.6i X-Virus-Scanned: by amavisd-new-20030616-p7 (Debian) at excelhustler.com X-Miltered: at nez-perce with ID 40B73B0A.001 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Loop: caml-list@inria.fr X-Spam: no; 0.00; caml-list:01 2004:99 descriptor:01 descriptor:01 backtrace:01 truss:01 strace:01 backtrace:01 forked:01 strace:01 rank:99 pervasives:01 3.07:01 1.48:01 1.48:01 X-Attachments: type="application/octet-stream" name="foo.gz" Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk --W/nzBZO5zC0uMSeA Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Fri, May 28, 2004 at 12:26:15PM +0200, Bruno.Verlyck@inria.fr wrote: > # open Cash;; > # run_with_strings (fun () -> exec_path "ls" []);; > Exception: Sys_error "Bad file descriptor". > # Exception: Sys_error "Bad file descriptor". > I can't make any of the run_with_* that I've tried work, whether in > my programs or with cashtop. > > Ideas? (Cash 0.20) > Not a lot with so little info (of course it works here). Would you > mind sending me more OS details ? A backtrace would be very useful, > and/or the result of trace/truss/strace -f ? This is on Debian sid, Linux 2.6.6. I couldn't figure out how to get a backtrace. However, from the forked child, I see: [pid 9461] close(4) = 0 [pid 9461] close(4) = -1 EBADF (Bad file descriptor) (Full strace attached) Will try the patch. How does the CVS version rank in terms of stability? > That said, what comes to mind is that the behavior of close_{in,out} > has changed in Pervasives over the last versions of Caml. I wrote > some (too many) lines of code to make Cash.close_{in,out} work anyway. > I see in the CVS log that there was a change related to that, some > time after 3.07 (see the attached patch). You could try it, or even > try the entire CVS version of Cash. > > Bruno. > Index: io_3_2.ml > =================================================================== > RCS file: /net/pauillac/caml/repository/cash/io_3_2.ml,v > retrieving revision 1.47 > retrieving revision 1.48 > diff -c -a -r1.47 -r1.48 > *** io_3_2.ml 2002/08/05 17:07:37 1.47 > --- io_3_2.ml 2002/12/05 17:37:52 1.48 > *************** > *** 116,126 **** > Some fd -> > let res = low_close_fd fd in (* low_close_fd will tell it. *) > do { > ! close_any any_chan; (* Never raise exception in the current implementation. *) > res > } ] > in > (fun ichan -> close (anychan_of_ichan ichan), > fun ochan -> do { flush ochan; close (anychan_of_ochan ochan) }) > ; > > --- 116,129 ---- > Some fd -> > let res = low_close_fd fd in (* low_close_fd will tell it. *) > do { > ! (* Used to raise no exception, but this varies between implementations... *) > ! try close_any any_chan with [ Sys_error "Bad file descriptor" -> () ]; > res > } ] > in > (fun ichan -> close (anychan_of_ichan ichan), > + (* Current religion says: flush do nothing on a closed channel. *) > + (* Current implication is: if an unflushed channel's fd is closed, it's an error. *) > fun ochan -> do { flush ochan; close (anychan_of_ochan ochan) }) > ; --W/nzBZO5zC0uMSeA Content-Type: application/octet-stream Content-Disposition: attachment; filename="foo.gz" Content-Transfer-Encoding: base64 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 --W/nzBZO5zC0uMSeA-- ------------------- To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ Beginner's list: http://groups.yahoo.com/group/ocaml_beginners