darcs

Issue 2573 task: purge darcs of all uses of ByteString internals

Title task: purge darcs of all uses of ByteString internals
Priority urgent Status unknown
Milestone 2.14.0 HEAD Resolved in
Superseder Nosy List bf
Assigned To
Topics

Created on 2018-03-05.22:31:05 by bf, last changed 2018-03-28.20:15:04 by bf.

Messages
msg19942 (view) Author: bf Date: 2018-03-05.22:31:03
Here is a link with the details:

  https://mail.haskell.org/pipermail/libraries/2018-March/028572.html

My conclusion from this thread is that we MUST purge darcs of all uses
of Data.ByteString.Internal. Working with BS internals is apparently so
much more hazardous than any mere low-level raw pointer programming that
I don't trust anybody besides Mr. Duncat Coutts himself and a few select
 experts to get this right.
msg19949 (view) Author: bf Date: 2018-03-07.13:48:17
The issue with my refactored linesPS has been cleared up thanks to
Betram Felgenhauer who showed that betweenLinesPS (which calls linesPS)
makes invalid assumptions about the way the ForeignPtrs inside a
ByteString are allocated. In particular, empty ByteString can be
represented as a NULL pointer. I have a fix for this particular abuse of
ByteString internals in petto.

We still have to see to the other places where we access ByteString
internals. This should be a priority before we make a new release.
msg20070 (view) Author: bf Date: 2018-03-28.20:15:03
I have made some progress with this, see my latest patches at
https://hub.darcs.net/bf/darcs-bf-latest
History
Date User Action Args
2018-03-05 22:31:05bfcreate
2018-03-07 13:48:19bfsetmessages: + msg19949
2018-03-07 13:48:54bfsetpriority: urgent
milestone: 2.14.0 HEAD
2018-03-28 20:15:04bfsetmessages: + msg20070