This thread looks to be a little on the old side and therefore may no longer be relevant. Please see if there is a newer thread on the subject and ensure you're using the most recent build of any software if your question regards a particular product.
This thread has been locked and is no longer accepting new posts, if you have a question regarding this topic please email us at support@mindscape.co.nz
|
Hello, For no particular reason (frequently) the application will "hang" due to exception copypasted below. Also I found similar bug on the mysql.com forums: http://bugs.mysql.com/bug.php?id=16763 Event code: 3005 Event message: An unhandled exception has occurred. Event time: 3/10/2009 4:11:35 PM Event time (UTC): 3/10/2009 11:11:35 PM Event ID: 0ade3c6ffb1e48d787c5c416d714efaa Event sequence: 192 Event occurrence: 5 Event detail code: 0 Application information: Application domain: /LM/W3SVC/4/ROOT-1-128811986641080000 Trust level: Full Application Virtual Path: / Application Path: E:\Backend\ Machine name: NICHE-VOD01 Process information: Process ID: 4060 Process name: w3wp.exe Account name: NT AUTHORITY\NETWORK SERVICE Exception information: Exception type: IndexOutOfRangeException Exception message: Probable I/O race condition detected while copying memory. The I/O package is not thread safe by default. In multithreaded applications, a stream must be accessed in a thread-safe way, such as a thread-safe wrapper returned by TextReader's or TextWriter's Synchronized methods. This also applies to classes like StreamWriter and StreamReader. Request information: Request URL: http://olderwomenvideos.com:8080/ppmusage.aspx Request path: /ppmusage.aspx User host address: 68.0.154.30 User: Is authenticated: False Authentication Type: Thread account name: NT AUTHORITY\NETWORK SERVICE Thread information: Thread ID: 9 Thread account name: NT AUTHORITY\NETWORK SERVICE Is impersonating: False Stack trace: at System.Buffer.InternalBlockCopy(Array src, Int32 srcOffset, Array dst, Int32 dstOffset, Int32 count) at System.IO.BufferedStream.Read(Byte[] array, Int32 offset, Int32 count) at MySql.Data.MySqlClient.MySqlStream.Read(Byte[] buffer, Int32 offset, Int32 count) at MySql.Data.MySqlClient.MySqlStream.ReadByte() at MySql.Data.MySqlClient.MySqlStream.SkipBytes(Int32 len) at MySql.Data.MySqlClient.MySqlStream.OpenPacket() at MySql.Data.MySqlClient.NativeDriver.ReadResult(UInt64& affectedRows, Int64& lastInsertId) at MySql.Data.MySqlClient.MySqlDataReader.GetResultSet() at MySql.Data.MySqlClient.MySqlDataReader.NextResult() at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior) at MySql.Data.MySqlClient.MySqlCommand.ExecuteNonQuery() at MySql.Data.MySqlClient.MySqlConnection.BeginTransaction(IsolationLevel iso) at MySql.Data.MySqlClient.MySqlConnection.BeginDbTransaction(IsolationLevel isolationLevel) at System.Data.Common.DbConnection.System.Data.IDbConnection.BeginTransaction(IsolationLevel isolationLevel) at Mindscape.LightSpeed.UnitOfWork.BeginTransaction(IsolationLevel isolationLevel) at Mindscape.LightSpeed.UnitOfWork.SaveChanges(Boolean reset) at V8DAC.V8Data.SubmitChanges() at V8Admin_LS.ppmusage.Page_Load(Object sender, EventArgs e) at System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) at System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) at System.Web.UI.Control.OnLoad(EventArgs e) at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) Custom event details: |
|
|
From the stack trace and from the MySQL bug report you link to, this appears to be a bug in the MySQL client. The only way I can think of that LightSpeed could be involved in this issue is if you are sharing a UnitOfWork (which encapsulates a connection) across multiple threads. Unless that's the case, I'm afraid you're probably best off reporting this issue to the MySQL guys -- we will of course be happy to help them if they need to understand how LightSpeed is calling MySQL. In the meantime, you could try experimenting with changing the connection pooling setting in the connection string -- I did notice MySQL took a different code path in terms of instantiating its native driver (and therefore its network streams) depending on the connection pooling setting, but don't know the MySQL source well enough to investigate. |
|
|
Thanks Ivan, Yes, I was using UnitOfWork as a static variable in my web app, so all requests to my app were using same instance of UOW. I've started creating a separate instance of UOW for every request, and that seems to solve the issue. Also, maybe Sun guys have already fixed that bug? Most recent version of their 5.0 connector is 5.1.32, but you are atill using 5.1.4 which is more than 3 years old in your LightSpeed 2.2 |
|
|
Good point about updating the database driver. We probably won't update the shipped DLLs in 2.x, but I've logged a work item for us to do a general pass on all the included DLLs in 3.0. |
|
|
Is their a way we can repalce the MySQL driver out self ? Right now we have to pull the app that was using Lightspeed and MySQL from produciton because of the issues we have with the driver that is shipped with your product. Jay Here is the common error we get
Normal 0 false false false EN-US X-NONE X-NONE /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-qformat:yes; mso-style-parent:""; mso-padding-alt:0in 5.4pt 0in 5.4pt; mso-para-margin:0in; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:11.0pt; font-family:"Calibri","sans-serif"; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-fareast-font-family:"Times New Roman"; mso-fareast-theme-font:minor-fareast; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin;} [MySqlException (0x80004005): error connecting: Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached.] MySql.Data.MySqlClient.MySqlPool.GetConnection() +229 MySql.Data.MySqlClient.MySqlConnection.Open() +268 Mindscape.LightSpeed.UnitOfWork.() +55 Mindscape.LightSpeed.UnitOfWork.PrepareCommand(IDbCommand command) +40
. .(TypeModel , Query , IList ) +105
Mindscape.LightSpeed.UnitOfWork.Find(Query query, IList results) +69 Mindscape.LightSpeed.UnitOfWorkBase.Find(Query query) +131
|
|