Обсуждение: 7.3B2 initdb fails

Поиск
Список
Период
Сортировка

7.3B2 initdb fails

От
Nic Ferrier
Дата:
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

Re: 7.3B2 initdb fails

От
Tom Lane
Дата:
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