Oh, sorry, OrderedEnumerable is an internal framework class, this
work-around won't help you.

I'll ask the team of other options.


On Wed, Feb 29, 2012 at 3:27 PM, Dan Miser <[email protected]> wrote:

> That doesn't compile. There is no OrderedEnumerable class that I can find.
> Just the interface. Changing it to the interface also doesnt compile. I put
> the code in my Main.cs class.
>
> Any idea where I'm going wrong?
>
> Sent from my iPhone
>
> On Feb 29, 2012, at 11:48 AM, Rodrigo Kumpera <[email protected]> wrote:
>
> Hi,
>
> As simple workaround while we figure out how to fix it add a static method
> to you App class with the following:
>
> static void LinqWorkAround () {
>  System.Linq.OrderedEnumerable<Foo>.CreateOrderedEnumerable<int> (null,
> null, false);
> }
>
> This should take care of this crash. If you're building your project with
> user code linking enabled,
> make sure to have this method called during initialization, something like
> this:
>
> static bool dummy = false;
>
> static void main () {
>
> if (dummy)  LinqWorkAround ();
> }
>
>
>
> On Wed, Feb 29, 2012 at 2:24 PM, danmiser <[email protected]> wrote:
>
>> I've searched through this group, StackOverflow, and the MT bugzilla list.
>> There are a lot of mentions about this, but I'm having a hard time finding
>> an authoritative answer. Assume the following code:
>>
>> var list = new List<Foo>();
>> list.Add (new Foo { Id = 3, Name="def"});
>> list.Add (new Foo { Id = 2, Name="def"});
>> list.Add (new Foo { Id = 1, Name="ggg"});
>> var x = from l in list orderby l.Name, l.Id select l;
>> foreach (var item in x) { ... do something ... }
>>
>> public class Foo {
>>  public int Id { get; set; }
>>  public string Name { get; set; }
>> }
>>
>> When running on the device, I get the info pasted below.
>>
>> Notes:
>> 1. This only fails on the device
>> 2. It doesn't fail if you just have one orderby item
>>
>> I have a lot of LINQ in my POCO classes, and I wouldn't relish the idea of
>> unwinding it all.
>>
>> What do I need to do to make this work?
>>
>> Unhandled Exception: System.ExecutionEngineException: Attempting to JIT
>> compile method
>> 'System.Linq.OrderedEnumerable`1<Foo>:CreateOrderedEnumerable<int>
>> (System.Func`2<Foo,
>> int>,System.Collections.Generic.IComparer`1<int>,bool)'
>> while running with --aot-only.
>>
>>  at System.Linq.Enumerable.ThenBy[Foo,Int32] (IOrderedEnumerable`1 source,
>> System.Func`2 keySelector, IComparer`1 comparer) [0x00007] in
>>
>> /Developer/MonoTouch/Source/mono/mcs/class/System.Core/System.Linq/Enumerable.cs:2787
>>  at System.Linq.Enumerable.ThenBy[Foo,Int32] (IOrderedEnumerable`1 source,
>> System.Func`2 keySelector) [0x00000] in
>>
>> /Developer/MonoTouch/Source/mono/mcs/class/System.Core/System.Linq/Enumerable.cs:2779
>>  at TestLibrary.HelloContext.List () [0x00006] in
>> /Users/danmiser/code/MonoTouchRestDemo/TestLibrary/MyClass.cs:18
>>  at MonoTouchRestDemo.MonoTouchRestDemoViewController.<ViewDidLoad>m__0
>> (System.Object sender, System.EventArgs e) [0x00006] in
>>
>> /Users/danmiser/code/MonoTouchRestDemo/MonoTouchRestDemo/MonoTouchRestDemoViewController.cs:38
>>  at MonoTouch.UIKit.UIControlEventProxy.Activated () [0x00000] in
>> /Developer/MonoTouch/Source/monotouch/src/UIKit/UIControl.cs:30
>>  at MonoTouch.UIKit.UIApplication.Main (System.String[] args,
>> System.String
>> principalClassName, System.String delegateClassName) [0x00042] in
>> /Developer/MonoTouch/Source/monotouch/src/UIKit/UIApplication.cs:29
>>  at MonoTouchRestDemo.Application.Main (System.String[] args) [0x00000] in
>> /Users/danmiser/code/MonoTouchRestDemo/MonoTouchRestDemo/Main.cs:16
>> [ERROR] FATAL UNHANDLED EXCEPTION: System.ExecutionEngineException:
>> Attempting to JIT compile method
>>
>> 'System.Linq.OrderedEnumerable`1<TestLibrary.HelloClone>:CreateOrderedEnumerable<int>
>> (System.Func`2<TestLibrary.HelloClone,
>> int>,System.Collections.Generic.IComparer`1<int>,bool)' while running with
>> --aot-only.
>>
>>  at System.Linq.Enumerable.ThenBy[Foo,Int32] (IOrderedEnumerable`1 source,
>> System.Func`2 keySelector, IComparer`1 comparer) [0x00007] in
>>
>> /Developer/MonoTouch/Source/mono/mcs/class/System.Core/System.Linq/Enumerable.cs:2787
>>  at System.Linq.Enumerable.ThenBy[Foo,Int32] (IOrderedEnumerable`1 source,
>> System.Func`2 keySelector) [0x00000] in
>>
>> /Developer/MonoTouch/Source/mono/mcs/class/System.Core/System.Linq/Enumerable.cs:2779
>>  at TestLibrary.HelloContext.List () [0x00006] in
>> /Users/danmiser/code/MonoTouchRestDemo/TestLibrary/MyClass.cs:18
>>  at MonoTouchRestDemo.MonoTouchRestDemoViewController.<ViewDidLoad>m__0
>> (System.Object sender, System.EventArgs e) [0x00006] in
>>
>> /Users/danmiser/code/MonoTouchRestDemo/MonoTouchRestDemo/MonoTouchRestDemoViewController.cs:38
>>  at MonoTouch.UIKit.UIControlEventProxy.Activated () [0x00000] in
>> /Developer/MonoTouch/Source/monotouch/src/UIKit/UIControl.cs:30
>>  at MonoTouch.UIKit.UIApplication.Main (System.String[] args,
>> System.String
>> principalClassName, System.String delegateClassName) [0x00042] in
>> /Developer/MonoTouch/Source/monotouch/src/UIKit/UIApplication.cs:29
>>  at MonoTouchRestDemo.Application.Main (System.String[] args) [0x00000] in
>> /Users/danmiser/code/MonoTouchRestDemo/MonoTouchRestDemo/Main.cs:16
>> Terminating runtime due to unhandled exception
>> Stacktrace:
>>
>>
>> Native stacktrace:
>>
>>        0   MonoTouchRestDemo                   0x01616970
>> mono_handle_native_sigsegv + 280
>>        1   MonoTouchRestDemo                   0x016396c4
>> sigabrt_signal_handler +
>> 180
>>        2   libsystem_c.dylib                   0x331b6539 _sigtramp + 48
>>        3   libsystem_c.dylib                   0x331abf5b pthread_kill +
>> 54
>>        4   libsystem_c.dylib                   0x331a4feb abort + 94
>>        5   MonoTouchRestDemo                   0x016f2774 monoeg_g_logv +
>> 152
>>        6   MonoTouchRestDemo                   0x016f27c0
>> monoeg_assertion_message
>> + 52
>>        7   MonoTouchRestDemo                   0x01600348
>> mono_thread_abort + 148
>>        8   MonoTouchRestDemo                   0x0161653c
>> mono_handle_exception_internal + 3188
>>        9   MonoTouchRestDemo                   0x01616740
>> mono_handle_exception +
>> 24
>>        10  MonoTouchRestDemo                   0x016382d8
>> mono_arm_throw_exception
>> + 172
>>        11  MonoTouchRestDemo                   0x005c361c throw_exception
>> + 48
>>        12  MonoTouchRestDemo                   0x01602910
>> mono_jit_compile_method
>> + 68
>>        13  MonoTouchRestDemo                   0x016a9ed8
>> mono_compile_method + 56
>>        14  MonoTouchRestDemo                   0x01619d10
>> common_call_trampoline +
>> 1364
>>        15  MonoTouchRestDemo                   0x01617de4
>> mono_vcall_trampoline +
>> 228
>>        16  MonoTouchRestDemo                   0x005c3528
>> generic_trampoline_vcall
>> + 136
>>        17  MonoTouchRestDemo                   0x003b1c5c
>>
>> System_Linq_Enumerable_ThenBy_TestLibrary_HelloClone_int_System_Linq_IOrderedEnumerable_1_TestLibrary_HelloClone_System_Func_2_TestLibrary_HelloClone_int
>> + 144
>>        18  MonoTouchRestDemo                   0x003b0ca0
>> TestLibrary_HelloContext_List + 512
>>        19  MonoTouchRestDemo                   0x006a9d34
>>
>> MonoTouchRestDemo_MonoTouchRestDemoViewController__ViewDidLoadm__0_object_System_EventArgs
>> + 300
>>        20  MonoTouchRestDemo                   0x0000edcc
>> MonoTouch_UIKit_UIControlEventProxy_Activated + 68
>>        21  MonoTouchRestDemo                   0x0057c188
>>
>> wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr
>> + 200
>>        22  MonoTouchRestDemo                   0x01602fbc
>> mono_jit_runtime_invoke
>> + 1644
>>        23  MonoTouchRestDemo                   0x016ab43c
>> mono_runtime_invoke +
>> 128
>>        24  MonoTouchRestDemo                   0x01707b54
>> monotouch_trampoline +
>> 3228
>>        25  CoreFoundation                      0x34321435 -[NSObject
>> performSelector:withObject:withObject:] + 52
>>        26  UIKit                               0x3778b9eb -[UIApplication
>> sendAction:to:from:forEvent:] + 62
>>        27  UIKit                               0x3778b9a7 -[UIApplication
>> sendAction:toTarget:fromSender:forEvent:] + 30
>>        28  UIKit                               0x3778b985 -[UIControl
>> sendAction:to:forEvent:] + 44
>>        29  UIKit                               0x3778b6f5
>> -[UIControl(Internal)
>> _sendActionsForEvents:withEvent:] + 492
>>        30  UIKit                               0x3778c02d -[UIControl
>> touchesEnded:withEvent:] + 476
>>        31  UIKit                               0x3778a50f -[UIWindow
>> _sendTouchesForEvent:] + 318
>>        32  UIKit                               0x37789f01 -[UIWindow
>> sendEvent:] +
>> 380
>>        33  UIKit                               0x377704ed -[UIApplication
>> sendEvent:] + 356
>>        34  UIKit                               0x3776fd2d
>> _UIApplicationHandleEvent + 5808
>>        35  GraphicsServices                    0x30ba2df3
>> PurpleEventCallback +
>> 882
>>        36  CoreFoundation                      0x3439b553
>> __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 38
>>        37  CoreFoundation                      0x3439b4f5
>> __CFRunLoopDoSource1 +
>> 140
>>        38  CoreFoundation                      0x3439a343 __CFRunLoopRun
>> + 1370
>>        39  CoreFoundation                      0x3431d4dd
>> CFRunLoopRunSpecific +
>> 300
>>        40  CoreFoundation                      0x3431d3a5
>> CFRunLoopRunInMode + 104
>>        41  GraphicsServices                    0x30ba1fcd GSEventRunModal
>> + 156
>>        42  UIKit                               0x3779e743
>> UIApplicationMain + 1090
>>        43  MonoTouchRestDemo                   0x00026cfc
>>
>> wrapper_managed_to_native_MonoTouch_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr
>> + 240
>>        44  MonoTouchRestDemo                   0x006a8f20
>> MonoTouchRestDemo_Application_Main_string__ + 152
>>        45  MonoTouchRestDemo                   0x0057c188
>>
>> wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr
>> + 200
>>        46  MonoTouchRestDemo                   0x01602fbc
>> mono_jit_runtime_invoke
>> + 1644
>>        47  MonoTouchRestDemo                   0x016ab43c
>> mono_runtime_invoke +
>> 128
>>        48  MonoTouchRestDemo                   0x016af6e8
>> mono_runtime_exec_main +
>> 436
>>        49  MonoTouchRestDemo                   0x016b435c
>> mono_runtime_run_main +
>> 756
>>        50  MonoTouchRestDemo                   0x01607344 mono_jit_exec +
>> 140
>>        51  MonoTouchRestDemo                   0x015ff550 main + 2168
>>        52  MonoTouchRestDemo                   0x00002504 start + 52
>>
>> --
>> View this message in context:
>> http://monotouch.2284126.n4.nabble.com/LINQ-and-OrderBy-again-tp4432245p4432245.html
>> Sent from the MonoTouch mailing list archive at Nabble.com.
>> _______________________________________________
>> MonoTouch mailing list
>> [email protected]
>> http://lists.ximian.com/mailman/listinfo/monotouch
>>
>
>
_______________________________________________
MonoTouch mailing list
[email protected]
http://lists.ximian.com/mailman/listinfo/monotouch

Reply via email to