Sat, Aug 27 2005
18:23:47
|
|
Request created by guest
|
|
Subject: r.proj error: closecell: can't move file
Platform: GNU/Linux/i386
grass obtained from: Trento Italy site
grass binary for platform: Compiled from Sources
GRASS Version: 6.0.1
When using r.proj for larger files (cca 300MB+), r.proj ends with this error:
Allocating memory and reading input map... 100%
Projecting... 100%
WARNING: closecell: can't move
/home/fordfrog/data/mapy/cr-jtsk/PERMANENT/.tmp/centaur/11061.1
to null file
/home/fordfrog/data/mapy/cr-jtsk/PERMANENT/cell_misc/landsat_rgb_composite/null
WARNING: closecell: can't move
/home/fordfrog/data/mapy/cr-jtsk/PERMANENT/.tmp/centaur/11061.0
to cell file
/home/fordfrog/data/mapy/cr-jtsk/PERMANENT/cell/landsat_rgb_composite
WARNING: unable to find [landsat_rgb_composite] in [PERMANENT]
WARNING: can't write range file for [landsat_rgb_composite in PERMANENT]
WARNING: unable to find [landsat_rgb_composite] in [PERMANENT]
Each time I move the files manually (mv <source> <dest>) and they seem to be
OK. The filesystem is vfat.
Miroslav Šulc |
|
Sun, Aug 28 2005
19:45:01
|
|
Mail sent by morten@untamo.net
|
|
Return-Path |
<morten@untamo.net>
|
Delivered-To |
grass-bugs@lists.intevation.de
|
Message-ID |
<4311F809.8010306@untamo.net>
|
Date |
Sun, 28 Aug 2005 19:44:41 +0200
|
From |
Morten Hulden <morten@untamo.net>
|
User-Agent |
Mozilla Thunderbird 1.0.2-1.3.3 (X11/20050513)
|
X-Accept-Language |
en-us, en
|
MIME-Version |
1.0
|
To |
Request Tracker <grass-bugs@intevation.de>
|
Cc |
grass5@grass.itc.it
|
Subject |
Re: [GRASS5] [bug #3586] (grass) r.proj error: closecell: can't move file
|
References |
<20050827162348.09DFD100159@lists.intevation.de>
|
In-Reply-To |
<20050827162348.09DFD100159@lists.intevation.de>
|
Content-Type |
text/plain; charset=ISO-8859-1; format=flowed
|
Content-Transfer-Encoding |
7bit
|
X-Spam-Status |
No, hits=-4.9 tagged_above=-999.0 required=3.0 tests=BAYES_00
|
X-Spam-Level |
|
Request Tracker wrote:
> this bug's URL: http://intevation.de/rt/webrt?serial_num=3586
> -------------------------------------------------------------------------
>
> Subject: r.proj error: closecell: can't move file
>
> Platform: GNU/Linux/i386
> grass obtained from: Trento Italy site
> grass binary for platform: Compiled from Sources
> GRASS Version: 6.0.1
>
> When using r.proj for larger files (cca 300MB+), r.proj ends with this error:
>
> Allocating memory and reading input map... 100%
> Projecting... 100%
> WARNING: closecell: can't move
> /home/fordfrog/data/mapy/cr-jtsk/PERMANENT/.tmp/centaur/11061.1
> to null file
> /home/fordfrog/data/mapy/cr-jtsk/PERMANENT/cell_misc/landsat_rgb_composite/null
> WARNING: closecell: can't move
> /home/fordfrog/data/mapy/cr-jtsk/PERMANENT/.tmp/centaur/11061.0
> to cell file
> /home/fordfrog/data/mapy/cr-jtsk/PERMANENT/cell/landsat_rgb_composite
> WARNING: unable to find [landsat_rgb_composite] in [PERMANENT]
> WARNING: can't write range file for [landsat_rgb_composite in PERMANENT]
> WARNING: unable to find [landsat_rgb_composite] in [PERMANENT]
>
> Each time I move the files manually (mv <source> <dest>) and they seem to be
OK. The filesystem is vfat.
Except that I can't see why this would happen only for large files I
think the problem is because a Linux Grass version is run with data
files on a vfat file system. We do not check file system types at run
time, only platform at compile time. So something, using link() instead
of CopyFile(), is breaking ?.
If so, not only r.proj is affected.
From closecell.c:
#ifdef __MINGW32__
if ( CopyFile ( FCB.null_temp_name, path, FALSE ) == 0 ) {
#else
if(link (FCB.null_temp_name, path) < 0) {
#endif
sprintf(command, "mv %s %s", FCB.null_temp_name, path);
if(system(command)) {
sprintf(buf,"closecell: can't move %s\nto null file
%s",
FCB.null_temp_name, path);
G_warning (buf);
stat = -1;
}
} else {
remove ( FCB.null_temp_name );
}
} else {
remove ( FCB.null_temp_name );
remove ( path );
} /* null_cur_row > 0 */
|
|
Mon, Aug 29 2005
01:47:19
|
|
Mail sent by glynn@gclements.plus.com
|
|
Return-Path |
<glynn@gclements.plus.com>
|
Delivered-To |
grass-bugs@lists.intevation.de
|
From |
Glynn Clements <glynn@gclements.plus.com>
|
MIME-Version |
1.0
|
Content-Type |
text/plain; charset=us-ascii
|
Content-Transfer-Encoding |
7bit
|
Message-ID |
<17170.19703.974712.25227@cerise.gclements.plus.com>
|
Date |
Mon, 29 Aug 2005 00:47:03 +0100
|
To |
Morten Hulden <morten@untamo.net>
|
Cc |
Request Tracker <grass-bugs@intevation.de>, grass5@grass.itc.it
|
Subject |
Re: [GRASS5] [bug #3586] (grass) r.proj error: closecell: can't move file
|
In-Reply-To |
<4311F809.8010306@untamo.net>
|
References |
<20050827162348.09DFD100159@lists.intevation.de> <4311F809.8010306@untamo.net>
|
X-Mailer |
VM 7.07 under 21.4 (patch 15) "Security Through Obscurity" XEmacs Lucid
|
X-Spam-Status |
No, hits=-4.9 tagged_above=-999.0 required=3.0 tests=BAYES_00
|
X-Spam-Level |
|
Morten Hulden wrote:
> Request Tracker wrote:
> > this bug's URL: http://intevation.de/rt/webrt?serial_num=3586
> > -------------------------------------------------------------------------
> >
> > Subject: r.proj error: closecell: can't move file
> >
> > Platform: GNU/Linux/i386
> > grass obtained from: Trento Italy site
> > grass binary for platform: Compiled from Sources
> > GRASS Version: 6.0.1
> >
> > When using r.proj for larger files (cca 300MB+), r.proj ends with this error:
> >
> > Allocating memory and reading input map... 100%
> > Projecting... 100%
> > WARNING: closecell: can't move
> > /home/fordfrog/data/mapy/cr-jtsk/PERMANENT/.tmp/centaur/11061.1
> > to null file
> > /home/fordfrog/data/mapy/cr-jtsk/PERMANENT/cell_misc/landsat_rgb_composite/null
> > WARNING: closecell: can't move
> > /home/fordfrog/data/mapy/cr-jtsk/PERMANENT/.tmp/centaur/11061.0
> > to cell file
> > /home/fordfrog/data/mapy/cr-jtsk/PERMANENT/cell/landsat_rgb_composite
> > WARNING: unable to find [landsat_rgb_composite] in [PERMANENT]
> > WARNING: can't write range file for [landsat_rgb_composite in PERMANENT]
> > WARNING: unable to find [landsat_rgb_composite] in [PERMANENT]
> >
> > Each time I move the files manually (mv <source> <dest>) and they seem to
be OK. The filesystem is vfat.
>
>
> Except that I can't see why this would happen only for large files I
> think the problem is because a Linux Grass version is run with data
> files on a vfat file system. We do not check file system types at run
> time, only platform at compile time. So something, using link() instead
> of CopyFile(), is breaking ?.
>
> If so, not only r.proj is affected.
>
>
> From closecell.c:
>
> #ifdef __MINGW32__
> if ( CopyFile ( FCB.null_temp_name, path, FALSE ) == 0 ) {
> #else
> if(link (FCB.null_temp_name, path) < 0) {
> #endif
> sprintf(command, "mv %s %s", FCB.null_temp_name, path);
> if(system(command)) {
> sprintf(buf,"closecell: can't move %s\nto null file
> %s",
> FCB.null_temp_name, path);
> G_warning (buf);
> stat = -1;
> }
> } else {
> remove ( FCB.null_temp_name );
> }
> } else {
> remove ( FCB.null_temp_name );
> remove ( path );
> } /* null_cur_row > 0 */
This should be using rename() rather than link()+remove(). And the use
of system("mv ....") should be removed.
--
Glynn Clements <glynn@gclements.plus.com>
|
|