Bug 57962

Summary: Mono 5.0 regression with IronPython 2.7.7
Product: [Mono] Class Libraries Reporter: Alex Earl <slide.o.mix>
Component: System.CoreAssignee: Bugzilla <bugzilla>
Status: CONFIRMED ---    
Severity: major CC: bernhard.urban, github.com, ludovic, masafa, mono-bugs+mono, mono-bugs+runtime, slide.o.mix
Priority: ---    
Version: 5.4 (2017-06)   
Target Milestone: Future Release   
Hardware: PC   
OS: All   
Tags: bugpool Is this bug a regression?: Yes
Last known good build:
Attachments: Log from user

Description Alex Earl 2017-07-05 22:39:20 UTC
Created attachment 23314 [details]
Log from user

1) Download https://github.com/IronLanguages/main/releases/download/ipy-2.7.7/IronPython-2.7.7-win.zip
2) unzip
3) mono --trace ./ipy.exe

Expected (and behavior under 4.8): an IronPython REPL will start
Actual: stackoverflow/core dump

The exact same binaries will start a REPL on 4.8, but have a stackoverflow from some weird recursive call. This is a regression in mono 5.0.

Also, see https://github.com/IronLanguages/ironpython2/issues/37 for the issue reported by a user.
Comment 1 Ludovic Henry 2017-07-05 23:56:22 UTC

I can reproduce with the information you provided. The change in Mono is we switched the System.Linq.Expressions implementation from ReferenceSource to CoreFX.

Thank you,
Comment 2 Bernhard Urban 2017-09-14 19:51:28 UTC
From a conversation with Alex:

> So, for this issue, the interesting thing is if I BUILD the code using
> the newer mono version, I don't see the issue, it's only if I run a
> version of IPy that was built with 4.8 that the issue arises

is that something supposed to work? Also:

> It works fine to build something on 5.x and then run under 4.8

So the other way around works.
Comment 3 Bernhard Urban 2017-09-19 08:04:03 UTC
from a conversation with Marek:

> Marek Safar [23:04]:
> @lewurm interesting, this is the first time we have this kind of issue
> it’s supported unless it’s a bug which in this case would probably have to mcs bug or some really obscure bcl hole
Comment 4 Marek Safar 2017-10-02 14:25:32 UTC
I can still reproduce it with Mono 5.4. Running bundled ipy (which is what we build and distribute) fails for me

$ ipy --version
Unhandled exception:
Traceback (most recent call last):
TypeError: Value cannot be null.
Parameter name: method
Comment 5 Alex Earl 2017-10-02 15:56:01 UTC
Does mono build the latest ipy? The repository changed to IronLanguages/ironpython2 instead of IronLanguages/main, so just want to make sure that you are grabbing the correct code for distribution.
Comment 6 Marek Safar 2017-10-02 16:41:47 UTC
We are building it using our script at https://github.com/mono/mono/blob/master/packaging/MacSDK/ironlangs.py
Comment 7 Alex Earl 2017-10-02 16:46:36 UTC
That looks like an incredibly old version to me. IronRuby is no longer supported at all and there is no longer an IronPython.Mono.sln. Is this only distributed on macOS?