| 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
