Crash on initdb in MSVC++

Started by Magnus Haganderover 19 years ago2 messages
#1Magnus Hagander
mha@sollentuna.net

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

#2Magnus Hagander
mha@sollentuna.net
In reply to: Magnus Hagander (#1)
Re: Crash on initdb in MSVC++

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

---------------------------(end of
broadcast)---------------------------
TIP 6: explain analyze is your friend