Details Ticket 3586


Comment | Reply | Take | Resolve


Serial Number 3586
Subject r.proj error: closecell: can't move file
Area grass6
Queue grass
Requestors miroslav.sulc@startnet.cz
Owner none
Status open
Last User Contact Mon Aug 29 01:47:19 2005 (3 yr ago)
Current Priority 30
Final Priority 70
Due No date assigned
Last Action Mon Aug 29 01:47:19 2005 (3 yr ago)
Created Sat Aug 27 18:23:47 2005 (3 yr ago)

Transaction History Ticket 3586


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>


Comment | Reply | Take | Resolve

You are currently authenticated as guest.
[Show Configuration] [Login as another user]

Users Guide - Mail Commands - Homepage of RequestTracker 1.0.7 - list any request