[MDEV-8079] Crash when running MariaDB Debug with InnoDB on Windows Created: 2015-04-29  Updated: 2015-05-03  Resolved: 2015-05-03

Status: Closed
Project: MariaDB Server
Component/s: Storage Engine - InnoDB, Storage Engine - XtraDB
Affects Version/s: 10.0.17, 10.1
Fix Version/s: 10.0.18

Type: Bug Priority: Major
Reporter: VicenČ›iu Ciorbaru Assignee: Jan Lindström (Inactive)
Resolution: Fixed Votes: 0
Labels: None
Environment:

Windows



 Description   

When starting up MariaDB with InnoDB, the following error occurs:
Unhandled exception at 0x0F5C3F73 (ha_innodb.dll) in mysqld.exe: An invalid parameter was passed to a function that considers invalid parameters fatal.

This might also happen in 10.0.

To reproduce:
Run mysql-test-run.pl with a test file that has --source include/have_innodb.inc

Stack trace:

>	ha_innodb.dll!_invoke_watson(const wchar_t * pszExpression, const wchar_t * pszFunction, const wchar_t * pszFile, unsigned int nLine, unsigned int pReserved) Line 132	C++
 	ha_innodb.dll!_invalid_parameter(const wchar_t * pszExpression, const wchar_t * pszFunction, const wchar_t * pszFile, unsigned int nLine, unsigned int pReserved) Line 86	C++
 	ha_innodb.dll!std::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<sync_level_t> > >::_Compat(const std::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<sync_level_t> > > & _Right) Line 241	C++
 	ha_innodb.dll!std::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<sync_level_t> > >::operator==(const std::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<sync_level_t> > > & _Right) Line 205	C++
 	ha_innodb.dll!std::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<sync_level_t> > >::operator!=(const std::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<sync_level_t> > > & _Right) Line 210	C++
 	ha_innodb.dll!sync_thread_reset_level(void * latch) Line 1399	C++
 	ha_innodb.dll!mutex_exit_func(ib_mutex_t * mutex) Line 168	C++
 	ha_innodb.dll!pfs_mutex_exit_func(ib_mutex_t * mutex) Line 317	C++
 	ha_innodb.dll!log_flush_margin() Line 1768	C++
 	ha_innodb.dll!log_check_margins() Line 3267	C++
 	ha_innodb.dll!log_free_check() Line 500	C++
 	ha_innodb.dll!que_run_threads_low(que_thr_t * thr) Line 1167	C++
 	ha_innodb.dll!que_run_threads(que_thr_t * thr) Line 1208	C++
 	ha_innodb.dll!que_eval_sql(pars_info_t * info, const char * sql, unsigned long reserve_dict_mutex, trx_t * trx) Line 1285	C++
 	ha_innodb.dll!row_merge_drop_temp_indexes() Line 3000	C++
 	ha_innodb.dll!recv_recovery_rollback_active() Line 3504	C++
 	ha_innodb.dll!innobase_start_or_create_for_mysql() Line 2611	C++
 	ha_innodb.dll!innobase_init(void * p) Line 3697	C++
 	mysqld.exe!ha_initialize_handlerton(st_plugin_int * plugin) Line 512	C++
 	mysqld.exe!plugin_initialize(st_mem_root * tmp_root, st_plugin_int * plugin, int * argc, char * * argv, bool options_only) Line 1403	C++
 	mysqld.exe!plugin_init(int * argc, char * * argv, int flags) Line 1676	C++
 	mysqld.exe!init_server_components() Line 5041	C++
 	mysqld.exe!win_main(int argc, char * * argv) Line 5631	C++
 	mysqld.exe!mysql_service(void * p) Line 5860	C++
 	mysqld.exe!mysqld_main(int argc, char * * argv) Line 6054	C++
 	mysqld.exe!main(int argc, char * * argv) Line 25	C++



 Comments   
Comment by Vicențiu Ciorbaru [ 2015-04-29 ]

Note that we have various problems with integer casts on windows. Check MDEV-8068. It also features some warnings in the InnoDB engine.

Comment by Jan Lindström (Inactive) [ 2015-05-03 ]

commit 37093eb51e5db2097f2d4d1bd82f6f019336c5e3
Author: Jan Lindström <jan.lindstrom@mariadb.com>
Date: Fri May 1 14:51:50 2015 +0300

MDEV-8079: Crash when running MariaDB Debug with InnoDB on Windows

Problem was that std::vector was allocated using calloc instead of
new, this caused vector constructor not being called and vector
metadata not initialized.

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