Skip to content

Commit cf3c400

Browse files
committed
Bug #25083555 SOME TESTS FAIL WITH DEBUG SERVER ON SOLARIS WHEN BUILT WITH DEVELOPER STUDIO
When we do a release type build of the server (with both optimized and debug enabled server/plugins) with Developer Studio, some MTR tests when run with --debug-server will fail in one of two ways: 1. Tests which try to load a plugin into the mysql client fail with missing symbols. This is caused by the plugin having references to functions which do not exist in the non-debug client. 2. Some tests on sparc fail with Thread stack overrun. Fix for issue #1: mtr will have appended /debug to the plugin dir part when running with --debug-server and if there actually is such a directory. The fix is to remove any trailing /debug from the env. variable within the test. This will affect the client only, not the server. Developer builds will not have put the plugins in a subdirectory /debug so it makes no different to those. Fix for issue #2: apparently this thread stack overrun is not feasible to avoid, so just skip the test if running with debug server on sparc; there is already an include file to do that. Also added not_sparc_debug.inc to the "white list" so the tests are skipped even when running mtr --no-skip. (cherry picked from commit 9c79e477261ab252e38def436bca3336ef597603)
1 parent dcde034 commit cf3c400

14 files changed

+55
-0
lines changed

mysql-test/suite/connection_control/t/connection_delay_proxy_users.test

+6
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,12 @@
1515
--echo # Do proxy setup
1616
--source ../inc/setup_proxy_accounts.inc
1717

18+
# Official builds include separate debug enabled plugins to be used by
19+
# the debug enabled server. But the non-debug *client* should not use them.
20+
21+
let PLUGIN_AUTH_OPT=`SELECT TRIM(TRAILING '/debug' FROM '$PLUGIN_AUTH_OPT')`;
22+
let CONNECTION_CONTROL_PLUGIN_OPT=`SELECT TRIM(TRAILING '/debug' FROM '$CONNECTION_CONTROL_PLUGIN_OPT')`;
23+
1824
# Suppress error messages from test_plugin_server
1925
CALL mtr.add_suppression("Plugin test_plugin_server reported: 'Wrong password supplied for proxied'");
2026

mysql-test/suite/funcs_1/triggers/triggers_1011ext.inc

+3
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@
55
#======================================================================
66
# WL#4084: enable disabled parts, 2007-11-15, hhunger
77

8+
# Thread stack overrun in debug mode on sparc
9+
--source include/not_sparc_debug.inc
10+
811
USE test;
912
--source suite/funcs_1/include/tb3.inc
1013

mysql-test/suite/rpl/t/rpl_mix_found_rows.test

+2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
source include/master-slave.inc;
22
source include/have_binlog_format_mixed.inc;
3+
# Thread stack overrun in debug mode on sparc
4+
--source include/not_sparc_debug.inc
35

46
# It is not possible to replicate FOUND_ROWS() using statement-based
57
# replication, but there is a workaround that stores the result of

mysql-test/suite/rpl/t/rpl_switch_stm_row_mixed.test

+2
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@
1313
-- source include/not_group_replication_plugin.inc
1414
-- source include/not_gtid_enabled.inc
1515
-- source include/master-slave.inc
16+
# Thread stack overrun in debug mode on sparc
17+
--source include/not_sparc_debug.inc
1618

1719
# Since this test generates row-based events in the binary log, the
1820
# slave SQL thread cannot be in STATEMENT mode to execute this test,

mysql-test/suite/sysschema/t/pr_diagnostics.test

+3
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@
1010

1111
-- source include/not_embedded.inc
1212

13+
# Thread stack overrun in debug mode on sparc
14+
--source include/not_sparc_debug.inc
15+
1316
# Sanity check that the procedure completes two iterations with full debug,
1417
# raw output, and Information Schema table outputs without generating
1518
# any warnings.

mysql-test/suite/sysschema/t/pr_statement_performance_analyzer.test

+3
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@
1616
# Bug #23290879 - For reasons unknown to man this test fails randomly only on Windows
1717
-- source include/not_windows.inc
1818

19+
# Thread stack overrun in debug mode on sparc
20+
--source include/not_sparc_debug.inc
21+
1922
use test;
2023
--disable_warnings
2124
DROP TABLE IF EXISTS t1;

mysql-test/t/bug33509.test

+4
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22
# BUG#33509: Server crashes with number of recursive subqueries=61
33
# (the query may or may not fail with an error so we're using it with SP
44
#
5+
6+
# Thread stack overrun in debug mode on sparc
7+
--source include/not_sparc_debug.inc
8+
59
create table t1 (a int not null);
610

711
delimiter |;

mysql-test/t/grant_alter_user_qa.test

+5
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,11 @@
1919

2020
call mtr.add_suppression("\\[Warning\\] Server shutdown in progress");
2121

22+
# Official builds include separate debug enabled plugins to be used by
23+
# the debug enabled server. But the non-debug *client* should not use them.
24+
25+
let PLUGIN_AUTH_OPT=`SELECT TRIM(TRAILING '/debug' FROM '$PLUGIN_AUTH_OPT')`;
26+
2227
--echo # CREATE USER
2328
--echo
2429
CREATE USER user1;

mysql-test/t/mix2_myisam.test

+3
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@
66

77
--source include/have_myisam.inc
88

9+
# Thread stack overrun in debug mode on sparc
10+
--source include/not_sparc_debug.inc
11+
912
let $engine_type= MyISAM;
1013
let $other_engine_type= MEMORY;
1114
# There are unfortunately only MyISAM and MEMORY all time available

mysql-test/t/plugin_auth.test

+5
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,11 @@
33
--source include/mysql_upgrade_preparation.inc
44
CALL mtr.add_suppression("Plugin test_plugin_server reported: 'Wrong password supplied for plug_dest'");
55

6+
# Official builds include separate debug enabled plugins to be used by
7+
# the debug enabled server. But the non-debug *client* should not use them.
8+
9+
let PLUGIN_AUTH_OPT=`SELECT TRIM(TRAILING '/debug' FROM '$PLUGIN_AUTH_OPT')`;
10+
611
query_vertical SELECT PLUGIN_STATUS, PLUGIN_TYPE, PLUGIN_DESCRIPTION
712
FROM INFORMATION_SCHEMA.PLUGINS WHERE PLUGIN_NAME='test_plugin_server';
813

mysql-test/t/plugin_auth_qa_1.test

+5
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,11 @@
55
CALL mtr.add_suppression("Plugin test_plugin_server reported: 'Wrong password supplied for plug_dest'");
66
CALL mtr.add_suppression("The plugin 'new_plugin_server' used to authenticate user 'new_user'@'%' is not loaded. Nobody can currently login using this account.");
77

8+
# Official builds include separate debug enabled plugins to be used by
9+
# the debug enabled server. But the non-debug *client* should not use them.
10+
11+
let PLUGIN_AUTH_OPT=`SELECT TRIM(TRAILING '/debug' FROM '$PLUGIN_AUTH_OPT')`;
12+
813
CREATE DATABASE test_user_db;
914

1015
--source include/plugin_auth_check_non_default_users.inc

mysql-test/t/plugin_auth_qa_2.test

+5
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,11 @@
66
--source include/have_plugin_interface.inc
77
--source include/not_embedded.inc
88

9+
# Official builds include separate debug enabled plugins to be used by
10+
# the debug enabled server. But the non-debug *client* should not use them.
11+
12+
let PLUGIN_AUTH_OPT=`SELECT TRIM(TRAILING '/debug' FROM '$PLUGIN_AUTH_OPT')`;
13+
914
CREATE DATABASE test_user_db;
1015

1116
--echo ========== test 1.1.3.2 ====================================

mysql-test/t/plugin_auth_qa_3.test

+5
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,11 @@
66
--source include/have_plugin_server.inc
77
--source include/not_embedded.inc
88

9+
# Official builds include separate debug enabled plugins to be used by
10+
# the debug enabled server. But the non-debug *client* should not use them.
11+
12+
let PLUGIN_AUTH_OPT=`SELECT TRIM(TRAILING '/debug' FROM '$PLUGIN_AUTH_OPT')`;
13+
914
CREATE DATABASE test_user_db;
1015

1116
CREATE USER qa_test_11_user IDENTIFIED WITH qa_auth_server AS 'qa_test_11_dest';

mysql-test/t/sp-lock.test

+4
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22
# Metadata lock handling for stored procedures and
33
# functions.
44
#
5+
6+
# Thread stack overrun in debug mode on sparc
7+
--source include/not_sparc_debug.inc
8+
59
--echo #
610
--echo # Test coverage for changes performed by the fix
711
--echo # for Bug#30977 "Concurrent statement using stored function

0 commit comments

Comments
 (0)