darcs

Issue 1351 Darcs crashes when a not existing Windows network path is used

Title Darcs crashes when a not existing Windows network path is used
Priority bug Status resolved
Milestone Resolved in
Superseder Nosy List darcs-devel, dmitry.kurochkin, eivuokko, hoijarvi, jaredj, kirby, kowey, thorkilnaur, wglozer
Assigned To kirby
Topics Windows

Created on 2009-02-10.20:38:44 by hoijarvi, last changed 2009-08-27.14:20:10 by admin.

Messages
msg7287 (view) Author: hoijarvi Date: 2009-02-10.20:38:41
I'm using network repositories in Windows all the time. They work fine with
darcs 1.0.9, but darcs 2.2.0 and earlier versions too choke on them. Here's the
scoop:

1. change into local repository, like C:\TD2
2. pull from remote repository, like: darcs pull -a //kkh/TD2

RESULT:
Stack space overflow, current size 8388608 bytes.
Use `RTS +Ksize' to increase it.

Increasing does not fix the situation, obviously.

I have tested this with darcs 2.2.0 hashed repositories, as well as with old
legacy darcs 1.0.9 repositories using darcs 2.2.0 executable. 

If darcs is handling remote computers differently, this should be a code
shrinking fix.
msg7289 (view) Author: kirby Date: 2009-02-11.12:28:50
On Tue, Feb 10, 2009 at 9:38 PM, Kari Hoijarvi <bugs@darcs.net> wrote:
>
> New submission from Kari Hoijarvi <hoijarvi@me.wustl.edu>:
>
> I'm using network repositories in Windows all the time. They work fine with
> darcs 1.0.9, but darcs 2.2.0 and earlier versions too choke on them. Here's the
> scoop:
>
> 1. change into local repository, like C:\TD2
> 2. pull from remote repository, like: darcs pull -a //kkh/TD2

I tried the same steps you wrote about, and it works for me (using
darcs 2.2.0-win1 binary from darcs.net).
Are you using that binary? Which kind of repository are you using?
(darcs2, hashed, darcs1)

Can you try with a new repository made with darcs init?

Salvatore
msg7291 (view) Author: hoijarvi Date: 2009-02-11.15:34:53
I'm using http://homepage.mac.com/kirby81_it/darcs/darcs-2.2.0-win1.zip

I have my TD2 repository 7-zipped here: http://webapps.datafed.net/stock/TD2.7z 

It's only 8 MB, nothing huge.

I's in my 64 bit XP machine, but I don't think this machine matters since darcs
is not running there.

I have tried to pull from 2003 server and 2000 workstation

md TD2
cd TD2
darcs init --hashed
darcs pull //kkh/TD2

Same result. I can't pull my other medium sized darcs-1 repositories either.
msg7292 (view) Author: kirby Date: 2009-02-11.16:29:50
Can you try it again using this executable (it requires the dll
included in your previous download):
http://homepage.mac.com/kirby81_it/darcs/darcs-i18n.zip

It is the same version, but compiled with GHC 6.8.3.
msg7293 (view) Author: hoijarvi Date: 2009-02-11.16:38:48
"The procedure entry point EVP_Cipher could not be located in the dynamic link
lybrary libeay32.dll"

I just verified, that my downloaded darcs version is right. Could you please put
the dll's available, I'll check it right away.
msg7294 (view) Author: kirby Date: 2009-02-11.16:48:15
On Wed, Feb 11, 2009 at 5:38 PM, Kari Hoijarvi <bugs@darcs.net> wrote:
>
> Kari Hoijarvi <hoijarvi@me.wustl.edu> added the comment:
>
> "The procedure entry point EVP_Cipher could not be located in the dynamic link
> lybrary libeay32.dll"
>
> I just verified, that my downloaded darcs version is right. Could you please put
> the dll's available, I'll check it right away.

You have to put the newly downloaded darcs.exe in the same directory
of the previous one (2.2.0-win1 the dll are the same).
msg7295 (view) Author: hoijarvi Date: 2009-02-11.16:56:59
You're right, it tried to use the one in C:\WINDOWS\SysWOW64

But the problem is still there. After one minute:

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

If you can't reproduce it with my TD2 repository, I could run a tracing version
here.
msg7344 (view) Author: hoijarvi Date: 2009-02-19.23:03:57
Now I think I have found a good clue.

The TD2 repository cannot be pulled between any of my machines at work, but
between two computers at home darcs works just fine.

Then one day I tried to pull at work from a machine that was turned off. Same error!

So try this with darcs 2 in windows, I haven't tested unix variants:

c:\TD2>darcs2 pull //non/sense/
Stack space overflow: current size 8388608 bytes.
Use `+RTS -Ksize' to increase it.

So darcs has a problem detecting dead computers, and I assume somehow the
network at work responds in a way that darcs considers remote computers dead. 

darcs 1.0.9 responds
darcs failed:  Not a repository: //non/sense/ (//non/sense/_darcs/inventory: ope
nBinaryFile: does not exist (No such file or directory))

Not a pretty message, but correct.
msg7802 (view) Author: kirby Date: 2009-05-13.01:12:51
The following patch updated the status of issue1351 to be resolved:

* Resolve issue1351: fix repository path handling on Windows. 
Ignore-this: c2304776ba44dde603b7627b262bcb08

ioAbsolute is supposing that takeDirectory will eventually lead to an
existing directory. This is true on Posix, where it will lead to "/",
but not on Windows, where it could lead to a non-existing unit or an UNC
reference to a non-existing server. This patch fixes this assumption,
avoiding an infinite recursion.
History
Date User Action Args
2009-02-10 20:38:44hoijarvicreate
2009-02-11 12:28:52kirbysetstatus: unread -> unknown
nosy: + darcs-devel, kirby
messages: + msg7289
2009-02-11 12:30:23kirbysetnosy: - darcs-devel
assignedto: kirby
2009-02-11 12:30:50kirbysettopic: + Windows
nosy: + wglozer, eivuokko, jaredj
2009-02-11 15:34:57hoijarvisetnosy: kowey, wglozer, eivuokko, simon, thorkilnaur, jaredj, dmitry.kurochkin, hoijarvi, kirby
messages: + msg7291
2009-02-11 16:29:53kirbysetnosy: kowey, wglozer, eivuokko, simon, thorkilnaur, jaredj, dmitry.kurochkin, hoijarvi, kirby
messages: + msg7292
2009-02-11 16:38:50hoijarvisetnosy: kowey, wglozer, eivuokko, simon, thorkilnaur, jaredj, dmitry.kurochkin, hoijarvi, kirby
messages: + msg7293
2009-02-11 16:48:19kirbysetnosy: kowey, wglozer, eivuokko, simon, thorkilnaur, jaredj, dmitry.kurochkin, hoijarvi, kirby
messages: + msg7294
2009-02-11 16:57:02hoijarvisetnosy: kowey, wglozer, eivuokko, simon, thorkilnaur, jaredj, dmitry.kurochkin, hoijarvi, kirby
messages: + msg7295
2009-02-19 23:04:02hoijarvisetnosy: kowey, wglozer, eivuokko, simon, thorkilnaur, jaredj, dmitry.kurochkin, hoijarvi, kirby
messages: + msg7344
2009-03-03 07:57:21kirbysetnosy: kowey, wglozer, eivuokko, simon, thorkilnaur, jaredj, dmitry.kurochkin, hoijarvi, kirby
title: Network repositories don't work in Windows -> Darcs crashes when a not existing Windows network path is used
2009-05-13 01:12:55kirbysetstatus: unknown -> resolved
nosy: kowey, wglozer, eivuokko, simon, thorkilnaur, jaredj, dmitry.kurochkin, hoijarvi, kirby
messages: + msg7802
2009-08-25 17:40:41adminsetnosy: + darcs-devel, - simon
2009-08-27 14:20:10adminsetnosy: kowey, wglozer, darcs-devel, eivuokko, thorkilnaur, jaredj, dmitry.kurochkin, hoijarvi, kirby