Inspection of the EventQueueGetModule revealed some places where we weren't locking a client queue properly to protect against competing threads.

I improved this in git master 839c1cd. This might help. If not, please could you open a new mantis and put this information in there.

Thanks Chris!

On 23/09/11 18:35, Chris wrote:
I am not sure if this is related to the OS console freeze but I just got an 
exception message this time on console freeze:

12:32:06 - [APPLICATION]:
APPLICATION EXCEPTION DETECTED: System.UnhandledExceptionEventArgs

Exception: System.ArgumentException: Destination array was not long enough. Chec
k destIndex and length, and the array's lower bounds.

Server stack trace:
at System.Array.Copy(Array sourceArray, Int32 sourceIndex, Array destinationA
rray, Int32 destinationIndex, Int32 length, Boolean reliable)
at System.Collections.Generic.Queue`1.SetCapacity(Int32 capacity)
at System.Collections.Generic.Queue`1.Enqueue(T item)
at OpenSim.Region.ClientStack.Linden.EventQueueGetModule.Enqueue(OSD ev, UUID
avatarID) in c:\Documents and Settings\Chris\Desktop\opensim-tree-cbd2705 r1674
4\OpenSim\Region\ClientStack\Linden\Caps\EventQueue\EventQueueGetModule.cs:line
182
at OpenSim.Region.ClientStack.Linden.EventQueueGetModule.EstablishAgentCommun
ication(UUID avatarID, IPEndPoint endPoint, String capsPath) in c:\Documents and
Settings\Chris\Desktop\opensim-tree-cbd2705 r16744\OpenSim\Region\ClientStack\L
inden\Caps\EventQueue\EventQueueGetModule.cs:line 660
at OpenSim.Region.CoreModules.Framework.EntityTransfer.EntityTransferModule.I
nformClientOfNeighbourAsync(ScenePresence sp, AgentCircuitData a, GridRegion reg
, IPEndPoint endPoint, Boolean newAgent) in c:\Documents and Settings\Chris\Desk
top\opensim-tree-cbd2705 r16744\OpenSim\Region\CoreModules\Framework\EntityTrans
fer\EntityTransferModule.cs:line 1355
at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(
IntPtr md, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInCont
ext, Object[]& outArgs)
at System.Runtime.Remoting.Messaging.StackBuilderSink.PrivateProcessMessage(R
untimeMethodHandle md, Object[] args, Object server, Int32 methodPtr, Boolean fE
xecuteInContext, Object[]& outArgs)
at System.Runtime.Remoting.Messaging.StackBuilderSink.AsyncProcessMessage(IMe
ssage msg, IMessageSink replySink)

Exception rethrown at [0]:
at System.Runtime.Remoting.Proxies.RealProxy.EndInvokeHelper(Message reqMsg,
Boolean bProxyCase)
at System.Runtime.Remoting.Proxies.RemotingProxy.Invoke(Object NotUsed, Messa
geData& msgData)
at OpenSim.Region.CoreModules.Framework.EntityTransfer.EntityTransferModule.I
nformClientOfNeighbourDelegate.EndInvoke(IAsyncResult result)
at OpenSim.Region.CoreModules.Framework.EntityTransfer.EntityTransferModule.I
nformClientOfNeighbourCompleted(IAsyncResult iar) in c:\Documents and Settings\C
hris\Desktop\opensim-tree-cbd2705 r16744\OpenSim\Region\CoreModules\Framework\En
tityTransfer\EntityTransferModule.cs:line 1301
at System.Runtime.Remoting.Messaging.AsyncResult.SyncProcessMessage(IMessage
msg)
at System.Runtime.Remoting.Messaging.StackBuilderSink.AsyncProcessMessage(IMe
ssage msg, IMessageSink replySink)
at System.Runtime.Remoting.Proxies.AgileAsyncWorkerItem.DoAsyncCall()
at System.Runtime.Remoting.Proxies.AgileAsyncWorkerItem.ThreadPoolCallBack(Ob
ject o)
at System.Threading._ThreadPoolWaitCallback.WaitCallback_Context(Object state
)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, C
ontextCallback callback, Object state)
at System.Threading._ThreadPoolWaitCallback.PerformWaitCallbackInternal(_Thre
adPoolWaitCallback tpWaitCallBack)
at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback(Object state)


Application is terminating: True


Hope this helps
Thank you =)
_______________________________________________
Opensim-users mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/opensim-users



--
Justin Clark-Casey (justincc)
http://justincc.org/blog
http://twitter.com/justincc
_______________________________________________
Opensim-users mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/opensim-users

Reply via email to