Windows x86-64 One-Click Install (9.1.2-1, 9.0.6-1) hangs on "initialising the database cluster" (with work-around)

From: Eric Borts <eborts(at)bltek(dot)com>
To: pgsql-bugs(at)postgresql(dot)org
Subject: Windows x86-64 One-Click Install (9.1.2-1, 9.0.6-1) hangs on "initialising the database cluster" (with work-around)
Date: 2012-01-26 00:36:01
Message-ID: 4F209FF1.3080209@bltek.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Windows 7 Home Premium 64-bit, SP 1
Intel Core i7-2630QM @ 2.00 GHz
Local machine authentication (no network-based login)

Installation of the 9.1.2-1 and 9.0.6-1 hangs on "initialising the
database cluster". Process has 0 CPU. In all scenarios left process run
for at least 5 minutes up to an hour.

Tried various configurations, and I'll attempt to list them here
Config 1
Locale = Default
Install to = C:\Program Files\PostgreSQL\9.1
Data Dir = D:\postgres\9.1\data
Created new postgres user as part of the installer
Hung at "initialising the database cluster"

Config 2
Locale = Default
Install to = C:\PostgreSQL\9.1
Data Dir = D:\postgres\9.1\data
postgres user already created in Config 1 step
Hung at "initialising the database cluster"

Config 3
Added "FULL" permissions to D:\postgres; C:\PostgreSQL; (recursive)
for *postgres* user
Hung at "initialising the database cluster"

Config 4
Locale = English, United States
Hung at "initialising the database cluster"

After some experimentation (sorry, can't help this as a software
developer!), I was able to reproduce the problem with this set of
scripts. The original file where the execution hangs is:

initicluster.vbs line 117
Function DoCMd(strCmd)
...
DoCmd = objShell.Run(objTempFolder.Path & "\" & strBatchFile,
0, True)
...
End Function

[sayhi.bat]
echo Hello World > _hello.txt

[test.vbs]
Dim objShell
Set objShell = WScript.CreateObject("WScript.Shell")

' original script as window style (param 2) set to 0 to hide the command
prompt
' setting window style to "1" here shows that the cmd prompt is not
executing the batch file
objShell.Run "sayhi.bat", 1, True

---------------------
Run the above command in an Administrator command prompt with:
cscript test.vbs

Program will hangs, does not generate the _hello.txt file

I was not able to discover any permissions that prevented a batch file
from being run directly by wscript, but I did find two changes that made
this work:
---------------------
[test.vbs]
' Reference: http://technet.microsoft.com/en-us/library/ee692837.aspx

' SOLUTION 1: Launch cmd.exe instead of launching the batch file directly
objShell.Run "%COMSPEC% /c sayhi.bat", 1, True

' SOLUTION 2: Use Shell.Exec instead of Shell.Run
objShell.Exec "sayhi.bat > _exec.txt"
---------------------

After discovering these changes:
1. opened initcluster.vbs in Komodo Edit 6.1
2. modified line ~113 to:

DoCmd = objShell.Run("%COMSPEC% /c " & objTempFolder.Path & "\" &
strBatchFile, 0, True)

3. canceled the hung postgres install
-- this deleted the initcluster.vbs
4. save initcluster.vbs and marked as read-only
5. re-run the install
6. watch for initcluster.vbs date to change during installation unpacking
7. save initcluster.vbs when date on file changes

At this point the data directory is created properly and the
installation progresses beyond "initialising the database cluster" but
is now hung on "Configuring database server startup"

8. searched for ".Run" in all .vbs files
9. found matching line in startupcfg.vbs and loadmodules.vbs
10. modified startupcfg.vbs line 42

DoCmd = objShell.Run("%COMSPEC% /c " & objTempFolder.Path & "\" &
strBatchFile, 0, True)

11. modified loadmodules.vbs line 47

DoCmd = objShell.Run("%COMSPEC% /c " & objTempFolder.Path & "\" &
strBatchFile, 0, True)

12. delete old data directory
13. repeat steps 1-7, then jump to 14
14. save startupcfg.vbs and loadmodules.vbs (immediately after
initcluster.vbs has been re-saved)

Install runs through completely and successfully.

Attached is a zip of the 3 .vbs files modified (renamed to ._vbs to
avoid firewall problems).

Hope this helps!
Thanks,
Eric

Attachment Content-Type Size
postgres_bugreport_BLT_2012-01-25.zip application/x-zip-compressed 5.7 KB

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message aaron.kb.h 2012-01-26 06:36:38 BUG #6409: [NPGSQL]Fail to cast Int64 to System.Data.Common.DbParameter
Previous Message Josh Berkus 2012-01-25 23:47:50 wCTE cannot be used to update parent inheritance table