Details Ticket 835


Comment | Reply | Resolve | Open


Serial Number 835
Subject floating point exception when using g.region
Area bug
Queue grass
Requestors Kim.Covil@csiro.au
Owner gclements
Status stalled
Last User Contact Fri Nov 16 17:33:42 2001 (7 yr ago)
Current Priority 30
Final Priority 70
Due No date assigned
Last Action Mon Nov 19 19:25:03 2001 (7 yr ago)
Created Thu Nov 15 04:39:24 2001 (7 yr ago)

Transaction History Ticket 835


Thu, Nov 15 2001 04:39:24    Request created by guest  
Subject: floating point exception when using g.region

Platform: Linux/Alpha64
Linux distro: Debian
linux cpu: Alpha64
Xwindows version: XFree 4.1.0
Xwindows manager: KDE 2.x
TclTk version: tcl/tk 8.3
grass downloaded at: Baylor site
grass binary for platform: I compiled the sources myself
grass sources source: no, I got a source code package from the server, 
5.0.0pre2
c compiler name: gcc

I get a Floating point exception when trying to print a region using 
g.region where the north bound is 90 or the south bound is -90 (lat lon 
projection)

Looking at the code the problem seems to lie in the geoid distance 
calculations... and locally I have moved the distance initialisation code so
it is only performed when a distance has been asked for rather than all the 
time as it seems to do at the moment...

Log follows:

Mapset <kimc> in Location <australia>
GRASS 5.0.0pre2 > g.region -p
projection: 3 (Latitude-Longitude)
zone:       0
datum:      ** unknown (default: WGS84) **
ellipsoid:  sphere
north:      9S
south:      44S
west:       112E
east:       155:10E
nsres:      0:02
ewres:      0:02
rows:       1050
cols:       1295

Mapset <kimc> in Location <australia>
GRASS 5.0.0pre2 > g.region n=90

Mapset <kimc> in Location <australia>
GRASS 5.0.0pre2 > g.region -p
Floating exception

Mapset <kimc> in Location <australia>
GRASS 5.0.0pre2 > g.region n=89

Mapset <kimc> in Location <australia>
GRASS 5.0.0pre2 > g.region -p
projection: 3 (Latitude-Longitude)
zone:       0
datum:      ** unknown (default: WGS84) **
ellipsoid:  sphere
north:      89N
south:      44S
west:       112E
east:       155:10E
nsres:      0:02
ewres:      0:02
rows:       3990
cols:       1295

Mapset <kimc> in Location <australia>
GRASS 5.0.0pre2 >

Thu, Nov 15 2001 16:17:00    Mail sent by glynn.clements@virgin.net  
Return-Path <glynn.clements@virgin.net>
Delivered-To grass-bugs@lists.intevation.de
From Glynn Clements <glynn.clements@virgin.net>
MIME-Version 1.0
Content-Type text/plain; charset=us-ascii
Content-Transfer-Encoding 7bit
Message-ID <15347.56198.435906.672895@cerise.nosuchdomain.co.uk>
Date Thu, 15 Nov 2001 15:13:10 +0000
To Request Tracker <grass-bugs@intevation.de>
Cc grass5@grass.itc.it
Subject Re: [GRASS5] [bug #835] (grass) floating point exception when using g.region
In-Reply-To <20011115033924.9963C13A09@lists.intevation.de>
References <20011115033924.9963C13A09@lists.intevation.de>
X-Mailer VM 6.94 under 21.4 (patch 4) "Artificial Intelligence (candidate #1)" XEmacs Lucid
Request Tracker wrote:

> this bug's URL: http://intevation.de/rt/webrt?serial_num=835
> -------------------------------------------------------------------------
> 
> Subject: floating point exception when using g.region
> 
> Platform: Linux/Alpha64
> Linux distro: Debian
> linux cpu: Alpha64
> Xwindows version: XFree 4.1.0
> Xwindows manager: KDE 2.x
> TclTk version: tcl/tk 8.3
> grass downloaded at: Baylor site
> grass binary for platform: I compiled the sources myself
> grass sources source: no, I got a source code package from the server, 
> 5.0.0pre2
> c compiler name: gcc
> 
> I get a Floating point exception when trying to print a region using 
> g.region where the north bound is 90 or the south bound is -90 (lat lon 
> projection)

Can you try compiling with the "-mieee" switch, e.g.

	CFLAGS=-mieee ./configure ...

The "gcc" Info file suggests that the Alpha's floating-point support
takes some shortcuts, which result in NaN and infinity not working:

`-mieee'
     The Alpha architecture implements floating-point hardware
     optimized for maximum performance.  It is mostly compliant with
     the IEEE floating point standard.  However, for full compliance,
     software assistance is required.  This option generates code fully
     IEEE compliant code _except_ that the INEXACT FLAG is not
     maintained (see below).  If this option is turned on, the CPP
     macro `_IEEE_FP' is defined during compilation.  The option is a
     shorthand for: `-D_IEEE_FP -mfp-trap-mode=su -mtrap-precision=i
     -mieee-conformant'.  The resulting code is less efficient but is
     able to correctly support denormalized numbers and exceptional
     IEEE values such as not-a-number and plus/minus infinity.  Other
     Alpha compilers call this option `-ieee_with_no_inexact'.

-- 
Glynn Clements <glynn.clements@virgin.net>


Fri, Nov 16 2001 17:33:22    Status changed to resolved by mneteler  
Fri, Nov 16 2001 17:33:42    Mail sent by mneteler  
Glynn has implemented the flag into configure.
Mon, Nov 19 2001 19:24:56    Status changed to stalled by gclements  
Mon, Nov 19 2001 19:25:03    Taken by gclements  
Comment | Reply | Resolve | Open

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