[Openmcl-devel] Bug when writing to broken pipe?

Ron Garret ron at flownet.com
Thu Dec 4 16:00:23 PST 2014


On Dec 4, 2014, at 1:54 PM, Gary Byers <gb at clozure.com> wrote:

> On 12/03/2014 02:55:20 PM, Ron Garret wrote:
>> On Dec 3, 2014, at 12:35 PM, Gary Byers <gb at clozure.com> wrote:
>> > i haven't looked at this or even thought about it much yet, but my first reaction - which could be misguided - is to suggest running the saved image with the --batch option.  That should cause any unhandled error to abruptly terminate the application and may (I don't remember the details) cause *TERMINAL-IO* to be initialized differently, and I expect that the death spiral you're getting has to do with the fact that the initial thread is trying to FORCE-OUTPUT on the output side of *TERMINAL-IO*, which is ordinarily the same stream as *STANDARD-OUTPUT* …
>> It has nothing to do with any of that.  It’s simply a bug: the -b flag doesn’t work as advertised when entering a break loop:
> 
> I still haven't looked at this at all carefully, but your example sure looked to me like the -b option was working as advertised (though the output was truncated at the end and the advertisement should be updated to note that an attempt is made to print a backtrace before exiting

That is not a negligible difference.  When stdout is on a broken pipe, any attempt by CCL to output anything to stdout on an error will result in an infinite cascade of “broken pipe” errors, which is exactly what Andreas was reporting.

rg




More information about the Openmcl-devel mailing list