dbTalk Databases Forums  

[BUGS] 8.0.0 make check fails on Solaris 9 (sparc)

mailing.database.pgsql-bugs mailing.database.pgsql-bugs


Discuss [BUGS] 8.0.0 make check fails on Solaris 9 (sparc) in the mailing.database.pgsql-bugs forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
Tamas Vincze
 
Posts: n/a

Default [BUGS] 8.0.0 make check fails on Solaris 9 (sparc) - 01-27-2005 , 10:15 AM






This is a multi-part message in MIME format.
--------------040900040706000405040707
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

I see test failures in float4, float8 and misc.

Both float4 and float8 fail on the tests involving NaN and Infinity.
Here's the verbose output of the failed statements:

template1=# SELECT 'NaN'::float4;
ERROR: 22003: type "real" value out of range: overflow
LOCATION: CheckFloat4Val, float.c:219

template1=# SELECT 'Infinity'::float4 / 'Infinity'::float4;
ERROR: 22003: type "real" value out of range: overflow
LOCATION: CheckFloat4Val, float.c:219

template1=# SELECT 'nan'::float4 / 'nan'::float4;
ERROR: 22003: type "real" value out of range: overflow
LOCATION: CheckFloat4Val, float.c:219

template1=# SELECT 'NaN'::float8;
ERROR: 22003: type "double precision" value out of range: overflow
LOCATION: CheckFloat8Val, float.c:238

template1=# SELECT 'Infinity'::float8 / 'Infinity'::float8;
ERROR: 22003: type "double precision" value out of range: overflow
LOCATION: CheckFloat8Val, float.c:238

template1=# SELECT 'nan'::float8 / 'nan'::float8;
ERROR: 22003: type "double precision" value out of range: overflow
LOCATION: CheckFloat8Val, float.c:238

The misc test fails on the "COPY BINARY" test, all floating point
values get corrupted. The resulting binary file results/stud_emp.data
is attached.

Let me know if you need more information.

Regards,
Tamas

--------------040900040706000405040707
Content-Type: text/plain;
name="regression.out"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="regression.out"

parallel group (13 tests): (in groups of 10) text varchar int2 int8 int4 oid float4 name char boolean float8 bit numeric
boolean ... ok
char ... ok
name ... ok
varchar ... ok
text ... ok
int2 ... ok
int4 ... ok
int8 ... ok
oid ... ok
float4 ... FAILED
float8 ... FAILED
bit ... ok
numeric ... ok
test strings ... ok
test numerology ... ok
parallel group (20 tests): (in groups of 10) lseg box path time circle timestamp date timetz point polygon comments abstime tinterval interval reltime inet timestamptz type_sanity oidjoins opr_sanity
point ... ok
lseg ... ok
box ... ok
path ... ok
polygon ... ok
circle ... ok
date ... ok
time ... ok
timetz ... ok
timestamp ... ok
timestamptz ... ok
interval ... ok
abstime ... ok
reltime ... ok
tinterval ... ok
inet ... ok
comments ... ok
oidjoins ... ok
type_sanity ... ok
opr_sanity ... ok
test geometry ... ok
test horology ... ok
test insert ... ok
test create_function_1 ... ok
test create_type ... ok
test create_table ... ok
test create_function_2 ... ok
test copy ... ok
parallel group (7 tests): create_aggregate create_operator vacuum create_misc triggers constraints inherit
constraints ... ok
triggers ... ok
create_misc ... ok
create_aggregate ... ok
create_operator ... ok
inherit ... ok
vacuum ... ok
parallel group (2 tests): create_view create_index
create_index ... ok
create_view ... ok
test sanity_check ... ok
test errors ... ok
test select ... ok
parallel group (18 tests): (in groups of 10) select_into select_distinct select_distinct_on select_having union aggregates case subselect select_implicit join random hash_index btree_index portals update namespace arrays transactions
select_into ... ok
select_distinct ... ok
select_distinct_on ... ok
select_implicit ... ok
select_having ... ok
subselect ... ok
union ... ok
case ... ok
join ... ok
aggregates ... ok
transactions ... ok
random ... ok
portals ... ok
arrays ... ok
btree_index ... ok
hash_index ... ok
update ... ok
namespace ... ok
test privileges ... ok
test misc ... FAILED
parallel group (5 tests): portals_p2 select_views cluster rules foreign_key
select_views ... ok
portals_p2 ... ok
rules ... ok
foreign_key ... ok
cluster ... ok
parallel group (14 tests): (in groups of 10) limit conversion prepare temp without_oid truncate copy2 rangefuncs domain plpgsql polymorphism sequence rowtypes alter_table
limit ... ok
plpgsql ... ok
copy2 ... ok
temp ... ok
domain ... ok
rangefuncs ... ok
prepare ... ok
without_oid ... ok
conversion ... ok
truncate ... ok
alter_table ... ok
sequence ... ok
polymorphism ... ok
rowtypes ... ok
test stats ... ok
test tablespace ... ok

--------------040900040706000405040707
Content-Type: text/plain;
name="regression.diffs"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="regression.diffs"

*** ./expected/float4.out Thu Mar 11 19:25:40 2004
--- ./results/float4.out Wed Jan 26 15:21:06 2005
***************
*** 33,55 ****
ERROR: invalid input syntax for type real: "123 5"
-- special inputs
SELECT 'NaN'::float4;
! float4
! --------
! NaN
! (1 row)
!
SELECT 'nan'::float4;
! float4
! --------
! NaN
! (1 row)
!
SELECT ' NAN '::float4;
! float4
! --------
! NaN
! (1 row)
!
SELECT 'infinity'::float4;
float4
----------
--- 33,43 ----
ERROR: invalid input syntax for type real: "123 5"
-- special inputs
SELECT 'NaN'::float4;
! ERROR: type "real" value out of range: overflow
SELECT 'nan'::float4;
! ERROR: type "real" value out of range: overflow
SELECT ' NAN '::float4;
! ERROR: type "real" value out of range: overflow
SELECT 'infinity'::float4;
float4
----------
***************
*** 72,88 ****
SELECT 'Infinity'::float4 + 100.0;
ERROR: type "double precision" value out of range: overflow
SELECT 'Infinity'::float4 / 'Infinity'::float4;
! ?column?
! ----------
! NaN
! (1 row)
!
SELECT 'nan'::float4 / 'nan'::float4;
! ?column?
! ----------
! NaN
! (1 row)
!
SELECT '' AS five, FLOAT4_TBL.*;
five | f1
------+-------------
--- 60,68 ----
SELECT 'Infinity'::float4 + 100.0;
ERROR: type "double precision" value out of range: overflow
SELECT 'Infinity'::float4 / 'Infinity'::float4;
! ERROR: type "real" value out of range: overflow
SELECT 'nan'::float4 / 'nan'::float4;
! ERROR: type "real" value out of range: overflow
SELECT '' AS five, FLOAT4_TBL.*;
five | f1
------+-------------

================================================== ====================

*** ./expected/float8.out Fri Apr 23 16:32:20 2004
--- ./results/float8.out Wed Jan 26 15:21:07 2005
***************
*** 33,55 ****
ERROR: invalid input syntax for type double precision: "123 5"
-- special inputs
SELECT 'NaN'::float8;
! float8
! --------
! NaN
! (1 row)
!
SELECT 'nan'::float8;
! float8
! --------
! NaN
! (1 row)
!
SELECT ' NAN '::float8;
! float8
! --------
! NaN
! (1 row)
!
SELECT 'infinity'::float8;
float8
----------
--- 33,43 ----
ERROR: invalid input syntax for type double precision: "123 5"
-- special inputs
SELECT 'NaN'::float8;
! ERROR: type "double precision" value out of range: overflow
SELECT 'nan'::float8;
! ERROR: type "double precision" value out of range: overflow
SELECT ' NAN '::float8;
! ERROR: type "double precision" value out of range: overflow
SELECT 'infinity'::float8;
float8
----------
***************
*** 72,88 ****
SELECT 'Infinity'::float8 + 100.0;
ERROR: type "double precision" value out of range: overflow
SELECT 'Infinity'::float8 / 'Infinity'::float8;
! ?column?
! ----------
! NaN
! (1 row)
!
SELECT 'nan'::float8 / 'nan'::float8;
! ?column?
! ----------
! NaN
! (1 row)
!
SELECT '' AS five, FLOAT8_TBL.*;
five | f1
------+----------------------
--- 60,68 ----
SELECT 'Infinity'::float8 + 100.0;
ERROR: type "double precision" value out of range: overflow
SELECT 'Infinity'::float8 / 'Infinity'::float8;
! ERROR: type "double precision" value out of range: overflow
SELECT 'nan'::float8 / 'nan'::float8;
! ERROR: type "double precision" value out of range: overflow
SELECT '' AS five, FLOAT8_TBL.*;
five | f1
------+----------------------

================================================== ====================

*** ./expected/misc.out Wed Jan 26 15:11:29 2005
--- ./results/misc.out Wed Jan 26 15:21:44 2005
***************
*** 63,72 ****
COPY BINARY stud_emp FROM '/export/home/vincze/src/postgresql-8.0.0/src/test/regress/results/stud_emp.data';
SELECT * FROM stud_emp;
name | age | location | salary | manager | gpa | percent
! -------+-----+------------+--------+---------+-----+---------
! jeff | 23 | (8,7.7) | 600 | sharon | 3.5 |
! cim | 30 | (10.5,4.7) | 400 | | 3.4 |
! linda | 19 | (0.9,6.1) | 100 | | 2.9 |
(3 rows)

-- COPY aggtest FROM stdin;
--- 63,72 ----
COPY BINARY stud_emp FROM '/export/home/vincze/src/postgresql-8.0.0/src/test/regress/results/stud_emp.data';
SELECT * FROM stud_emp;
name | age | location | salary | manager | gpa | percent
! -------+-----+-----------------------------------------------+--------+---------+-----------------------+---------
! jeff | 23 | (0,0) | 600 | sharon | 0 |
! cim | 30 | (0,0) | 400 | | 0 |
! linda | 19 | (8.48798316386109e-312,8.48798316386109e-312) | 100 | | 8.48798316386109e-312 |
(3 rows)

-- COPY aggtest FROM stdin;

================================================== ====================


--------------040900040706000405040707
Content-Type: application/octet-stream;
name="stud_emp.data"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="stud_emp.data"

UEdDT1BZCv8NCgAAAAAAAAAAAAAHAAAABGplZmYAAAAEAAAAFw AAABBAIAAA
AAAAAEAezMzMzMzNAAAABAAAAlgAAAAGc2hhcm9uAAAACEAMAA AAAAAA////
/wAHAAAAA2NpbQAAAAQAAAAeAAAAEEAlAAAAAAAAQBLMzMzMzM0 AAAAEAAAB
kP////8AAAAIQAszMzMzMzP/////AAcAAAAFbGluZGEAAAAEAAAAEwAAABA/
7MzMzMzMzUAYZmZmZmZmAAAABAAAAGT/////AAAACEAHMzMzMzMz////////

--------------040900040706000405040707
Content-Type: text/plain
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0


---------------------------(end of broadcast)---------------------------
TIP 6: Have you searched our list archives?

http://archives.postgresql.org

--------------040900040706000405040707--


Reply With Quote
  #2  
Old   
Michael Fuhr
 
Posts: n/a

Default Re: [BUGS] 8.0.0 make check fails on Solaris 9 (sparc) - 01-27-2005 , 11:29 AM






On Thu, Jan 27, 2005 at 11:06:54AM -0500, Tamas Vincze wrote:

Quote:
I see test failures in float4, float8 and misc.
What configure options did you use? What compiler are you using?
Did you specify any custom compiler or linker options?

I've built PostgreSQL 8.0.0 (from CVS) on Solaris 9/sparc many times
with gcc 3.4.2 and all "make check" tests pass.

--
Michael Fuhr
http://www.fuhr.org/~mfuhr/

---------------------------(end of broadcast)---------------------------
TIP 7: don't forget to increase your free space map settings


Reply With Quote
  #3  
Old   
Tamas Vincze
 
Posts: n/a

Default Re: [BUGS] 8.0.0 make check fails on Solaris 9 (sparc) - 01-27-2005 , 01:17 PM



Hi Michael,

Quote:
I see test failures in float4, float8 and misc.

What configure options did you use? What compiler are you using?
Did you specify any custom compiler or linker options?
The configure command was:
$ ./configure --prefix=/usr/local/pgsql-8.0.0 --enable-thread-safety
--with-includes=/export/home/vincze/include
--with-libs=/export/home/vincze/lib

The readline library is installed under my home, that's why the
--with-includes/libs are there.

I have gcc 2.96 and haven't specified any custom options to it or
to the linker.

Quote:
I've built PostgreSQL 8.0.0 (from CVS) on Solaris 9/sparc many times
with gcc 3.4.2 and all "make check" tests pass.
I've compiled from the final tarball - maybe something's changed
since you got the sources from CVS?

Tamas


---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/docs/faq


Reply With Quote
  #4  
Old   
Michael Fuhr
 
Posts: n/a

Default Re: [BUGS] 8.0.0 make check fails on Solaris 9 (sparc) - 01-27-2005 , 02:30 PM



On Thu, Jan 27, 2005 at 02:08:36PM -0500, Tamas Vincze wrote:

Quote:
The configure command was:
$ ./configure --prefix=/usr/local/pgsql-8.0.0 --enable-thread-safety
--with-includes=/export/home/vincze/include
--with-libs=/export/home/vincze/lib

The readline library is installed under my home, that's why the
--with-includes/libs are there.
Is anything else under there? Aside from enabling various server-side
languages and SSL, the only thing I see different between my configure
and yours is that you use --enable-thread-safety and I don't, and
I use --enable-debug and you don't. When I get a chance I'll do a
build with --enable-thread-safety and without --enable-debug and
see if it matters.

Quote:
I have gcc 2.96 and haven't specified any custom options to it or
to the linker.
Have you tried gcc 3.x? I don't know if it matters, but that's
another difference between our builds.

Quote:
I've built PostgreSQL 8.0.0 (from CVS) on Solaris 9/sparc many times
with gcc 3.4.2 and all "make check" tests pass.

I've compiled from the final tarball - maybe something's changed
since you got the sources from CVS?
I've been following the 8.0 development for months, doing CVS updates
and rebuilding almost daily, include once earlier this morning. I
don't remember seeing any "make check" failures recently.

--
Michael Fuhr
http://www.fuhr.org/~mfuhr/

---------------------------(end of broadcast)---------------------------
TIP 1: subscribe and unsubscribe commands go to majordomo (AT) postgresql (DOT) org


Reply With Quote
  #5  
Old   
Tom Lane
 
Posts: n/a

Default Re: [BUGS] 8.0.0 make check fails on Solaris 9 (sparc) - 01-27-2005 , 02:41 PM



Michael Fuhr <mike (AT) fuhr (DOT) org> writes:
Quote:
On Thu, Jan 27, 2005 at 02:08:36PM -0500, Tamas Vincze wrote:
I've compiled from the final tarball - maybe something's changed
since you got the sources from CVS?

I've been following the 8.0 development for months, doing CVS updates
and rebuilding almost daily, include once earlier this morning. I
don't remember seeing any "make check" failures recently.
There are two different Solaris 9 machines in the build farm, too.
http://www.pgbuildfarm.org/cgi-bin/show_status.pl

regards, tom lane

---------------------------(end of broadcast)---------------------------
TIP 9: the planner will ignore your desire to choose an index scan if your
joining column's datatypes do not match


Reply With Quote
  #6  
Old   
Michael Fuhr
 
Posts: n/a

Default Re: [BUGS] 8.0.0 make check fails on Solaris 9 (sparc) - 01-27-2005 , 03:40 PM



On Thu, Jan 27, 2005 at 12:59:06PM -0700, Michael Fuhr wrote:

Quote:
When I get a chance I'll do a build with --enable-thread-safety
and without --enable-debug and see if it matters.
It occurred to me that --enable-thread-safety affects the client-side
libraries so I don't know why that would matter to the server, but
I did another build anyway and all checks passed (see below).

A few months ago an issue with strtod() on Solaris came up:

http://archives.postgresql.org/pgsql...8/msg00073.php
http://archives.postgresql.org/pgsql...8/msg00127.php

I wonder if you're experiencing a related or similar problem that
only shows up with certain build tools.


Build results:

% ./configure --enable-thread-safety && gmake check
....
======================
All 96 tests passed.
======================

% ldd src/test/regress/tmp_check/install/usr/local/pgsql/bin/postmaster
libz.so.1 => /usr/lib/libz.so.1
libreadline.so.5 => /usr/local/lib/libreadline.so.5
libcurses.so.1 => /usr/lib/libcurses.so.1
librt.so.1 => /usr/lib/librt.so.1
libresolv.so.2 => /usr/lib/libresolv.so.2
libgen.so.1 => /usr/lib/libgen.so.1
libsocket.so.1 => /usr/lib/libsocket.so.1
libnsl.so.1 => /usr/lib/libnsl.so.1
libdl.so.1 => /usr/lib/libdl.so.1
libm.so.1 => /usr/lib/libm.so.1
libc.so.1 => /usr/lib/libc.so.1
libgcc_s.so.1 => /usr/local/lib/libgcc_s.so.1
libaio.so.1 => /usr/lib/libaio.so.1
libmd5.so.1 => /usr/lib/libmd5.so.1
libmp.so.2 => /usr/lib/libmp.so.2
/usr/platform/SUNW,Ultra-1/lib/libc_psr.so.1
/usr/platform/SUNW,Ultra-1/lib/libmd5_psr.so.1

% gcc --version
gcc (GCC) 3.4.2
....

% gmake --version
GNU Make 3.80
....

% uname -a
SunOS foo.example.com 5.9 Generic_117171-17 sun4u sparc SUNW,Ultra-1

--
Michael Fuhr
http://www.fuhr.org/~mfuhr/

---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/docs/faq


Reply With Quote
  #7  
Old   
Tamas Vincze
 
Posts: n/a

Default Re: [BUGS] 8.0.0 make check fails on Solaris 9 (sparc) - 01-27-2005 , 04:18 PM



Michael Fuhr wrote:

Quote:
Is anything else under there?
I re-built it with

$ ./configure --prefix=/usr/local/pgsql-8.0.0 --without-readline

and still have the same errors in the float4, float8 and misc tests.

ldd src/test/regress/tmp_check/install/usr/local/pgsql-8.0.0/bin/postmaster
libz.so => /usr/lib/libz.so.1
librt.so.1 => /usr/lib/librt.so.1
libresolv.so.2 => /usr/lib/libresolv.so.2
libgen.so.1 => /usr/lib/libgen.so.1
libsocket.so.1 => /usr/lib/libsocket.so.1
libnsl.so.1 => /usr/lib/libnsl.so.1
libdl.so.1 => /usr/lib/libdl.so.1
libm.so.1 => /usr/lib/libm.so.1
libc.so.1 => /usr/lib/libc.so.1
libaio.so.1 => /usr/lib/libaio.so.1
libmd5.so.1 => /usr/lib/libmd5.so.1
libmp.so.2 => /usr/lib/libmp.so.2
/usr/platform/SUNW,Sun-Blade-1000/lib/libc_psr.so.1
/usr/platform/SUNW,Sun-Blade-1000/lib/libmd5_psr.so.1

% uname -a
SunOS testhost 5.9 Generic_112233-08 sun4u sparc SUNW,Sun-Blade-1000

Quote:
Have you tried gcc 3.x?
No, not yet. I have a pretty old make too: GNU Make version 3.78.1
but I think it's unlikely that it would cause such errors.
But I guess my only option now is to upgrade my build tools and give
it another try...

Tamas


---------------------------(end of broadcast)---------------------------
TIP 6: Have you searched our list archives?

http://archives.postgresql.org


Reply With Quote
  #8  
Old   
Michael Fuhr
 
Posts: n/a

Default Re: [BUGS] 8.0.0 make check fails on Solaris 9 (sparc) - 01-27-2005 , 04:24 PM



On Thu, Jan 27, 2005 at 02:33:05PM -0700, Michael Fuhr wrote:
Quote:
A few months ago an issue with strtod() on Solaris came up:

http://archives.postgresql.org/pgsql...8/msg00073.php
http://archives.postgresql.org/pgsql...8/msg00127.php

I wonder if you're experiencing a related or similar problem that
only shows up with certain build tools.
The errors were the following:

template1=# SELECT 'NaN'::float4;
ERROR: 22003: type "real" value out of range: overflow
LOCATION: CheckFloat4Val, float.c:219

The code around float.c:219 looks like this:

if (fabs(val) > FLOAT4_MAX)
ereport(ERROR,
(errcode(ERRCODE_NUMERIC_VALUE_OUT_OF_RANGE),
errmsg("type \"real\" value out of range: overflow")));

I wonder what a debugging printf() would show for val, fabs(val),
and FLOAT4_MAX here.

--
Michael Fuhr
http://www.fuhr.org/~mfuhr/

---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster


Reply With Quote
  #9  
Old   
Michael Fuhr
 
Posts: n/a

Default Re: [BUGS] 8.0.0 make check fails on Solaris 9 (sparc) - 01-27-2005 , 04:44 PM



On Thu, Jan 27, 2005 at 05:11:16PM -0500, Tamas Vincze wrote:

Quote:
But I guess my only option now is to upgrade my build tools and give
it another try...
Even if that works, it might be useful to track down exactly what's
causing the problem.

--
Michael Fuhr
http://www.fuhr.org/~mfuhr/

---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/docs/faq


Reply With Quote
  #10  
Old   
Tamas Vincze
 
Posts: n/a

Default Re: [BUGS] 8.0.0 make check fails on Solaris 9 (sparc) - 02-01-2005 , 02:41 PM



Michael, Fuhr wrote:

Quote:
The errors were the following:

template1=# SELECT 'NaN'::float4;
ERROR: 22003: type "real" value out of range: overflow
LOCATION: CheckFloat4Val, float.c:219

The code around float.c:219 looks like this:

if (fabs(val) > FLOAT4_MAX)
ereport(ERROR,
(errcode(ERRCODE_NUMERIC_VALUE_OUT_OF_RANGE),
errmsg("type \"real\" value out of range: overflow")));

I wonder what a debugging printf() would show for val, fabs(val),
and FLOAT4_MAX here.
Here it is:
val: NaN
fabs(val): NaN
FLOAT4_MAX: 340282346638528859811704183484516925440.000000

It must be a compiler bug in gcc 2.96 because I had an older
one (2.95.3) from the SFWgcc package installed under /opt/sfw
and using that all test results were OK.
I installed the new gcc 3.4.2 and that worked too.

Tamas


---------------------------(end of broadcast)---------------------------
TIP 8: explain analyze is your friend


Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.3
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.