View Issue Details

IDProjectCategoryView StatusLast Update
00304312.x IDE BugsGeneralPublic2019-05-15 11:36
ReporterStewart BishopAssigned ToRussell Kay 
PriorityMediumSeverityA - Crash/HangReproducibility100%
Status ClosedResolutionFixed 
Product Version2.2.1 
Target Version2.2.3Fixed in Version2.2.3 
Summary0030431: General: Unable to start the IDE if using RDP and host PC is Windows 10 v1809
DescriptionLaunching the IDE when in a RDP session will cause GMS2 to fail to start, as the graphics device is not initialising properly since this Windows Update.

Starting GMS2 first locally (or even remotely via VNC) will allow it to start, at which point RDP will work fine thereafter until GMS2 is restarted.


[12:19:05:244(13b4)] --------------------------------------------------------------------------------
[12:19:05:245(13b4)] Main Exception Handler: System.Reflection.TargetInvocationException
[12:19:05:246(13b4)] Exception message: Exception has been thrown by the target of an invocation.
[12:19:05:253(13b4)] Exception stack: at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
   at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at YoYoStudio.GUI.Styles.StyleManager.(Object , PropertyInfo , StyleValue )
   at YoYoStudio.GUI.Styles.StyleManager.Set(Object _obj, List`1 _style, Boolean _fromLayout)
   at YoYoStudio.GUI.Layout.LayoutManager.BasicLoad[T](T _gadget, XmlElement _xmlNode)
   at YoYoStudio.GUI.Gadgets.Button.Load(XmlElement _node)
   at YoYoStudio.GUI.Layout.LayoutManager.CreateGadget(XmlElement _xmlNode, LayoutInstanceID _ownerLayout)
   at YoYoStudio.GUI.Gadgets.MenuBar.AddLayout(XmlElement _node, LayoutInstanceID _instance)
   at YoYoStudio.GUI.Layout.LayoutManager.BasicLoad[T](T _gadget, XmlElement _xmlNode)
   at YoYoStudio.GUI.Gadgets.StackPanel.Load(XmlElement _node)
   at YoYoStudio.GUI.Layout.LayoutManager.CreateGadget(XmlElement _xmlNode, LayoutInstanceID _ownerLayout)
   at YoYoStudio.GUI.Layout.LayoutManager.CreateGadgets(GUIBase _g, XmlElement _xmlNode, LayoutInstanceID _ownerLayout)
   at YoYoStudio.GUI.Layout.LayoutManager.AddGadgets(GUIBase _g, XmlElement _listNode, LayoutInstanceID _ownerLayout, Action`1 _addAction)
   at YoYoStudio.GUI.Layout.LayoutManager.BasicAddLayout[T](T _gadget, XmlElement _xmlNode, LayoutInstanceID _ownerLayout, Boolean _attachContextRightClick)
   at YoYoStudio.GUI.Gadgets.StackPanel.AddLayout(XmlElement _node, LayoutInstanceID _instance)
   at YoYoStudio.GUI.Layout.LayoutManager.BasicLoad[T](T _gadget, XmlElement _xmlNode)
   at YoYoStudio.GUI.Gadgets.StackPanel.Load(XmlElement _node)
   at YoYoStudio.GUI.Layout.LayoutManager.CreateGadget(XmlElement _xmlNode, LayoutInstanceID _ownerLayout)
   at YoYoStudio.GUI.Layout.LayoutManager.CreateGadgets(GUIBase _g, XmlElement _xmlNode, LayoutInstanceID _ownerLayout)
   at YoYoStudio.GUI.Layout.LayoutManager.AddGadgets(GUIBase _g, XmlElement _listNode, LayoutInstanceID _ownerLayout, Action`1 _addAction)
   at YoYoStudio.GUI.Layout.LayoutManager.BasicAddLayout[T](T _gadget, XmlElement _xmlNode, LayoutInstanceID _ownerLayout, Boolean _attachContextRightClick)
   at YoYoStudio.GUI.Gadgets.ScrollPanel.AddLayout(XmlElement _node, LayoutInstanceID _instance)
   at YoYoStudio.GUI.Layout.LayoutManager.BasicLoad[T](T _gadget, XmlElement _xmlNode)
   at YoYoStudio.GUI.Gadgets.ScrollPanel.Load(XmlElement _node)
   at YoYoStudio.GUI.Gadgets.Grid.ProcessCell(XmlElement _cell, LayoutInstanceID _ownerLayout)
   at YoYoStudio.GUI.Gadgets.Grid.AddLayout(XmlElement _node, LayoutInstanceID _instance)
   at YoYoStudio.GUI.Layout.LayoutManager.BasicLoad[T](T _gadget, XmlElement _xmlNode)
   at YoYoStudio.GUI.Gadgets.Grid.Load(XmlElement _node)
   at YoYoStudio.GUI.Layout.LayoutManager.CreateGadget(XmlElement _xmlNode, LayoutInstanceID _ownerLayout)
   at YoYoStudio.GUI.Layout.LayoutManager.CreateGadgets(GUIBase _g, XmlElement _xmlNode, LayoutInstanceID _ownerLayout)
   at YoYoStudio.GUI.Layout.LayoutManager.CreateLayout(String _layoutID)
   at YoYoStudio.GUI.WindowManager.AddDesktop(Int32 _width, Int32 _height, String _title, Boolean _bAddEmptyWorkspace, Boolean _maximised, DPIDelegate _dpicallback)
   at YoYoStudio.IDE.Initialise(String[] _args, Int32 _initialWidth, Int32 _initialHeight)
   at YoYoStudio.IDE.Execute(String[] _args, Int32 _initialWidth, Int32 _initialHeight)
   at YoYoStudio.Program.Main(String[] _main_args)
[12:19:05:254(13b4)] ----------------------------------------
[12:19:05:255(13b4)] Inner Exception: System.AccessViolationException
[12:19:05:255(13b4)] Inner Exception message: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
[12:19:05:259(13b4)] Inner Exception stack: at OpenTK.Graphics.OpenGL.GL.ActiveTexture(TextureUnit texture)
   at YoYoStudio.Graphics.Texture.Set(Int32 _stage)
   at YoYoStudio.Graphics.Texture.UpdateRegion(Int32 _stage, irect _region, Byte[] _data)
   at YoYoStudio.Graphics.Texture.ClearRegion(irect _region, Colour _col)
   at YoYoStudio.Graphics.FontTTF.PreloadStorage(Int32 _preloadGlyphCount)
   at YoYoStudio.Graphics.FontTTF..ctor(Face _typeface, Single _fontSize, FaceOpDescriptor _descriptor, eRenderMode _renderMode, Boolean _allocateStandards, UInt32 _dpioverride)
   at YoYoStudio.Graphics.FontManager.GetFont(Face _typeface, eRenderMode _aa, Single _size, FaceOpDescriptor _descriptor, Boolean _allocateStandardArray, UInt32 _dpioverride, UInt32[] _requestedChars)
   at YoYoStudio.GUI.Gadgets.Label.EndUpdateFont()
   at YoYoStudio.GUI.Gadgets.Label.SetFont(String _fontName, Single _fontSize, eAntiAliasMode _aa, eFontStyleFlags _style, String _styleName, Boolean _bForceResize)
   at YoYoStudio.GUI.Gadgets.Label.Init(String _caption)
   at YoYoStudio.GUI.Gadgets.Label..ctor()
   at YoYoStudio.GUI.Gadgets.LabelAndIconCollection.CreateLabel()
   at YoYoStudio.GUI.Gadgets.MenuBarEntry.CreateLabel()
   at YoYoStudio.GUI.Gadgets.LabelAndIconCollection.UpdateLabel(String _caption, Boolean _localised)
   at YoYoStudio.GUI.Gadgets.LabelAndIconCollection.set_LocalisedLabel(String value)
[12:19:05:259(13b4)] --------------------------------------------------------------------------------
[12:19:05:267(13b4)] String not found: Error_PrimBuilder2 src: Scene::DrawGrid
Steps To Reproduce1) Launch Remote Desktop
2) Target a Windows 10 machine running 1809
3) Start GMS2
4) See that the IDE dies instantly
Additional InformationComparing to a normal ui.log it fails between the DPI Settings and Initialise(4.6)
TagsIDE
2.x IDE Found In2.2.2.384
2.x Runtime Found In2.2.2.296
2.x IDE Verified In9.2.1.1817
2.x Runtime Verified In9.9.1.1441

Activities

Russell Kay

2019-01-23 09:36

Manager   ~0062486

we need the version number that OpenGL reports when started under RDP

Stewart Bishop

2019-01-23 11:58

Developer  

ui.log (88,530 bytes)

Russell Kay

2019-01-28 12:30

Manager   ~0062529

Fixed in github

Dan

2019-01-28 13:57

Adminstrator   ~0062531

For users affected by this, until 2.2.3 comes out you need to follow the steps outlined in https://help.yoyogames.com/hc/en-us/articles/115004943807-How-to-apply-the-software-renderer-if-your-GPU-does-not-support-GMS2

You only need to do this once (until the next time you install GMS2), and 2.2.3 simply fixes GMS2's ability to apply the software renderer automatically for you.