| Bug #42585 | main.join_cache fails on powermacg5 | ||
|---|---|---|---|
| Submitted: | 4 Feb 2009 8:37 | Modified: | 13 Nov 2010 16:42 |
| Reporter: | Georgi Kodinov | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Server: Tests | Severity: | S3 (Non-critical) |
| Version: | 6.0-bk | OS: | MacOS (PPC) |
| Assigned to: | Sergey Petrunya | CPU Architecture: | Any |
| Tags: | pushbuild, test failure | ||
[4 Feb 2009 8:43]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/65098 3011 Georgi Kodinov 2009-02-04 [merge] - disabled the failing test as per bug #42585 - updated the tree name in .bzr-mysql/default.conf modified: .bzr-mysql/default.conf mysql-test/t/disabled.def === modified file '.bzr-mysql/default.conf' --- a/.bzr-mysql/default.conf 2009-02-03 09:16:53 +0000 +++ b/.bzr-mysql/default.conf 2009-02-04 08:41:07 +0000 @@ -1,5 +1,5 @@ [MYSQL] -tree_location = bzr+ssh://bk-internal.mysql.com/bzrroot/server/mysql-6.0-bugteam +tree_location = bzr+ssh://bk-internal.mysql.com/bzrroot/server/mysql-6.0 post_commit_to = "commits@lists.mysql.com" post_push_to = "commits@lists.mysql.com" -tree_name = "mysql-6.0-bugteam" +tree_name = "mysql-6.0" === modified file 'mysql-test/t/disabled.def' --- a/mysql-test/t/disabled.def 2009-02-03 09:16:53 +0000 +++ b/mysql-test/t/disabled.def 2009-02-04 08:41:07 +0000 @@ -40,3 +40,4 @@ user_limits : Bug# query_cache_28249 : Bug#41098 Query Cache returns wrong result with concurrent insert innodb_bug39438 : BUG#42383 2009-01-28 lsoares "This fails in embedded and on windows. Note that this test is not run on windows and on embedded in PB for main trees currently" subselect3_jcl6 : BUG#42534 subselect3_jcl6 produces valgrind warnings with MTR2 (2008-02-02 spetrunia) +join_cache : Bug#42585 joro main.join_cache fails on powermacg5 -- MySQL Code Commits Mailing List For list archives: http://lists.mysql.com/commits To unsubscribe: http://lists.mysql.com/commits?unsub=commits@bugs.mysql.com
[4 Feb 2009 10:44]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/65114 3011 Konstantin Osipov 2009-02-04 - disabled the failing test as per bug #42585 - updated the tree name in .bzr-mysql/default.conf
[4 Feb 2009 11:16]
Bugs System
Pushed into 6.0.10-alpha (revid:kostja@sun.com-20090204104420-mw1i2u9lum4bxjo6) (version source revid:kostja@sun.com-20090204104420-mw1i2u9lum4bxjo6) (merge vers: 6.0.10-alpha) (pib:6)
[9 Feb 2009 14:51]
Matthias Leich
The expected/current result sets of the SELECT's differ only within the row order. And the SELECT's do not contain an ORDER BY or similar which would ensure a deterministic result set row order. I propose to add a --sorted_result just before the corresponding SELECT's and to generate new files with expected results.
[9 Feb 2009 15:08]
Sergey Petrunya
Matthias, the problem is that 1. the query plans are the same 2. join_cache doesn't contain any pointers or other data whose size depends on the platform. which means that the result should have the same order. I suspect that this difference, albeit innocent by itself, may be a manifestation of some real problem, and hence want to investigate this case (as it is convenient - small as easily repeatable)
[11 Feb 2009 23:55]
Sergey Petrunya
Ok the cause of the difference is because of this code:
void JOIN_CACHE::create_flag_fields()
{
CACHE_FIELD *copy;
JOIN_TAB *tab;
copy= field_descr;
length=0;
/* If there is a match flag the first field is always used for this flag */
if (with_match_flag)
length+= add_flag_field_to_join_cache((uchar*) &join_tab->found,
sizeof(join_tab->found),
©);
join_tab->found is defined as bool, on Linux/gcc-4.1.2 I get:
(gdb) p sizeof(join_tab->found)
$30 = 1
While on powermacg5 Darwin/gcc-3.3 one gets:
(gdb) p sizeof(join_tab->found)
$23 = 4
Hence join cache record can have different sizes on different platforms, therefore max. number of records in the buffer also varies, and BKA + FirstMatch/Outer join queries can produce results in different order.
[12 Feb 2009 0:02]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/65974 2693 Sergey Petrunia 2009-02-12 BUG#42585: main.join_cache fails on powermacg5 - Make testcase stable
[16 Feb 2009 18:08]
Bugs System
Pushed into 6.0.10-alpha (revid:alik@sun.com-20090216180446-dl1xovi02kbd2fgn) (version source revid:sergefp@mysql.com-20090212000209-lcqf38f0ppnzsycm) (merge vers: 6.0.10-alpha) (pib:6)
[17 Feb 2009 18:17]
Paul DuBois
Test case changes. No changelog entry needed.
[19 Feb 2009 10:51]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/66879 2719 Sergey Petrunia 2009-02-19 BUG#42585: main.join_cache fails on powermacg5 - Make testcase stable
[24 Feb 2009 9:50]
Bugs System
Pushed into 6.0.11-alpha (revid:alik@sun.com-20090224094729-h91safzz8jy66c22) (version source revid:sergefp@mysql.com-20090219105048-1psm2u2t0v7zmgcs) (merge vers: 6.0.10-alpha) (pib:6)
[16 Aug 2010 6:35]
Bugs System
Pushed into mysql-next-mr (revid:alik@sun.com-20100816062819-bluwgdq8q4xysmlg) (version source revid:alik@sun.com-20100816062612-enatdwnv809iw3s9) (pib:20)
[13 Nov 2010 16:06]
Bugs System
Pushed into mysql-trunk 5.6.99-m5 (revid:alexander.nozdrin@oracle.com-20101113155825-czmva9kg4n31anmu) (version source revid:vasil.dimov@oracle.com-20100629074804-359l9m9gniauxr94) (merge vers: 5.6.99-m4) (pib:21)

Description: join_cache fails on poerwmacg5 with the following error: main.join_cache [ fail ] Test ended at 2009-02-03 22:04:03 CURRENT_TEST: main.join_cache --- /Users/henry/pb/bzr_mysql-6.0-bugteam/479/mysql-6.0.10-alpha-pb479/mysql-test/r/join_cache.result Tue Feb 3 20:19:47 2009 +++ /Users/henry/pb/bzr_mysql-6.0-bugteam/479/mysql-6.0.10-alpha-pb479/mysql-test/r/join_cache.reject Wed Feb 4 00:04:03 2009 @@ -3679,12 +3679,12 @@ FROM (t1,t2) LEFT JOIN t3 ON (t1.a=t3.a AND t2.b=t3.b) WHERE t1.a=t2.a; a a a b b val -2 2 2 30 30 0 1 1 NULL 10 NULL NULL 1 1 NULL 20 NULL NULL 1 1 NULL 30 NULL NULL 1 1 NULL 40 NULL NULL 1 1 NULL 50 NULL NULL +2 2 2 30 30 0 2 2 2 40 40 0 2 2 2 50 50 0 2 2 2 60 60 0 @@ -3707,12 +3707,12 @@ 2 2 2 30 30 0 2 2 2 40 40 0 2 2 2 50 50 0 -2 2 2 60 60 0 1 1 NULL 10 NULL NULL 1 1 NULL 20 NULL NULL 1 1 NULL 30 NULL NULL 1 1 NULL 40 NULL NULL 1 1 NULL 50 NULL NULL +2 2 2 60 60 0 2 2 2 70 70 0 2 2 2 80 80 0 set join_buffer_size=default; mysqltest: Result content mismatch - saving '/Users/henry/pb/bzr_mysql-6.0-bugteam/479/mysql-6.0.10-alpha-pb479/mysql-test/var-n_mix-5/log/main.join_cache/' to '/Users/henry/pb/bzr_mysql-6.0-bugteam/479/mysql-6.0.10-alpha-pb479/mysql-test/var-n_mix-5/log/main.join_cache/' Retrying test, attempt(2/3)... main.join_cache [ fail ] Test ended at 2009-02-03 22:04:11 CURRENT_TEST: main.join_cache --- /Users/henry/pb/bzr_mysql-6.0-bugteam/479/mysql-6.0.10-alpha-pb479/mysql-test/r/join_cache.result Tue Feb 3 20:19:47 2009 +++ /Users/henry/pb/bzr_mysql-6.0-bugteam/479/mysql-6.0.10-alpha-pb479/mysql-test/r/join_cache.reject Wed Feb 4 00:04:10 2009 @@ -3679,12 +3679,12 @@ FROM (t1,t2) LEFT JOIN t3 ON (t1.a=t3.a AND t2.b=t3.b) WHERE t1.a=t2.a; a a a b b val -2 2 2 30 30 0 1 1 NULL 10 NULL NULL 1 1 NULL 20 NULL NULL 1 1 NULL 30 NULL NULL 1 1 NULL 40 NULL NULL 1 1 NULL 50 NULL NULL +2 2 2 30 30 0 2 2 2 40 40 0 2 2 2 50 50 0 2 2 2 60 60 0 @@ -3707,12 +3707,12 @@ 2 2 2 30 30 0 2 2 2 40 40 0 2 2 2 50 50 0 -2 2 2 60 60 0 1 1 NULL 10 NULL NULL 1 1 NULL 20 NULL NULL 1 1 NULL 30 NULL NULL 1 1 NULL 40 NULL NULL 1 1 NULL 50 NULL NULL +2 2 2 60 60 0 2 2 2 70 70 0 2 2 2 80 80 0 set join_buffer_size=default; mysqltest: Result content mismatch - saving '/Users/henry/pb/bzr_mysql-6.0-bugteam/479/mysql-6.0.10-alpha-pb479/mysql-test/var-n_mix-5/log/main.join_cache/' to '/Users/henry/pb/bzr_mysql-6.0-bugteam/479/mysql-6.0.10-alpha-pb479/mysql-test/var-n_mix-5/log/main.join_cache/' Test has failed 2 times, no more retries! How to repeat: Check the pb1 results