XtraDB crashes on startup on windows
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
MariaDB |
Fix Released
|
High
|
Hakan Küçükyılmaz | ||
Percona-XtraDB |
Fix Released
|
High
|
Unassigned |
Bug Description
I've tried to run MariaDB for Windows (WinXP, Visual Studio 8). After fixing a number of apparent failures, I've got it to compile but the obtained binary crashes on startup.
-------
G:\maria\
Logging: ./mysql-test-run.pl t/innodb.test
MySQL Version 5.1.35
Checking supported features...
- skipping ndbcluster, mysqld not compiled with ndbcluster
- SSL connections supported
- binaries are debug compiled
Collecting tests...
vardir: G:/maria/
Checking leftover processes...
Removing old var directory...
Creating var directory 'G:/maria/
Installing system database...
Using server port 3541
=======
TEST RESULT TIME (ms)
-------
worker[1] Using MTR_BUILD_THREAD 250, with reserved ports 12500..12509
worker[1] mysql-test-run: WARNING: Process [mysqld.1 - pid: 4752, winpid: 4752, exit: 1280] died
Could not open event or process 4752, error: 87
Couldn't open the winpid: 4752 for pid: 4752, try one more time
Could not open event or process 4752, error: 87
Couldn't open the winpid: 4752 for pid: 4752, continue and see what happens...
main.innodb [ fail ]
Test ended at 2009-08-22 06:26:00
CURRENT_TEST: main.innodb
InnoDB: The InnoDB memory heap is disabled
InnoDB: Neither mutexes nor rw_locks use GCC atomic builtins.
InnoDB: The first specified data file .\ibdata1 did not exist:
InnoDB: a new database to be created!
090822 6:25:53 InnoDB: Setting file .\ibdata1 size to 10 MB
InnoDB: Database physically writes the file full: wait...
090822 6:25:54 InnoDB: Log file .\ib_logfile0 did not exist: new to be created
InnoDB: Setting log file .\ib_logfile0 size to 5 MB
InnoDB: Database physically writes the file full: wait...
090822 6:25:54 InnoDB: Log file .\ib_logfile1 did not exist: new to be created
InnoDB: Setting log file .\ib_logfile1 size to 5 MB
InnoDB: Database physically writes the file full: wait...
InnoDB: Doublewrite buffer not found: creating new
090822 6:25:55 InnoDB: Assertion failure in thread 2932 in file .\os\os0file.c line 3686
InnoDB: Failing assertion: slot->reserved
InnoDB: We intentionally generate a memory trap.
InnoDB: Submit a detailed bug report to http://
InnoDB: If you get repeated assertion failures or crashes, even
InnoDB: immediately after the mysqld startup, there may be
InnoDB: corruption in the InnoDB tablespace. Please refer to
InnoDB: http://
InnoDB: about forcing recovery.
InnoDB: Thread 4728 stopped in file G:\maria\
InnoDB: Thread 5724 stopped in file .\buf\buf0flu.c line 235
090822 16:25:55 - mysqld got exception 0xc0000005 ;
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.
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.
key_buffer_
read_buffer_
max_used_
max_threads=153
threads_connected=0
It is possible that mysqld could use up to
key_buffer_size + (read_buffer_size + sort_buffer_
bytes of memory
Hope that's ok; if not, decrease some variables in the equation.
thd: 0x0
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...
0091D6A6 mysqld.
00918CFF mysqld.
00908927 mysqld.
7C80B699 kernel32.
The manual page at http://
information that should help you find out what is causing the crash.
Writing a core file
Minidump written to G:\maria\
Failed to start mysqld.1
- saving 'G:/maria/
- found 'mysqld.dmp' (0/5)
Trying 'cdb' to get a backtrace
OS debug symbols will be downloaded and stored in C:\cdb_symbols.
You can control the location of symbol cache with _NT_SYMBOL_PATH
environment variable. Please refer to Microsoft KB article
http://
-------
Output from cdb follows. Faulting thread is printed twice,with and without function parameters
Search for STACK_TEXT to see the stack trace of
the faulting thread. Callstacks of other threads are printed after it.
Microsoft (R) Windows Debugger Version 6.11.0001.404 X86
Copyright (c) Microsoft Corporation. All rights reserved.
Loading Dump File [G:\maria\
User Mini Dump File: Only registers, stack and portions of memory are available
Symbol search path is: C:\WINDOWS\
Executable search path is: C:\WINDOWS\
Windows XP Version 2600 (Service Pack 2) MP (2 procs) Free x86 compatible
Product: WinNt, suite: SingleUserTS
Machine Name:
Debug session time: Sat Aug 22 06:25:55.000 2009 (GMT-7)
System Uptime: not available
Process Uptime: 0 days 0:00:02.000
.......
This dump file has an exception of interest stored in it.
The stored exception information can be accessed via .ecxr.
(c8c.b74): Access violation - code c0000005 (first/second chance not available)
eax=03de0000 ebx=00151bd8 ecx=00000007 edx=7c90e514 esi=00151bb0 edi=00151c08
eip=7c90e514 esp=0335e900 ebp=0335e910 iopl=0 nv up ei pl zr na pe nc
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00000246
ntdll!KiFastSys
ret
0:015> cdb: Reading initial command '!sym prompts off; !analyze -v; .ecxr; !for_each_frame dv /t;!uniqstack -p;q'
quiet mode - symbol prompts off
FAULTING_IP:
mysqld!
cmp dword ptr [eax],0
EXCEPTION_RECORD: ffffffff -- (.exr 0xffffffffffffffff)
ExceptionAddress: 0091d6a6 (mysqld!
ExceptionCode: c0000005 (Access violation)
ExceptionFlags: 00000000
NumberParameters: 2
Parameter[0]: 00000000
Parameter[1]: 00000000
Attempt to read from address 00000000
PROCESS_NAME: mysqld.exe
ERROR_CODE: (NTSTATUS) 0xc0000005 - The instruction at "0x%08lx" referenced memory at "0x%08lx". The memory could not be "%s".
EXCEPTION_CODE: (NTSTATUS) 0xc0000005 - The instruction at "0x%08lx" referenced memory at "0x%08lx". The memory could not be "%s".
EXCEPTION_
EXCEPTION_
READ_ADDRESS: 00000000
FOLLOWUP_IP:
mysqld!
cmp dword ptr [eax],0
FAULTING_THREAD: 00000b74
BUGCHECK_STR: APPLICATION_
PRIMARY_
DEFAULT_BUCKET_ID: NULL_POINTER_
LAST_CONTROL_
STACK_TEXT:
mysqld!
mysqld!fil_aio_wait [g:\maria\
mysqld!
kernel32!
FAULTING_
3682: os_mutex_
3683:
3684: slot = os_aio_
3685:
> 3686: ut_a(slot-
3687:
3688: if (orig_seg != ULINT_UNDEFINED) {
3689: srv_set_
3690: "get windows aio return value");
3691: }
SYMBOL_STACK_INDEX: 0
SYMBOL_NAME: mysqld!
FOLLOWUP_NAME: MachineOwner
MODULE_NAME: mysqld
IMAGE_NAME: mysqld.exe
DEBUG_FLR_
STACK_COMMAND: ~15s; .ecxr ; kb
FAILURE_BUCKET_ID: NULL_POINTER_
BUCKET_ID: APPLICATION_
WATSON_
Followup: MachineOwner
---------
eax=00000000 ebx=00e3ec28 ecx=fec464b0 edx=00e41618 esi=cccccccc edi=0335ff54
eip=0091d6a6 esp=0335ff1c ebp=0335ff54 iopl=0 nv up ei pl nz na po nc
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00010202
mysqld!
cmp dword ptr [eax],0 ds:0023:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
mysqld!
unsigned long segment = 4
unsigned long pos = 0
struct fil_node_struct ** message1 = 0x0335ff90
void ** message2 = 0x0335ff84
unsigned long * type = 0x0335ff78
struct os_aio_array_struct * array = 0x0175f028
unsigned long ret_val = 0xcccccccc
unsigned long orig_seg = 0xe
struct os_aio_slot_struct * slot = 0x0175f160
int ret = -858993460
unsigned long len = 0xcccccccc
unsigned long n = 0x20
unsigned long i = 0
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
mysqld!fil_aio_wait [g:\maria\
unsigned long segment = 0xe
void * message = 0xcccccccc
unsigned long ret = 0xcccccccc
struct fil_node_struct * fil_node = 0xcccccccc
struct fil_system_struct * system = 0x01764458
unsigned long type = 0xcccccccc
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
mysqld!
void * arg = 0x00e3ec28
unsigned long segment = 0xe
unsigned long i = 0
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
kernel32!
Unable to enumerate locals, HRESULT 0x80004005
Private symbols (symbols.pri) are required for locals.
Type ".hh dbgerr005" for details.
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
mysqld!
Processing 21 threads, please wait
. 0 Id: c8c.1278 Suspend: 0 Teb: 7ffdf000 Unfrozen
Priority: 0
ntdll!KiFastSys
ntdll!NtDelayEx
kernel32!SleepEx
kernel32!Sleep
mysqld!
mysqld!
radb\ut\ut0dbg.c @ 111]
mysqld!
mysqld!
mysqld!
877]
mysqld!
buf\buf0flu.c @ 962]
mysqld!
ria-5.1\
mysqld!
c @ 1612]
mysqld!
mysqld!
mysqld!
mysqld!
mysqld!
mysqld!
mysqld!
mysqld!
mysqld!win_main(int argc = 11, char ** argv = 0x012d4078) [g:\maria\
mysqld!
mysqld!main(int argc = 11, char ** argv = 0x012d4078) [g:\maria\
mysqld!
mysqld!
kernel32!
Related branches
Changed in percona-xtradb: | |
assignee: | nobody → Yasufumi Kinoshita (yasufumi-kinoshita) |
importance: | Undecided → High |
status: | New → Confirmed |
Changed in maria: | |
importance: | Undecided → High |
status: | New → Confirmed |
Changed in percona-xtradb: | |
status: | Fix Committed → Fix Released |
tags: | added: windows |
An [obvious] patch to make MariaDB to compile on windows.