[MDEV-10979] mariadb 5.5.47 and 5.5.44 Crash systematically Created: 2016-10-07  Updated: 2016-11-12  Resolved: 2016-11-12

Status: Closed
Project: MariaDB Server
Component/s: Storage Engine - InnoDB
Affects Version/s: 5.5.44, 5.5.47-galera
Fix Version/s: N/A

Type: Bug Priority: Major
Reporter: ldufour Assignee: Unassigned
Resolution: Duplicate Votes: 0
Labels: None
Environment:

centos 7.1511 x64


Issue Links:
Duplicate
is duplicated by MDEV-7691 Assertion `outer_context || !*from_fi... Closed
is duplicated by MDEV-10148 Database crashes in the query to the ... Closed

 Description   

Maraiadb crashes every time data are imported in the database and procedures are launched against the new data set.
This database was created anew with scripts.
This database has existed and used for years flawlessly, without a crash for years on mysql 5.1.61 on EL6 x64.

Note: 5 other types of database have been created from scripts as well, they are accessed uploaded with new data the same way, but they don't crash mariadb. The difference are the type of data and the procedures launched after each load.

The crash has been replicated on 2 different centos 7.1511 x64 machines running mariadb 5.5.44 and mariadb 5.5.47.

Dump:

161004 19:23:38 [ERROR] mysqld got signal 11 ;
This could be because you hit a bug. It is also possible that this binary
or one of the libraries it was linked against is corrupt, improperly built,
or misconfigured. This error can also be caused by malfunctioning hardware.
 
To report this bug, see http://kb.askmonty.org/en/reporting-bugs
 
We will try our best to scrape up some info that will hopefully help
diagnose the problem, but since we have already crashed,
something is definitely wrong and this may fail.
 
Server version: 5.5.47-MariaDB-log
key_buffer_size=33554432
read_buffer_size=16777216
max_used_connections=7
max_threads=102
thread_count=6
It is possible that mysqld could use up to
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 5048074 K  bytes of memory
Hope that's ok; if not, decrease some variables in the equation.

Thread pointer: 0x0x7f110410c900
Attempting backtrace. You can use the following information to find out
where mysqld died. If you see no messages after this, something went
terribly wrong...
stack_bottom = 0x7f0c08643dc0 thread_stack 0x40000
/usr/libexec/mysqld(my_print_stacktrace+0x3d)[0x7f10e61ce09d]
/usr/libexec/mysqld(handle_fatal_signal+0x515)[0x7f10e5de2175]
/lib64/libpthread.so.0(+0xf100)[0x7f10e5511100]
/usr/libexec/mysqld(_ZN13st_select_lex17mark_as_dependentEP3THDPS_P4Item+0x80)[0x7f10e5ca75f0]
/usr/libexec/mysqld(+0x4af7e5)[0x7f10e5df17e5]
/usr/libexec/mysqld(_ZN10Item_field15fix_outer_fieldEP3THDPP5FieldPP4Item+0x772)[0x7f10e5dfeda2]
/usr/libexec/mysqld(_ZN10Item_field10fix_fieldsEP3THDPP4Item+0x4d2)[0x7f10e5dff542]
/usr/libexec/mysqld(_Z12setup_fieldsP3THDPP4ItemR4ListIS1_E17enum_mark_columnsPS5_b+0x17c)[0x7f10e5c71efc]
/usr/libexec/mysqld(_ZN4JOIN7prepareEPPP4ItemP10TABLE_LISTjS1_jP8st_orderbS7_S1_S7_P13st_select_lexP18st_select_lex_unit+0x365)[0x7f10e5cf4565]
/usr/libexec/mysqld(_ZN18st_select_lex_unit7prepareEP3THDP13select_resultm+0x8f0)[0x7f10e5d38650]
/usr/libexec/mysqld(_Z21mysql_derived_prepareP3THDP3LEXP10TABLE_LIST+0x205)[0x7f10e5c91f25]
/usr/libexec/mysqld(_Z27mysql_handle_single_derivedP3LEXP10TABLE_LISTj+0xe4)[0x7f10e5c92fa4]
/usr/libexec/mysqld(_Z28mysql_handle_list_of_derivedP3LEXP10TABLE_LISTj+0x3f)[0x7f10e5c9301f]
/usr/libexec/mysqld(_Z20mysql_prepare_insertP3THDP10TABLE_LISTP5TABLER4ListI4ItemEPS7_S8_S8_15enum_duplicatesPPS6_bbb+0xd8)[0x7f10e5c9adc8]
/usr/libexec/mysqld(_Z27mysql_insert_select_prepareP3THD+0x81)[0x7f10e5ca2291]
/usr/libexec/mysqld(_Z21mysql_execute_commandP3THD+0x51cf)[0x7f10e5cb6fbf]
/usr/libexec/mysqld(_ZN13sp_instr_stmt9exec_coreEP3THDPj+0x36)[0x7f10e5edb336]
/usr/libexec/mysqld(_ZN13sp_lex_keeper23reset_lex_and_exec_coreEP3THDPjbP8sp_instr+0x88)[0x7f10e5ee17b8]
/usr/libexec/mysqld(_ZN13sp_instr_stmt7executeEP3THDPj+0x175)[0x7f10e5ee1cb5]
/usr/libexec/mysqld(_ZN7sp_head7executeEP3THDb+0x6c7)[0x7f10e5ede267]
/usr/libexec/mysqld(_ZN7sp_head17execute_procedureEP3THDP4ListI4ItemE+0x67f)[0x7f10e5edfa1f]
/usr/libexec/mysqld(_Z21mysql_execute_commandP3THD+0x2af0)[0x7f10e5cb48e0]
/usr/libexec/mysqld(_ZN13sp_instr_stmt9exec_coreEP3THDPj+0x36)[0x7f10e5edb336]
/usr/libexec/mysqld(_ZN13sp_lex_keeper23reset_lex_and_exec_coreEP3THDPjbP8sp_instr+0x88)[0x7f10e5ee17b8]
/usr/libexec/mysqld(_ZN13sp_instr_stmt7executeEP3THDPj+0x175)[0x7f10e5ee1cb5]
/usr/libexec/mysqld(_ZN7sp_head7executeEP3THDb+0x6c7)[0x7f10e5ede267]
/usr/libexec/mysqld(_ZN7sp_head17execute_procedureEP3THDP4ListI4ItemE+0x67f)[0x7f10e5edfa1f]
/usr/libexec/mysqld(_Z21mysql_execute_commandP3THD+0x2af0)[0x7f10e5cb48e0]
/usr/libexec/mysqld(_Z11mysql_parseP3THDPcjP12Parser_state+0x125)[0x7f10e5cb9465]
/usr/libexec/mysqld(_Z16dispatch_command19enum_server_commandP3THDPcj+0x1753)[0x7f10e5cbb4c3]
/usr/libexec/mysqld(_Z24do_handle_one_connectionP3THD+0x1c2)[0x7f10e5d6c9e2]
/usr/libexec/mysqld(handle_one_connection+0x4a)[0x7f10e5d6ca8a]
/lib64/libpthread.so.0(+0x7dc5)[0x7f10e5509dc5]
/lib64/libc.so.6(clone+0x6d)[0x7f10e3d84ced]

Trying to get some variables.
Some pointers may be invalid and cause the dump to abort.
Query (0x7f0bbca1caf0): insert into rpt_err(`UTC_TIMESTAMP`, RPTID, ERRID, WSID, ERR_FIELD, ERR_VAL)    SELECT UTC_TIMESTAMP,  NAME_CONST('newid',3985628), f_geterrid('L7_4'), h.WSID,    concat('WEATHERCOND [',f_getcontrolcodedesc(_CODE),'], nighttime: ', sec_to_time(f_nmod(f_getsundaytime(now(),0,b.LAT, b.LON),24) *3600), ' - ', sec_to_time(f_nmod(f_getsundaytime(now(),1,b.LAT, b.LON),24)*3600)),    concat(WEATHERCOND, '(',f_getwsidlocaltime(h.WSID,addtime(h._TIMESTAMP,f_getfcsthour(_CODE)) ),')')    FROM sirius_hourxforecast h, v_sirius_baseline_tz b    where     h.WSID=b.WSID    and _CODE= NAME_CONST('code',1)     and hour(h._TIMESTAMP)-f_getwsidtime_estdiff(h.WSID)+hour(f_getfcsthour(_CODE))     not between truncate(f_getsundaytime(addtime(h._TIMESTAMP,f_getfcsthour(_CODE)),1,b.LAT, b.LON),0)  and truncate(f_getsundaytime(addtime(h._TIMESTAMP,f_getfcsthour(_CODE)),0,b.LAT, b.LON),0)    and WEATHERCOND in (SELECT WSICODE FROM v_s_wsi_eventcodes e where  NIGHT=0)
Connection ID (thread ID): 9
Status: NOT_KILLED
 
Optimizer switch: index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=on,loosescan=on,materialization=on,in_to_exists=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=on,semijoin_with_cache=on,join_cache_incremental=on,join_cache_hashed=on,join_cache_bka=on,optimize_join_buffer_size=off,table_elimination=on,extended_keys=off

The manual page at http://dev.mysql.com/doc/mysql/en/crashing.html contains
information that should help you find out what is causing the crash.
161004 19:23:38 mysqld_safe Number of processes running now: 0
161004 19:23:38 mysqld_safe mysqld restarted
161004 19:23:39 [Note] /usr/libexec/mysqld (mysqld 5.5.47-MariaDB-log) starting as process 81550 ...
161004 19:23:39 [Warning] Could not increase number of max_open_files to more than 1024 (request: 4207)
161004 19:23:39 InnoDB: The InnoDB memory heap is disabled
161004 19:23:39 InnoDB: Mutexes and rw_locks use GCC atomic builtins
161004 19:23:39 InnoDB: Compressed tables use zlib 1.2.7
161004 19:23:39 InnoDB: Using Linux native AIO
161004 19:23:39 InnoDB: Initializing buffer pool, size = 18.0G
161004 19:23:40 InnoDB: Completed initialization of buffer pool
161004 19:23:40 InnoDB: highest supported file format is Barracuda.
InnoDB: Log scan progressed past the checkpoint lsn 538565178115
161004 19:23:40  InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Restoring possible half-written data pages from the doublewrite
InnoDB: buffer...
InnoDB: Doing recovery: scanned up to log sequence number 538570420736
InnoDB: Doing recovery: scanned up to log sequence number 538575663616
InnoDB: Doing recovery: scanned up to log sequence number 538580906496
InnoDB: Doing recovery: scanned up to log sequence number 538583099465
InnoDB: 1 transaction(s) which must be rolled back or cleaned up
InnoDB: in total 57 row operations to undo
InnoDB: Trx id counter is 509300
161004 19:23:41  InnoDB: Starting an apply batch of log records to the database...
InnoDB: Progress in percents: 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
InnoDB: Apply batch completed
InnoDB: Last MySQL binlog file position 0 186629478, file name ./mysql-bin.000530
InnoDB: Starting in background the rollback of uncommitted transactions
161004 19:23:44  InnoDB: Waiting for the background threads to start
161004 19:23:44  InnoDB: Rolling back trx with id 50914D, 57 rows to undo
 
InnoDB: Rolling back of trx id 50914D completed
161004 19:23:44  InnoDB: Rollback of non-prepared transactions completed
161004 19:23:45 Percona XtraDB (http://www.percona.com) 5.5.46-MariaDB-37.6 started; log sequence number 538583099465
161004 19:23:45 [Note] Plugin 'FEEDBACK' is disabled.
161004 19:23:45 [Note] Recovering after a crash using mysql-bin
161004 19:23:45 [Note] Starting crash recovery...
161004 19:23:45 [Note] Crash recovery finished.
161004 19:23:45 [Note] Server socket created on IP: '0.0.0.0'.
161004 19:23:45  InnoDB: Error: table `tmp`.`#sql13a53_9_0` does not exist in the InnoDB internal
InnoDB: data dictionary though MySQL is trying to drop it.
InnoDB: Have you copied the .frm file of the table to the
InnoDB: MySQL database directory from another database?
InnoDB: You can look for further help from
InnoDB: http://dev.mysql.com/doc/refman/5.5/en/innodb-troubleshooting.html
161004 19:23:45 [Note] Event Scheduler: Loaded 0 events
161004 19:23:45 [Note] /usr/libexec/mysqld: ready for connections.
Version: '5.5.47-MariaDB-log'  socket: '/var/lib/mysql/mysql.sock'  port: 3306  MariaDB Server
161004 19:23:48 [ERROR] mysqld: Table './mysql/proc' is marked as crashed and should be repaired
161004 19:23:48 [Warning] Checking table:   './mysql/proc'



 Comments   
Comment by Elena Stepanova [ 2016-10-08 ]

Would you be able to provide the scripts which are used to create the crashing schema?
Please also attach your cnf file(s).

Comment by Elena Stepanova [ 2016-11-07 ]

ldufour, is it still happening? Would you be able to provide the information as requested above?

Comment by ldufour [ 2016-11-11 ]

I've installed the last mysql 5.6, recreated the database.
The crash went away.
So I'm good.

thx

Comment by Elena Stepanova [ 2016-11-12 ]

The problem is similar to MDEV-7691 and MDEV-10148. Given that we don't have much information here, and are unlikely to get it, I will consider it a duplicate of the mentioned bugs.

Generated at Thu Feb 08 07:46:22 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.