[GRASS-dev] Re: g.copy rast=

Maris Nartiss maris.gis at gmail.com
Mon Feb 19 13:57:21 EST 2007


Hi,

unfortunately I this moning made fresh checkout and compilation. It
happens also here, on i686 Gentoo with gcc version 4.1.1.

It looks like segfault happens at general/manage/lib/do_copy.c line 53
"if ( recursive_copy(path, path2) == 1 )" where function
recursive_copy returns zero. I'm not so deep in C and that module, but
it segfaulted after recursive_copy calls "return 0", so - error must
be somewhere there.

Maris.

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1217730368 (LWP 6342)]
do_copy (n=0, old=0x8050398 "geology", mapset=0x8050420 "PERMANENT",
new=0x80503b0 "geol3") at do_copy.c:40
40              for (i = 0; i < list[n].nelem; i++)
(gdb) bt
#0  do_copy (n=0, old=0x8050398 "geology", mapset=0x8050420
"PERMANENT", new=0x80503b0 "geol3") at do_copy.c:40
#1  0x080495d3 in main (argc=2, argv=0xbf9157a4) at copy.c:80


2007/2/19, Sören Gebbert <soerengebbert at gmx.de>:
> Hi,
> i can not reproduce this error with the today's grass-CVS build on
> Debian etch. The grass test suite produces no errors:
>
> GRASS 6.3.cvs > ./RunGRASSTestSuite.sh -g
> ===========================================================
> Start testing general (g.*) modules
> ===========================================================
> g.copy test:   success  success  success  success   finished
> g.findfile test:   success   finished
> g.filename test:   success   finished
> g.remove test:   success  success  success  success  success  success
> success  success   finished
> g.rename test:   success  success  success  success  success  success
> success  success   finished
> g.proj output test:   success  success  success  success  success
> success  success   finished
> g.tempfile test:   success   finished
> g.gisenv test:   success  success   finished
> g.list test:   success  success  success  success  success  success
> success  success  success  success  success   finished
> g.region output test:   success  success  success  success  success
> success  success   finished
> g.version test:   success  success  success   finished
> ===========================================================
> Finished testing general (g.*) modules
> ===========================================================
>
> Soeren
>
> Patton, Eric schrieb:
> > Martin,
> >
> > I can confirm a segfault on using g.copy, with today's CVS on Ubuntu 6.06.
> >
> > g.copy exits with a segfault, but the maps seems to get copied to the
> destination mapset as requested anyway. Only the command line run reaches a
> segfault, not the GUI version. Or maybe the error just isn't visible from
> the GUI.
> >
> > Output from gdb:
> >
> > $ gdb `which g.copy`
> > GNU gdb 6.4-debian
> > Copyright 2005 Free Software Foundation, Inc.
> > GDB is free software, covered by the GNU General Public License, and you
> are
> > welcome to change it and/or distribute copies of it under certain
> conditions.
> > Type "show copying" to see the conditions.
> > There is absolutely no warranty for GDB.  Type "show warranty" for
> details.
> > This GDB was configured as "i486-linux-gnu"...Using host libthread_db
> library "/lib/tls/i686/cmov/libthread_db.so.1".
> >
> > (gdb) run rast=Mispec_Apr2000.grd at UNB_Original_r4s,TEST_2
> > Starting program: /usr/local/grass-6.3.cvs/bin/g.copy
> rast=Mispec_Apr2000.grd at UNB_Original_r4s,TEST_2
> > [Thread debugging using libthread_db enabled]
> > [New Thread -1224742304 (LWP 7624)]
> > Copy <Mispec_Apr2000.grd at UNB_Original_r4s> to current mapset as <TEST_2>
> >
> > Program received signal SIGSEGV, Segmentation fault.
> > [Switching to Thread -1224742304 (LWP 7624)]
> > 0xb7eda963 in G_strcasecmp (x=0x804d800 "cell", y=0x532d87 <Address
> 0x532d87 out of bounds>) at strings.c:146
> > 146         while (*x && *y)
> > (gdb)
> >
> > Devs, any other info needed to diagnose this error?
> >
> > ~ Eric.
> >
> >
> > -----Original Message-----
> > From: grass-dev-bounces at grass.itc.it
> > To: Martin Landa
> > Cc: grass-dev
> > Sent: 2/19/2007 8:51 AM
> > Subject: Re: [GRASS-dev] g.copy rast=
> >
> > GRASS 6.3.cvs (utm):~ > gdb `which g.copy`
> >
> > (gdb) run "rast=rott_one,test1"
> > Starting program: /usr/local/grass-6.3.cvs/bin/g.copy
> > "rast=rott_one,test1"
> > [Thread debugging using libthread_db enabled]
> > [New Thread -1208944944 (LWP 13355)]
> > Copy <rott_one at hohenems_site> to current mapset as <test1>
> >
> > Program received signal SIGSEGV, Segmentation fault.
> > [Switching to Thread -1208944944 (LWP 13355)]
> > do_copy (n=0, old=0xa02b838 "rott_one", mapset=0xa02b870
> > "hohenems_site",
> > new=0xa02b848 "test1") at do_copy.c:40
> > 40              for (i = 0; i < list[n].nelem; i++)
> > (gdb)
> >
> >
> > Zitat von Martin Landa <landa.martin at gmail.com>:
> >
> >> Hi,
> >>
> >> it is strange, on my machine g.copy works. What does gdb say?
> >>
> >> Martin
> >>
> >> 2007/2/19, Martin Rutzinger <Martin.Rutzinger at uibk.ac.at>:
> >>> hi list,
> >>>
> >>> with the recent cvs version of grass63 g.copy for raster maps
> > doesn't work
> >> any
> >>> more. i just get a meaningless 'memory access error'
> >> (speicherzugriffsfehler).
> >>> runinng configure, make, make install gives no error messages.
> >>>
> >>> g.gisenv set="DEBUG=5"
> >>>
> >>> g.copy rast=raster1,raster2
> >>> D3/5: Copy rast
> >>> Copy <raster1 at hohenems_site> to current mapset as <raster2>
> >>> Speicherzugriffsfehler
> >>>
> >>> r.info raster2
> >>> D2/5: G__home home = /home/rusch
> >>> WARNUNG: Kann Header-Datei [raster2 in hohenems_site] nicht öffnen
> >>> WARNUNG: Kategorie Unterstützung für [raster2] im Mapset
> > [hohenems_site]
> >>>          missing
> >>> WARNUNG: Kann die History-Informationen der Karte [raster2] in
> > Mapset
> >>>          [hohenems_site] nicht finden.
> >>> WARNUNG: Kann range Datei für [raster2 in hohenems_site] nicht
> > lesen.
> >>> FEHLER: Kann die Wertespanne nicht lesen.
> >>>
> >>>
> >>>
> >>> the problem appears on FC4,FC5 and FC6 aswell with following
> > configuration:
> >>> FLAGS='-g -Wall' ./configure  --with-x --enable-shared --with-proj
> >>> --with-gdal=/usr/local/bin/gdal-config
> >> --with-tcltk-includes=/usr/local/include
> >>> --with-postgres-includes=/usr/local/pgsql/include
> >>> --with-postgres-libs=/usr/local/pgsql/lib
> >>> --with-freetype-includes=/usr/include/freetype2
> >> --with-freetype-libs=/usr/lib
> >>> --enable-largefile --with-odbc --with-motif  --with-freetype=yes
> > --with-cxx
> >>> --with-glw --with-nls --with-blas --with-lapack
> >>> --with-lapack-libs=/usr/local/lib --with-ffmpeg
> >>> --with-ffmpeg-includes=/usr/local/include/ffmpeg --with-sqlite
> >>> --with-proj-share=/usr/local/share/proj/ --enable-64bit
> > --with-python
> >>> i don't know which libs/pkg are used by g.copy; but i tried
> > different
> >> versions
> >>> of e.g. gdal ( gdal-1.3.2/gdal-1.4.0/gdal-svn;
> > tcl/tk8.5a5/tcl/tk8.4.14)
> >> but it
> >>> seems to me that it's not dependent on a certain version of a
> > package.
> >>> thanks alot!
> >>> martin
> >>>
> >>>
> >>> _______________________________________________
> >>> grass-dev mailing list
> >>> grass-dev at grass.itc.it
> >>> http://grass.itc.it/mailman/listinfo/grass-dev
> >>>
> >>
> >> --
> >> Martin Landa <landa.martin at gmail.com> * http://gama.fsv.cvut.cz/~landa
> > *
> >
> > _______________________________________________
> > grass-dev mailing list
> > grass-dev at grass.itc.it
> > http://grass.itc.it/mailman/listinfo/grass-dev
> >
> > _______________________________________________
> > grass-dev mailing list
> > grass-dev at grass.itc.it
> > http://grass.itc.it/mailman/listinfo/grass-dev
> >
>
> _______________________________________________
> grass-dev mailing list
> grass-dev at grass.itc.it
> http://grass.itc.it/mailman/listinfo/grass-dev
>




More information about the grass-dev mailing list