[GRASSLIST:108] Re: Bus Error in g.remove

William Kyngesburye woklist at kyngchaos.com
Tue Mar 14 15:15:29 EST 2006


I thought it had something to do with GDAL.  So, what did Lorenzo  
do?  That should close the two bugs opened on this problem (mine and  
yours, now merged I see).


On Mar 14, 2006, at 1:21 PM, Michael Barton wrote:

> Huidae and Dave,
>
> This cropped up on the Mac binaries. I didn't realize that it was  
> affecting the Win binaries too. Lorenzo Moretti solved it. It had  
> to do with changed to how gdal interfaces with GRASS.
>
> Michael
>
> ______________________________
> Michael Barton, Professor of Anthropology
> School of Human Evolution and Social Change
> Arizona State University
> Tempe, AZ  85287-2402
> USA
>
> voice: 480-965-6262; fax: 480-965-7671
> www: http://www.public.asu.edu/~cmbarton
>
>
>
>
> -----Original Message-----
> From: Huidae Cho [mailto:grass4u at gmail.com]
> Sent: Sun 3/12/2006 11:36 PM
> To: Dave Kent
> Cc: Hamish; kyngchaos at kyngchaos.com; grasslist at baylor.edu
> Subject: [GRASSLIST:30] Re: Bus Error in g.remove
>
> OK, it doesn't matter whether you installed an older GRASS version  
> or not
> because if the code is working, the bus error has nothing to do  
> with the change
> that I made recently.  Maybe it's related to PostgreSQL or GDAL  
> compilation?
>
> Huidae Cho
>
>
> On Sun, Mar 12, 2006 at 03:51:37PM -0600, Dave Kent wrote:
>> Hi:
>>
>> I ran the program.  It listed every file and directory in the   
>> system.  I
>> aborted it after a few minutes before it finished.  There  were no  
>> error
>> messages.
>>
>> Note that I have reinstalled older GRASS version that works and  
>> the  system is
>> not the same as when the problem occurred.
>>
>> Hope this is helpful.
>>
>> Dave
>>
>>
>> On Mar 9, 2006, at 9:48 PM, Huidae Cho wrote:
>>
>>> I've made those changes in mid-February this year.  Could you  
>>> try  running
>>> the
>>> following code and let me know what this does?  Don't worry,  
>>> it's  like "find
>>> dir" command.
>>> cc -o list list.c -Wall
>>> ./list /
>>> ---<list.c>---
>>> #include <stdio.h>
>>> #include <string.h>
>>> #include <unistd.h>
>>> #include <sys/types.h>
>>> #include <sys/stat.h>
>>> #include <dirent.h>
>>> static int recursive_list(const char *path);
>>> int
>>> main(int argc, char *argv[])
>>> {
>>> 	if(argv[1])
>>> 		return recursive_list(argv[1]);
>>> 	return 1;
>>> }
>>> static int
>>> recursive_list(const char *path)
>>> {
>>>        DIR *dirp;
>>>        struct dirent *dp;
>>>        struct stat sb;
>>>        char path2[1024];
>>>        if(lstat(path, &sb))
>>>                return 1;
>>>        if(!S_ISDIR(sb.st_mode))
>>> 	{
>>> 		printf("file: %s\n", path);
>>> 		return 0;
>>> 	}
>>>        if((dirp = opendir(path)) == NULL)
>>>                return 1;
>>>        while((dp = readdir(dirp)) != NULL)
>>>        {
>>>                if(dp->d_name[0] == '.')
>>>                        continue;
>>>                sprintf(path2, "%s/%s", path, dp->d_name);
>>>                recursive_list(path2);
>>>        }
>>>        closedir(dirp);
>>> 	printf(" dir: %s/\n", path);
>>>        return 0;
>>> }
>>> --------------
>>> On Thu, Mar 09, 2006 at 08:33:26PM +1300, Hamish wrote:
>>>> Just a thought,
>>>> in the past weeks some code was changed to replace system calls  
>>>> with
>>>> their C equivalents. Maybe this has something to do with it. I  
>>>> can't
>>>> connect to the CVS-web interface currently to check.
>>>> Look for recent changes in:
>>>>  http://freegis.org/cgi-bin/viewcvs.cgi/grass6/general/manage/
>>>> Hamish
>>>> On Wed, 08 Mar 2006 21:04:54 -0600
>>>> Dave Kent <dkent at sasktel.net> wrote:
>>>>> Thanks for the insight.  I went back to the Nov 05 binaries and
>>>>> Janurary CVS version and things work.  That will be fine for  
>>>>> now.  I
>>>>> guess learning how to build wouldn't  be a bad thing.
>>>>> Thanks for your help.
>>>>> Dave
>>>>> On Mar 8, 2006, at 6:40 PM, William Kyngesburye wrote:
>>>>>> This is probably the same bug Michael Barton reported yesterday
>>>>>> (#4152) and I reported last August (#3585).  Specifically, when
>>>>>> GRASS is built on OS 10.3 Panther (GCC 3.3), and GDAL has  
>>>>>> Postgres
>>>>>> support.  It's probably happening for you in Tiger because  
>>>>>> Lorenzo
>>>>>> builds with Panther compatibility - either on Panther, or on  
>>>>>> Tiger
>>>>>> using the Panther SDK.  A Tiger-only build (GCC 4) is unaffected.
>>>>>> It's a strange bug - I can build GRASS with GDAL without Postgres
>>>>>> support, then update GDAL to include Postgres support and it  
>>>>>> still
>>>>>> works.  It's only when GDAL has Postgres support *at the time  
>>>>>> GRASS
>>>>>> is built*.  I've tried various combinations of static and dynamic
>>>>>> Postgres libraries (and the exact same ones used for Postgres
>>>>>> support in GRASS) and other options in GDAL and GRASS and GRASS
>>>>>> with/without its own Postgres support.
>>>>>> On Mar 8, 2006, at 6:14 PM, Dave Kent wrote:
>>>>>>> I am using Grass 6.1CVS on Macintosh with the most recent
>>>>>>> Macintosh binaries.
>>>>>>> g.remove gives the following error.
>>>>>>> child killed: bus error
>>>>>>> child killed: bus error
>>>>>>>    while executing
>>>>>>> "exec -- $cmd --tcltk"
>>>>>>>    (procedure "execute" line 4)
>>>>>>>    invoked from within
>>>>>>> "execute g.remove "
>>>>>>>    (menu invoke)
>>>>>>> This started quite suddenly, possibly consistent with messing  
>>>>>>> with
>>>>>>> AWK post I had yesterday.
>>>>>>> I get the same error with g.copy, g.rename but not g.list
>>>>>>> I have reinstalled the binaries and the application.
>>>>>>> There was a not too similar message in the archives which  
>>>>>>> relates
>>>>>>> to the environmental variable file being corrupted.  I cannot  
>>>>>>> find
>>>>>>> this file and haven't tried removing it.
>>
>

-----
William Kyngesburye <kyngchaos at kyngchaos.com>
http://www.kyngchaos.com/

"History is an illusion caused by the passage of time, and time is an  
illusion caused by the passage of history."

- Hitchhiker's Guide to the Galaxy




More information about the grass-user mailing list