Discussion:
MySQL shutting down because of Operating system error 1784
Cagdas CUBUKCU
2009-11-30 18:19:19 UTC
Permalink
Hi,

We are getting "InnoDB: Operating system error number 1784" error on MySQL
and it just shuts down after getting the error.

This happens once every 2 days or so. We are using MySQL
5.0.51b-community-nt.

I was wondering if anyone had this problem before?

Here's the full error output:
InnoDB: Operating system error number 1784 in a file operation.
InnoDB: Some operating system error numbers are described at
InnoDB:
http://dev.mysql.com/doc/refman/5.0/en/operating-system-error-codes.html
InnoDB: File name D:\MySQLlog\ib_logfile0
InnoDB: File operation call: 'Windows aio'.
InnoDB: Cannot continue operation.
InnoDB: Log scan progressed past the checkpoint lsn 35 1443981126

Is it because of not being able to write log files for some reason? Is
InnoDB logs required?

Thanks!
Cagdas
Rolando Edwards
2009-11-30 20:18:30 UTC
Permalink
If you have a lot of InnoDB transactions, maybe your ib_logfile0 and ib_logfile1 are too small.

Transactional data are written in these files in a circular fashion. You may have run out of space in these.

If you want to make these files bigger, simply do the following:

1) Use the setting "innodb_log_file_size=<Number>" in my.ini
2) net stop mysql
3) del D:\MySQLlog\ib_logfile*
4) net start mysql (during startup of mysqld, ib_logfile0 and ib_logfile1 are recreated)

As a rule of thumb, set innodb_log_file_size = (25% of innodb_buffer_pool_size)
BTW the combined total of all ib_logfiles cannot exceed 4GB.

Example: if innodb_buffer_pool_size=1G, then set innodb_log_file_size=256M
Example: if innodb_buffer_pool_size=512M, then set innodb_log_file_size=128M
Example: if innodb_buffer_pool_size=256M, then set innodb_log_file_size=64M
Etc...

Rolando A. Edwards
MySQL DBA (SCMDBA)

155 Avenue of the Americas, Fifth Floor
New York, NY 10013
212-625-5307 (Work)
201-660-3221 (Cell)
AIM & Skype : RolandoLogicWorx
***@logicworks.net
http://www.linkedin.com/in/rolandoedwards

-----Original Message-----
From: Cagdas CUBUKCU [mailto:***@gmail.com]
Sent: Monday, November 30, 2009 1:19 PM
To: ***@lists.mysql.com
Subject: MySQL shutting down because of Operating system error 1784

Hi,

We are getting "InnoDB: Operating system error number 1784" error on MySQL
and it just shuts down after getting the error.

This happens once every 2 days or so. We are using MySQL
5.0.51b-community-nt.

I was wondering if anyone had this problem before?

Here's the full error output:
InnoDB: Operating system error number 1784 in a file operation.
InnoDB: Some operating system error numbers are described at
InnoDB:
http://dev.mysql.com/doc/refman/5.0/en/operating-system-error-codes.html
InnoDB: File name D:\MySQLlog\ib_logfile0
InnoDB: File operation call: 'Windows aio'.
InnoDB: Cannot continue operation.
InnoDB: Log scan progressed past the checkpoint lsn 35 1443981126

Is it because of not being able to write log files for some reason? Is
InnoDB logs required?

Thanks!
Cagdas
--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe: http://lists.mysql.com/mysql?unsub=gcdmg-mysql-***@m.gmane.org
Raj Shekhar
2009-11-30 23:57:38 UTC
Permalink
Post by Cagdas CUBUKCU
Hi,
We are getting "InnoDB: Operating system error number 1784" error on MySQL
and it just shuts down after getting the error.
<http://msdn.microsoft.com/en-us/library/cc500408.aspx>

# ERROR_INVALID_USER_BUFFER or ERROR_NOT_ENOUGH_MEMORY Each device
driver maintains a fixed-size list (in a nonpaged pool) of
outstanding I/O requests. If this list is full, the system can’t
queue your request, ReadFile and WriteFile return FALSE, and
GetLast-Error reports one of these two error codes (depending on the
driver).

Apart from increasing your log file size, can you check the number of
i/o processes and if some other process is doing i/o as well. I think
windows has some processonitor for this.
--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe: http://lists.mysql.com/mysql?unsub=gcdmg-mysql-***@m.gmane.org
Cagdas CUBUKCU
2009-12-06 04:01:37 UTC
Permalink
Hi all,

Thanks for your suggestions. The problem is solved I guess, no problems
reported after I made the changes.

As suggested, increased the log file sizes.

Changed innodb_buffer_pool_size from 128M to 256M.
Changed innodb_log_file_size from 5M to 64M.

Also changed innodb_thread_concurrency from 20 to 8. This might have helped
as well.

-Cagdas
Post by Raj Shekhar
Post by Cagdas CUBUKCU
Hi,
We are getting "InnoDB: Operating system error number 1784" error on
MySQL
Post by Cagdas CUBUKCU
and it just shuts down after getting the error.
<http://msdn.microsoft.com/en-us/library/cc500408.aspx>
# ERROR_INVALID_USER_BUFFER or ERROR_NOT_ENOUGH_MEMORY Each device
driver maintains a fixed-size list (in a nonpaged pool) of
outstanding I/O requests. If this list is full, the system can’t
queue your request, ReadFile and WriteFile return FALSE, and
GetLast-Error reports one of these two error codes (depending on the
driver).
Apart from increasing your log file size, can you check the number of
i/o processes and if some other process is doing i/o as well. I think
windows has some processonitor for this.
--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
Cagdas CUBUKCU
2009-12-18 16:26:52 UTC
Permalink
Ok, it's been some time since this problem, but we could finally resolve it.
I wanted to report back here so it gets archived and helps anyone who has a
similar problem in the future.

Since the server is a virtual server, there is a Sync Driver that quiescies
the hard drive before VMWare takes a snapshot. This process stops all I/O
requests to the drive and makes MySQL crash with the error code mentioned
below.

So, it looks like disabling the Sync Driver did the trick.

Thanks,
Cagdas
Post by Cagdas CUBUKCU
Hi all,
Thanks for your suggestions. The problem is solved I guess, no problems
reported after I made the changes.
As suggested, increased the log file sizes.
Changed innodb_buffer_pool_size from 128M to 256M.
Changed innodb_log_file_size from 5M to 64M.
Also changed innodb_thread_concurrency from 20 to 8. This might have helped
as well.
-Cagdas
Post by Raj Shekhar
Post by Cagdas CUBUKCU
Hi,
We are getting "InnoDB: Operating system error number 1784" error on
MySQL
Post by Cagdas CUBUKCU
and it just shuts down after getting the error.
<http://msdn.microsoft.com/en-us/library/cc500408.aspx>
# ERROR_INVALID_USER_BUFFER or ERROR_NOT_ENOUGH_MEMORY Each device
driver maintains a fixed-size list (in a nonpaged pool) of
outstanding I/O requests. If this list is full, the system can’t
queue your request, ReadFile and WriteFile return FALSE, and
GetLast-Error reports one of these two error codes (depending on the
driver).
Apart from increasing your log file size, can you check the number of
i/o processes and if some other process is doing i/o as well. I think
windows has some processonitor for this.
--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
Loading...