Windows Vista support (Buildfarm Vaquita)
Hi,
I asked about this before, but the thread got hijacked to discuss
another buildfarm failure :-(. Currently our only Windows Vista
buildfarm member (Vaquita) fails every time (assuming it gets that far)
on ECPG's dt_test and update tests.
I've checked the FS permissions, and see no obvious reason why the tests
would fail, and I've tried running the tests manually and see them fail
as well.
Can someone suggest what I might try next to resolve this? I don't
really have the spare time to spend figuring out ECPG at the moment.
http://www.pgbuildfarm.org/cgi-bin/show_log.pl?nm=vaquita&dt=2007-05-07%2020:00:05
Regards, Dave.
On Wed, May 09, 2007 at 09:21:59AM +0100, Dave Page wrote:
I asked about this before, but the thread got hijacked to discuss
another buildfarm failure :-(. Currently our only Windows Vista
buildfarm member (Vaquita) fails every time (assuming it gets that far)
on ECPG's dt_test and update tests.
Dave, could you please run
insert into date_test ( d , ts ) values ( date '1966-01-17' ,
timestamp '2000-07-12 17:34:29' );
on the Vista system and then select * from date_test;?
According to the logs the insert runs successfully but the select gives
an invalid date format. Interestingly the date argument is displayed
correctly but the timestamp argument throws the invalid date error,
which does not really make sense.
Unfortunately I do not have access to a Vista system I could use to test
and track this one down.
As far as the other message is concerned I'm at a loss. It simply
refuses to run the sql/update script. No idea why.
Michael
--
Michael Meskes
Email: Michael at Fam-Meskes dot De, Michael at Meskes dot (De|Com|Net|Org)
ICQ: 179140304, AIM/Yahoo: michaelmeskes, Jabber: meskes@jabber.org
Go SF 49ers! Go Rhein Fire! Use Debian GNU/Linux! Use PostgreSQL!
Michael Meskes wrote:
Dave, could you please run
insert into date_test ( d , ts ) values ( date '1966-01-17' ,
timestamp '2000-07-12 17:34:29' );on the Vista system and then select * from date_test;?
According to the logs the insert runs successfully but the select gives
an invalid date format. Interestingly the date argument is displayed
correctly but the timestamp argument throws the invalid date error,
which does not really make sense.
I had to create the table manually of course, so copying what the code
seems to do, I get:
regress1=# create table date_test (d date, ts timestamp);
CREATE TABLE
regress1=# set datestyle to iso;
SET
regress1=# insert into date_test(d, ts) values (date '1966-01-17',
timestamp '2000-07-12 17:34:29');
INSERT 0 1
regress1=# select * from date_test;
d | ts
------------+---------------------
1966-01-17 | 2000-07-12 17:34:29
(1 row)
Which looks OK to me :-(
Unfortunately I do not have access to a Vista system I could use to test
and track this one down.
I'm happy to run any tests you like.
As far as the other message is concerned I'm at a loss. It simply
refuses to run the sql/update script. No idea why.
Oh, hang on... Vista's new 'security' features include popups that ask
permission from the user before running any installers. One of the more
basic checks they use is the filename - *anything* called setup.exe will
cause user confirmation to be required before it will run. I believe for
non-interactive sessions it'll just refuse to run. I just tried running
update.exe myself, and yes, you guessed it, a user confirmation dialog
popped up :-(
Can we rename the test please?
Regards, Dave.
Am Mittwoch, 9. Mai 2007 13:46 schrieb Dave Page:
Can we rename the test please?
I'm thinking no. Brain-dead systems should produce brain-dead test results.
--
Peter Eisentraut
http://developer.postgresql.org/~petere/
Peter Eisentraut wrote:
Am Mittwoch, 9. Mai 2007 13:46 schrieb Dave Page:
Can we rename the test please?
I'm thinking no. Brain-dead systems should produce brain-dead test results.
And that helps us how exactly, on what will probably be the most widely
used OS in the world within a few years?
Regards, Dave.
Peter Eisentraut wrote:
Am Mittwoch, 9. Mai 2007 13:46 schrieb Dave Page:
Can we rename the test please?
I'm thinking no. Brain-dead systems should produce brain-dead test results.
Not doing this would seem like sheer bloody-mindedness. We have
workarounds for craziness on many systems. Not providing for this will
mean that we have to disable the ECPG tests for Vista. I don't see how
that helps anyone.
More seriously, we need to get the ECPG regression test rewritten in C,
as was done for the main line regression tests. Maybe we need to factor
out some of that into a library so the common code can be used in both
programs. At any rate, until this is done we can't run the ECPG tests on
MSVC builds.
cheers
andrew
On Wed, May 09, 2007 at 08:40:24AM -0400, Andrew Dunstan wrote:
Peter Eisentraut wrote:
Am Mittwoch, 9. Mai 2007 13:46 schrieb Dave Page:
Can we rename the test please?
I'm thinking no. Brain-dead systems should produce brain-dead test
results.Not doing this would seem like sheer bloody-mindedness. We have
workarounds for craziness on many systems. Not providing for this will
mean that we have to disable the ECPG tests for Vista. I don't see how
that helps anyone.
Agreed.
More seriously, we need to get the ECPG regression test rewritten in C,
as was done for the main line regression tests. Maybe we need to factor
out some of that into a library so the common code can be used in both
programs. At any rate, until this is done we can't run the ECPG tests on
MSVC builds.
IIRC, Joachim has at least started work on that. (Unrelated to vista - ecpg
tests are broken on both mingw and msvc for vista)
//Magnus
On 5/9/2007 7:46 AM Dave Page wrote:
Oh, hang on... Vista's new 'security' features include popups that ask
permission from the user before running any installers. One of the more
basic checks they use is the filename - *anything* called setup.exe will
cause user confirmation to be required before it will run. I believe for
non-interactive sessions it'll just refuse to run. I just tried running
update.exe myself, and yes, you guessed it, a user confirmation dialog
popped up :-(
You can just disable that "feature" by turning off "User Account Control" under the Windows Security Center...
Ned Lilly wrote:
On 5/9/2007 7:46 AM Dave Page wrote:
Oh, hang on... Vista's new 'security' features include popups that ask
permission from the user before running any installers. One of the
more basic checks they use is the filename - *anything* called
setup.exe will cause user confirmation to be required before it will
run. I believe for non-interactive sessions it'll just refuse to run.
I just tried running update.exe myself, and yes, you guessed it, a
user confirmation dialog popped up :-(You can just disable that "feature" by turning off "User Account
Control" under the Windows Security Center...
Yeah, I know, but that's not really a solution we can live with.
Regards, Dave.
On Wed, May 09, 2007 at 12:46:52PM +0100, Dave Page wrote:
Oh, hang on... Vista's new 'security' features include popups that ask
permission from the user before running any installers. One of the more
basic checks they use is the filename - *anything* called setup.exe will
cause user confirmation to be required before it will run. I believe for
non-interactive sessions it'll just refuse to run. I just tried running
update.exe myself, and yes, you guessed it, a user confirmation dialog
popped up :-(
Seems to be a little bit braindead to me. But anyway, I renamed it and
just committed the changes. Let's see if this works.
Michael
P.S.: More on the other problem later.
--
Michael Meskes
Email: Michael at Fam-Meskes dot De, Michael at Meskes dot (De|Com|Net|Org)
ICQ: 179140304, AIM/Yahoo: michaelmeskes, Jabber: meskes@jabber.org
Go SF 49ers! Go Rhein Fire! Use Debian GNU/Linux! Use PostgreSQL!
Michael Meskes wrote:
On Wed, May 09, 2007 at 12:46:52PM +0100, Dave Page wrote:
Oh, hang on... Vista's new 'security' features include popups that ask
permission from the user before running any installers. One of the more
basic checks they use is the filename - *anything* called setup.exe will
cause user confirmation to be required before it will run. I believe for
non-interactive sessions it'll just refuse to run. I just tried running
update.exe myself, and yes, you guessed it, a user confirmation dialog
popped up :-(Seems to be a little bit braindead to me.
Yeah - according to Microsoft we should include a manifest with the
executable these days that can prevent the check by specifying that
administrative privileges won't be needed by the executable - but that
involves us adding version resources to the exe, and generating the
manifest during build which seems somewhat over the top for a quick
regression test.
But anyway, I renamed it and
just committed the changes. Let's see if this works.
Thanks.
P.S.: More on the other problem later.
OK.
Regards, Dave.
On Thu, May 10, 2007 at 11:05:39AM +0100, Dave Page wrote:
P.S.: More on the other problem later.
OK.
Dave, I just committed some small changes to get additional error
logging. Hopefully this enables me to find out where exactly the error
is coming up. If possible could you please restart a run on vista?
Thanks
Michael
--
Michael Meskes
Email: Michael at Fam-Meskes dot De
ICQ: 179140304, AIM/Yahoo: michaelmeskes, Jabber: meskes@jabber.org
Go SF 49ers! Go Rhein Fire! Use Debian GNU/Linux! Use PostgreSQL!
Michael Meskes wrote:
On Thu, May 10, 2007 at 11:05:39AM +0100, Dave Page wrote:
P.S.: More on the other problem later.
OK.
Dave, I just committed some small changes to get additional error
logging. Hopefully this enables me to find out where exactly the error
is coming up. If possible could you please restart a run on vista?
Running now - I won't have access to the machine again until Monday now
though.
Regards, Dave
Dave Page wrote:
Michael Meskes wrote:
On Thu, May 10, 2007 at 11:05:39AM +0100, Dave Page wrote:
P.S.: More on the other problem later.
OK.
Dave, I just committed some small changes to get additional error
logging. Hopefully this enables me to find out where exactly the error
is coming up. If possible could you please restart a run on vista?Running now - I won't have access to the machine again until Monday now
though.
It's passing what was the update test now which is good - thanks :-).
Here's the results of the run, showing just the dt_test failure:
http://www.pgbuildfarm.org/cgi-bin/show_log.pl?nm=vaquita&dt=2007-05-10%2015:55:16
Regards, Dave.
On Wed, May 09, 2007 at 12:46:52PM +0100, Dave Page wrote:
Unfortunately I do not have access to a Vista system I could use to test
and track this one down.I'm happy to run any tests you like.
Dave, could you please apply this small patch to pgtypeslib/datetime.c.
I still have no clue where the error code is comming from and I'm trying
to narrow it down a bit.
Thanks.
Michael
--
Michael Meskes
Email: Michael at Fam-Meskes dot De, Michael at Meskes dot (De|Com|Net|Org)
ICQ: 179140304, AIM/Yahoo: michaelmeskes, Jabber: meskes@jabber.org
Go SF 49ers! Go Rhein Fire! Use Debian GNU/Linux! Use PostgreSQL!
Attachments:
vista.patchtext/x-diff; charset=us-asciiDownload
--- pgtypeslib/datetime.c 2006-10-04 09:37:59.000000000 +0200
+++ datetime.c 2007-05-15 12:31:56.000000000 +0200
@@ -74,6 +74,7 @@
errno = PGTYPES_DATE_BAD_DATE;
return INT_MIN;
}
+ printf("1: errno = %d\n", errno);
if (ParseDateTime(str, lowstr, field, ftype, MAXDATEFIELDS, &nf, ptr) != 0 ||
DecodeDateTime(field, ftype, nf, &dtype, tm, &fsec, &tzp, EuroDates) != 0)
@@ -81,6 +82,7 @@
errno = PGTYPES_DATE_BAD_DATE;
return INT_MIN;
}
+ printf("2: errno = %d\n", errno);
switch (dtype)
{
@@ -95,8 +97,10 @@
errno = PGTYPES_DATE_BAD_DATE;
return INT_MIN;
}
+ printf("3: errno = %d\n", errno);
dDate = (date2j(tm->tm_year, tm->tm_mon, tm->tm_mday) - date2j(2000, 1, 1));
+ printf("4: errno = %d\n", errno);
return dDate;
}
Michael Meskes wrote:
On Wed, May 09, 2007 at 12:46:52PM +0100, Dave Page wrote:
Unfortunately I do not have access to a Vista system I could use to test
and track this one down.I'm happy to run any tests you like.
Dave, could you please apply this small patch to pgtypeslib/datetime.c.
I still have no clue where the error code is comming from and I'm trying
to narrow it down a bit.
Hi Michael,
The results are attached. Please let me know if I can do anything more.
Regards, Dave
Attachments:
regression.diffstext/plain; name=regression.diffs; x-mac-creator=0; x-mac-type=0Download
*** expected/pgtypeslib-dt_test.stderr Sat Mar 17 19:25:23 2007
--- results/pgtypeslib-dt_test.stderr Wed May 16 09:14:04 2007
***************
*** 20,27 ****
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ECPGget_data line 37: RESULT: 1966-01-17 offset: -1 array: Yes
[NO_PID]: sqlca: code: 0, state: 00000
! [NO_PID]: ECPGget_data line 37: RESULT: 2000-07-12 17:34:29 offset: -1 array: Yes
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ECPGtrans line 350 action = rollback connection = regress1
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_finish: Connection regress1 closed.
--- 20,30 ----
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ECPGget_data line 37: RESULT: 1966-01-17 offset: -1 array: Yes
[NO_PID]: sqlca: code: 0, state: 00000
! [NO_PID]: ECPGget_data line 37: RESULT: 1966-01-17 errno 22
[NO_PID]: sqlca: code: 0, state: 00000
+ [NO_PID]: raising sqlcode -209 in line 37, 'SQL error #-209 in line 37.'.
+ [NO_PID]: sqlca: code: -209, state: 42804
+ sql error SQL error #-209 in line 37.
[NO_PID]: ECPGtrans line 350 action = rollback connection = regress1
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_finish: Connection regress1 closed.
*** expected/pgtypeslib-dt_test.stdout Mon Aug 7 14:17:02 2006
--- results/pgtypeslib-dt_test.stdout Wed May 16 09:14:04 2007
***************
*** 1,3 ****
--- 1,11 ----
+ 1: errno = 0
+ 2: errno = 22
+ 3: errno = 22
+ 4: errno = 22
+ 1: errno = 0
+ 2: errno = 22
+ 3: errno = 22
+ 4: errno = 22
Date: 1966-01-17
timestamp: 2000-07-12 17:34:29
interval: @ 13556 days 12 hours 34 mins 14 secs
*** expected/pgtypeslib-dt_test2.stdout Thu Sep 14 09:02:38 2006
--- results/pgtypeslib-dt_test2.stdout Wed May 16 09:14:06 2007
***************
*** 1,88 ****
--- 1,159 ----
timestamp: 2003-12-04 17:34:29
Date of timestamp: 2003-12-04
+ 1: errno = 0
Date[0]: - (N - T)
+ 1: errno = 0
Date[1]: - (N - T)
+ 1: errno = 0
Date[2]: - (N - T)
+ 1: errno = 0
+ 2: errno = 0
+ 3: errno = 0
+ 4: errno = 0
Date[3]: 1999-01-08 (N - F)
TS[3,0]: 1999-01-08 00:04:00
TS[3,1]: 1999-01-08 01:59:00
TS[3,2]: 1999-01-08 13:24:40
TS[3,3]: 1999-01-08 13:24:40.495
+ 1: errno = 0
+ 2: errno = 0
+ 3: errno = 0
+ 4: errno = 0
Date[4]: 1999-01-08 (N - F)
TS[4,0]: 1999-01-08 00:04:00
TS[4,1]: 1999-01-08 01:59:00
TS[4,2]: 1999-01-08 13:24:40
TS[4,3]: 1999-01-08 13:24:40.495
+ 1: errno = 0
+ 2: errno = 0
+ 3: errno = 0
+ 4: errno = 0
Date[5]: 1999-01-08 (N - F)
TS[5,0]: 1999-01-08 00:04:00
TS[5,1]: 1999-01-08 01:59:00
TS[5,2]: 1999-01-08 13:24:40
TS[5,3]: 1999-01-08 13:24:40.495
+ 1: errno = 0
+ 2: errno = 0
+ 3: errno = 0
+ 4: errno = 0
Date[6]: 1999-01-18 (N - F)
TS[6,0]: 1999-01-18 00:04:00
TS[6,1]: 1999-01-18 01:59:00
TS[6,2]: 1999-01-18 13:24:40
TS[6,3]: 1999-01-18 13:24:40.495
+ 1: errno = 0
+ 2: errno = 0
+ 3: errno = 0
+ 4: errno = 0
Date[7]: 2003-01-02 (N - F)
TS[7,0]: 2003-01-02 00:04:00
TS[7,1]: 2003-01-02 01:59:00
TS[7,2]: 2003-01-02 13:24:40
TS[7,3]: 2003-01-02 13:24:40.495
+ 1: errno = 0
+ 2: errno = 0
+ 3: errno = 0
+ 4: errno = 0
Date[8]: 1999-01-08 (N - F)
TS[8,0]: 1999-01-08 00:04:00
TS[8,1]: 1999-01-08 01:59:00
TS[8,2]: 1999-01-08 13:24:40
TS[8,3]: 1999-01-08 13:24:40.495
+ 1: errno = 0
+ 2: errno = 0
+ 3: errno = 0
+ 4: errno = 0
Date[9]: 1999-01-08 (N - F)
TS[9,0]: 1999-01-08 00:04:00
TS[9,1]: 1999-01-08 01:59:00
TS[9,2]: 1999-01-08 13:24:40
TS[9,3]: 1999-01-08 13:24:40.495
+ 1: errno = 0
+ 2: errno = 0
+ 3: errno = 0
+ 4: errno = 0
Date[10]: 1999-01-08 (N - F)
TS[10,0]: 1999-01-08 00:04:00
TS[10,1]: 1999-01-08 01:59:00
TS[10,2]: 1999-01-08 13:24:40
TS[10,3]: 1999-01-08 13:24:40.495
+ 1: errno = 0
+ 2: errno = 0
+ 3: errno = 0
+ 4: errno = 0
Date[11]: 1999-01-08 (N - F)
TS[11,0]: 1999-01-08 00:04:00
TS[11,1]: 1999-01-08 01:59:00
TS[11,2]: 1999-01-08 13:24:40
TS[11,3]: 1999-01-08 13:24:40.495
+ 1: errno = 0
+ 2: errno = 0
+ 3: errno = 0
+ 4: errno = 0
Date[12]: 1999-01-08 (N - F)
TS[12,0]: 1999-01-08 00:04:00
TS[12,1]: 1999-01-08 01:59:00
TS[12,2]: 1999-01-08 13:24:40
TS[12,3]: 1999-01-08 13:24:40.495
+ 1: errno = 0
+ 2: errno = 0
+ 3: errno = 0
+ 4: errno = 0
Date[13]: 2006-01-08 (N - F)
TS[13,0]: 2006-01-08 00:04:00
TS[13,1]: 2006-01-08 01:59:00
TS[13,2]: 2006-01-08 13:24:40
TS[13,3]: 2006-01-08 13:24:40.495
+ 1: errno = 0
+ 2: errno = 0
+ 3: errno = 0
+ 4: errno = 0
Date[14]: 1999-01-08 (N - F)
TS[14,0]: 1999-01-08 00:04:00
TS[14,1]: 1999-01-08 01:59:00
TS[14,2]: 1999-01-08 13:24:40
TS[14,3]: 1999-01-08 13:24:40.495
+ 1: errno = 0
+ 2: errno = 0
+ 3: errno = 0
+ 4: errno = 0
Date[15]: 1999-01-08 (N - F)
TS[15,0]: 1999-01-08 00:04:00
TS[15,1]: 1999-01-08 01:59:00
TS[15,2]: 1999-01-08 13:24:40
TS[15,3]: 1999-01-08 13:24:40.495
+ 1: errno = 0
+ 2: errno = 0
+ 3: errno = 0
+ 4: errno = 0
Date[16]: 1999-01-08 (N - F)
TS[16,0]: 1999-01-08 00:04:00
TS[16,1]: 1999-01-08 01:59:00
TS[16,2]: 1999-01-08 13:24:40
TS[16,3]: 1999-01-08 13:24:40.495
+ 1: errno = 0
+ 2: errno = 0
+ 3: errno = 0
+ 4: errno = 0
Date[17]: 1999-01-08 (N - F)
TS[17,0]: 1999-01-08 00:04:00
TS[17,1]: 1999-01-08 01:59:00
TS[17,2]: 1999-01-08 13:24:40
TS[17,3]: 1999-01-08 13:24:40.495
+ 1: errno = 0
+ 2: errno = 0
+ 3: errno = 0
+ 4: errno = 0
Date[18]: 1999-01-08 (N - F)
TS[18,0]: 1999-01-08 00:04:00
TS[18,1]: 1999-01-08 01:59:00
TS[18,2]: 1999-01-08 13:24:40
TS[18,3]: 1999-01-08 13:24:40.495
+ 1: errno = 0
+ 2: errno = 0
+ 3: errno = 0
+ 4: errno = 0
Date[19]: 0099-01-08 BC (N - F)
TS[19,0]: 0099-01-08 00:04:00 BC
TS[19,1]: 0099-01-08 01:59:00 BC