darcs

Issue 188 Windows: darcs failing on files containing very long lines

Title Windows: darcs failing on files containing very long lines
Priority bug Status given-up
Milestone Resolved in
Superseder Nosy List darcs-devel, dmitry.kurochkin, edwint, eivuokko, kirby, kowey, markstos, thorkilnaur, tommy, wglozer
Assigned To
Topics Windows

Created on 2006-06-22.12:33:01 by edwint, last changed 2017-07-31.00:34:39 by gh.

Files
File name Uploaded Type Edit Remove
longlines.hs kowey, 2008-05-14.15:57:43 text/x-haskell
longlines.hs kowey, 2010-04-01.12:54:08 text/x-haskell
Messages
msg710 (view) Author: edwint Date: 2006-06-22.12:32:58
This happens in Windows, running darcs 1.0.8 in cmd.exe, but not when running
the same darcs binary from a cygwin shell, or in linux.

The file longline.txt is a 120KB text file with no line breaks.
C:\longline>darcs init
C:\longline>darcs add longline.txt
C:\longline>darcs record -A me
addfile ./longline.txt
Shall I record this change? (1/?)  [ynWsfqadjkc], or ? for help:
hunk ./longline.txt 1
-
+
darcs failed:  resource exhausted
C:\longline>
msg766 (view) Author: droundy Date: 2006-07-04.11:45:58
I guess the problem is that we're writing the very long line to the terminal,
and that causes trouble.  Perhaps (for windows only?) we should truncate lines
when writing to the terminal?

Can you tell me if

record -A me -a

works fine?
msg774 (view) Author: edwint Date: 2006-07-04.12:16:20
Yes, record -a works fine.
msg2947 (view) Author: markstos Date: 2008-01-31.03:35:50
Edwin,

Could you test with one of the Darcs2 pre-release binaries for Windows and see
if the experience is improved? They are available here:

http://wiki.darcs.net/index.html/DarcsTwo

  Mark
msg2984 (view) Author: droundy Date: 2008-01-31.16:33:28
I'd guess this problem is still there.  I think we need to find out what limit
cmd.exe places on length of lines printed.  Someone with windows ought to be
able to run a simple test.  Of course, it may depend on the variety of windows run.

David
msg3509 (view) Author: markstos Date: 2008-02-16.21:57:35
I found these references about long lines and cmd.exe, but they are both mainly
about how long the command line call can be, and how long the environment
variables can be (which I didn't think we used on Windows).

http://blogs.msdn.com/oldnewthing/archive/2003/12/10/56028.aspx
http://support.microsoft.com/kb/830473
msg4678 (view) Author: kowey Date: 2008-05-14.13:06:42
We could find out the dumb way with a little program to print out increasingly
long lines to screen...
msg4702 (view) Author: kowey Date: 2008-05-14.15:57:43
Edwin: do you think this Haskell program could give us any clues? Could you, or
somebody else on Windows tell us what happens when you run it?
Attachments
msg4910 (view) Author: kowey Date: 2008-06-02.09:52:01
Well, I just got access to a Windows box... and the longlines.hs program
suceeeds.  Hmm...
msg6329 (view) Author: kowey Date: 2008-10-16.12:56:43
We still need to diagnose this bug, after my longlines.hs failed to confirm the
writing-long-lines-to-terminals hypothesis from David (of course, it could just
be that the test itself needs to be tweaked)
msg7784 (view) Author: kirby Date: 2009-05-01.11:29:54
This still doesn't work on windows (just tested).
One workaround is to mark the file as binary (putting it in prefs/binaries).
msg8237 (view) Author: kowey Date: 2009-08-18.10:09:04
We still need somebody (probably a Windows hacker) to develop a hypothesis on
why this is happening.
msg15108 (view) Author: mulander Date: 2012-02-10.00:40:03
Issue still exists. It's not limited to cmd.exe. The exact same failure happens on powershell.

D:\darcs\tests\188>darcs --exact-version
darcs compiled on Mar 14 2011, at 23:17:58

Context:

[TAG 2.5.2
Ganesh Sittampalam <ganesh@earth.li>**20110313223504
 Ignore-this: f3f57f3eacb2fdd4cdafc581c05058e3
]

Compiled with:

HTTP-4000.0.9
array-0.3.0.1
base-4.2.0.2
bytestring-0.9.1.7
containers-0.3.0.0
directory-1.0.1.1
extensible-exceptions-0.1.1.1
filepath-1.1.0.4
hashed-storage-0.5.5
haskeline-0.6.3.2
html-1.0.1.2
mtl-1.1.0.2
network-2.2.1.7
old-time-1.0.0.5
parsec-2.1.0.1
process-1.0.1.3
random-1.0.0.2
regex-compat-0.93.1
regex-posix-0.94.4
tar-0.3.1.0
text-0.11.0.5
unix-compat-0.2.1.1
zlib-0.5.2.0

D:\darcs\tests\188>cat longlines.hs
import System.IO

main = printLine 100

printLine n | n > 1200 = putStrLn "done!"
printLine n = do hPutStrLn stderr $ show n ++ "K"
                 putStrLn $ replicate (1000 * n) 'x'
                 printLine (n + 100)


D:\darcs\tests\188>longline.exe > longlines.txt
100K
200K
300K
400K
500K
600K
700K
800K
900K
1000K
1100K
1200K

D:\darcs\tests\188>darcs add longlines.txt

D:\darcs\tests\188>darcs record -A me
addfile ./longlines.txt
Shall I record this change? (1/2)  [ynW...], or ? for more options: y
hunk ./longlines.txt 1
+
darcs failed:  resource exhausted

--
From powershell:

PS D:\darcs\tests\188> darcs record -A me
addfile ./longlines.txt
Shall I record this change? (1/2)  [ynW...], or ? for more options: y
hunk ./longlines.txt 1
+
darcs failed:  resource exhausted
PS D:\darcs\tests\188>
History
Date User Action Args
2006-06-22 12:33:01edwintcreate
2006-07-04 11:45:59droundysetstatus: unread -> unknown
nosy: droundy, tommy, edwint
messages: + msg766
2006-07-04 12:16:21edwintsetnosy: droundy, tommy, edwint
messages: + msg774
2006-07-13 18:23:19jchsettopic: + Windows
nosy: + eivuokko, wglozer
title: Darcs failing on files containing very long lines -> Windows: darcs failing on files containing very long lines
2008-01-31 03:35:51markstossetnosy: + kowey, markstos, beschmi
messages: + msg2947
2008-01-31 16:33:29droundysetnosy: droundy, tommy, beschmi, kowey, markstos, wglozer, eivuokko, edwint
messages: + msg2984
2008-02-16 21:57:36markstossetstatus: unknown -> deferred
nosy: droundy, tommy, beschmi, kowey, markstos, wglozer, eivuokko, edwint
messages: + msg3509
2008-05-14 13:06:43koweysetstatus: deferred -> has-patch
nosy: + dagit
messages: + msg4678
2008-05-14 15:57:45koweysetfiles: + longlines.hs
nosy: droundy, tommy, beschmi, kowey, markstos, wglozer, eivuokko, edwint, dagit
messages: + msg4702
assignedto: edwint
2008-06-02 09:52:03koweysetnosy: droundy, tommy, beschmi, kowey, markstos, wglozer, eivuokko, edwint, dagit
messages: + msg4910
2008-10-16 12:56:45koweysetstatus: has-patch -> unknown
nosy: + dmitry.kurochkin, simon, thorkilnaur
messages: + msg6329
assignedto: edwint ->
2009-05-01 11:29:56kirbysetnosy: + kirby
messages: + msg7784
2009-05-04 21:17:17droundysetnosy: - droundy
2009-08-06 20:50:14adminsetnosy: - beschmi
2009-08-10 23:54:28adminsetnosy: - dagit
2009-08-18 10:09:06koweysetstatus: unknown -> needs-reproduction
nosy: tommy, kowey, markstos, wglozer, eivuokko, edwint, simon, thorkilnaur, dmitry.kurochkin, kirby
messages: + msg8237
2009-08-25 17:31:19adminsetnosy: + darcs-devel, - simon
2009-08-27 01:37:30koweysetnosy: tommy, kowey, markstos, wglozer, darcs-devel, eivuokko, edwint, thorkilnaur, dmitry.kurochkin, kirby
2009-08-27 14:26:25adminsetnosy: tommy, kowey, markstos, wglozer, darcs-devel, eivuokko, edwint, thorkilnaur, dmitry.kurochkin, kirby
2010-04-01 12:54:08koweysetfiles: + longlines.hs
2012-02-10 00:40:03mulandersetmessages: + msg15108
2017-07-31 00:34:39ghsetstatus: needs-reproduction -> given-up