Bug 17023 - * Assertion at ../../../../../mono/mono/mini/method-to-ir.c:12854, condition `var->opcode == OP_REGOFFSET' not met
Summary: * Assertion at ../../../../../mono/mono/mini/method-to-ir.c:12854, condition ...
Alias: None
Product: iOS
Classification: Xamarin
Component: XI runtime ()
Version: 7.0.6.x
Hardware: Macintosh Mac OS
: Normal normal
Target Milestone: 7.2.1
Assignee: Zoltan Varga
Depends on:
Reported: 2014-01-02 12:50 UTC by Dave Thomas
Modified: 2014-03-21 05:34 UTC (History)
3 users (show)

Is this bug a regression?: ---
Last known good build:

repro project (2.46 KB, application/x-gzip)
2014-01-02 12:50 UTC, Dave Thomas

Notice (2018-05-24): bugzilla.xamarin.com is now in read-only mode.

Please join us on Visual Studio Developer Community and in the Xamarin and Mono organizations on GitHub to continue tracking issues. Bugzilla will remain available for reference in read-only mode. We will continue to work on open Bugzilla bugs, copy them to the new locations as needed for follow-up, and add the new items under Related Links.

Our sincere thanks to everyone who has contributed on this bug tracker over the years. Thanks also for your understanding as we make these adjustments and improvements for the future.

Please create a new report on Developer Community or GitHub with your current version information, steps to reproduce, and relevant error messages or log files if you are hitting an issue that looks similar to this resolved bug and you do not yet see a matching new report.

Related Links:

Description Dave Thomas 2014-01-02 12:50:24 UTC
Created attachment 5745 [details]
repro project

The F# module in the attached F# Single View iOS project results in an AOT failure:

This is the module that causes the error:

module DevDiv_Bug_918202 = 
    type sideffect = (unit -> unit) 
    type 'a refopt = 'a ref option 
    type FwdRev<'x,'xb>(rev) = 
         let rev : 'xb refopt       = rev 
         member this.Rev with get() = rev 
    type FwdRevArray<'x,'xb> = FwdRev<'x[], 'xb ref[]> 
    let blit_b  (arr1 : FwdRevArray<'x,'xb>) start1 
                (arr2 : FwdRevArray<'x,'xb>) start2 len = 
        let reset =                                                                        
            let arr2b = !arr2.Rev.Value 
            let zeros = arr2b.[start2 .. start2+len-1] 
            let geti  = 
                let temp = !arr1.Rev.Value 
                fun i -> temp.[i] 
            for j in start2 .. start2+len-1 do                    
                arr2b.[j] <- geti (j-start2+start1)       
            fun () -> for j in start2 .. start2+len-1 do 
                            arr2b.[j] <- zeros.[j-start2] 
        (), reset
Comment 1 Miguel de Icaza [MSFT] 2014-01-03 18:41:13 UTC
Comment 2 Zoltan Varga 2014-01-04 07:20:18 UTC
Fixed in mono master 0ed2afe61d317e1db11b509bc2be9c25da8e25b2/mt master 60a98fd3e3605c4adc2d2e417629f76059426fbf.
Comment 3 Zoltan Varga 2014-03-12 18:05:30 UTC
Comment 4 Sadik Ali 2014-03-21 05:34:22 UTC
I debug attached application and not getting error, Also I implement bug description code into new iOS F# application and debug successfully.

Refer screen cast: http://screencast.com/t/qN1f5MGV

Hence I am marking this as verified.

Build Info:

=== Xamarin Studio ===
Version 4.2.4 (build 32)
Installation UUID: 449f40dd-b3f1-4028-9a6b-cca0d1a2307d
    Mono 3.2.6 ((no/9b58377)
    GTK+ 2.24.23 (Raleigh theme)
    Package version: 302060000

=== Apple Developer Tools ===
Xcode 5.1 (5084)
Build 5B130a

=== Xamarin.iOS ===
Version: (Business Edition)

=== Xamarin.Android ===
Version: 4.12.3 (Business Edition)

=== Xamarin.Mac ===

=== Build Information ===
Release ID: 402040032
Git revision: a160c35dac9ab9fd32eeadaa171216316d5a5133
Xamarin addins: a779416ceabd54981ce812771a4061c942e8b872

=== Operating System ===
Mac OS X 10.8.4
Darwin 360Logicas-Mac-mini.local 12.4.0 Darwin Kernel Version 12.4.0
    Sun Mar 10 18:01:10 PDT 2013
    root:xnu-2050.24.6~1/RELEASE_X86_64 x86_64