mysql-test crashed on maria.maria-recover with icc compiled binary

Bug #611586 reported by bash99@gmail.com
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
MariaDB
New
Undecided
Unassigned

Bug Description

Test fail with singnal 11, configure option is
./configure '--prefix=/usr/local/mysql' '--localstatedir=/usr/local/mysql/data' '--with-comment=(MariaDB - http://mariadb.com/)' '--with-system-type=Linux' '--with-machine-type=x86_64' '--disable-shared' '--without-embedded-server' '--without-bench' '--enable-assembler' '--enable-static' '--with-client-ldflags=-static' '--with-mysqld-ldflags=-static' '--enable-thread-safe-client' '--enable-local-infile' '--with-big-tables' '--without-docs' '--with-extra-charsets=complex' '--with-ssl' '--with-readline' '--with-libevent' '--with-zlib-dir=bundled' '--with-partition' '--with-plugins=max-no-ndb' '--with-plugin-maria' '--with-maria-tmp-tables' '--without-plugin-innodb' '--without-plugin-example' '--without-plugin-ibmdb2i' '--without-plugin-pbxt' 'CC=icc -static-intel -static-libgcc' 'CFLAGS=-O3 -unroll2 -ip -fp-model source -restrict' 'CXX=icpc -static-intel -static-libgcc' 'CXXFLAGS=-O3 -unroll2 -ip -fp-model source -restrict'

change -O3 to -O still fails

maria.maria-recover [ fail ]
        Test ended at 2010-07-30 15:28:04

CURRENT_TEST: maria.maria-recover
mysqltest: At line 63: query 'select * from t_corrupted2' failed: 2013: Lost connection to MySQL server during query

The result from queries just before the failure was:
< snip >
OFF
set global maria_recover=normal;
select @@global.maria_recover;
@@global.maria_recover
NORMAL
drop database if exists mysqltest;
create database mysqltest;
use mysqltest;
create table t1 (a varchar(1000), index(a)) engine=maria;
insert into t1 values("

Server [mysqld.1 - pid: 16160, winpid: 16160, exit: 256] failed during test run
Server log from this test:
100730 15:28:04 [Note] Plugin 'InnoDB' is disabled.
100730 15:28:04 [Warning] /usr/local/src/mariadb-5.1.47/sql/mysqld: unknown variable 'loose-debug-sync-timeout=300'
100730 15:28:04 [Note] Event Scheduler: Loaded 0 events
100730 15:28:04 [Note] /usr/local/src/mariadb-5.1.47/sql/mysqld: ready for connections.
Version: '5.1.47-MariaDB-log' socket: '/usr/local/src/mariadb-5.1.47/mysql-test/var/tmp/mysqld.1.sock' port: 13000 (MariaDB - http://mariadb.com/)
100730 15:28:04 [ERROR] mysqld: Table './mysqltest/t_corrupted2' is marked as crashed and should be repaired

 - saving '/usr/local/src/mariadb-5.1.47/mysql-test/var/log/maria.maria-recover/' to '/usr/local/src/mariadb-5.1.47/mysql-test/var/log/maria.maria-recover/'
 - found 'core.16164' (0/5)

Trying 'dbx' to get a backtrace

Trying 'gdb' to get a backtrace
Core generated by '/usr/local/src/mariadb-5.1.47/sql/mysqld'
Output from gdb follows. The first stack trace is from the failing thread.
The following stack traces are from all threads (so the failing one is
duplicated).
--------------------------
[New Thread 16167]
[New Thread 16166]
[New Thread 16164]
Core was generated by `/usr/local/src/mariadb-5.1.47/sql/mysqld --defaults-group-suffix=.1 --defaults-'.
Program terminated with signal 11, Segmentation fault.
#0 0x00000000008e0be3 in ha_maria::check_and_repair(THD*) ()
#0 0x00000000008e0be3 in ha_maria::check_and_repair(THD*) ()
#1 0x00000000007797e0 in handler::ha_check_and_repair(THD*) ()
#2 0x000000000068b19e in open_unireg_entry(THD*, st_table*, TABLE_LIST*, char const*, char*, unsigned int, st_mem_root*, unsigned int) ()
#3 0x000000000068a893 in open_table(THD*, TABLE_LIST*, st_mem_root*, bool*, unsigned int) ()
#4 0x000000000068cdb4 in open_tables(THD*, TABLE_LIST**, unsigned int*, unsigned int) ()
#5 0x000000000068bb15 in open_and_lock_tables_derived(THD*, TABLE_LIST*, bool) ()
#6 0x000000000064b0d8 in execute_sqlcom_select(THD*, TABLE_LIST*) ()
#7 0x00000000006451a5 in mysql_execute_command(THD*) ()
#8 0x000000000064b6eb in mysql_parse(THD*, char const*, unsigned int, char const**) ()
#9 0x000000000063fa83 in dispatch_command(enum_server_command, THD*, char*, unsigned int) ()
#10 0x000000000063e644 in do_command(THD*) ()
#11 0x00000000006390ba in handle_one_connection ()
#12 0x00002aaaaaee673d in start_thread () from /lib64/libpthread.so.0
#13 0x00002aaaabfadd1d in clone () from /lib64/libc.so.6

Thread 4 (Thread 16164):
#0 0x00002aaaabfa6fc2 in select () from /lib64/libc.so.6
#1 0x000000000062bde3 in main ()

Thread 3 (Thread 16166):
#0 0x00002aaaaaeeb150 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1 0x000000000094dd36 in ma_checkpoint_background ()
#2 0x00002aaaaaee673d in start_thread () from /lib64/libpthread.so.0
#3 0x00002aaaabfadd1d in clone () from /lib64/libc.so.6

Thread 2 (Thread 16167):
#0 0x00002aaaaaeee838 in do_sigwait () from /lib64/libpthread.so.0
#1 0x00002aaaaaeee8dd in sigwait () from /lib64/libpthread.so.0
#2 0x000000000062f220 in signal_hand ()
#3 0x00002aaaaaee673d in start_thread () from /lib64/libpthread.so.0
#4 0x00002aaaabfadd1d in clone () from /lib64/libc.so.6

Thread 1 (Thread 16180):
#0 0x00000000008e0be3 in ha_maria::check_and_repair(THD*) ()
#1 0x00000000007797e0 in handler::ha_check_and_repair(THD*) ()
#2 0x000000000068b19e in open_unireg_entry(THD*, st_table*, TABLE_LIST*, char const*, char*, unsigned int, st_mem_root*, unsigned int) ()
#3 0x000000000068a893 in open_table(THD*, TABLE_LIST*, st_mem_root*, bool*, unsigned int) ()
#4 0x000000000068cdb4 in open_tables(THD*, TABLE_LIST**, unsigned int*, unsigned int) ()
#5 0x000000000068bb15 in open_and_lock_tables_derived(THD*, TABLE_LIST*, bool) ()
#6 0x000000000064b0d8 in execute_sqlcom_select(THD*, TABLE_LIST*) ()
#7 0x00000000006451a5 in mysql_execute_command(THD*) ()
#8 0x000000000064b6eb in mysql_parse(THD*, char const*, unsigned int, char const**) ()
#9 0x000000000063fa83 in dispatch_command(enum_server_command, THD*, char*, unsigned int) ()
#10 0x000000000063e644 in do_command(THD*) ()
#11 0x00000000006390ba in handle_one_connection ()
#12 0x00002aaaaaee673d in start_thread () from /lib64/libpthread.so.0
#13 0x00002aaaabfadd1d in clone () from /lib64/libc.so.6

------------------------------------------------------------

Tags: icc maria
Revision history for this message
bash99@gmail.com (bash99) wrote :

with icc optimize options sets to -O0 -fp-model source -restrict, test passed.

verified on icc 10.1.025 and 11.1.072

Revision history for this message
bash99@gmail.com (bash99) wrote :

output from a debug binary

Core was generated by `/usr/local/src/mariadb-5.1.47/sql/mysqld --defaults-group-suffix=.1 --defaults-'.
Program terminated with signal 11, Segmentation fault.
#0 0x00000000008dfa59 in ha_maria::check_and_repair (this=0x40a8b2e0, thd=0x1d93bab0, $6=<value optimized out>, $7=<value optimized out>) at ha_maria.cc:1938
1938 check_opt.init();
#0 0x00000000008dfa59 in ha_maria::check_and_repair (this=0x40a8b2e0, thd=0x1d93bab0, $6=<value optimized out>, $7=<value optimized out>) at ha_maria.cc:1938
#1 0x00000000007790ae in handler::ha_check_and_repair (this=0x40a8b2e0, thd=0x1d93bab0, $?=<value optimized out>, $?=<value optimized out>) at handler.cc:3274

btw, with -O1 -ip -unroll2 compiled ha_maria.o and other compiled with -O3 -ip -unroll2, test is also passed.

Revision history for this message
bash99@gmail.com (bash99) wrote :

it's most like a compiler bug, I've try a drity way(tm) :

split function ha_maria::check_and_repair to a separate source file, add it to Makefile and recompile.
everything works fine.

Changed in maria:
milestone: none → 5.1
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

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