On Thu, 4 Dec 2008, Heikki Linnakangas wrote:

Date: Thu, 04 Dec 2008 13:19:15 +0200
From: Heikki Linnakangas <[EMAIL PROTECTED]>
To: [EMAIL PROTECTED]
Cc: Zdenek Kotala <[EMAIL PROTECTED]>,
    pgsql-hackers list <pgsql-hackers@postgresql.org>
Subject: Re: [HACKERS] cvs head initdb hangs on unixware

[EMAIL PROTECTED] wrote:
On Wed, 3 Dec 2008, Heikki Linnakangas wrote:
Could you zip up the FSM file of that relation (a file called e.g "789_fsm"), and send it over? Or the whole data directory, it shouldn't be that big.

you get both.

Thanks. Hmm, the FSM pages are full of zeros, as I would expect for a just-created relation. fsm_search_avail should've returned quickly at the top of the function in that case. Can you put a extra printf or something at the top of the function, to print all the arguments? And the value of fsmpage->fp_nodes[0].

BTW, this is an optimizer problem, not anything wrong with the code, but I'd hate to have a -g compiled postmaster in prod :)

Yes, so it seems, although I wouldn't be surprised if it turns out to be a bug in the new FSM code either..
As you can see in attached initdb.log, it seems fsm_search_avail is called repeatedly and args are sort of looping...





--
Olivier PRENANT                 Tel: +33-5-61-50-97-00 (Work)
15, Chemin des Monges                +33-5-61-50-97-01 (Fax)
31190 AUTERIVE                       +33-6-07-63-80-64 (GSM)
FRANCE                          Email: [EMAIL PROTECTED]
------------------------------------------------------------------------------
Make your life a dream, make your dream a reality. (St Exupery)
Running in noclean mode.  Mistakes will not be cleaned up.
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.

The database cluster will be initialized with locale C.
The default database encoding has accordingly been set to SQL_ASCII.
The default text search configuration will be set to "english".

creating directory /home/postgres/pgsql/src/test/regress/./tmp_check/data ... ok
creating subdirectories ... ok
selecting default max_connections ... 100
selecting default shared_buffers ... 32MB
creating configuration files ... ok
creating template1 database in 
/home/postgres/pgsql/src/test/regress/./tmp_check/data/base/1 ... entering 
fsm_search_avail, minvalue = 6, advancenext = t, exclusive_lock_held 
=t,fsmpage->fp_nodes[0] = 4 
entering fsm_search_avail, minvalue = 6, advancenext = f, exclusive_lock_held 
=f,fsmpage->fp_nodes[0] = 0 
entering fsm_search_avail, minvalue = 6, advancenext = f, exclusive_lock_held 
=f,fsmpage->fp_nodes[0] = 0 
entering fsm_search_avail, minvalue = 6, advancenext = t, exclusive_lock_held 
=t,fsmpage->fp_nodes[0] = 4 
entering fsm_search_avail, minvalue = 6, advancenext = f, exclusive_lock_held 
=f,fsmpage->fp_nodes[0] = 0 
entering fsm_search_avail, minvalue = 6, advancenext = t, exclusive_lock_held 
=t,fsmpage->fp_nodes[0] = 4 
entering fsm_search_avail, minvalue = 6, advancenext = f, exclusive_lock_held 
=f,fsmpage->fp_nodes[0] = 0 
entering fsm_search_avail, minvalue = 6, advancenext = t, exclusive_lock_held 
=t,fsmpage->fp_nodes[0] = 4 
entering fsm_search_avail, minvalue = 6, advancenext = f, exclusive_lock_held 
=f,fsmpage->fp_nodes[0] = 0 
entering fsm_search_avail, minvalue = 6, advancenext = t, exclusive_lock_held 
=t,fsmpage->fp_nodes[0] = 4 
entering fsm_search_avail, minvalue = 6, advancenext = f, exclusive_lock_held 
=f,fsmpage->fp_nodes[0] = 0 
entering fsm_search_avail, minvalue = 6, advancenext = t, exclusive_lock_held 
=t,fsmpage->fp_nodes[0] = 4 
entering fsm_search_avail, minvalue = 6, advancenext = f, exclusive_lock_held 
=f,fsmpage->fp_nodes[0] = 0 
entering fsm_search_avail, minvalue = 6, advancenext = t, exclusive_lock_held 
=t,fsmpage->fp_nodes[0] = 4 
entering fsm_search_avail, minvalue = 6, advancenext = f, exclusive_lock_held 
=f,fsmpage->fp_nodes[0] = 0 
entering fsm_search_avail, minvalue = 6, advancenext = t, exclusive_lock_held 
=t,fsmpage->fp_nodes[0] = 4 
entering fsm_search_avail, minvalue = 6, advancenext = f, exclusive_lock_held 
=f,fsmpage->fp_nodes[0] = 0 
entering fsm_search_avail, minvalue = 6, advancenext = t, exclusive_lock_held 
=t,fsmpage->fp_nodes[0] = 4 
entering fsm_search_avail, minvalue = 6, advancenext = f, exclusive_lock_held 
=f,fsmpage->fp_nodes[0] = 0 
entering fsm_search_avail, minvalue = 6, advancenext = t, exclusive_lock_held 
=t,fsmpage->fp_nodes[0] = 4 
entering fsm_search_avail, minvalue = 6, advancenext = f, exclusive_lock_held 
=f,fsmpage->fp_nodes[0] = 0 
entering fsm_search_avail, minvalue = 6, advancenext = t, exclusive_lock_held 
=t,fsmpage->fp_nodes[0] = 4 
entering fsm_search_avail, minvalue = 6, advancenext = f, exclusive_lock_held 
=f,fsmpage->fp_nodes[0] = 0 
entering fsm_search_avail, minvalue = 6, advancenext = t, exclusive_lock_held 
=t,fsmpage->fp_nodes[0] = 4 
entering fsm_search_avail, minvalue = 6, advancenext = f, exclusive_lock_held 
=f,fsmpage->fp_nodes[0] = 0 
entering fsm_search_avail, minvalue = 6, advancenext = t, exclusive_lock_held 
=t,fsmpage->fp_nodes[0] = 4 
entering fsm_search_avail, minvalue = 6, advancenext = f, exclusive_lock_held 
=f,fsmpage->fp_nodes[0] = 0 
entering fsm_search_avail, minvalue = 6, advancenext = t, exclusive_lock_held 
=t,fsmpage->fp_nodes[0] = 4 
entering fsm_search_avail, minvalue = 6, advancenext = f, exclusive_lock_held 
=f,fsmpage->fp_nodes[0] = 0 
entering fsm_search_avail, minvalue = 6, advancenext = t, exclusive_lock_held 
=t,fsmpage->fp_nodes[0] = 5 
entering fsm_search_avail, minvalue = 6, advancenext = f, exclusive_lock_held 
=f,fsmpage->fp_nodes[0] = 0 
entering fsm_search_avail, minvalue = 6, advancenext = t, exclusive_lock_held 
=t,fsmpage->fp_nodes[0] = 5 
entering fsm_search_avail, minvalue = 6, advancenext = f, exclusive_lock_held 
=f,fsmpage->fp_nodes[0] = 0 
entering fsm_search_avail, minvalue = 8, advancenext = t, exclusive_lock_held 
=t,fsmpage->fp_nodes[0] = 5 
entering fsm_search_avail, minvalue = 8, advancenext = f, exclusive_lock_held 
=f,fsmpage->fp_nodes[0] = 0 
entering fsm_search_avail, minvalue = 6, advancenext = t, exclusive_lock_held 
=t,fsmpage->fp_nodes[0] = 5 
entering fsm_search_avail, minvalue = 6, advancenext = f, exclusive_lock_held 
=f,fsmpage->fp_nodes[0] = 0 
entering fsm_search_avail, minvalue = 6, advancenext = t, exclusive_lock_held 
=t,fsmpage->fp_nodes[0] = 5 
entering fsm_search_avail, minvalue = 6, advancenext = f, exclusive_lock_held 
=f,fsmpage->fp_nodes[0] = 0 
entering fsm_search_avail, minvalue = 7, advancenext = t, exclusive_lock_held 
=t,fsmpage->fp_nodes[0] = 5 
entering fsm_search_avail, minvalue = 7, advancenext = f, exclusive_lock_held 
=f,fsmpage->fp_nodes[0] = 0 
entering fsm_search_avail, minvalue = 6, advancenext = t, exclusive_lock_held 
=t,fsmpage->fp_nodes[0] = 5 
entering fsm_search_avail, minvalue = 6, advancenext = f, exclusive_lock_held 
=f,fsmpage->fp_nodes[0] = 0 
entering fsm_search_avail, minvalue = 6, advancenext = t, exclusive_lock_held 
=t,fsmpage->fp_nodes[0] = 5 
entering fsm_search_avail, minvalue = 6, advancenext = f, exclusive_lock_held 
=f,fsmpage->fp_nodes[0] = 0 
entering fsm_search_avail, minvalue = 6, advancenext = t, exclusive_lock_held 
=t,fsmpage->fp_nodes[0] = 5 
entering fsm_search_avail, minvalue = 6, advancenext = f, exclusive_lock_held 
=f,fsmpage->fp_nodes[0] = 0 
entering fsm_search_avail, minvalue = 6, advancenext = t, exclusive_lock_held 
=t,fsmpage->fp_nodes[0] = 5 
entering fsm_search_avail, minvalue = 6, advancenext = f, exclusive_lock_held 
=f,fsmpage->fp_nodes[0] = 0 
entering fsm_search_avail, minvalue = 6, advancenext = t, exclusive_lock_held 
=t,fsmpage->fp_nodes[0] = 5 
entering fsm_search_avail, minvalue = 6, advancenext = f, exclusive_lock_held 
=f,fsmpage->fp_nodes[0] = 0 
entering fsm_search_avail, minvalue = 6, advancenext = t, exclusive_lock_held 
=t,fsmpage->fp_nodes[0] = 5 
entering fsm_search_avail, minvalue = 6, advancenext = f, exclusive_lock_held 
=f,fsmpage->fp_nodes[0] = 0 
entering fsm_search_avail, minvalue = 6, advancenext = t, exclusive_lock_held 
=t,fsmpage->fp_nodes[0] = 5 
entering fsm_search_avail, minvalue = 6, advancenext = f, exclusive_lock_held 
=f,fsmpage->fp_nodes[0] = 0 
entering fsm_search_avail, minvalue = 6, advancenext = t, exclusive_lock_held 
=t,fsmpage->fp_nodes[0] = 5 
entering fsm_search_avail, minvalue = 6, advancenext = f, exclusive_lock_held 
=f,fsmpage->fp_nodes[0] = 0 
entering fsm_search_avail, minvalue = 6, advancenext = t, exclusive_lock_held 
=t,fsmpage->fp_nodes[0] = 5 
entering fsm_search_avail, minvalue = 6, advancenext = f, exclusive_lock_held 
=f,fsmpage->fp_nodes[0] = 0 
entering fsm_search_avail, minvalue = 6, advancenext = t, exclusive_lock_held 
=t,fsmpage->fp_nodes[0] = 5 
entering fsm_search_avail, minvalue = 6, advancenext = f, exclusive_lock_held 
=f,fsmpage->fp_nodes[0] = 0 
entering fsm_search_avail, minvalue = 7, advancenext = t, exclusive_lock_held 
=t,fsmpage->fp_nodes[0] = 5 
entering fsm_search_avail, minvalue = 7, advancenext = f, exclusive_lock_held 
=f,fsmpage->fp_nodes[0] = 0 
entering fsm_search_avail, minvalue = 6, advancenext = t, exclusive_lock_held 
=t,fsmpage->fp_nodes[0] = 5 
entering fsm_search_avail, minvalue = 6, advancenext = f, exclusive_lock_held 
=f,fsmpage->fp_nodes[0] = 0 
entering fsm_search_avail, minvalue = 6, advancenext = t, exclusive_lock_held 
=t,fsmpage->fp_nodes[0] = 5 
entering fsm_search_avail, minvalue = 6, advancenext = f, exclusive_lock_held 
=f,fsmpage->fp_nodes[0] = 0 
entering fsm_search_avail, minvalue = 6, advancenext = t, exclusive_lock_held 
=t,fsmpage->fp_nodes[0] = 5 
entering fsm_search_avail, minvalue = 6, advancenext = f, exclusive_lock_held 
=f,fsmpage->fp_nodes[0] = 0 
entering fsm_search_avail, minvalue = 6, advancenext = t, exclusive_lock_held 
=t,fsmpage->fp_nodes[0] = 5 
entering fsm_search_avail, minvalue = 6, advancenext = f, exclusive_lock_held 
=f,fsmpage->fp_nodes[0] = 0 
entering fsm_search_avail, minvalue = 7, advancenext = t, exclusive_lock_held 
=t,fsmpage->fp_nodes[0] = 5 
entering fsm_search_avail, minvalue = 7, advancenext = f, exclusive_lock_held 
=f,fsmpage->fp_nodes[0] = 0 
entering fsm_search_avail, minvalue = 6, advancenext = t, exclusive_lock_held 
=t,fsmpage->fp_nodes[0] = 5 
entering fsm_search_avail, minvalue = 6, advancenext = f, exclusive_lock_held 
=f,fsmpage->fp_nodes[0] = 0 
entering fsm_search_avail, minvalue = 6, advancenext = t, exclusive_lock_held 
=t,fsmpage->fp_nodes[0] = 5 
entering fsm_search_avail, minvalue = 6, advancenext = f, exclusive_lock_held 
=f,fsmpage->fp_nodes[0] = 0 
entering fsm_search_avail, minvalue = 6, advancenext = t, exclusive_lock_held 
=t,fsmpage->fp_nodes[0] = 5 
entering fsm_search_avail, minvalue = 6, advancenext = f, exclusive_lock_held 
=f,fsmpage->fp_nodes[0] = 0 
entering fsm_search_avail, minvalue = 6, advancenext = t, exclusive_lock_held 
=t,fsmpage->fp_nodes[0] = 5 
entering fsm_search_avail, minvalue = 6, advancenext = f, exclusive_lock_held 
=f,fsmpage->fp_nodes[0] = 0 
entering fsm_search_avail, minvalue = 6, advancenext = t, exclusive_lock_held 
=t,fsmpage->fp_nodes[0] = 5 
entering fsm_search_avail, minvalue = 6, advancenext = f, exclusive_lock_held 
=f,fsmpage->fp_nodes[0] = 0 
entering fsm_search_avail, minvalue = 6, advancenext = t, exclusive_lock_held 
=t,fsmpage->fp_nodes[0] = 5 
entering fsm_search_avail, minvalue = 6, advancenext = f, exclusive_lock_held 
=f,fsmpage->fp_nodes[0] = 0 
entering fsm_search_avail, minvalue = 9, advancenext = t, exclusive_lock_held 
=t,fsmpage->fp_nodes[0] = 5 
entering fsm_search_avail, minvalue = 9, advancenext = f, exclusive_lock_held 
=f,fsmpage->fp_nodes[0] = 0 
entering fsm_search_avail, minvalue = 6, advancenext = t, exclusive_lock_held 
=t,fsmpage->fp_nodes[0] = 5 
entering fsm_search_avail, minvalue = 6, advancenext = f, exclusive_lock_held 
=f,fsmpage->fp_nodes[0] = 0 
entering fsm_search_avail, minvalue = 6, advancenext = t, exclusive_lock_held 
=t,fsmpage->fp_nodes[0] = 5 
entering fsm_search_avail, minvalue = 6, advancenext = f, exclusive_lock_held 
=f,fsmpage->fp_nodes[0] = 0 
entering fsm_search_avail, minvalue = 10, advancenext = t, exclusive_lock_held 
=t,fsmpage->fp_nodes[0] = 7 
entering fsm_search_avail, minvalue = 10, advancenext = f, exclusive_lock_held 
=f,fsmpage->fp_nodes[0] = 0 
entering fsm_search_avail, minvalue = 6, advancenext = t, exclusive_lock_held 
=t,fsmpage->fp_nodes[0] = 7 
Killed
child process exited with exit code 137
initdb: data directory "/home/postgres/pgsql/src/test/regress/./tmp_check/data" 
not removed at user's request
-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to