[Ecls-list] EPIPE and C errors

Matthew Mondor mm_lists at pulsar-zone.net
Tue Oct 2 21:24:28 UTC 2012

On Mon, 1 Oct 2012 23:23:54 +0200
Juan Jose Garcia-Ripoll <juanjose.garciaripoll at gmail.com> wrote:

> On Fri, Sep 21, 2012 at 12:11 AM, Matthew Mondor
> <mm_lists at pulsar-zone.net>wrote:
> > I noticed that functions such as WRITE-SEQUENCE will signal a condition
> > of type SIMPLE-ERROR if EPIPE is returned when writing.  This is
> > admitedly in non-standard territory, as only TYPE-ERROR is specified
> >
> I am going to upload some patches that fix this. ECL will signal FILE-ERROR
> and STREAM-ERROR conditions when stream operations fail due to the C
> library. Unfortunately the error hierarchy is already polluted enough and
> rather incestuous and adding more loops with C error conditions, errno and
> strerrno fields looks like an overkill to me. Until somebody cleans this up
> (CDR anyone?) this should do, but please feel free to comment.

Oct  2 17:00:17 ninja crow-httpd[14845]: # Error of type SI::SIMPLE-STREAM-ERROR: C operation (fflush) signaled an error. C library explanation: Broken pipe.  Stack trace:  in G756  in REPLY-FLUSH  in HTTP-REDIRECT  in HTTP-SERVE  in ACCEPT-LOOP-THREAD

I can now indeed see stream errors.  Is it expected to be unexported?

The httpd currently matches it fine using (or end-of-file
si::simple-stream-error) and can now report it in a better context with
more information such at the IP address and connection ID, and it's only
reported conditionally, as intended.  This condition no longer falls to
the server's top-level as bug, thanks.

i.e. with :log-errors debug-feature:

Oct  2 17:03:44 ninja crow-httpd[10538]: d415df03 Connection reset by peer

More information about the ecl-devel mailing list