Bug 57962 - Mono 5.0 regression with IronPython 2.7.7
Summary: Mono 5.0 regression with IronPython 2.7.7
Status: CONFIRMED
Alias: None
Product: Class Libraries
Classification: Mono
Component: System.Core (show other bugs)
Version: 5.4 (2017-06)
Hardware: PC All
: --- major
Target Milestone: Future Release
Assignee: Bugzilla
URL:
Depends on:
Blocks:
 
Reported: 2017-07-05 22:39 UTC by Alex Earl
Modified: 2017-10-02 16:46 UTC (History)
7 users (show)

See Also:
Tags: bugpool
Is this bug a regression?: Yes
Last known good build:


Attachments
Log from user (143.31 KB, application/x-zip-compressed)
2017-07-05 22:39 UTC, Alex Earl
Details

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
Hello,

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,
Ludovic
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?

Note You need to log in before you can comment on or make changes to this bug.