Bug #16287 '(int) i8_data == rc' failure in mysql_client_test

Submitted: 8 Jan 2006 20:16 Modified: 13 Jan 2006 21:16
Reporter: Christian Carey Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server Severity:S3 (Non-critical)
Version:5.0.18 OS:Linux (SuSE Linux 10.0)
Assigned to: CPU Architecture:Any

[8 Jan 2006 20:16] Christian Carey
Description:
I've compiled MySQL 5.0.18 on SuSE Linux 10.0, using the distribution's gcc [4.0.2 20050901 (prerelease)] and a self-compiled OpenSSL 0.9.8a [the distribution comes with 0.9.7g]. When running mysql-test-run [using the distribution's Perl 5.8.7, self-installing DBI 1.50 and DBD::mysql 3.0002], the mysql_client_test test reports a failure in this manner:

Errors are (from /usr/local/mysql/mysql-test/var/log/mysqltest-time) :
mysql_client_test.c:3869: check failed: '(int) i8_data == rc'
mysqltest: At line 10: command "$MYSQL_CLIENT_TEST --getopt-ll-test=25600M" failed
(the last lines may be the most important ones)

The two error lines above were the only contents of the mysqltest-time file. Note that this test also failed individually when mysql-test-run was run with the --local mysql_client_test option. Both var/log/mysqltest.trace and var/log/mysql_client_test.trace files are available, which were created by using both the --debug and the --local mysql_client_test options.

Given that the failure was with checking the value of a bound and fetched tiny integer (I presume that the int8 type is a signed char), perhaps one of the possible causes could be that it's some sort of bug (e.g. a casting bug) with this particular version of gcc?

How to repeat:
Install SuSE Linux 10.0. Download/install all security patches/bug fixes from suse.com using its yast2 utility. Download OpenSSL 0.9.8a, and compile it like this:

./config --prefix='/usr/local' --openssldir='/usr/local/openssl'\
 no-sse2 threads shared zlib-dynamic no-rc5 no-mdc2 no-idea\
 `perl -e 'use Config; print $Config{"ccflags"}'`\
 `perl -e 'use Config; print $Config{"optimize"}'`
make depend
make
make test
make install

After its installation, update both the ${HOME}/.profile file and the shell's current environment to include /usr/local/lib in the LD_LIBRARY_PATH environment variable. Follow the instructions in MySQL 5.0.18's INSTALL-SOURCE file, but using this configure command line:

CFLAGS='-O3 -mpentiumpro' CXX='gcc'\
 CXXFLAGS='-O3 -mpentiumpro -felide-constructors -fno-exceptions -fno-rtti'\
 ./configure --prefix='/usr/local/mysql' --enable-assembler --with-debug\
 --with-charset='utf8' --with-extra-charsets='all'\
 --with-collation='utf8_unicode_ci' --with-big-tables\
 --with-openssl='/usr/local' --enable-thread-safe-client

Start mysql_safe according to INSTALL-SOURCE, and run mysql-test-run, with or without the --local mysql_client_test option, with or without the --debug option.
[8 Jan 2006 20:22] Christian Carey
This is a compressed var/log/mysql_client_trace file for bug #16287.

Attachment: mysql_client_test.trace.gz (application/x-gzip, text), 28.03 KiB.

[9 Jan 2006 9:03] Hartmut Holzgraefe
works fine for me using gcc 4.0.2 (release version) and openssl 0.9.8a 
(both self compiled on Suse 9.3)
[13 Jan 2006 21:16] Christian Carey
I had no success with using a self-compiled gcc 4.0.2. After reverting to a self-compiled gcc 3.4.5, the MySQL test suite passes with no problems.

Portions of this website are copyright © 2001, 2002 The PHP Group

Page generated in 0.040 sec. using MySQL 8.4.7-u6-cloud

Timestamp references displayed by the system are UTC.
Content reproduced on this site is the property of the respective copyright holders.
It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.