Crash on initdb in MSVC++
HEAD built with msvc++ crashes on initdb. I'd appreciate any pointers as
to where to start looking...
Unhandled exception at 0x0046b9c7 in postgres.exe: 0xC0000005: Access
violation reading location 0x000006b3.
Backtrace:
postgres.exe!_bt_start_vacuum(RelationData * rel=0x0000067f)
Line 1000 + 0x3 bytes C
postgres.exe!btbulkdelete(FunctionCallInfoData *
fcinfo=0x00d2f778) Line 527 + 0x9 bytes C
postgres.exe!OidFunctionCall3(unsigned int functionId=332,
unsigned long arg1=23780584, unsigned long arg2=64453888, unsigned long
arg3=62953160) Line 1460 + 0xf bytes C
postgres.exe!index_build(RelationData * heapRelation=0x016adce8,
RelationData * indexRelation=0x03d77d00, IndexInfo *
indexInfo=0x03c096c8, char isprimary=0, char istoast=0) Line 1301 +
0x15 bytes C
postgres.exe!build_indices() Line 1249 + 0x1a bytes C
postgres.exe!boot_yyparse() Line 285 C
postgres.exe!BootstrapMain(int argc=4, char * * argv=0x0121241c)
Line 487 C
postgres.exe!main(int argc=5, char * * argv=0x01212418) Line
181 + 0xd bytes C
The crash is on the line:
vac->relid = rel->rd_lockInfo.lockRelId;
in _bt_start_vacuum().
From what I can tell, the entire rel pointer is invalid at this point,
because the debugger says "Expression cannot be evaluated" for all
fields in it, including simple ints.
//Magnus
Nevermind this whole mail. My .bki files weren't updated. (installed new
version of them in the wrong directory. Oops.) Updating that to correct
files for HEAD mdae it pass again.
//Magnus
Show quoted text
HEAD built with msvc++ crashes on initdb. I'd appreciate any
pointers as to where to start looking...Unhandled exception at 0x0046b9c7 in postgres.exe:
0xC0000005: Access violation reading location 0x000006b3.Backtrace:
postgres.exe!_bt_start_vacuum(RelationData * rel=0x0000067f)
Line 1000 + 0x3 bytes C
postgres.exe!btbulkdelete(FunctionCallInfoData *
fcinfo=0x00d2f778) Line 527 + 0x9 bytes C
postgres.exe!OidFunctionCall3(unsigned int
functionId=332, unsigned long arg1=23780584, unsigned long
arg2=64453888, unsigned long
arg3=62953160) Line 1460 + 0xf bytes C
postgres.exe!index_build(RelationData *
heapRelation=0x016adce8, RelationData *
indexRelation=0x03d77d00, IndexInfo * indexInfo=0x03c096c8,
char isprimary=0, char istoast=0) Line 1301 +
0x15 bytes C
postgres.exe!build_indices() Line 1249 + 0x1a bytes C
postgres.exe!boot_yyparse() Line 285 C
postgres.exe!BootstrapMain(int argc=4, char * * argv=0x0121241c)
Line 487 C
postgres.exe!main(int argc=5, char * * argv=0x01212418) Line
181 + 0xd bytes CThe crash is on the line:
vac->relid = rel->rd_lockInfo.lockRelId;in _bt_start_vacuum().
From what I can tell, the entire rel pointer is invalid at
this point, because the debugger says "Expression cannot be
evaluated" for all fields in it, including simple ints.//Magnus
---------------------------(end of
broadcast)---------------------------
TIP 6: explain analyze is your friend