Bug #17750 MySQL service fails on systems with AMD processor(s)
Submitted: 27 Feb 2006 18:59 Modified: 15 Mar 2006 9:47
Reporter: Eugene Drobitko Email Updates:
Status: Duplicate Impact on me:
None 
Category:MySQL Server: InnoDB storage engine Severity:S1 (Critical)
Version:5.0.18 OS:Windows (Windows 2003)
Assigned to: CPU Architecture:Any

[27 Feb 2006 18:59] Eugene Drobitko
Description:
sometimes windows service fails with message
Event Type:	Error
Event Source:	Application Error
Event Category:	(100)
Event ID:	1000
Date:		2/25/2006
Time:		10:07:09 AM
User:		N/A
Computer:	W2KNEW
Description:
Faulting application mysqld-max-nt.exe, version 0.0.0.0, faulting module mysqld-max-nt.exe, version 0.0.0.0, fault address 0x00226add.

It happens on Windows 2003 64bit edition, Windows 2003 32bit edition with AMD processors (64 bit and 32 bit). But service never fails on Windows 2003 with Intel processor.

How to repeat:
run mysql on Windows 2003 an AMD processor. I'm searching for exactly SQL now.
[27 Feb 2006 19:36] Jorge del Conde
Hi!

Can you please give me instructions on how to reproduce this crash ?  I have been running mysql under an AMD64 environment for quite some time, and have never experienced the problem you're describing.

I use mysqld.exe and mysqld-max-nt.exe
[2 Mar 2006 5:54] Jorge del Conde
Hi  Eugene,

Thanks for providing us the details to reproduce this bug.

I experienced the behaviour you reported in my AMD64 machine, hence I was able to reproduce this bug.
[2 Mar 2006 5:55] Jorge del Conde
I tested this under WinXP-64 and WinXP/SP2
[10 Mar 2006 9:42] MySQL Verification Team
Are the tables InnoDB ? I might suspect assertion from btr_pcur_restore_position() is it's the case.  what's in the mysql error log ??
[14 Mar 2006 5:26] MySQL Verification Team
060313 18:32:00InnoDB: Assertion failure in thread 360 in file .\btr\btr0pcur.c

Attachment: 5.0.18-max-nt-error-log.txt (application/octet-stream, text), 23.49 KiB.

[14 Mar 2006 5:37] MySQL Verification Team
Line 216 of btr0pcur.c is the below assertion.

if (UNIV_UNLIKELY(cursor->old_stored != BTR_PCUR_OLD_STORED)
	    || UNIV_UNLIKELY(cursor->pos_state != BTR_PCUR_WAS_POSITIONED
			     && cursor->pos_state != BTR_PCUR_IS_POSITIONED)) {
		ut_print_buf(stderr, (const byte*)cursor, sizeof(btr_pcur_t));
		if (cursor->trx_if_known) {
			trx_print(stderr, cursor->trx_if_known, 0);
		}
		
		ut_error;
	}
[15 Mar 2006 9:47] Heikki Tuuri
Since you are using innodb_locks_unsafe_for_binlog, this is probably a duplicate of:

http://bugs.mysql.com/bug.php?id=15650

Please test with 5.0.19.
[15 Mar 2006 11:08] MySQL Verification Team
Heikki,

5.0.19 still crashes but I suspect it's a completely different crash, for which I will investigate and open another bug report if needed.

5.0.18 didn't crash when innodb_locks_unsafe_for_binlog=0.