Windows Vista support (Buildfarm Vaquita)

Started by Dave Pageover 18 years ago16 messages
#1Dave Page
dpage@postgresql.org

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.

#2Michael Meskes
meskes@postgresql.org
In reply to: Dave Page (#1)
Re: Windows Vista support (Buildfarm Vaquita)

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!

#3Dave Page
dpage@postgresql.org
In reply to: Michael Meskes (#2)
Re: Windows Vista support (Buildfarm Vaquita)

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.

#4Peter Eisentraut
peter_e@gmx.net
In reply to: Dave Page (#3)
Re: Windows Vista support (Buildfarm Vaquita)

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/

#5Dave Page
dpage@postgresql.org
In reply to: Peter Eisentraut (#4)
Re: Windows Vista support (Buildfarm Vaquita)

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.

#6Andrew Dunstan
andrew@dunslane.net
In reply to: Peter Eisentraut (#4)
Re: Windows Vista support (Buildfarm Vaquita)

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

#7Magnus Hagander
magnus@hagander.net
In reply to: Andrew Dunstan (#6)
Re: Windows Vista support (Buildfarm Vaquita)

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

#8Ned Lilly
ned@nedscape.com
In reply to: Dave Page (#3)
PostgreSQL wants to install, cancel or allow? (was Re: Windows Vista support (Buildfarm Vaquita)

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...

#9Dave Page
dpage@postgresql.org
In reply to: Ned Lilly (#8)
Re: PostgreSQL wants to install, cancel or allow? (was Re: Windows Vista support (Buildfarm Vaquita)

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.

#10Michael Meskes
meskes@postgresql.org
In reply to: Dave Page (#3)
Re: Windows Vista support (Buildfarm Vaquita)

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!

#11Dave Page
dpage@postgresql.org
In reply to: Michael Meskes (#10)
Re: Windows Vista support (Buildfarm Vaquita)

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.

#12Michael Meskes
meskes@postgresql.org
In reply to: Dave Page (#11)
Re: Windows Vista support (Buildfarm Vaquita)

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!

#13Dave Page
dpage@postgresql.org
In reply to: Michael Meskes (#12)
Re: Windows Vista support (Buildfarm Vaquita)

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

#14Dave Page
dpage@postgresql.org
In reply to: Dave Page (#13)
Re: Windows Vista support (Buildfarm Vaquita)

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.

#15Michael Meskes
meskes@postgresql.org
In reply to: Dave Page (#3)
1 attachment(s)
Re: Windows Vista support (Buildfarm Vaquita)

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;
 }
#16Dave Page
dpage@postgresql.org
In reply to: Michael Meskes (#15)
3 attachment(s)
Re: Windows Vista support (Buildfarm Vaquita)

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:

pgtypeslib-dt_test.stderrtext/plain; name=pgtypeslib-dt_test.stderr; x-mac-creator=0; x-mac-type=0Download
pgtypeslib-dt_test.stdouttext/plain; name=pgtypeslib-dt_test.stdout; x-mac-creator=0; x-mac-type=0Download
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