[debian-mysql] Bug#1074558: mariadb: FTBFS on sparc64: Multiple tests crash / time out

Otto Kekäläinen otto at debian.org
Sat Jul 6 07:00:51 BST 2024


Thanks for the tips. Unfortunately running just the single test
without any other load on the system still crashes it and system load
was otherwise zero, so it is not due to slowness.

I also tested explicit debug run and various ways to invoke gdb, but
--debug didn't yield any new info and all gdb variants try to launch
xterm which does not work over ssh, or if gdb is invoked manually
directly it just crashes with "Breakpoint 1 at 0xc38ffc: file
./sql/signal_handler.cc, line 133.".

cd builddir/mysql-test && \
export MTR_PRINT_CORE=detailed && \
./mtr main.partition --debug
./mtr main.partition --gdb='b handle_fatal_signal; r'
./mtr main.partition --boot-gdb='b handle_fatal_signal; r'
./mtr main.partition --boot-gdb='--quiet --tui;b mysql_parse;r'

./mtr main.partition --manual-gdb='b handle_fatal_signal; r' --verbose --verbose
gdb -x /home/otto/mariadb-server/builddir/mysql-test/var/tmp/gdbinit.mysqld.1
/home/otto/mariadb-server/builddir/sql/mariadbd



****************

cd builddir/mysql-test && \
export MTR_PRINT_CORE=detailed && \
./mtr --force --testcase-timeout=120 --suite-timeout=540 --retry=3 \
      --verbose-restart --max-save-core=1 --max-save-datadir=1 \
      main.partition

vardir: /home/otto/mariadb-server/builddir/mysql-test/var
Checking leftover processes...
Removing old var directory...
Creating var directory '/home/otto/mariadb-server/builddir/mysql-test/var'...
Checking supported features...
MariaDB Version 11.4.2-MariaDB-3-debug
 - SSL connections supported
 - binaries are debug compiled
 - binaries built with wsrep patch
Collecting tests...
Installing system database...

==============================================================================

TEST                                      RESULT   TIME (ms) or COMMENT
--------------------------------------------------------------------------

worker[01] Using MTR_BUILD_THREAD 300, with reserved ports 16000..16019
main.partition                           [ fail ]
        Test ended at 2024-07-06 05:17:58

CURRENT_TEST: main.partition
mysqltest: At line 3010: query 'select id from t1 where data = 'ab'
order by id' failed: <Unknown> (2013): Lost connection to server
during query

The result from queries just before the failure was:
< snip >
insert t1 values (6, 'ab'), (4, 'ab'), (5, 'ab'), (16, 'ab'), (14,
'ab'), (15, 'ab'), (5, 'ac'), (15, 'aa') ;
select id from t1 where data = 'ab' order by id;
id
4
5
6
14
15
16
drop table t1;
create table t1(id int unsigned not null,
data text default null,
key data_idx (data(1),id)
) default charset=utf8
partition by range (id) (
partition p10 values less than (10),
partition p20 values less than (20)
);
insert t1 values (6, 'ab'), (4, 'ab'), (5, 'ab'), (16, 'ab'), (14,
'ab'), (15, 'ab'), (5, 'ac'), (15, 'aa') ;
select id from t1 where data = 'ab' order by id;

More results from queries before failure can be found in
/home/otto/mariadb-server/builddir/mysql-test/var/log/partition.log

 - found 'core' (0/1)
Core generated by '/home/otto/mariadb-server/builddir/sql/mariadbd'
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 LWP 3251707]
[New LWP 3251701]
[New LWP 3251702]
[New LWP 3251704]
[New LWP 3251700]
[New LWP 3251703]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/sparc64-linux-gnu/libthread_db.so.1".
Core was generated by `/home/otto/mariadb-server/builddir/sql/mariadbd
--defaults-group-suffix=.1 --de'.
Program terminated with signal SIGUSR1, User defined signal 1.
#0  0xfff80001026928c0 in __pthread_kill_implementation
(threadid=18444492278227175616, signo=10, no_tid=0) at
./nptl/pthread_kill.c:43
43      ./nptl/pthread_kill.c: No such file or directory.
[Current thread is 1 (Thread 0xfff80001022a88c0 (LWP 3251707))]
#0  0xfff80001026928c0 in __pthread_kill_implementation
(threadid=18444492278227175616, signo=10, no_tid=0) at
./nptl/pthread_kill.c:43
#1  0x000001000154ca3c in my_write_core (sig=10) at ./mysys/stacktrace.c:424
#2  0x0000010000c39778 in handle_fatal_signal (sig=10) at
./sql/signal_handler.cc:357
#3  <signal handler called>
#4  0x0000010000f35cac in ha_partition::init_record_priority_queue
(this=0xfff800011cca4790) at ./sql/ha_partition.cc:5657
#5  0x0000010000f363b4 in ha_partition::index_init
(this=0xfff800011cca4790, inx=0, sorted=true) at
./sql/ha_partition.cc:5762
#6  0x0000010000939870 in handler::ha_index_init (sorted=true, idx=0,
this=0xfff800011cca4790) at ./sql/handler.h:3495
#7  join_read_always_key (tab=0xfff800011ccd1870) at ./sql/sql_select.cc:24407
#8  0x000001000091df74 in sub_select (join=0xfff800011c017560,
join_tab=0xfff800011ccd1870, end_of_records=<optimized out>) at
./sql/sql_select.cc:23632
#9  0x000001000095c6ec in do_select (procedure=0x0,
join=0xfff800011c017560) at ./sql/sql_select.cc:23146
#10 JOIN::exec_inner (this=0xfff800011c017560) at ./sql/sql_select.cc:5010
#11 0x000001000095cd60 in JOIN::exec (this=0xfff800011c017560) at
./sql/sql_select.cc:4796
#12 0x000001000095a938 in mysql_select (thd=0xfff800011c000dc8,
tables=0xfff800011c015f48, fields=..., conds=0xfff800011c016818,
og_num=1, order=<optimized out>, group=<optimized out>,
having=<optimized out>, proc_param=<optimized out>,
select_options=<optimized out>, result=<optimized out>,
unit=<optimized out>, select_lex=<optimized out>) at
./sql/sql_select.cc:5326
#13 0x000001000095ac54 in handle_select (thd=0xfff800011c000dc8,
lex=0xfff800011c005170, result=0xfff800011c017538,
setup_tables_done_option=<optimized out>) at ./sql/sql_select.cc:628
#14 0x00000100008a0d64 in execute_sqlcom_select
(thd=0xfff800011c000dc8, all_tables=0xfff800011c015f48) at
./sql/sql_parse.cc:6141
#15 0x00000100008aea04 in mysql_execute_command
(thd=0xfff800011c000dc8, is_called_from_prepared_stmt=false) at
./sql/sql_parse.cc:3950
#16 0x00000100008b6168 in mysql_parse (thd=0xfff800011c000dc8,
rawbuf=<optimized out>, length=<optimized out>,
parser_state=<optimized out>) at ./sql/sql_parse.cc:7862
#17 0x00000100008b929c in dispatch_command (command=COM_QUERY,
thd=0xfff800011c000dc8, packet=0xfff800011c00bdb9 "",
packet_length=<optimized out>, blocking=true) at ./sql/sql_class.h:254
#18 0x00000100008bc800 in do_command (thd=0xfff800011c000dc8,
blocking=true) at ./sql/sql_parse.cc:1406
#19 0x0000010000a5ee1c in do_handle_one_connection (connect=<optimized
out>, put_in_cache=true) at ./sql/sql_connect.cc:1437
#20 0x0000010000a5f16c in handle_one_connection (arg=0x100031b2ce8) at
./sql/sql_connect.cc:1339
#21 0x0000010000f490e4 in pfs_spawn_thread (arg=0x10003190908) at
./storage/perfschema/pfs.cc:2201
#22 0xfff800010269068c in start_thread (arg=0xfff80001022a88c0) at
./nptl/pthread_create.c:444
#23 0xfff800010270b410 in __thread_start () at
../sysdeps/unix/sysv/linux/sparc/sparc64/clone.S:79
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

**************

mysql-test-run: *** ERROR: Test suite aborted
Logging: /home/otto/mariadb-server/mysql-test/mariadb-test-run.pl
main.partition --boot-gdb=b handle_fatal_signal; r
VS config:
vardir: /home/otto/mariadb-server/builddir/mysql-test/var
Checking leftover processes...
Removing old var directory...
Creating var directory '/home/otto/mariadb-server/builddir/mysql-test/var'...
Checking supported features...
MariaDB Version 11.4.2-MariaDB-3-debug
 - SSL connections supported
 - binaries are debug compiled
 - binaries built with wsrep patch
Collecting tests...
Installing system database...
mysql-test-run: *** ERROR: Error executing mariadbd --bootstrap
Could not install system database from
/home/otto/mariadb-server/builddir/mysql-test/var/log/bootstrap.sql
The /home/otto/mariadb-server/builddir/mysql-test/var/log/bootstrap.log
file contains:
xterm -title bootstrap -e gdb -x
/home/otto/mariadb-server/builddir/mysql-test/var/tmp/gdbinit.bootstrap
/home/otto/mariadb-server/builddir/sql/mariadbd
safe_process[3252666]: FATAL ERROR, Failed to exec child
error: 2, No such file or directory

************



More information about the pkg-mysql-maint mailing list