Crash on initdb in MSVC++ - Mailing list pgsql-hackers

From Magnus Hagander
Subject Crash on initdb in MSVC++
Date
Msg-id 6BCB9D8A16AC4241919521715F4D8BCEA0FA8E@algol.sollentuna.se
Whole thread Raw
Responses Re: Crash on initdb in MSVC++  ("Magnus Hagander" <mha@sollentuna.net>)
List pgsql-hackers
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


pgsql-hackers by date:

Previous
From: "Mark Woodward"
Date:
Subject: Re: vacuum, performance, and MVCC
Next
From: "Mark Woodward"
Date:
Subject: vacuum row?