[Opensim-users] async_call_method Exception thrown when attempting to load an IAR; OS 0.7.2 Dev (r/16668)

Justin Clark-Casey jjustincc at googlemail.com
Wed Sep 7 21:52:12 UTC 2011


An async_call_method thread is sometimes running through an enumeration while another thread changes the collection, 
which results in this error.  It's some kind of race condition since this doesn't occur consistently.

This is a different problem from that seen in Mantis 5669.

It's very unfortunate that there's no other log information here (I'm assuming that you're not missing anything out), 
since there's no indication as to where in the code this is occurring.  Finding it might mean a forensic analysis of the 
code called by IAR loading, and even then it could be triggered by other processes occurring in parallel.

The changes are this has been occurring some time and has only recently been revealed by logging exceptions that come to 
the top of async_call_method threads.  We may have to comment this logging out temporarily for the release.

On 07/09/11 12:12, Chris wrote:
> Hi all. On latest master (r/16668) I've been getting some weird exceptions after attempting to load
> an IAR. Some times I'll get multiple errors, sometimes only a few or one, or sometimes the exception
> is not thrown. Doesn't seem to matter which avatar I attempt to load to or how big the IAR is. What
> could be causing this?
>
> Thanks :)
>
> Error:
>
> 06:07:25 - [UTIL]: Continuing after async_call_method thread terminated with exc
> eption Collection was modified; enumeration operation may not execute. at Syst
> em.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource)
> 06:07:25 - [UTIL]: Continuing after async_call_method thread terminated with exc
> eption Collection was modified; enumeration operation may not execute. at Syst
> em.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource)
> 06:07:25 - [UTIL]: Continuing after async_call_method thread terminated with exc
> eption Collection was modified; enumeration operation may not execute. at Syst
> em.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource)
> 06:07:25 - [UTIL]: Continuing after async_call_method thread terminated with exc
> eption Collection was modified; enumeration operation may not execute. at Syst
> em.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource)
> 06:07:25 - [UTIL]: Continuing after async_call_method thread terminated with exc
> eption Collection was modified; enumeration operation may not execute. at Syst
> em.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource)
> 06:07:25 - [UTIL]: Continuing after async_call_method thread terminated with exc
> eption Collection was modified; enumeration operation may not execute. at Syst
> em.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource)
> 06:07:25 - [UTIL]: Continuing after async_call_method thread terminated with exc
> eption Collection was modified; enumeration operation may not execute. at Syst
> em.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource)
>


-- 
Justin Clark-Casey (justincc)
http://justincc.org/blog
http://twitter.com/justincc



More information about the Opensim-users mailing list