Search Unity

Bug Experimental Mono broken on Linux

Discussion in 'Linux' started by PJayB, Dec 9, 2017.

  1. PJayB

    PJayB

    Unity Technologies

    Joined:
    Apr 24, 2017
    Posts:
    105
    Hi all,

    This week we identified an issue introduced to upstream Mono which severely impacts Linux Editor Beta users using Experimental Mono. As far as I can tell, this applies to all versions of the Linux Editor Beta.

    The issue will usually manifest itself as an error in your Console where background jobs will fail, e.g. Enlighten baking, shader compilation failures, and so on. However, it's likely there are more stability implications that go beyond these error messages, such as random crashes and other unexpected behavior.

    We're currently verifying a potential fix with the Mono Project and our own QA. You will need to switch to stock Mono in the Project Settings and restart your Editor for the changes to take effect. However, be cautious, because any Experimental Mono features your projects make use of will no longer function correctly.

    Thanks.
     
    Last edited: Feb 14, 2018
  2. spacepluk

    spacepluk

    Joined:
    Aug 26, 2015
    Posts:
    243
    Thanks! When you say "beta" here, it applies to all the Linux builds, right?
     
  3. PJayB

    PJayB

    Unity Technologies

    Joined:
    Apr 24, 2017
    Posts:
    105
    Yes, that's correct. The formal name for the Linux Editor is the Linux Editor Beta, so I meant all Linux versions of the Editor to date.
     
    spacepluk likes this.
  4. DylanDocherty

    DylanDocherty

    Joined:
    Jan 22, 2018
    Posts:
    6
    Has this been fixed yet?
    If not, in the above fix, is that in Unity editor project settings, i cant find any setting to switch to mono, and in monodevelop theres no setting to switch from monoBleedingEdge to anything else. Im running Ubuntu 16.04 LTS and Unity 2017.3.Op2 personal. Not sure if i just miss understood, could you please clarify.
     
  5. rjakob13

    rjakob13

    Joined:
    Apr 13, 2016
    Posts:
    45
    I changed the runtime version in the player settings like in attached screenshot. Open it in Edit / Project Settings / Player and then scroll down to "Other settings".
    RuntimeVersion.png
     
  6. DylanDocherty

    DylanDocherty

    Joined:
    Jan 22, 2018
    Posts:
    6
    aw, this didnt seem to fix my error. Owell time to post about it.
     
  7. IvanRibakov

    IvanRibakov

    Joined:
    Jan 23, 2018
    Posts:
    4
    How would one go about switching from Mono Bleeding Edge to stock Mono when using Linux for CI builds via CLI?
     
  8. Joseph-Ferano

    Joseph-Ferano

    Joined:
    Jul 18, 2008
    Posts:
    165
    Is this something that's also present on OSX? I have 2017.3f1 on Linux and the project opens fine. On OSX, the same project tracked by git, crashes on start up and the logs point to a crash while doing something with lightmaps. We are on MBE and as soon as I reverted to C# 4, the project now opens fine.
     
  9. Joseph-Ferano

    Joseph-Ferano

    Joined:
    Jul 18, 2008
    Posts:
    165
    You can edit the field in the ProjectSettings file directly.
     
  10. XaeroDegreaz

    XaeroDegreaz

    Joined:
    Feb 6, 2010
    Posts:
    15
    I don't understand how come this kind of stuff isn't baked into the editor release. I find it pretty unreasonable that these packages are pulled from an upstream source at build-time, and have the ability to completely grind-to-a-halt a CI process. Now we have to go through our entire project and convert back to different language features in order to get our projects to deploy again.

    @PJayB - Will you be updating this particular thread once the issue is resolved, or should we be monitoring for updates on this somewhere else?
     
    Last edited: Jan 30, 2018
  11. PJayB

    PJayB

    Unity Technologies

    Joined:
    Apr 24, 2017
    Posts:
    105
    I'm not sure what you mean. Mono and MBE are distributed with the Editor, and are never pulled from an upstream source.

    Yes, I will update this thread. We're integrating the upstream fix into 2018.1's MBE right now.
     
    Last edited: Jan 31, 2018
  12. SINe-DEPRECATED

    SINe-DEPRECATED

    Joined:
    Oct 15, 2016
    Posts:
    13
    How does one "switch to stock Mono"? This is configurable in the PlayerSettings, correct? Even with my attached settings, I am facing problems getting anything to compile. Specifically, I am encountering this probably related error.

    In the editor log, under the "Compiler Commandline Arguments", it looks like it's still using MonoBleedingEdge.
     

    Attached Files:

  13. gururise

    gururise

    Joined:
    Oct 12, 2016
    Posts:
    11
    Any updates? Not able to use the Unity ML-Agents in Linux unless I'm on Mono bleeding edge.
     
  14. Tak

    Tak

    Joined:
    Mar 8, 2010
    Posts:
    1,001
  15. fake-unity-user-6

    fake-unity-user-6

    Joined:
    Jun 6, 2017
    Posts:
    1
    Now I can actually use the editor, thanks! Will there be any further beta updates before the final release?
     
  16. AurimasBlazulionis

    AurimasBlazulionis

    Joined:
    Aug 13, 2013
    Posts:
    209
    I would assume it depends on how long until the final release. If there are 5 more betas and then RCs afterwards I would expect one more before the final one.
     
  17. kiroma

    kiroma

    Joined:
    Feb 4, 2016
    Posts:
    1
    Is it possible to use the version of mono installed on system instead of the one provided with the Editor?
     
  18. gururise

    gururise

    Joined:
    Oct 12, 2016
    Posts:
    11
    Any chance of getting an updated 2017.3 build that fixes the issue?
     
  19. Tak

    Tak

    Joined:
    Mar 8, 2010
    Posts:
    1,001
    No, Unity's mono runtime is heavily customized.
     
  20. Tak

    Tak

    Joined:
    Mar 8, 2010
    Posts:
    1,001
    Sorry, it looks like backporting the fixes to 2017.3 would be pretty involved, and the team is focusing on making the new runtime/framework solid on 2018.x+.
     
    mosaic_school likes this.
  21. LearningNot

    LearningNot

    Joined:
    Sep 30, 2015
    Posts:
    106
    i get segfault on new fresh project, mono 5.14.0 do i need to downgrade or something
     
  22. Tak

    Tak

    Joined:
    Mar 8, 2010
    Posts:
    1,001
    The version of mono you have installed on your system doesn't affect Unity.
    If you're experiencing a crash, please file a bug report.
     
  23. MrDyrektor

    MrDyrektor

    Joined:
    Nov 13, 2016
    Posts:
    14
    Any news about fix of this issue? Will it be fixed in 2018.3?
     
  24. Tak

    Tak

    Joined:
    Mar 8, 2010
    Posts:
    1,001
    It was already fixed in 2018.1.
    If you're experiencing crashes, please file a bug report.
     
    HZ51 and septN like this.
  25. CommunityUS

    CommunityUS

    Joined:
    Sep 2, 2011
    Posts:
    240
    I'm not sure if this is directly related to the "Failed to load Mono. Please see Editor.log file for more information." But here is what I have found out.

    From Editor.log:

    Unable to load mono library from /home/user/Unity/Hub/Editor/2018.3.9f1/Editor/Data/MonoBleedingEdge/MonoEmbedRuntime/libmonobdwgc-2.0.so



    On Debian with SteamOS all hooked up with beta packages from valves repos so that Vulkan drivers are working on a nvidia old alienware alpha r1...

    I can create, open, close and reopen all day long with 2018.3.9f1 with the "3D template" from unity hub 1.6 (platform selected linux x86_64 [not a server build fyi]) if I try to take advantage of the new Vulkan API by moving it to the top of "build -> player settings ->" uncheck -> "Auto graphics API for Linux" that is how I get the error. Just unchecking makes it so it doesn't find mono. Of course the goal is to move Vulkan to top and remove OpenGL Core. Then HD pipeline native in 2018.3 in editor using Vulkan. But for now I was going to settle for Standard pipeline on Vulkan but can't do that. as described above.

    If I try to create a "3d template" from unity hub 1.6 targeting 2019.1.0b8 i get the error right away.
    - now i can downgrade and open this with Unity 2018.3.9f1 just fine, only get a error on packages, the Analytics Library what not, and then the package manager ui 2.1.1 obviously won't work from 2019 to 2018, but this is not what I am reporting. It just seems like the mono location got borked. both in the vulkan graphics api settings and then in 2019 by default can't even create a basic 3d project.

    [update]
    i did notice that on 2018.3.9f1 i tried adding the Windows and Mac build support which include (mono) and that the 2019.1.0b8 did not have those components downloaded/installed via the Unity Hub 1.6, trying to add those components now.

    [find] nope same error on 2019.1.0b8 as before even with the mono build target support for Windows/Mac...again I am not trying to target those I am just trying to target Linux x86_64 but 2019.1.0b8 nope, 2018.3.9f1 3d template still working fine so long as don't try to use new Vulkan api in build settings

    [confirmed] same error creating 3d template 2019.2.0a9
    /home/user/Unity/Hub/Editor/2019.2.0a9/Editor/Data/MonoBleedingEdge/MonoEmbedRuntime/libmonobdwgc-2.0.so



    [also]
    just posting here as not sure when i will have time to create a new forum.
    the Total Space Required and Space Available on unity hub 1.6 still not calculating correctly. now matter how much space I have always says 5.8 gb avail. i have tried many different configurations to gleam where the Unity Hub is pulling that space query from to no avail
     
    Last edited: Mar 28, 2019
    HZ51 likes this.
  26. HZ51

    HZ51

    Joined:
    Jul 28, 2016
    Posts:
    42
    It calculates available space only for "/" even if you have 200gb available for "/home/" and in the hub settings you will install to "/home/..."- it will say that you have a space avail for "/" mount point.
    But it can be two different partitions.
     
    Dream_line and CommunityUS like this.