Re: Problem with PostgreSQL 9.2.7 and make check on AIX 7.1 - Mailing list pgsql-bugs
From | Rainer Tammer |
---|---|
Subject | Re: Problem with PostgreSQL 9.2.7 and make check on AIX 7.1 |
Date | |
Msg-id | 53200937.90909@spg.schulergroup.com Whole thread Raw |
In response to | Re: Problem with PostgreSQL 9.2.7 and make check on AIX 7.1 (Rainer Tammer <pgsql@spg.schulergroup.com>) |
Responses |
Re: Problem with PostgreSQL 9.2.7 and make check on AIX 7.1
|
List | 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@spg.schulergroup.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
pgsql-bugs by date: