Details
-
Bug
-
Status: Closed (View Workflow)
-
Minor
-
Resolution: Won't Fix
-
5.2.13, 5.1.66, 5.3.12
-
None
-
Windows, non-default build with XtraDB as a dynamic plugin
Description
on windows, mariadb-5.1, built with default options (win\configure.js) - xtradb is built as dll.
On load it prints "Mutexes and rw_locks use InnoDB's own implementation"
On shutdown it crashes.
In innobase_shutdown_for_mysql() there is:
2192 dict_close();
|
2193 btr_search_sys_free();
|
2194
|
2195 /* 3. Free all InnoDB's own mutexes and the os_fast_mutexes inside
|
2196 them */
|
2197 os_aio_free();
|
2198 sync_close();
|
2199 srv_free();
|
Now, btr_search_sys_free() is
182 btr_search_sys_free(void)
|
184 {
|
185 mem_free(btr_search_latch_temp);
|
186 btr_search_latch_temp = NULL;
|
It crashes later, in sync_close():
1449 mutex = UT_LIST_GET_FIRST(mutex_list);
|
1451 while (mutex) {
|
1458 mutex_free(mutex);
|
1459 mutex = UT_LIST_GET_FIRST(mutex_list);
|
1460 }
|
because one of the mutexes (3rd in the list) is filled with 0xFEEEFEEE. This is the value that windows uses to fill the freed memory. And this mutex is freed in btr_search_sys_free(), line 185. When I comment this line (185) out, xtradb doesn't crash anymore.