darcs

Issue 2191 Stack space overflow in 'whatsnew -l' for directory with large files

Title Stack space overflow in 'whatsnew -l' for directory with large files
Priority bug Status resolved
Milestone 2.8.0 Resolved in
Superseder whatsnew -l: Stack space overflow
View: 2313
Nosy List mihai
Assigned To
Topics

Created on 2012-04-30.17:05:02 by mihai, last changed 2014-03-22.23:49:12 by gh.

Messages
msg15638 (view) Author: mihai Date: 2012-04-30.17:05:00
darcs whatsnew -l fails with a stack space overflow error in a directory
with large files. What is a most annoying is that this fails even when
unversioned large files are present.


Environment:
-----------

$ darcs --exact-version
darcs compiled on Apr 25 2012, at 12:17:55

Context:

[TAG 2.8.0
Florent Becker <florent.becker@ens-lyon.org>**20120422151242
 Ignore-this: 150f3335021c2b37bcd1572ff55f8654
] 

Compiled with:

array-0.3.0.2
base-4.3.1.0
bytestring-0.9.1.10
containers-0.4.0.0
directory-1.1.0.0
extensible-exceptions-0.1.1.2
filepath-1.2.0.0
hashed-storage-0.5.7
haskeline-0.6.4.0
html-1.0.1.2
mmap-0.5.7
mtl-2.0.1.0
old-time-1.0.0.6
parsec-3.1.1
process-1.0.1.5
random-1.0.0.3
regex-compat-0.95.1
tar-0.3.1.0
terminfo-0.3.1.3
text-0.11.1.1
unix-2.4.2.0
vector-0.9
zlib-0.5.3.1

$ lsb_release -a
LSB Version:   
:core-4.0-amd64:core-4.0-ia32:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-ia32:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-ia32:printing-4.0-noarch
Distributor ID: CentOS
Description:    CentOS release 5.6 (Final)
Release:        5.6
Codename:       Final

$ uname -a
Linux ... 2.6.18-238.12.1.el5 #1 SMP Tue May 31 13:22:04 EDT 2011 x86_64
x86_64 x86_64 GNU/Linux


Example of failed execution:
---------------------------

Current directory: trunk/test/1week/

trunk/ is the root of the repository.
trunk/test/ is versioned.
trunk/test/1day/ is not versioned (yet!).

$ ls -la
total 491264
drwxr-xr-x 2 mihai gsal     20480 Apr 27 00:50 ./
drwxr-xr-x 4 mihai gsal      4096 Apr 30 12:58 ../
-rw-r--r-- 1 mihai gsal       181 Apr 26 23:42 command.txt
-rw-r--r-- 1 mihai gsal  63962536 Apr 27 00:04 graph.out
-rw-r--r-- 1 mihai gsal  76466038 Apr 27 00:50 graph_with_asns.out
-rw-r--r-- 1 mihai gsal 345266223 Apr 27 00:04 ips.out
-rw-r--r-- 1 mihai gsal  14956315 Apr 27 00:47 ips.out.cymru
-rw-r--r-- 1 mihai gsal   1837205 Apr 27 00:36 ips.out.sorted
-rw-r--r-- 1 mihai gsal      6788 Apr 27 00:08 stdout.txt

$ darcs w .
What's new in "test/1day":

No changes!

$ darcs w -l .
Stack space overflow: current size 8388608 bytes.
Use `+RTS -Ksize -RTS' to increase it.

The pre-built binary of darcs I use
(darcs-2.8.0-linux-ghc7.0.4-CURL-packed.by.ermine.tar.bz2 from
http://wiki.darcs.net/Binaries) does not have support for RTS options.

$ darcs +RTS -K10000000 -RTS w -l .
darcs: Most RTS options are disabled. Link with -rtsopts to enable them.
msg15639 (view) Author: mihai Date: 2012-04-30.18:59:07
What I meant to say was:

"What is most annoying is that this fails even when only the unversioned
files are large."

This prevents me from having any large, temporary output files in a
directory inside a darcs-versioned tree.
msg17218 (view) Author: gh Date: 2014-03-22.23:49:11
I think this is the same as http://bugs.darcs.net/issue2313 which was fixed.
History
Date User Action Args
2012-04-30 17:05:02mihaicreate
2012-04-30 18:59:08mihaisetmessages: + msg15639
2014-03-22 23:49:12ghsetstatus: unknown -> resolved
messages: + msg17218
superseder: + whatsnew -l: Stack space overflow