Thread: Regression testing failure: float8...
Howdy. Just a quick FYI, but I was running some regression tests on HEAD and noticed that float8 is failing on FreeBSD 5. FreeBSD 4 seems to be fine. Any suggestions on what I can poke at or where I should look regarding this? -sc *** ./expected/float8-small-is-zero.out Tue Oct 22 13:01:15 2002 --- ./results/float8.out Sun Feb 16 15:25:48 2003 *************** *** 274,280 **** --- 274,282 ---- INSERT INTO FLOAT8_TBL(f1) VALUES ('-10e400'); ERROR: Input '-10e400' is out of range for float8 INSERT INTO FLOAT8_TBL(f1) VALUES ('10e-400'); + ERROR: Input '10e-400' is out of range for float8 INSERT INTO FLOAT8_TBL(f1) VALUES ('-10e-400'); + ERROR: Input '-10e-400' is out of range for float8 -- maintain external table consistency across platforms -- delete all values and reinsert well-behaved ones DELETE FROM FLOAT8_TBL; ====================================================================== -- Sean Chittenden
Sean Chittenden <sean@chittenden.org> writes: > Howdy. Just a quick FYI, but I was running some regression tests on > HEAD and noticed that float8 is failing on FreeBSD 5. FreeBSD 4 seems > to be fine. Any suggestions on what I can poke at or where I should > look regarding this? -sc Looks like freebsd has decided to become mainstream on underflow handling. You need to figure out how we should adjust the resultmap entry for freebsd to not select float8-small-is-zero.out on 5. Possibly float8/i.86-.*-freebsd4=float8-small-is-zero would do --- are there any pre-4.0 boxes still out there? regards, tom lane
> > Howdy. Just a quick FYI, but I was running some regression tests on > > HEAD and noticed that float8 is failing on FreeBSD 5. FreeBSD 4 seems > > to be fine. Any suggestions on what I can poke at or where I should > > look regarding this? -sc > > Looks like freebsd has decided to become mainstream on underflow > handling. You need to figure out how we should adjust the resultmap > entry for freebsd to not select float8-small-is-zero.out on 5. > Possibly > float8/i.86-.*-freebsd4=float8-small-is-zero > would do --- are there any pre-4.0 boxes still out there? There are 2.2.8 boxen still out there, but, if they're running 7.4 PostgreSQL on a 2.2.8 machine, let me know and I'll send black choppers and people in suites. Actually, now that I think about it, since BSD hasn't changed it's handling of FPU errors in over 12 months now (no longer sends SIGFPE on FPU errors), and it used to pass less than a month ago, it looks like this is a "perk" of a recent gcc upgrade to 3.2.2. I'm going to update my -CURRENT box just to be sure though and see if this wasn't an anomaly. -sc -- Sean Chittenden
Sean Chittenden <sean@chittenden.org> writes: > Actually, now that I think about it, since BSD hasn't changed it's > handling of FPU errors in over 12 months now (no longer sends SIGFPE > on FPU errors), and it used to pass less than a month ago, it looks > like this is a "perk" of a recent gcc upgrade to 3.2.2. I'd expect it to be a libc issue, not a compiler nor kernel thing. What you've got is that strtod() is now returning ERANGE for an underflowed input value, whereas before it did not. It's hard to believe that this would depend on which compiler you compiled Postgres with. (Maybe it could depend on which compiler you compiled libc with, though?) regards, tom lane
> > Actually, now that I think about it, since BSD hasn't changed it's > > handling of FPU errors in over 12 months now (no longer sends > > SIGFPE on FPU errors), and it used to pass less than a month ago, > > it looks like this is a "perk" of a recent gcc upgrade to 3.2.2. > > I'd expect it to be a libc issue, not a compiler nor kernel thing. > What you've got is that strtod() is now returning ERANGE for an > underflowed input value, whereas before it did not. It's hard to > believe that this would depend on which compiler you compiled > Postgres with. (Maybe it could depend on which compiler you > compiled libc with, though?) Hrm, yeah. I've updated my system and I can't reproduce this. As best as I can guess, in the last month I updated gcc and the code that gcc produced didn't quite interact with libc (from prior version of gcc) correctly. ::shrug:: Not really sure, but, it's not really that important since only random() is failing. -sc -- Sean Chittenden
I have several pre 4.0 boxes (2.2.x and 3.x) in production ruinning postgre= SQL On Sunday 16 February 2003 16:11, Tom Lane wrote: > Sean Chittenden <sean@chittenden.org> writes: > > Howdy. Just a quick FYI, but I was running some regression tests on > > HEAD and noticed that float8 is failing on FreeBSD 5. FreeBSD 4 seems > > to be fine. Any suggestions on what I can poke at or where I should > > look regarding this? -sc > > Looks like freebsd has decided to become mainstream on underflow > handling. You need to figure out how we should adjust the resultmap > entry for freebsd to not select float8-small-is-zero.out on 5. > Possibly > float8/i.86-.*-freebsd4=3Dfloat8-small-is-zero > would do --- are there any pre-4.0 boxes still out there? > > regards, tom lane > > ---------------------------(end of broadcast)--------------------------- > TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org --=20 Darcy Buskermolen Wavefire Technologies Corp. ph: 250.717.0200 fx: 250.763.1759 http://www.wavefire.com