Re: Problem with PostgreSQL 9.2.7 and make check on AIX 7.1

From: Rainer Tammer <pgsql(at)spg(dot)schulergroup(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-bugs(at)postgresql(dot)org, cbbrowne(at)gmail(dot)com
Subject: Re: Problem with PostgreSQL 9.2.7 and make check on AIX 7.1
Date: 2014-03-12 07:13:59
Message-ID: 53200937.90909@spg.schulergroup.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Hello,
I am currently checking the hang problem with IBM.

The have found some other test failures on AXI 7.1 TL2:
They do not see the hang on TL2 but instead they see the
following test errors. I do not see these errors in AIX 6.1 TL8
or AIX 7.1 TL3 (with prepared_xacts and plpgsql removed).

Any ideas? I have attached the diff file for better readability.

*** /stuff/postgresql-9.2.7/src/test/regress/expected/inherit.out Mon
Feb 17 13:38:15 2014
--- /stuff/postgresql-9.2.7/src/test/regress/results/inherit.out Tue
Mar 11 16:55:26 2014
***************
*** 576,592 ****
from
( select f1 from foo union all select f1+3 from foo ) ss
where bar.f1 = ss.f1;
select tableoid::regclass::text as relname, bar.* from bar order by 1,2;
relname | f1 | f2
---------+----+-----
! bar | 1 | 201
! bar | 2 | 202
! bar | 3 | 203
! bar | 4 | 104
! bar2 | 1 | 201
! bar2 | 2 | 202
! bar2 | 3 | 203
! bar2 | 4 | 104
(8 rows)

/* Test multiple inheritance of column defaults */
--- 576,593 ----
from
( select f1 from foo union all select f1+3 from foo ) ss
where bar.f1 = ss.f1;
+ ERROR: rel 5 already exists
select tableoid::regclass::text as relname, bar.* from bar order by 1,2;
relname | f1 | f2
---------+----+-----
! bar | 1 | 101
! bar | 2 | 102
! bar | 3 | 103
! bar | 4 | 4
! bar2 | 1 | 101
! bar2 | 2 | 102
! bar2 | 3 | 103
! bar2 | 4 | 4
(8 rows)

/* Test multiple inheritance of column defaults */
***************
*** 1391,1427 ****
(SELECT unique1 AS x FROM tenk1 a
UNION ALL
SELECT unique2 AS x FROM tenk1 b) s;
! QUERY PLAN
! --------------------------------------------------------------------
! Result
! InitPlan 1 (returns $0)
! -> Limit
! -> Merge Append
! Sort Key: a.unique1
! -> Index Only Scan using tenk1_unique1 on tenk1 a
! Index Cond: (unique1 IS NOT NULL)
! -> Index Only Scan using tenk1_unique2 on tenk1 b
! Index Cond: (unique2 IS NOT NULL)
! (9 rows)
!
explain (costs off)
SELECT min(y) FROM
(SELECT unique1 AS x, unique1 AS y FROM tenk1 a
UNION ALL
SELECT unique2 AS x, unique2 AS y FROM tenk1 b) s;
! QUERY PLAN
! --------------------------------------------------------------------
! Result
! InitPlan 1 (returns $0)
! -> Limit
! -> Merge Append
! Sort Key: a.unique1
! -> Index Only Scan using tenk1_unique1 on tenk1 a
! Index Cond: (unique1 IS NOT NULL)
! -> Index Only Scan using tenk1_unique2 on tenk1 b
! Index Cond: (unique2 IS NOT NULL)
! (9 rows)
!
-- XXX planner doesn't recognize that index on unique2 is sufficiently
sorted
explain (costs off)
SELECT x, y FROM
--- 1392,1404 ----
(SELECT unique1 AS x FROM tenk1 a
UNION ALL
SELECT unique2 AS x FROM tenk1 b) s;
! ERROR: rel 4 already exists
explain (costs off)
SELECT min(y) FROM
(SELECT unique1 AS x, unique1 AS y FROM tenk1 a
UNION ALL
SELECT unique2 AS x, unique2 AS y FROM tenk1 b) s;
! ERROR: rel 4 already exists
-- XXX planner doesn't recognize that index on unique2 is sufficiently
sorted
explain (costs off)
SELECT x, y FROM
***************
*** 1429,1445 ****
UNION ALL
SELECT unique2 AS x, unique2 AS y FROM tenk1 b) s
ORDER BY x, y;
! QUERY PLAN
! -------------------------------------------------------------------
! Result
! -> Merge Append
! Sort Key: a.thousand, a.tenthous
! -> Index Only Scan using tenk1_thous_tenthous on tenk1 a
! -> Sort
! Sort Key: b.unique2, b.unique2
! -> Index Only Scan using tenk1_unique2 on tenk1 b
! (7 rows)
!
reset enable_seqscan;
reset enable_indexscan;
reset enable_bitmapscan;
--- 1406,1412 ----
UNION ALL
SELECT unique2 AS x, unique2 AS y FROM tenk1 b) s
ORDER BY x, y;
! ERROR: rel 4 already exists
reset enable_seqscan;
reset enable_indexscan;
reset enable_bitmapscan;

======================================================================

*** /stuff/postgresql-9.2.7/src/test/regress/expected/union.out Mon
Feb 17 13:38:15 2014
--- /stuff/postgresql-9.2.7/src/test/regress/results/union.out Tue
Mar 11 16:55:32 2014
***************
*** 474,489 ****
UNION ALL
SELECT * FROM t2) t
WHERE ab = 'ab';
! QUERY PLAN
! ---------------------------------------------------
! Result
! -> Append
! -> Index Scan using t1_ab_idx on t1
! Index Cond: ((a || b) = 'ab'::text)
! -> Index Only Scan using t2_pkey on t2
! Index Cond: (ab = 'ab'::text)
! (6 rows)
!
explain (costs off)
SELECT * FROM
(SELECT a || b AS ab FROM t1
--- 474,480 ----
UNION ALL
SELECT * FROM t2) t
WHERE ab = 'ab';
! ERROR: rel 4 already exists
explain (costs off)
SELECT * FROM
(SELECT a || b AS ab FROM t1
***************
*** 510,522 ****
UNION ALL
SELECT 2 AS t, * FROM tenk1 b) c
WHERE t = 2;
! QUERY PLAN
! ---------------------------------
! Result
! -> Append
! -> Seq Scan on tenk1 b
! (3 rows)
!
-- Test that we push quals into UNION sub-selects only when it's safe
explain (costs off)
SELECT * FROM
--- 501,507 ----
UNION ALL
SELECT 2 AS t, * FROM tenk1 b) c
WHERE t = 2;
! ERROR: rel 4 already exists
-- Test that we push quals into UNION sub-selects only when it's safe
explain (costs off)
SELECT * FROM
***************
*** 617,641 ****
select * from
(select * from t3 a union all select * from t3 b) ss
join int4_tbl on f1 = expensivefunc(x);
! QUERY PLAN
! ------------------------------------------------------------
! Nested Loop
! -> Seq Scan on int4_tbl
! -> Append
! -> Index Scan using t3i on t3 a
! Index Cond: (expensivefunc(x) = int4_tbl.f1)
! -> Index Scan using t3i on t3 b
! Index Cond: (expensivefunc(x) = int4_tbl.f1)
! (7 rows)
!
select * from
(select * from t3 a union all select * from t3 b) ss
join int4_tbl on f1 = expensivefunc(x);
! x | f1
! ---+----
! 0 | 0
! 0 | 0
! (2 rows)
!
drop table t3;
drop function expensivefunc(int);
--- 602,611 ----
select * from
(select * from t3 a union all select * from t3 b) ss
join int4_tbl on f1 = expensivefunc(x);
! ERROR: rel 6 already exists
select * from
(select * from t3 a union all select * from t3 b) ss
join int4_tbl on f1 = expensivefunc(x);
! ERROR: rel 6 already exists
drop table t3;
drop function expensivefunc(int);

======================================================================

***
/stuff/postgresql-9.2.7/src/test/regress/expected/security_label.out
Tue Mar 11 16:53:52 2014
---
/stuff/postgresql-9.2.7/src/test/regress/results/security_label.out
Tue Mar 11 16:55:37 2014
***************
*** 92,110 ****
SECURITY LABEL ON SCHEMA seclabel_test IS 'unclassified'; -- OK
SELECT objtype, objname, provider, label FROM pg_seclabels
ORDER BY objtype, objname;
! objtype | objname | provider | label
! ----------+-----------------+----------+--------------
! column | seclabel_tbl1.a | dummy | unclassified
! domain | seclabel_domain | dummy | classified
! function | seclabel_four() | dummy | classified
! role | seclabel_user1 | dummy | classified
! role | seclabel_user2 | dummy | unclassified
! schema | seclabel_test | dummy | unclassified
! table | seclabel_tbl1 | dummy | top secret
! table | seclabel_tbl2 | dummy | classified
! view | seclabel_view1 | dummy | classified
! (9 rows)
!
-- clean up objects
DROP FUNCTION seclabel_four();
DROP DOMAIN seclabel_domain;
--- 92,98 ----
SECURITY LABEL ON SCHEMA seclabel_test IS 'unclassified'; -- OK
SELECT objtype, objname, provider, label FROM pg_seclabels
ORDER BY objtype, objname;
! ERROR: rel 16 already exists
-- clean up objects
DROP FUNCTION seclabel_four();
DROP DOMAIN seclabel_domain;
***************
*** 117,123 ****
-- make sure we don't have any leftovers
SELECT objtype, objname, provider, label FROM pg_seclabels
ORDER BY objtype, objname;
! objtype | objname | provider | label
! ---------+---------+----------+-------
! (0 rows)
!
--- 105,108 ----
-- make sure we don't have any leftovers
SELECT objtype, objname, provider, label FROM pg_seclabels
ORDER BY objtype, objname;
! ERROR: rel 16 already exists

======================================================================

***
/stuff/postgresql-9.2.7/src/test/regress/expected/foreign_data.out
Mon Feb 17 13:38:15 2014
--- /stuff/postgresql-9.2.7/src/test/regress/results/foreign_data.out
Tue Mar 11 16:55:46 2014
***************
*** 900,922 ****
(7 rows)

SELECT * FROM information_schema.usage_privileges WHERE object_type
LIKE 'FOREIGN%' AND object_name IN ('s6', 'foo') ORDER BY 1, 2, 3, 4, 5;
! grantor | grantee | object_catalog |
object_schema | object_name | object_type | privilege_type |
is_grantable
!
-------------------+-----------------------+----------------+---------------+-------------+----------------------+----------------+--------------
! foreign_data_user | foreign_data_user | regression
| | foo | FOREIGN DATA WRAPPER | USAGE | YES
! foreign_data_user | foreign_data_user | regression
| | s6 | FOREIGN SERVER | USAGE | YES
! foreign_data_user | regress_test_indirect | regression
| | foo | FOREIGN DATA WRAPPER | USAGE | NO
! foreign_data_user | regress_test_role2 | regression
| | s6 | FOREIGN SERVER | USAGE | YES
! (4 rows)
!
SELECT * FROM information_schema.role_usage_grants WHERE object_type
LIKE 'FOREIGN%' AND object_name IN ('s6', 'foo') ORDER BY 1, 2, 3, 4, 5;
! grantor | grantee | object_catalog |
object_schema | object_name | object_type | privilege_type |
is_grantable
!
-------------------+-----------------------+----------------+---------------+-------------+----------------------+----------------+--------------
! foreign_data_user | foreign_data_user | regression
| | foo | FOREIGN DATA WRAPPER | USAGE | YES
! foreign_data_user | foreign_data_user | regression
| | s6 | FOREIGN SERVER | USAGE | YES
! foreign_data_user | regress_test_indirect | regression
| | foo | FOREIGN DATA WRAPPER | USAGE | NO
! foreign_data_user | regress_test_role2 | regression
| | s6 | FOREIGN SERVER | USAGE | YES
! (4 rows)
!
SELECT * FROM information_schema.foreign_tables ORDER BY 1, 2, 3;
foreign_table_catalog | foreign_table_schema | foreign_table_name |
foreign_server_catalog | foreign_server_name

-----------------------+----------------------+--------------------+------------------------+---------------------
--- 900,908 ----
(7 rows)

SELECT * FROM information_schema.usage_privileges WHERE object_type
LIKE 'FOREIGN%' AND object_name IN ('s6', 'foo') ORDER BY 1, 2, 3, 4, 5;
! ERROR: could not open relation with OID 0
SELECT * FROM information_schema.role_usage_grants WHERE object_type
LIKE 'FOREIGN%' AND object_name IN ('s6', 'foo') ORDER BY 1, 2, 3, 4, 5;
! ERROR: could not open relation with OID 0
SELECT * FROM information_schema.foreign_tables ORDER BY 1, 2, 3;
foreign_table_catalog | foreign_table_schema | foreign_table_name |
foreign_server_catalog | foreign_server_name

-----------------------+----------------------+--------------------+------------------------+---------------------
***************
*** 943,961 ****
(5 rows)

SELECT * FROM information_schema.usage_privileges WHERE object_type
LIKE 'FOREIGN%' AND object_name IN ('s6', 'foo') ORDER BY 1, 2, 3, 4, 5;
! grantor | grantee | object_catalog |
object_schema | object_name | object_type | privilege_type |
is_grantable
!
-------------------+-----------------------+----------------+---------------+-------------+----------------------+----------------+--------------
! foreign_data_user | regress_test_indirect | regression
| | foo | FOREIGN DATA WRAPPER | USAGE | NO
! foreign_data_user | regress_test_role2 | regression
| | s6 | FOREIGN SERVER | USAGE | YES
! (2 rows)
!
SELECT * FROM information_schema.role_usage_grants WHERE object_type
LIKE 'FOREIGN%' AND object_name IN ('s6', 'foo') ORDER BY 1, 2, 3, 4, 5;
! grantor | grantee | object_catalog |
object_schema | object_name | object_type | privilege_type |
is_grantable
!
-------------------+-----------------------+----------------+---------------+-------------+----------------------+----------------+--------------
! foreign_data_user | regress_test_indirect | regression
| | foo | FOREIGN DATA WRAPPER | USAGE | NO
! foreign_data_user | regress_test_role2 | regression
| | s6 | FOREIGN SERVER | USAGE | YES
! (2 rows)
!
DROP USER MAPPING FOR current_user SERVER t1;
SET ROLE regress_test_role2;
SELECT * FROM information_schema.user_mapping_options ORDER BY 1, 2, 3, 4;
--- 929,937 ----
(5 rows)

SELECT * FROM information_schema.usage_privileges WHERE object_type
LIKE 'FOREIGN%' AND object_name IN ('s6', 'foo') ORDER BY 1, 2, 3, 4, 5;
! ERROR: rel 11 already exists
SELECT * FROM information_schema.role_usage_grants WHERE object_type
LIKE 'FOREIGN%' AND object_name IN ('s6', 'foo') ORDER BY 1, 2, 3, 4, 5;
! ERROR: rel 14 already exists
DROP USER MAPPING FOR current_user SERVER t1;
SET ROLE regress_test_role2;
SELECT * FROM information_schema.user_mapping_options ORDER BY 1, 2, 3, 4;

======================================================================

*** /stuff/postgresql-9.2.7/src/test/regress/expected/window.out Mon
Feb 17 13:38:15 2014
--- /stuff/postgresql-9.2.7/src/test/regress/results/window.out Tue
Mar 11 16:55:44 2014
***************
*** 957,966 ****

-- with UNION
SELECT count(*) OVER (PARTITION BY four) FROM (SELECT * FROM tenk1
UNION ALL SELECT * FROM tenk2)s LIMIT 0;
! count
! -------
! (0 rows)
!
-- ordering by a non-integer constant is allowed
SELECT rank() OVER (ORDER BY length('abc'));
rank
--- 957,963 ----

-- with UNION
SELECT count(*) OVER (PARTITION BY four) FROM (SELECT * FROM tenk1
UNION ALL SELECT * FROM tenk2)s LIMIT 0;
! ERROR: rel 4 already exists
-- ordering by a non-integer constant is allowed
SELECT rank() OVER (ORDER BY length('abc'));
rank

======================================================================

*** /stuff/postgresql-9.2.7/src/test/regress/expected/with.out Mon
Feb 17 13:38:15 2014
--- /stuff/postgresql-9.2.7/src/test/regress/results/with.out Tue Mar
11 16:55:57 2014
***************
*** 384,396 ****
(SELECT 2 AS i UNION ALL SELECT 3 AS i) AS t2
JOIN t ON (t2.i = t.i+1))
SELECT * FROM t;
! i | j
! ---+---
! 1 | 2
! 2 | 3
! 3 | 4
! (3 rows)
!
--
-- different tree example
--
--- 384,390 ----
(SELECT 2 AS i UNION ALL SELECT 3 AS i) AS t2
JOIN t ON (t2.i = t.i+1))
SELECT * FROM t;
! ERROR: rel 6 already exists
--
-- different tree example
--

======================================================================

Bye
Rainer

On 04.03.2014 17:21, Rainer Tammer wrote:
> Hello,
> the problem has reached the development support at IBM.
>
> As soon as I have a solution for the problem I will setup a build farm
> member (hopefully).
>
> I can probably smoke HEAD on AIX 7.1 and 6.1.
>
> Bye
> Rainer
>
> On 27.02.2014 08:21, Rainer Tammer wrote:
>> Hello,
>> I have checked this:
>>
>> >From prepared_xacts:
>>
>> LOG: Send kill to PID: 11731118
>> LOG: Retrun value of kill PID: ret= 0
>>
>> From: plpgsql
>>
>> LOG: Send kill to PID: 11731120
>> LOG: Retrun value of kill PID: ret= 0
>>
>> A kill -2 on the shell does not stop the backend process.
>> A kill -15 does stop the backend process.
>>
>> So the kill does not return a failure.
>>
>> The code in /src/backend/storage/lmgr/proc.c - CheckStatementTimeout()
>> of 8.4.20
>> does not look much different. The code in pqsignal.c is also the not
>> really different.
>>
>> Bye
>> Rainer
>>
>> On 26.02.2014 18:00, Tom Lane wrote:
>>> Rainer Tammer <pgsql(at)spg(dot)schulergroup(dot)com> writes:
>>>> So we can be pretty sure that the SIGINT does not interrupt semop() on
>>>> AIX 71.
>>> Looks that way :-(. It would be interesting to add a check to see if the
>>> kill() is returning a failure indication or not. The existing code
>>> doesn't bother because there's not really anything it can do about it,
>>> but for this purpose it would be good to know.
>>>
>>> regards, tom lane
>>>
>>>
>>
>
>

Attachment Content-Type Size
regression.diffs text/plain 15.3 KB

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Rainer Tammer 2014-03-12 08:06:16 Re: Problem with PostgreSQL 9.2.7 and make check on AIX 7.1
Previous Message Lekshmi Ts 2014-03-12 04:50:35 postgres 8.2.13 compatibility with RHEL 6.4