Thread: 8.4 win32 shared memory patch
On Win2k3 Std SP2, the service won't start once I've applied the patch. In the log, I get: %t LOG: CreateProcess call failed: A blocking operation was interrupted by a call to WSACancelBlockingCall. (error code 2) %t LOG: could not fork autovacuum worker process: A blocking operation was interrupted by a call to WSACancelBlockingCall. [ and then 47k worth of that whole message repeated, and then: ] %t LOG: received fast shutdown request %t LOG: aborting any active transactions %t FATAL: terminating connection due to administrator command %t FATAL: terminating connection due to administrator command %t FATAL: terminating connection due to administrator command %t FATAL: terminating connection due to administrator command %t FATAL: terminating connection due to administrator command %t FATAL: terminating connection due to administrator command %t FATAL: terminating connection due to administrator command %t FATAL: terminating connection due to administrator command %t FATAL: terminating connection due to administrator command %t FATAL: terminating connection due to administrator command %t FATAL: terminating connection due to administrator command %t LOG: autovacuum launcher shutting down %t FATAL: terminating connection due to administrator command %t LOG: shutting down %t LOG: database system is shut down (BTW, I noticed the %t everywhere in all of my 8.4 logs, whereas in my 8.3 logs there're actual timestamps instead. Bug?) I put the old binary back and it works fine. Cheers, Kev
> I put the old binary back and it works fine. For the record, "fine" meaning I've never had the shared memory problem. Kev
On Wed, Jul 29, 2009 at 19:52, Kevin Field<kevinjamesfield@gmail.com> wrote: > On Win2k3 Std SP2, the service won't start once I've applied the > patch. In the log, I get: > > %t LOG: CreateProcess call failed: A blocking operation was > interrupted by a call to WSACancelBlockingCall. Now, that's just strange :-O First of all, the code from this patch hasn't even executed when that error pops up... So it really shouldn't be that one. Second, that error message just makes no sense in the context. However, the "errorcode 2" makes a bit more sense - that's a file not found error. It's still strange that it would show up, but it makes sense in the context of CreateProcess(). Are you sure that there weren't any old processes hanging around when you tried it? Would it be possible for you to test by doing stop -> reboot -> replace file -> start and see if the issue remains? -- Magnus HaganderSelf: http://www.hagander.net/Work: http://www.redpill-linpro.com/
On Fri, Jul 31, 2009 at 14:41, Kevin Field<kevinjamesfield@gmail.com> wrote: >> On Wed, Jul 29, 2009 at 19:52, Kevin Field<kevinjamesfield@gmail.com> >> wrote: >> > On Win2k3 Std SP2, the service won't start once I've applied the >> > patch. In the log, I get: >> > >> > %t LOG: CreateProcess call failed: A blocking operation was >> > interrupted by a call to WSACancelBlockingCall. >> >> Now, that's just strange :-O >> >> First of all, the code from this patch hasn't even executed when that >> error pops up... So it really shouldn't be that one. Second, that >> error message just makes no sense in the context. However, the >> "errorcode 2" makes a bit more sense - that's a file not found error. >> It's still strange that it would show up, but it makes sense in the >> context of CreateProcess(). Are you sure that there weren't any old >> processes hanging around when you tried it? Would it be possible for >> you to test by doing stop -> reboot -> replace file -> start and see >> if the issue remains? > > I did this last night as requested. This time, nothing about > CreateProcess, perhaps it's a separate issue. All the log said this > time was: > > %t LOG: received fast shutdown request > %t LOG: aborting any active transactions > %t LOG: autovacuum launcher shutting down > %t LOG: shutting down > %t LOG: database system is shut down > > That's the entire file. Attempting to start the service, I almost > immediately get an error 1067, the process terminated unexpectedly. If there is nothing in the logfile (make sure you're looking at the correct one - it may have created a new one), check the Windows Eventlog. That's where we'll put data if the issues show up before we have started the logger. -- Magnus HaganderSelf: http://www.hagander.net/Work: http://www.redpill-linpro.com/
On Fri, Jul 31, 2009 at 19:29, Kevin Field<kevinjamesfield@gmail.com> wrote: >> > %t LOG: received fast shutdown request >> > %t LOG: aborting any active transactions >> > %t LOG: autovacuum launcher shutting down >> > %t LOG: shutting down >> > %t LOG: database system is shut down >> > >> > That's the entire file. Attempting to start the service, I >> > almost >> > immediately get an error 1067, the process terminated >> > unexpectedly. >> >> If there is nothing in the logfile (make sure you're looking at >> the >> correct one - it may have created a new one), check the Windows >> Eventlog. That's where we'll put data if the issues show up >> before we >> have started the logger. > > > The event viewer says: > > The description for Event ID ( 0 ) in Source ( PostgreSQL ) cannot be > found. The local computer may not have the necessary registry > information or message DLL files to display messages from a remote > computer. You may be able to use the /AUXSOURCE= flag to retrieve this > description; see Help and Support for details. The following > information is part of the event: pg_ctl: could not find postgres > program executable > > And yes, I renamed it correctly... Check permissions on it. If you moved it at some point, it may have the wrong permissions. They should be the same as for the other .EXEs in that directory. -- Magnus HaganderSelf: http://www.hagander.net/Work: http://www.redpill-linpro.com/
> On Wed, Jul 29, 2009 at 19:52, Kevin Field<kevinjamesfield@gmail.com> > wrote: > > On Win2k3 Std SP2, the service won't start once I've applied the > > patch. In the log, I get: > > > > %t LOG: CreateProcess call failed: A blocking operation was > > interrupted by a call to WSACancelBlockingCall. > > Now, that's just strange :-O > > First of all, the code from this patch hasn't even executed when that > error pops up... So it really shouldn't be that one. Second, that > error message just makes no sense in the context. However, the > "errorcode 2" makes a bit more sense - that's a file not found error. > It's still strange that it would show up, but it makes sense in the > context of CreateProcess(). Are you sure that there weren't any old > processes hanging around when you tried it? Would it be possible for > you to test by doing stop -> reboot -> replace file -> start and see > if the issue remains? I did this last night as requested. This time, nothing about CreateProcess, perhaps it's a separate issue. All the log said this time was: %t LOG: received fast shutdown request %t LOG: aborting any active transactions %t LOG: autovacuum launcher shutting down %t LOG: shutting down %t LOG: database system is shut down That's the entire file. Attempting to start the service, I almost immediately get an error 1067, the process terminated unexpectedly. Kev
> > %t LOG: received fast shutdown request > > %t LOG: aborting any active transactions > > %t LOG: autovacuum launcher shutting down > > %t LOG: shutting down > > %t LOG: database system is shut down > > > > That's the entire file. Attempting to start the service, I > > almost > > immediately get an error 1067, the process terminated > > unexpectedly. > > If there is nothing in the logfile (make sure you're looking at > the > correct one - it may have created a new one), check the Windows > Eventlog. That's where we'll put data if the issues show up > before we > have started the logger. The event viewer says: The description for Event ID ( 0 ) in Source ( PostgreSQL ) cannot be found. The local computer may not have the necessary registry information or message DLL files to display messages from a remote computer. You may be able to use the /AUXSOURCE= flag to retrieve this description; see Help and Support for details. The following information is part of the event: pg_ctl: could not find postgres program executable And yes, I renamed it correctly...
> On Fri, Jul 31, 2009 at 19:29, Kevin Field<kevinjamesfield@gmail.com> > wrote: > >> > %t LOG: received fast shutdown request > >> > %t LOG: aborting any active transactions > >> > %t LOG: autovacuum launcher shutting down > >> > %t LOG: shutting down > >> > %t LOG: database system is shut down > >> > > >> > That's the entire file. Attempting to start the service, I > >> > almost > >> > immediately get an error 1067, the process terminated > >> > unexpectedly. > >> > >> If there is nothing in the logfile (make sure you're looking > > > at > >> the > >> correct one - it may have created a new one), check the > > > Windows > >> Eventlog. That's where we'll put data if the issues show up > >> before we > >> have started the logger. > > > > > > The event viewer says: > > > > The description for Event ID ( 0 ) in Source ( PostgreSQL ) cannot > > be > > found. The local computer may not have the necessary registry > > information or message DLL files to display messages from a remote > > computer. You may be able to use the /AUXSOURCE= flag to retrieve > > this > > description; see Help and Support for details. The following > > information is part of the event: pg_ctl: could not find postgres > > program executable > > > > And yes, I renamed it correctly... > > Check permissions on it. If you moved it at some point, it may have > the wrong permissions. They should be the same as for the other .EXEs > in that directory. The two files (new and old exe) have identical permissions.
On Sat, Aug 1, 2009 at 20:30, Kevin Field<kevinjamesfield@gmail.com> wrote: >> > The event viewer says: >> > >> > The description for Event ID ( 0 ) in Source ( PostgreSQL ) cannot >> > be >> > found. The local computer may not have the necessary registry >> > information or message DLL files to display messages from a remote >> > computer. You may be able to use the /AUXSOURCE= flag to retrieve >> > this >> > description; see Help and Support for details. The following >> > information is part of the event: pg_ctl: could not find postgres >> > program executable >> > >> > And yes, I renamed it correctly... >> >> Check permissions on it. If you moved it at some point, it may have >> the wrong permissions. They should be the same as for the other .EXEs >> in that directory. > > The two files (new and old exe) have identical permissions. That's just weird. It could be that the postgres executable won't work - maybe because of some DLL issue. Can you run "postgres -V" on the executable, or does that give you some error? -- Magnus HaganderSelf: http://www.hagander.net/Work: http://www.redpill-linpro.com/
> On Sat, Aug 1, 2009 at 20:30, Kevin Field<kevinjamesfield@gmail.com> > wrote: > >> > The event viewer says: > >> > > >> > The description for Event ID ( 0 ) in Source ( PostgreSQL ) > > > > cannot > >> > be > >> > found. The local computer may not have the necessary registry > >> > information or message DLL files to display messages from a > > > > remote > >> > computer. You may be able to use the /AUXSOURCE= flag to > > > > retrieve > >> > this > >> > description; see Help and Support for details. The following > >> > information is part of the event: pg_ctl: could not find > > > > postgres > >> > program executable > >> > > >> > And yes, I renamed it correctly... > >> > >> Check permissions on it. If you moved it at some point, it may > > > have > >> the wrong permissions. They should be the same as for the other > > > .EXEs > >> in that directory. > > > > The two files (new and old exe) have identical permissions. > > That's just weird. It could be that the postgres executable won't > work > - maybe because of some DLL issue. Can you run "postgres -V" on the > executable, or does that give you some error? It reports the version correctly. Sorry...any other ideas?
On Tue, Aug 4, 2009 at 19:13, Kevin Field<kevinjamesfield@gmail.com> wrote: >> On Sat, Aug 1, 2009 at 20:30, Kevin Field<kevinjamesfield@gmail.com> >> wrote: >> >> > The event viewer says: >> >> > >> >> > The description for Event ID ( 0 ) in Source ( PostgreSQL ) >> > > > cannot >> >> > be >> >> > found. The local computer may not have the necessary registry >> >> > information or message DLL files to display messages from a >> > > > remote >> >> > computer. You may be able to use the /AUXSOURCE= flag to >> > > > retrieve >> >> > this >> >> > description; see Help and Support for details. The following >> >> > information is part of the event: pg_ctl: could not find >> > > > postgres >> >> > program executable >> >> > >> >> > And yes, I renamed it correctly... >> >> >> >> Check permissions on it. If you moved it at some point, it may >> > > have >> >> the wrong permissions. They should be the same as for the other >> > > .EXEs >> >> in that directory. >> > >> > The two files (new and old exe) have identical permissions. >> >> That's just weird. It could be that the postgres executable won't >> work >> - maybe because of some DLL issue. Can you run "postgres -V" on the >> executable, or does that give you some error? > > It reports the version correctly. Sorry...any other ideas? Irrk. I think it's time to break out Process Monitor (http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx) and get a trace of exactly what call is failing, and how. -- Magnus HaganderMe: http://www.hagander.net/Work: http://www.redpill-linpro.com/
On Tue, Aug 4, 2009 at 19:13, Kevin Field<kevinjamesfield@gmail.com> wrote: >> On Sat, Aug 1, 2009 at 20:30, Kevin Field<kevinjamesfield@gmail.com> >> wrote: >> >> > The event viewer says: >> >> > >> >> > The description for Event ID ( 0 ) in Source ( PostgreSQL ) >> > > > cannot >> >> > be >> >> > found. The local computer may not have the necessary registry >> >> > information or message DLL files to display messages from a >> > > > remote >> >> > computer. You may be able to use the /AUXSOURCE= flag to >> > > > retrieve >> >> > this >> >> > description; see Help and Support for details. The following >> >> > information is part of the event: pg_ctl: could not find >> > > > postgres >> >> > program executable >> >> > >> >> > And yes, I renamed it correctly... >> >> >> >> Check permissions on it. If you moved it at some point, it may >> > > have >> >> the wrong permissions. They should be the same as for the other >> > > .EXEs >> >> in that directory. >> > >> > The two files (new and old exe) have identical permissions. >> >> That's just weird. It could be that the postgres executable won't >> work >> - maybe because of some DLL issue. Can you run "postgres -V" on the >> executable, or does that give you some error? > > It reports the version correctly. Sorry...any other ideas? For the archives: I worked off-list with Kevin and we noticed that the issue was that the *old* version was 8.0rc1, thus pg_ctl was looking for 8.0rc1. Upgrading to 8.0 first and then applying the new postgres.exe binary appears to have worked. -- Magnus HaganderMe: http://www.hagander.net/Work: http://www.redpill-linpro.com/
On Thu, Aug 6, 2009 at 09:25, Magnus Hagander<magnus@hagander.net> wrote: > On Tue, Aug 4, 2009 at 19:13, Kevin Field<kevinjamesfield@gmail.com> wrote: >>> On Sat, Aug 1, 2009 at 20:30, Kevin Field<kevinjamesfield@gmail.com> >>> wrote: >>> >> > The event viewer says: >>> >> > >>> >> > The description for Event ID ( 0 ) in Source ( PostgreSQL ) >>> > > > cannot >>> >> > be >>> >> > found. The local computer may not have the necessary registry >>> >> > information or message DLL files to display messages from a >>> > > > remote >>> >> > computer. You may be able to use the /AUXSOURCE= flag to >>> > > > retrieve >>> >> > this >>> >> > description; see Help and Support for details. The following >>> >> > information is part of the event: pg_ctl: could not find >>> > > > postgres >>> >> > program executable >>> >> > >>> >> > And yes, I renamed it correctly... >>> >> >>> >> Check permissions on it. If you moved it at some point, it may >>> > > have >>> >> the wrong permissions. They should be the same as for the other >>> > > .EXEs >>> >> in that directory. >>> > >>> > The two files (new and old exe) have identical permissions. >>> >>> That's just weird. It could be that the postgres executable won't >>> work >>> - maybe because of some DLL issue. Can you run "postgres -V" on the >>> executable, or does that give you some error? >> >> It reports the version correctly. Sorry...any other ideas? > > For the archives: I worked off-list with Kevin and we noticed that the > issue was that the *old* version was 8.0rc1, thus pg_ctl was looking > for 8.0rc1. Upgrading to 8.0 first and then applying the new > postgres.exe binary appears to have worked. Clearly I'm not awake yet. That's obviously 8.4rc1 and 8.4.0. -- Magnus HaganderMe: http://www.hagander.net/Work: http://www.redpill-linpro.com/