<div dir="ltr">Could you please file a bug report?</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Sat, Mar 2, 2013 at 2:37 PM, Vladimir Dimitrov <span dir="ltr"><<a href="mailto:vlad.dimitrov@gmail.com" target="_blank">vlad.dimitrov@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Recently I received a strange error on one of our servers which run mono 2.10.8.1 on Ubuntu 12.4:<br>
<br>
System.AggregateException: One or more errors occured ---> System.StackOverflowException: The requested operation caused a stack overflow.<br>
  at System.Collections.Concurrent.<u></u>SplitOrderedList`2[System.<u></u>String,System.Collections.<u></u>Generic.KeyValuePair`2[System.<u></u>String,System.Collections.<u></u>Generic.IEnumerable`1[<u></u>Warehouse.Sync.Common.<u></u>ChangeItem]]].GetParent (UInt32 v) [0x00000] in <filename unknown>:0<br>

  at System.Collections.Concurrent.<u></u>SplitOrderedList`2[System.<u></u>String,System.Collections.<u></u>Generic.KeyValuePair`2[System.<u></u>String,System.Collections.<u></u>Generic.IEnumerable`1[<u></u>Warehouse.Sync.Common.<u></u>ChangeItem]]].InitializeBucket (UInt32 b) [0x00000] in <filename unknown>:0<br>

  at System.Collections.Concurrent.<u></u>SplitOrderedList`2[System.<u></u>String,System.Collections.<u></u>Generic.KeyValuePair`2[System.<u></u>String,System.Collections.<u></u>Generic.IEnumerable`1[<u></u>Warehouse.Sync.Common.<u></u>ChangeItem]]].InitializeBucket (UInt32 b) [0x00000] in <filename unknown>:0<br>

  at System.Collections.Concurrent.<u></u>SplitOrderedList`2[System.<u></u>String,System.Collections.<u></u>Generic.KeyValuePair`2[System.<u></u>String,System.Collections.<u></u>Generic.IEnumerable`1[<u></u>Warehouse.Sync.Common.<u></u>ChangeItem]]].InitializeBucket (UInt32 b) [0x00000] in <filename unknown>:0<br>

<br>
This continued in the logs for several megabytes. Looking at the code (<a href="https://github.com/mosa/Mono-Class-Libraries/blob/master/mcs/class/corlib/System.Collections.Concurrent/SplitOrderedList.cs" target="_blank">https://github.com/mosa/Mono-<u></u>Class-Libraries/blob/master/<u></u>mcs/class/corlib/System.<u></u>Collections.Concurrent/<u></u>SplitOrderedList.cs</a>) it looks perfectly normal to happen.<br>

<br>
Looks like if InitializeBucket receives 0 then GetParrent will return 0. GetBucket can return null too if list it checks in is empty and then the whole thing gets into infinite recursion... Any idea on how this situation happens/can be avoided and if anybody else encountered a similar problem?<br>

<br>
Thanks,<br>
 Vladimir Dimitrov<br>
______________________________<u></u>_________________<br>
Mono-devel-list mailing list<br>
<a href="mailto:Mono-devel-list@lists.ximian.com" target="_blank">Mono-devel-list@lists.ximian.<u></u>com</a><br>
<a href="http://lists.ximian.com/mailman/listinfo/mono-devel-list" target="_blank">http://lists.ximian.com/<u></u>mailman/listinfo/mono-devel-<u></u>list</a><br>
</blockquote></div><br></div>