Bug #33208 | main.mysqldump fails randomly | ||
---|---|---|---|
Submitted: | 13 Dec 2007 12:19 | Modified: | 11 Sep 2008 20:54 |
Reporter: | Hiroshi Kise | Email Updates: | |
Status: | Can't repeat | Impact on me: | |
Category: | Tests | Severity: | S3 (Non-critical) |
Version: | 5.0.51 | OS: | Any |
Assigned to: | Matthias Leich | CPU Architecture: | Any |
Tags: | pushbuild, sporadic, test failure |
[13 Dec 2007 12:19]
Hiroshi Kise
[14 Dec 2007 18:07]
Sveta Smirnova
Thank you for the report. I can not repeat described behavior. Please indicate accurate version of OS you use and provide your configure string.
[15 Dec 2007 6:40]
Hiroshi Kise
Conditions are both following (1) and (2). =========================================================== (1)On RHEL5.0 # uname -svriopm Linux 2.6.18-8.el5 #1 SMP Fri Jan 26 14:15:21 EST 2007 i686 i686 i386 GNU/Linux # gcc -v Using built-in specs. Target: i386-redhat-linux Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-libgcj-multifile --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --enable-plugin --with-java-home=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre --with-cpu=generic --host=i386-redhat-linux Thread model: posix gcc version 4.1.1 20070105 (Red Hat 4.1.1-52) CFLAGS="-O3 -DPIC -fPIC -DUNDEF_HAVE_INITGROUPS -fno-strict-aliasing" CXX=gcc CXXFLAGS="-O3 -fno-strict-aliasing -felide-constructors -fno-exceptions \ -fno-rtti -DPIC -fPIC -DUNDEF_HAVE_INITGROUPS" export CFLAGS CXX CXXFLAGS CONF_PARAM="--with-charset=utf8 --enable-assembler \ --with-mysqld-ldflags=-all-static --localstatedir=/data/mysql/data \ --without-readline" ./configure ${CONF_PARAM} --prefix=$TARGETDIR/mysql5051 \ --with-extra-charsets=all =========================================================== (2)On RHEL5.0 # uname -svriopm Linux 2.6.18-8.el5 #1 SMP Fri Jan 26 14:15:21 EST 2007 i686 i686 i386 GNU/Linux # gcc -v Using built-in specs. Target: i386-redhat-linux Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-libgcj-multifile --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --enable-plugin --with-java-home=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre --with-cpu=generic --host=i386-redhat-linux Thread model: posix gcc version 4.1.1 20070105 (Red Hat 4.1.1-52) CFLAGS='-g' CXX='gcc' CXXFLAGS='-g' export CFLAGS CXX CXXFLAGS CONF_PARAM=" \ '--enable-local-infile' \ '--enable-assembler' \ '--with-pic' \ '--with-fast-mutexes' \ '--with-client-ldflags=-static' \ '--with-mysqld-ldflags=-static' \ '--with-zlib-dir=bundled' \ '--with-big-tables' \ '--with-yassl' \ '--with-readline' \ '--with-archive-storage-engine' \ '--with-blackhole-storage-engine' \ '--with-ndbcluster' \ '--with-csv-storage-engine' \ '--with-example-storage-engine' \ '--with-federated-storage-engine' \ '--with-innodb' \ '--with-extra-charsets=all'" ./configure ${CONF_PARAM} --prefix=$TARGETDIR/mysql5051 ===========================================================
[2 Jul 2008 9:55]
Alexander Nozdrin
Symptoms: ------------------------------------------------------------------------ mysqldump: Couldn't find table: "non_existing" mysqldump: Got error: 1356: View 'test.v1' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them when using LOCK TABLES mysqldump: Couldn't execute 'SHOW FIELDS FROM `v1`': View 'test.v1' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them (1356) mysqldump: user2 has insufficent privileges to SHOW CREATE PROCEDURE `sp1`! --- /data0/pushbuild/pb/bzr_mysql-6.0-falcon/34/mysql-6.0.6-alpha-pb34/mysql-test/r/mysqldump.result 2008-07-01 19:20:50.000000000 +0300 +++ /data0/pushbuild/pb/bzr_mysql-6.0-falcon/34/mysql-6.0.6-alpha-pb34/mysql-test/r/mysqldump.reject 2008-07-01 20:46:50.000000000 +0300 @@ -13,12 +13,6 @@ <key Table="t1" Non_unique="1" Key_name="a" Seq_in_index="1" Column_name="a" Collation="A" Null="YES" Index_type="BTREE" Comment="" Index_Comment="" /> </table_structure> <table_data name="t1"> - <row> - <field name="a">1</field> - </row> - <row> - <field name="a">2</field> - </row> </table_data> </database> </mysqldump> @@ -35,7 +29,6 @@ `a` decimal(64,20) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1; SET character_set_client = @saved_cs_client; -INSERT INTO `t1` VALUES ('1234567890123456789012345678901234567890.00000000000000000000'),('987654321098765432109876543210987654321.00000000000000000000'); DROP TABLE t1; # # Bug #2055 ------------------------------------------------------------------------ https://intranet.mysql.com/secure/pushbuild/xref.pl?startdate=&enddate=&dir=&plat=&testtyp...
[11 Sep 2008 17:24]
Matthias Leich
The failure observed by Alexander Nozdrin - differs from the original bug report - is covered by Bug#37938 Test "mysqldump" lacks various INSERT statements / values If 1. the MyISAM feature "concurrent inserts" http://dev.mysql.com/doc/refman/6.0/en/concurrent-inserts.html is not switched off (startup default is ON) --> system variable CONCURRENT_INSERT 2. a session A inserts records into a table T 3. another session B runs a select on T just after the action of session A than it could happen that session B comes so early that it does not see all records inserted by session A.
[11 Sep 2008 19:24]
Matthias Leich
The first report contains the reason for the difference to the expected result: ------------------------------------------------------- Warning: World-writable config file '/tmp/MySQL/mysql-5.0.51/mysql-test/std_data/bug15328.cnf' is ignored Experiment within a 5.1 release compiled from source: ls -l std_data/bug15328.cnf --> -rw-r--r-- 1 mleich users 44 4. Sep 18:54 std_data/bug15328.cnf chmod a+w std_data/bug15328.cnf Run mysqldump.test: --> Warning: World-writable config file 'std_data/bug15328.cnf' is ignored between a lot of other messages and The line '--fields-optionally-enclosed-by="' is missing. This fits exact to the bug report and two of the mysqldump Pushbuild failures I found. I was unable to find any source tree on bk-internal.mysql.com with 'std_data/bug15328.cnf' World-writable. The last Pushbuild failure of this kind was 2008-06-09. Therefore I assume that the problem is fixed. Open questions: 1. Does any of our current downloadable binary packages contain World-writable files in std_data after standard installation? 2. Do we have any tools (not used for generation of downloadable binary packages) but somewhere described/recommended which generate packages?
[11 Sep 2008 20:17]
Matthias Leich
I generated and installed a release like described in the file INSTALL-SOURCE of a source tarball (mysql-5.0.67) and the permissions are cd /usr/local/mysql/mysql-test ls -ld std_data/bug15328.cnf -rw-r--r-- 1 root mysql 44 11. Sep 22:08 std_data/bug15328.cnf = not Worldwide writable
[11 Sep 2008 20:54]
Matthias Leich
Thank you for your bug report. I was unable to reproduce the problem with MySQL 5.0.67 compiled from source and installed into a separate place (/usr/local/mysql) following the instructions in the file INSTALL-SOURCE. Therefore I will set the bug to can't repeat. Please check if the problem happens again with a new version and inform us if the problem appears again. But I can confirm that we had around Dec. 2007 a phase of necessary massive changes of - data loading/exporting functionality and - storage places (std_data) for data read/written during execution of tests stored in mysql-test. So I am not surprised - but of course not happy - if some build type/script was in some small period of time not so thorough tested and became the "victim" of our own new security features. Best Regards Matthias