opt out of accursedUnutterablePerformIO

Ben Franksen ben.franksen at online.de
Mon Mar 5 20:51:30 UTC 2018


Am 05.03.2018 um 14:47 schrieb Ben Franksen:
> Am 04.03.2018 um 22:48 schrieb Ben Gamari:
>>> Ben Franksen <ben.franksen at online.de> writes:
>>> Anyway. Would you perchance have any idea what could possibly make a
>>> program work fine with the first version of linesPS and crash with the
>>> second one? I find this pretty scary and would like to understand it.
>>>
>> Indeed that is quite scary. The cause is not at all obvious. Do you have
>> an isolated reproducer that you could share?
> 
> Sharing is no problem, this happened with darcs, which notably has its
> own share of dark and dangerous corners. I have considered trying to
> cook this down to some small example but my hopes of succeeding with
> this are almost nil. As I said, I have no evidence whatsoever that the
> problem has even anything to do with that-what-must-not-be-named, it's
> been purely a guess.
> 
> FWIW, I re-checked that the behavior is reproducible. I have uploaded a
> clone of darcs-screened with my patch applied on top to
> https://hub.darcs.net/bf/darcs-screened
> To reproduce the crash, cabal configure with --enable-tests, then do
> ./dist...whatever...darcs-test --shell=no
> Unpull the last patch and everything works.

I have managed to track the whole thing down to the interaction with
another utility function for ByteStrings (betweenLinesPS) that works
with the internal representation. The small test program is attached.

Cheers
Ben
-------------- next part --------------
A non-text attachment was scrubbed...
Name: crash.hs
Type: text/x-haskell
Size: 1486 bytes
Desc: not available
URL: <http://mail.haskell.org/pipermail/libraries/attachments/20180305/c9c88c60/attachment.hs>


More information about the Libraries mailing list