Thread

  1. 7.3B2 initdb fails

    Nic Ferrier <nferrier@tapsellferrier.co.uk> — 2002-10-02T22:26:46Z

    I built 7.3B2 from CVS and ran initdb: it fails. Here's an example of
    the console session:
    
    demo >>>
    $ initdb -D /usr/local/pgdata
    
    The files belonging to this database system will be owned by user "nferrier".
    This user must also own the server process.
    
    The database cluster will be initialized with locale C.
    
    creating directory /usr/local/pgdatatest... ok
    creating directory /usr/local/pgdatatest/base... ok
    creating directory /usr/local/pgdatatest/global... ok
    creating directory /usr/local/pgdatatest/pg_xlog... ok
    creating directory /usr/local/pgdatatest/pg_clog... ok
    creating template1 database in /usr/local/pgdatatest/base/1... 
    initdb failed.
    Removing /usr/local/pgdatatest.
    
    <<< end of console messages.
    
    
    Running initdb with debugging turned on generates too big a trace,
    however I think these are the relevant bits:
    
    
    
    >>>>
    Running with debug mode on.
    
    initdb variables:
      PGDATA=/usr/local/pgdatatest
      datadir=/usr/local/share/postgresql
      PGPATH=/usr/local/bin
      ENCODING=
      ENCODINGID=0
      POSTGRES_SUPERUSERNAME=nferrier
      POSTGRES_BKI=/usr/local/share/postgresql/postgres.bki
      POSTGRES_DESCR=/usr/local/share/postgresql/postgres.description
      POSTGRESQL_CONF_SAMPLE=/usr/local/share/postgresql/postgresql.conf.sample
      PG_HBA_SAMPLE=/usr/local/share/postgresql/pg_hba.conf.sample
      PG_IDENT_SAMPLE=/usr/local/share/postgresql/pg_ident.conf.sample
    The files belonging to this database system will be owned by user "nferrier".
    This user must also own the server process.
    
    The database cluster will be initialized with locale C.
    
    creating directory /usr/local/pgdatatest... ok
    creating directory /usr/local/pgdatatest/base... ok
    creating directory /usr/local/pgdatatest/global... ok
    creating directory /usr/local/pgdatatest/pg_xlog... ok
    creating directory /usr/local/pgdatatest/pg_clog... ok
    creating template1 database in /usr/local/pgdatatest/base/1... DEBUG:  invoking IpcMemoryCreate(size=1179648)
    LOG:  database system was shut down at 2002-10-02 23:12:53 BST
    LOG:  checkpoint record is at 0/10
    LOG:  redo record is at 0/10; undo record is at 0/10; shutdown TRUE
    LOG:  next transaction id: 3; next oid: 16384
    LOG:  database system is ready
    DEBUG:  start transaction
    DEBUG:  creating bootstrap relation pg_proc...
    DEBUG:  column proname name
    DEBUG:  column pronamespace oid
    DEBUG:  column proowner int4
    DEBUG:  column prolang oid
    DEBUG:  column proisagg bool
    DEBUG:  column prosecdef bool
    DEBUG:  column proisstrict bool
    DEBUG:  column proretset bool
    DEBUG:  column provolatile char
    DEBUG:  column pronargs int2
    DEBUG:  column prorettype oid
    DEBUG:  column proargtypes oidvector
    DEBUG:  column prosrc text
    DEBUG:  column probin bytea
    DEBUG:  column proacl _aclitem
    DEBUG:  commit transaction
    DEBUG:  start transaction
    .
    .
    .
    DEBUG:  start transaction
    DEBUG:  bootstrap relation created
    DEBUG:  commit transaction
    DEBUG:  start transaction
    DEBUG:  inserting row with oid 1247...
    DEBUG:  inserting column 0 value 'pg_type'
    DEBUG:  Typ != NULL
    DEBUG:   -> pg_type
    DEBUG:  inserted
    DEBUG:  inserting column 1 value '11'
    DEBUG:  Typ != NULL
    DEBUG:   -> 11
    DEBUG:  inserted
    DEBUG:  inserting column 2 value '71'
    DEBUG:  Typ != NULL
    DEBUG:   -> 71
    DEBUG:  inserted
    DEBUG:  inserting column 3 value '1'
    DEBUG:  Typ != NULL
    DEBUG:   -> 1
    DEBUG:  inserted
    DEBUG:  inserting column 4 value '0'
    DEBUG:  Typ != NULL
    DEBUG:   -> 0
    DEBUG:  inserted
    DEBUG:  inserting column 5 value '1247'
    DEBUG:  Typ != NULL
    DEBUG:   -> 1247
    DEBUG:  inserted
    DEBUG:  inserting column 6 value '0'
    DEBUG:  Typ != NULL
    DEBUG:   -> 0
    DEBUG:  inserted
    DEBUG:  inserting column 7 value '0'
    DEBUG:  Typ != NULL
    ERROR:  Bad float4 input format -- underflow
    DEBUG:  proc_exit(1)
    DEBUG:  shmem_exit(1)
    DEBUG:  exit(1)
    
    initdb failed.
    Removing /usr/local/pgdatatest.
    <<< end of debug.
    
    
    Here's the standard information:
    I'm using Debian GNU-Linux for PPC on an iMac. 7.2 builds and
    initdb's ok.
    
    
    Nic
    
    
    
  2. Re: 7.3B2 initdb fails

    Tom Lane <tgl@sss.pgh.pa.us> — 2002-10-04T17:54:30Z

    Nic Ferrier <nferrier@tapsellferrier.co.uk> writes:
    > DEBUG:  inserting column 7 value '0'
    > DEBUG:  Typ != NULL
    > ERROR:  Bad float4 input format -- underflow
    
    Hm.  This is evidently failing this test:
    
    static void
    CheckFloat4Val(double val)
    {
    	if (fabs(val) > FLOAT4_MAX)
    		elog(ERROR, "Bad float4 input format -- overflow");
    	if (val != 0.0 && fabs(val) < FLOAT4_MIN)
    		elog(ERROR, "Bad float4 input format -- underflow");
    }
    
    which is a tad surprising for an input of '0'.  I think perhaps you
    have a compiler bug there.  Want to put a breakpoint at CheckFloat4Val
    and see what's being passed in?
    
    > I'm using Debian GNU-Linux for PPC on an iMac. 7.2 builds and
    > initdb's ok.
    
    FWIW, I've built recent sources on a PowerBook without problems,
    under both LinuxPPC and OS X.
    
    			regards, tom lane