Thread: Postgres 8.1.4 sanity_check failed on SuSE 8.2
Hello, while the regression tests, there is one that fails: *** ./expected/sanity_check.out Thu Sep 8 20:07:42 2005 --- ./results/sanity_check.out Tue Sep 5 10:27:53 2006 *************** *** 17,22 **** --- 17,24 ---- circle_tbl | t fast_emp4000 | t func_index_heap | t + gcircle_tbl | t + gpolygon_tbl | t hash_f8_heap | t hash_i4_heap | t hash_name_heap | t I have found out, that someone else had this problem, but I have found no solution: http://archives.postgresql.org/pgsql-general/2006-05/msg01003.php On the compiling machine, I have (a clean) SuSE 8.2 running, the filesystem is a xfs file system. The last version, Postgres8.1.3, compiled nicely some time ago. Any ideas how I can fix this? Best regards, Johannes Weberhofer -- |--------------------------------- | weberhofer GmbH | Johannes Weberhofer | information technologies, Austria | | phone : +43 (0)1 5454421 0 | email: office@weberhofer.at | fax : +43 (0)1 5454421 19 | web : http://weberhofer.at | mobile: +43 (0)699 11998315 |----------------------------------------------------------->>
"Johannes Weberhofer, Weberhofer GmbH" <office@weberhofer.at> writes: > while the regression tests, there is one that fails: Repeatably, or did you only see this once? There's a known timing issue that explains this, but it's only been seen once or twice that I know of. 2006-08-06 00:35 tgl * src/test/regress/: expected/sanity_check.out, sql/sanity_check.sql: Tweak sanity_check regression test to display more tables (viz, those without indexes) but not to display temp tables. It's a bit hard to credit that sanity_check could get through a database-wide VACUUM while the preceding create_index test is still trying to clean up its temp tables ... but I see no other explanation for the current failure report from buildfarm member sponge. The report alluded to is http://www.pgbuildfarm.org/cgi-bin/show_log.pl?nm=sponge&dt=2006-08-05%2021:30:02 regards, tom lane
Re: Postgres 8.1.4 sanity_check failed on SuSE 8.2
From
"Johannes Weberhofer, Weberhofer GmbH"
Date:
Tom, thank you! from cvs I copied the latest "strategy" to make the sanity checks and removed those values which were added afterversion 8.1.4. Using that patch, I can compile postgres without any problems. This version runs nicely on several servers. Best regards, Johannes Johannes Weberhofer, Weberhofer GmbH schrieb: > I have tried it several times, but no success. I didn't have this issue > with older postgres versions on the same machine/system. > > Best regards, > Johannes Weberhofer > > Tom Lane schrieb: >> "Johannes Weberhofer, Weberhofer GmbH" <office@weberhofer.at> writes: >>> while the regression tests, there is one that fails: >> >> Repeatably, or did you only see this once? There's a known timing issue >> that explains this, but it's only been seen once or twice that I know of. >> >> 2006-08-06 00:35 tgl >> >> * src/test/regress/: expected/sanity_check.out, >> sql/sanity_check.sql: Tweak sanity_check regression test to display >> more tables (viz, those without indexes) but not to display temp >> tables. It's a bit hard to credit that sanity_check could get >> through a database-wide VACUUM while the preceding create_index >> test is still trying to clean up its temp tables ... but I see no >> other explanation for the current failure report from buildfarm >> member sponge. >> >> The report alluded to is >> http://www.pgbuildfarm.org/cgi-bin/show_log.pl?nm=sponge&dt=2006-08-05%2021:30:02 >> >> >> regards, tom lane > -- |--------------------------------- | weberhofer GmbH | Johannes Weberhofer | information technologies, Austria | | phone : +43 (0)1 5454421 0 | email: office@weberhofer.at | fax : +43 (0)1 5454421 19 | web : http://weberhofer.at | mobile: +43 (0)699 11998315 |----------------------------------------------------------->> --- src/test/regress/sql/sanity_check.sql 2003-05-28 18:04:02.000000000 +0200 +++ src/test/regress/sql/sanity_check.sql 2006-09-18 10:11:01.000000000 +0200 @@ -4,10 +4,13 @@ -- sanity check, if we don't have indices the test will take years to -- complete. But skip TOAST relations since they will have varying -- names depending on the current OID counter. +-- complete. But skip TOAST relations (since they will have varying +-- names depending on the current OID counter) as well as temp tables +-- of other backends (to avoid timing-dependent behavior). -- SELECT relname, relhasindex - FROM pg_class - WHERE relhasindex AND relkind != 't' + FROM pg_class c LEFT JOIN pg_namespace n ON n.oid = relnamespace + WHERE relkind = 'r' AND (nspname ~ '^pg_temp_') IS NOT TRUE ORDER BY relname; -- --- src/test/regress/expected/sanity_check.out 2005-09-08 22:07:42.000000000 +0200 +++ src/test/regress/expected/sanity_check.out 2006-09-18 11:09:47.000000000 +0200 @@ -3,72 +3,142 @@ -- sanity check, if we don't have indices the test will take years to -- complete. But skip TOAST relations since they will have varying -- names depending on the current OID counter. +-- complete. But skip TOAST relations (since they will have varying +-- names depending on the current OID counter) as well as temp tables +-- of other backends (to avoid timing-dependent behavior). -- SELECT relname, relhasindex - FROM pg_class - WHERE relhasindex AND relkind != 't' + FROM pg_class c LEFT JOIN pg_namespace n ON n.oid = relnamespace + WHERE relkind = 'r' AND (nspname ~ '^pg_temp_') IS NOT TRUE ORDER BY relname; - relname | relhasindex ----------------------+------------- - bt_f8_heap | t - bt_i4_heap | t - bt_name_heap | t - bt_txt_heap | t - circle_tbl | t - fast_emp4000 | t - func_index_heap | t - hash_f8_heap | t - hash_i4_heap | t - hash_name_heap | t - hash_txt_heap | t - ihighway | t - num_exp_add | t - num_exp_div | t - num_exp_ln | t - num_exp_log10 | t - num_exp_mul | t - num_exp_power_10_ln | t - num_exp_sqrt | t - num_exp_sub | t - onek | t - onek2 | t - pg_aggregate | t - pg_am | t - pg_amop | t - pg_amproc | t - pg_attrdef | t - pg_attribute | t - pg_auth_members | t - pg_authid | t - pg_autovacuum | t - pg_cast | t - pg_class | t - pg_constraint | t - pg_conversion | t - pg_database | t - pg_depend | t - pg_description | t - pg_index | t - pg_inherits | t - pg_language | t - pg_largeobject | t - pg_namespace | t - pg_opclass | t - pg_operator | t - pg_pltemplate | t - pg_proc | t - pg_rewrite | t - pg_shdepend | t - pg_statistic | t - pg_tablespace | t - pg_trigger | t - pg_type | t - polygon_tbl | t - road | t - shighway | t - tenk1 | t - tenk2 | t -(58 rows) + relname | relhasindex +-------------------------+------------- + a | f + a_star | f + abstime_tbl | f + aggtest | f + b | f + b_star | f + box_tbl | f + bprime | f + bt_f8_heap | t + bt_i4_heap | t + bt_name_heap | t + bt_txt_heap | t + c | f + c_star | f + char_tbl | f + check2_tbl | f + check_tbl | f + circle_tbl | t + city | f + copy_tbl | f + d | f + d_star | f + date_tbl | f + default_tbl | f + defaultexpr_tbl | f + dept | f + e_star | f + emp | f + equipment_r | f + f_star | f + fast_emp4000 | t + float4_tbl | f + float8_tbl | f + func_index_heap | t + hash_f8_heap | t + hash_i4_heap | t + hash_name_heap | t + hash_txt_heap | t + hobbies_r | f + ihighway | t + inet_tbl | f + inhe | f + inhf | f + inhx | f + insert_tbl | f + int2_tbl | f + int4_tbl | f + int8_tbl | f + interval_tbl | f + iportaltest | f + log_table | f + lseg_tbl | f + main_table | f + num_data | f + num_exp_add | t + num_exp_div | t + num_exp_ln | t + num_exp_log10 | t + num_exp_mul | t + num_exp_power_10_ln | t + num_exp_sqrt | t + num_exp_sub | t + num_input_test | f + num_result | f + onek | t + onek2 | t + path_tbl | f + person | f + pg_aggregate | t + pg_am | t + pg_amop | t + pg_amproc | t + pg_attrdef | t + pg_attribute | t + pg_auth_members | t + pg_authid | t + pg_autovacuum | t + pg_cast | t + pg_class | t + pg_constraint | t + pg_conversion | t + pg_database | t + pg_depend | t + pg_description | t + pg_index | t + pg_inherits | t + pg_language | t + pg_largeobject | t + pg_listener | f + pg_namespace | t + pg_opclass | t + pg_operator | t + pg_pltemplate | t + pg_proc | t + pg_rewrite | t + pg_shdepend | t + pg_statistic | t + pg_tablespace | t + pg_trigger | t + pg_type | t + point_tbl | f + polygon_tbl | t + ramp | f + real_city | f + reltime_tbl | f + road | t + shighway | t + slow_emp4000 | f + sql_features | f + sql_implementation_info | f + sql_languages | f + sql_packages | f + sql_sizing | f + sql_sizing_profiles | f + stud_emp | f + student | f + tenk1 | t + tenk2 | t + text_tbl | f + time_tbl | f + timestamp_tbl | f + timestamptz_tbl | f + timetz_tbl | f + tinterval_tbl | f + varchar_tbl | f +(125 rows) -- -- another sanity check: every system catalog that has OIDs should have