Re: cvs head initdb hangs on unixware

ohp@pyrenet.fr

From: ohp@pyrenet.fr
To: Zdenek Kotala <Zdenek.Kotala@Sun.COM>
Cc: pgsql-hackers list <pgsql-hackers@postgresql.org>
Date: 2008-12-02T17:32:49Z
Lists: pgsql-hackers
On Tue, 2 Dec 2008, Zdenek Kotala wrote:

> Date: Tue, 02 Dec 2008 17:22:25 +0100
> From: Zdenek Kotala <Zdenek.Kotala@Sun.COM>
> To: ohp@pyrenet.fr
> Cc: pgsql-hackers list <pgsql-hackers@postgresql.org>
> Subject: Re: [HACKERS] cvs head initdb hangs on unixware
> 
> Could you generate a core and send a stacktrace?
>
> kill SIGABRT <pid> should do that.
>
> 	Zdenek
Zdenek,

On second thought,  I tried and got that:
Suivi de pile correspondant à p1, Programme postmaster
*[0] fsm_rebuild_page( présumé: 0xbd9731a0, 0, 0xbd9731a0) 
[0x81e6a97]
  [1] fsm_search_avail( présumé: 0x2, 0x6, 0x1)  [0x81e68d9]
  [2] fsm_set_and_search(0x84b2250, 0, 0, 0x2e, 0x5, 0x6, 0x2e, 0x8047416, 
0xb4) [0x81e6385]
  [3] RecordAndGetPageWithFreeSpace(0x84b2250, 0x2e, 0xa0, 0xb4) 
[0x81e5a00]
  [4] RelationGetBufferForTuple( présumé: 0x84b2250, 0xb4, 0) 
[0x8099b59]
  [5] heap_insert(0x84b2250, 0x853a338, 0, 0, 0) [0x8097042]
  [6] simple_heap_insert( présumé: 0x84b2250, 0x853a338, 0x853a310) 
[0x8097297]
  [7] InsertOneTuple( présumé: 0xb80, 0x84057b0, 0x8452fb8) 
[0x80cb210]
  [8] boot_yyparse( présumé: 0xffffffff, 0x3, 0x8047ab8) [0x80c822b]
  [9] BootstrapModeMain( présumé: 0x66, 0x8454600, 0x4)  [0x80ca233]
  [10] AuxiliaryProcessMain(0x4, 0x8047ab4)      [0x80cab3b]
  [11] main(0x4, 0x8047ab4, 0x8047ac8)   [0x8177dce]
  [12] _start()  [0x807ff96]

seems interesting!

We've had problems already with unixware optimizer, hope this one is 
fixable!

regards
>
> ohp@pyrenet.fr napsal(a):
>> Hi all,
>> 
>> cvs head configured without --enable-debug hang in initdb while making 
>> check.
>> 
>> warthog doesn't exhibit it because it's configured with debug.
>> 
>> when it hangs, postmaster takes 100% cpu doing nothing. initdb waits for it 
>> while creating template db.
>> 
>> According to truss, the last usefull thing postmaster does is writing 8K 
>> zeroes to disk.
>> 
>> If someone needs an access to a unixware machine, let me know.
>> 
>> regards,
>> 
>
>

-- 
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: ohp@pyrenet.fr
------------------------------------------------------------------------------
Make your life a dream, make your dream a reality. (St Exupery)
>From pgsql-hackers-owner@postgresql.org  Tue Dec  2 13:46:51 2008
Received: from localhost (unknown [200.46.204.183])
	by mail.postgresql.org (Postfix) with ESMTP id ED83C64FE0F
	for <pgsql-hackers-postgresql.org@mail.postgresql.org>; Tue,  2 Dec 2008 13:46:50 -0400 (AST)
Received: from mail.postgresql.org ([200.46.204.86])
 by localhost (mx1.hub.org [200.46.204.183]) (amavisd-maia, port 10024)
 with ESMTP id 83332-01
 for <pgsql-hackers-postgresql.org@mail.postgresql.org>;
 Tue,  2 Dec 2008 13:46:48 -0400 (AST)
X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6
Received: from rv-out-0506.google.com (rv-out-0506.google.com [209.85.198.233])
	by mail.postgresql.org (Postfix) with ESMTP id 0557464FD9F
	for <pgsql-hackers@postgresql.org>; Tue,  2 Dec 2008 13:46:47 -0400 (AST)
Received: by rv-out-0506.google.com with SMTP id b25so2998730rvf.43
        for <pgsql-hackers@postgresql.org>; Tue, 02 Dec 2008 09:46:46 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=gamma;
        h=domainkey-signature:received:received:message-id:date:from:to
         :subject:cc:in-reply-to:mime-version:content-type
         :content-transfer-encoding:content-disposition:references;
        bh=aKIdYuz7B/SybfXN4yCNWHRV9RMbF3h1248u3XyI3cg=;
        b=nzKv5HinM1zE5rJCm0fWGnb/OtP25JOLx7HcHoehFO5j5VNgyjuEXEcfwbQoQQNBBQ
         fLZmY0jUzjAT+YH4C+j0nN23kbCsiEgLWFqu+LTnTUgSTfNQwdA4QjM5cvRwC/tQnWdG
         VchslhVbBRHXzQ3uBB/qjDO3Vn3jGT9nD+muA=
DomainKey-Signature: a=rsa-sha1; c=nofws;
        d=gmail.com; s=gamma;
        h=message-id:date:from:to:subject:cc:in-reply-to:mime-version
         :content-type:content-transfer-encoding:content-disposition
         :references;
        b=IxCKiF6Y4QgkUmSn1EAHTJibriYXjrGEpTFqWn8fWDgWVKMB8dazpIZYd5kH8/1BiF
         c3+TGGrAHRTmzFow7DKTDxPMQDtVKbOkMOmnhWUO0rlq56a5rsWS03hqcbffz8OGdr7E
         emB+yILNyH4LXHGseQUyW/IYSClgk+CE0jFHM=
Received: by 10.141.212.5 with SMTP id o5mr5852879rvq.247.1228240006866;
        Tue, 02 Dec 2008 09:46:46 -0800 (PST)
Received: by 10.141.189.10 with HTTP; Tue, 2 Dec 2008 09:46:46 -0800 (PST)
Message-ID: <e08cc0400812020946i7c4c2afxf24a45e5a37c153@mail.gmail.com>
Date: Wed, 3 Dec 2008 02:46:46 +0900
From: "Hitoshi Harada" <umi.tanuki@gmail.com>
To: "Heikki Linnakangas" <heikki.linnakangas@enterprisedb.com>
Subject: Re: Windowing Function Patch Review -> Standard Conformance
Cc: "David Rowley" <dgrowley@gmail.com>, pgsql-hackers@postgresql.org
In-Reply-To: <492D3356.2070705@enterprisedb.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
References: <9E276C7F44A4410D969D25BEDDC2E7FE@amd64>
	 <e08cc0400811232348v1ad4d192tf4c9967705bca5fe@mail.gmail.com>
	 <492A8E4B.4050409@enterprisedb.com>
	 <e08cc0400811240541p296f051v9f3298b821e23e0@mail.gmail.com>
	 <492AEBB8.8030609@enterprisedb.com>
	 <e08cc0400811242046v4b368eebx3a18995e92e3538@mail.gmail.com>
	 <e08cc0400811252203o46e2e859y29104c6732394395@mail.gmail.com>
	 <492D3356.2070705@enterprisedb.com>
X-Virus-Scanned: Maia Mailguard 1.0.1
X-Spam-Status: No, hits=0 tagged_above=0 required=5 tests=none
X-Spam-Level: 
X-Archive-Number: 200812/85
X-Sequence-Number: 128714

2008/11/26 Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>:
> Hitoshi Harada wrote:
>>
>> I read more, and your spooling approach seems flexible for both now
>> and the furture. Looking at only current release, the frame with ORDER
>> BY is done by detecting peers in WinFrameGetArg() and add row number
>> of peers to winobj->currentpos. Actually if we have capability to
>> spool all rows we need on demand, the frame would be only a boundary
>> problem.
>
> Yeah, we could do that. I'm afraid it would be pretty slow, though, if
> there's a lot of peers. That could probably be alleviated with some sort of
> caching, though.

I added code for this issue. See
http://git.postgresql.org/?p=~davidfetter/window_functions/.git;a=blobdiff;f=src/backend/executor/nodeWindow.c;h=f2144bf73a94829cd7a306c28064fa5454f8d369;hp=50a6d6ca4a26cd4854c445364395ed183b61f831;hb=895f1e615352dfc733643a701d1da3de7f91344b;hpb=843e34f341f0e824fd2cc0f909079ad943e3815b

This process is very similar to your aggregatedupto in window
aggregate, so they might be shared as general "the way to detect frame
boundary", aren't they?

I am randomly trying some issues instead of agg common code (which I
now doubt if it's worth sharing the code), so tell me if you're
restarting your hack again. I'll send the whole patch.


Regards,



-- 
Hitoshi Harada