[darcs-devel] [issue1026] Darcs trouble

Simon Peyton-Jones bugs at darcs.net
Fri Aug 22 11:59:03 UTC 2008


New submission from Simon Peyton-Jones <simonpj at microsoft.com>:

I am continuing to have trouble with Darcs.  Since the darcs community is now active again, I'll try to continue to report my troubles.  I cannot promise that I am reporting distinct problems.

On Windows, using darcs2.

Simon

See the trace below.  I'm using the darcs-all script to pull in patches from a peer directory.  I suspect (but I do not know) that the script isn't doing the Right Thing (see the line in red below).  But regardless, darcs should not crash with "bug in get_extra".   Doing so does not induce confidence.

sh-2.04$  ./darcs-all pull c:/simonpj/darcs/HEAD
== running darcs pull c:/simonpj/darcs/HEAD --repodir .
No remote changes to pull in!
== Required repo utils/hsc2hs is missing! Skipping
== running darcs pull c:/simonpj/darcs/HEAD --repodir libraries/array
Reading inventory of repository c:/simonpj/darcs/HEAD
darcs2.exe: bug in get_extra commuting patch:
Fri Apr 22 18:00:49 GMT Daylight Time 2005  sof
  * [project @ 2005-04-22 17:00:49 by sof]
  [mingw only]
  Better handling of I/O request abortions upon throwing an exception
  to a Haskell thread. As was, a thread blocked on an I/O request was
  simply unblocked, but its corresponding worker thread wasn't notified
  that the request had been abandoned.

  This manifested itself in GHCi upon Ctrl-C being hit at the prompt -- the
  worker thread blocked waiting for input on stdin prior to Ctrl-C would
  stick around even though its corresponding Haskell thread had been
  thrown an Interrupted exception. The upshot was that the worker would
  consume the next character typed in after Ctrl-C, but then just dropping
  it. Dealing with this turned out to be even more interesting due to
  Win32 aborting any console reads when Ctrl-C/Break events are delivered.

  The story could be improved upon (at the cost of portability) by making
  the Scheduler able to abort worker thread system calls; as is, requests
  are cooperatively abandoned. Maybe later.

  Also included are other minor tidyups to Ctrl-C handling under mingw.

  Merge to STABLE.
darcs failed: 256 at ./darcs-all line 49, <IN> line 6.
sh-2.04$

   Try it without the script

sh-2.04$ darcs2 pull c:/simonpj/darcs//HEAD --repodir libraries/array
Pulling from "c:/simonpj/darcs/HEAD"...
darcs2.exe: bug in get_extra commuting patch:
Fri Apr 22 18:00:49 GMT Daylight Time 2005  sof
  * [project @ 2005-04-22 17:00:49 by sof]
  [mingw only]
  Better handling of I/O request abortions upon throwing an exception
  to a Haskell thread. As was, a thread blocked on an I/O request was
  simply unblocked, but its corresponding worker thread wasn't notified
  that the request had been abandoned.

  This manifested itself in GHCi upon Ctrl-C being hit at the prompt -- the
  worker thread blocked waiting for input on stdin prior to Ctrl-C would
  stick around even though its corresponding Haskell thread had been
  thrown an Interrupted exception. The upshot was that the worker would
  consume the next character typed in after Ctrl-C, but then just dropping
  it. Dealing with this turned out to be even more interesting due to
  Win32 aborting any console reads when Ctrl-C/Break events are delivered.

  The story could be improved upon (at the cost of portability) by making
  the Scheduler able to abort worker thread system calls; as is, requests
  are cooperatively abandoned. Maybe later.

  Also included are other minor tidyups to Ctrl-C handling under mingw.

  Merge to STABLE.
sh-2.04$

----------
files: unnamed
messages: 5633
nosy: dagit, kowey, simonpj
status: unread
title: Darcs trouble

__________________________________
Darcs bug tracker <bugs at darcs.net>
<http://bugs.darcs.net/issue1026>
__________________________________
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osuosl.org/pipermail/darcs-devel/attachments/20080822/af7aee6a/attachment.htm 


More information about the darcs-devel mailing list