[Mono-bugs] [Bug 381547] New: Bad IL codegen when running F# FSI	console
    bugzilla_noreply at novell.com 
    bugzilla_noreply at novell.com
       
    Fri Apr 18 17:10:11 EDT 2008
    
    
  
https://bugzilla.novell.com/show_bug.cgi?id=381547
           Summary: Bad IL codegen when running F# FSI console
           Product: Mono: Runtime
           Version: 1.9.0
          Platform: PC
        OS/Version: Windows Vista
            Status: NEW
          Severity: Normal
          Priority: P5 - None
         Component: JIT
        AssignedTo: lupus at novell.com
        ReportedBy: chrsmith at microsoft.com
         QAContact: mono-bugs at lists.ximian.com
          Found By: ---
Description of Problem:
A System.InvalidProgramException is thrown when compiling F# code through a F#
Interactive session.
Steps to reproduce the problem:
1. Download the latest F# research release (currently 1.9.3.14) at:
http://research.microsoft.com/fsharp/release.aspx
2. Run 'mono fsi.exe'
3. Type the following lines into the console (the ';;' compiles the line of
code, and type "#q;;" to quit.)
let mapR a b f = List.init (b-a+1) (fun i -> f (i+a));;
mapR 1 2 (fun x -> x);;
#q;;
Actual Results:
Evaluates and prints "[1; 2]"
Expected Results:
Crash (see below)
How often does this happen? 
Every time.
Additional Information:
If you need anything else, please let me know at:
chrsmith at Microsoft.com
C:\Users\chrsmith\MonoBug>mono "c:\Program Files\FSharp-1.9.3.14\bin\fsi.exe"
MSR F# Interactive, (c) Microsoft Corporation, All Rights Reserved
F# Version 1.9.3.14, compiling for .NET Framework Version v2.0.50727
NOTE:
NOTE: See 'fsi --help' for flags
NOTE:
NOTE: Commands: #r <string>;;    reference (dynamically load) the given DLL.
NOTE:           #I <string>;;    add the given search path for referenced DLLs.
NOTE:           #use <string>;;  accept input from the given file.
NOTE:           #load <string> ...<string>;;
NOTE:                            load the given file(s) as a compilation unit.
NOTE:           #time;;          toggle timing on/off.
NOTE:           #types;;         toggle display of types on/off.
NOTE:           #quit;;          exit.
NOTE:
NOTE: Visit the F# website at http://research.microsoft.com/fsharp.
NOTE: Bug reports to fsbugs at microsoft.com. Enjoy!
> let mapR a b f = List.init (b-a+1) (fun i -> f (i+a));;
val mapR : int -> int -> (int -> 'a) -> 'a list
> mapR 1 2 (fun x -> x);;
System.InvalidProgramException: Invalid IL code in mapR at 1:.ctor
(int,Microsoft.FSharp.Core.FastFunc`2): IL_0000: ldloc.2
  at FSI_0002.mapR[Int32] (Int32 a, Int32 b, Microsoft.FSharp.Core.FastFunc`2
f) [0x00000]
  at <StartupCode$FSI_0003>.FSI_0003._main () [0x00000]
  at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke
(object,object[])
  at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags
invokeAttr, System.Reflection.Binder binder, System.Object[] parameters,
System.Globalization.CultureInfo culture) [0x0000
stopped due to error
> #q;;
-- 
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
    
    
More information about the mono-bugs
mailing list