caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Fabrice Le Fessant <Fabrice.Le_fessant@inria.fr>
To: caml-list@inria.fr
Subject: Re: [Caml-list] Unix.Unix_error(31, "write", "") raised from format.ml!? This is not right.
Date: Tue, 08 Mar 2011 22:28:46 +0100	[thread overview]
Message-ID: <4D769F8E.9000803@inria.fr> (raw)
In-Reply-To: <1001695803.480327.1299594992792.JavaMail.root@zmbs4.inria.fr>

[-- Attachment #1: Type: text/plain, Size: 1500 bytes --]

You can also define a printer for the exception Unix_error, once and for
all.

let _ =
  Printexc.register_printer (fun exn ->
    match exn with
      Unix.Unix_error (error, s1, s2) ->
        Some (Printf.sprintf "Unix_error(%s, %s, %s)"
(Unix.error_message error) s1 s2)
    | _ -> None)
;;

It would probably be a good idea to include this code directly in the
Unix module of the distribution, no ?
--Fabrice

On 03/08/2011 03:36 PM, Gerd Stolpmann wrote:
> Am Dienstag, den 08.03.2011, 13:17 +1100 schrieb Arlen Cuss:
> 
>> Exception Unix.Unix_error(31, "write", "") occurred
>> Exception Unix.Unix_error(56, "write", "") occurred
>>
>> Both are occurring with the same reported backtrace; the former is Unix
>> error EMLINK (too many links), the latter EISCONN (socket is connected);
>> the strange thing is that *neither* of these errors should be throwable
>> on a write() call!
> 
> That's not quite correct.
> 
> Error 31 is EPIPE. Error 56 is ECONNRESET. You can easily find out by
> typing in the toploop:
> 
> # (Obj.magic 31: Unix.error);;
> - : Unix.error = Unix.EPIPE
> # (Obj.magic 56: Unix.error);;
> - : Unix.error = Unix.ECONNRESET
> 
> The error numbers are not the official Unix ones, but something that
> ocaml uses internally.
> 
> Gerd
> 
> 
>>
>> I've ensured I'm correctly compiling with debug info, so I'm a bit lost.
>> I can only assume a sprintf or similar call somewhere is going haywire.
>>
>> Anyone seen anything like this before?
>>
>> Best,
>> Arlen
>>
>>
> 
> 

[-- Attachment #2: fabrice_le_fessant.vcf --]
[-- Type: text/x-vcard, Size: 397 bytes --]

begin:vcard
fn:Fabrice LE FESSANT
n:LE FESSANT;Fabrice
org:INRIA Saclay -- Ile-de-France;Projet OCamlPro
adr;quoted-printable:;;Parc Orsay Universit=C3=A9 ;Orsay CEDEX;;91893;France
email;internet:fabrice.le_fessant@inria.fr
title;quoted-printable:Charg=C3=A9 de Recherche
tel;work:+33 1 74 85 42 14
tel;fax:+33 1 74 85 42 49 
url:http://fabrice.lefessant.net/
version:2.1
end:vcard


  parent reply	other threads:[~2011-03-08 21:28 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-08  2:17 Arlen Cuss
2011-03-08  2:22 ` Arlen Cuss
2011-03-08 14:35 ` Gerd Stolpmann
     [not found] ` <1001695803.480327.1299594992792.JavaMail.root@zmbs4.inria.fr>
2011-03-08 21:28   ` Fabrice Le Fessant [this message]
2011-03-08 23:17     ` Gerd Stolpmann

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4D769F8E.9000803@inria.fr \
    --to=fabrice.le_fessant@inria.fr \
    --cc=caml-list@inria.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).