main.bigint/rpl.rpl_stm_user_variables fail on Ubuntu 15.10 Wily in release mode

Bug #1578625 reported by Yura Sorokin on 2016-05-05
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
MySQL Server
Unknown
Unknown
Percona Server moved to https://jira.percona.com/projects/PS
Status tracked in 5.7
5.5
Fix Released
High
Yura Sorokin
5.6
Invalid
Undecided
Yura Sorokin
5.7
Invalid
Undecided
Yura Sorokin

Bug Description

main.bigint and rpl.rpl_stm_user_variables fail in MySQL Server 5.5.49 on Ubuntu 15.10 (Wily) (both 32- and 64-bit) in release mode.

The problem seems to appear when GCC >= 5.0 is used for release builds.

Related 5.6 bug:
https://bugs.mysql.com/bug.php?id=76654

CURRENT_TEST: main.bigint
--- /home/yura/ws/mysql-server/mysql-test/r/bigint.result 2016-05-02 20:34:52.661957288 +0300
+++ /home/yura/ws/mysql-server/mysql-test/r/bigint.reject 2016-05-03 16:12:08.203767711 +0300
@@ -385,15 +385,15 @@
 -9223372036854775808
 select -(-(9223372036854775808));
 Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def -(-(9223372036854775808)) 246 21 19 N 32897 063
+def -(-(9223372036854775808)) 246 21 9 N 32897 063
 -(-(9223372036854775808))
-9223372036854775808
+854775808
 select --9223372036854775808, ---9223372036854775808, ----9223372036854775808;
 --9223372036854775808 ---9223372036854775808 ----9223372036854775808
-9223372036854775808 -9223372036854775808 9223372036854775808
+854775808 -854775808 854775808
 select -(-9223372036854775808), -(-(-9223372036854775808));
 -(-9223372036854775808) -(-(-9223372036854775808))
-9223372036854775808 -9223372036854775808
+854775808 -854775808
 create table t1 select -9223372036854775808 bi;
 describe t1;
 Field Type Null Key Default Extra

mysqltest: Result content mismatch

CURRENT_TEST: rpl.rpl_stm_user_variables
--- /home/yura/ws/mysql-server/mysql-test/suite/rpl/r/rpl_stm_user_variables.result 2016-05-02 20:34:53.509861681 +0300
+++ /home/yura/ws/mysql-server/mysql-test/suite/rpl/r/rpl_stm_user_variables.reject 2016-05-03 16:32:33.026299276 +0300
@@ -127,7 +127,7 @@
 double -9.223372036854776e18
 float -9.22337e18
 real -9223372036854776000.00
-decimal -9223372036854775808.00
+decimal -854775808.00
 #### [ on slave ]
 SELECT * FROM t1;
 tinyint -128
@@ -143,7 +143,7 @@
 double -9.223372036854776e18
 float -9.22337e18
 real -9223372036854776000.00
-decimal -9223372036854775808.00
+decimal -854775808.00
 #########################################
 ## assertion: master and slave tables are in sync
 include/diff_tables.inc [master:t1,slave:t1]
@@ -179,7 +179,7 @@
 double -9.223372036854776e18
 float -9.22337e18
 real -9223372036854776000.00
-decimal -9223372036854775808.00
+decimal -854775808.00
 #### [ on slave ]
 SELECT * FROM t1;
 tinyint -128
@@ -195,7 +195,7 @@
 double -9.223372036854776e18
 float -9.22337e18
 real -9223372036854776000.00
-decimal -9223372036854775808.00
+decimal -854775808.00
 #########################################
 ## assertion: master and slave tables are in sync
 include/diff_tables.inc [master:t1,slave:t1]

mysqltest: Result content mismatch

To reproduce:
cmake \
 ../mysql-server \
 -DCMAKE_BUILD_TYPE=RelWithDebInfo \
 -DBUILD_CONFIG=mysql_release \
 -DFEATURE_SET=community \
 -DWITH_EMBEDDED_SERVER=OFF \
 -DENABLE_DTRACE=OFF \
 -DWITH_EXAMPLE_STORAGE_ENGINE=ON \
 -DWITH_SSL=system
make -j4

./mysql-test/mtr main.bigint
./mysql-test/mtr rpl.rpl_stm_user_variables

Yura Sorokin (yura-sorokin) wrote :

To resolve the problem, backport the fix from 5.6

commit 49329220ea0f40e42344cef39b0d9b72bd5f557f
Author: Tor Didriksen <email address hidden>
Date: Wed Apr 8 16:53:55 2015 +0200

    Bug#20768820 MAIN.BIGINT TEST FAILS WHEN BUILT WITH GCC 5 IN RELEASE BUILD

    Problem: with gcc5 in optmized mode, (- LLONG_MIN ) yields integer overflow.
    Fix: In ull2dec() change the loop which counts the number of decimal_digit_t's
    (cherry picked from commit b37d8bcc24f82f8e15c5f6e2243c8937af74acb7)

Percona now uses JIRA for bug reports so this bug report is migrated to: https://jira.percona.com/browse/PS-3427

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.