CosmosOS / Cosmos

Cosmos is an operating system "construction kit". Build your own OS using managed languages such as C#, VB.NET, and more!
https://www.goCosmos.org
BSD 3-Clause "New" or "Revised" License
2.94k stars 552 forks source link

Fault handler not supported #2911

Open 9xbt opened 10 months ago

9xbt commented 10 months ago

Have you checked Github Issues for similar errors? Yes Exception 1>IL2CPU : error : Exception: System.Exception: Error compiling method 'A0SystemBooleanA8GoOSGUIAppsGoStoreDescriptionFrameSpliceTextd4MoveNext': System.Exception: A0SystemBooleanA8GoOSGUIAppsGoStoreDescriptionFrameSpliceTextd4MoveNext: OpCodeIndex = 51

Visual Studio Output Logs Operación Recompilar iniciada... 1>------ Operación Recompilar todo iniciada: proyecto: GoOS, configuración: Debug Any CPU ------ Se ha restaurado C:\Users\Eric\Documents\GitHub\GoOS\GoOS\GoOS.csproj (en 774 ms). 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\GoOS.csproj : warning NU1603: GoOS depende de Cosmos.Plugs (>= 0.1.0-localbuild), pero no se encontró Cosmos.Plugs 0.1.0-localbuild. Se resolvió una mejor coincidencia aproximada de Cosmos.Plugs 0.1.0-localbuild20240114063807. 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\GoOS.csproj : warning NU1603: GoOS depende de Cosmos.System2 (>= 0.1.0-localbuild), pero no se encontró Cosmos.System2 0.1.0-localbuild. Se resolvió una mejor coincidencia aproximada de Cosmos.System2 0.1.0-localbuild20240114063807. 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\Commands\GoCodeInstaller.cs(3,7,3,13): warning CS0105: La directiva using para 'System' aparece previamente en este espacio de nombres 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\Commands\GoCodeInstaller.cs(5,7,5,16): warning CS0105: La directiva using para 'System.IO' aparece previamente en este espacio de nombres 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\Util\ConsoleUtil.cs(37,81,37,82): warning CS8632: La anotación para tipos de referencia que aceptan valores NULL solo debe usarse en el código dentro de un contexto de anotaciones "#nullable". 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\TextEditor.cs(64,15,64,16): warning CS8632: La anotación para tipos de referencia que aceptan valores NULL solo debe usarse en el código dentro de un contexto de anotaciones "#nullable". 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\Commands\dir.cs(53,30,53,31): warning CS0168: La variable 'e' se ha declarado pero nunca se usa 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\Commands\run.cs(741,57,741,76): warning CS0472: El resultado de la expresión siempre es 'false' porque un valor del tipo 'int' nunca es igual a 'NULL' de tipo 'int?' 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\Commands\run.cs(741,33,741,53): warning CS0472: El resultado de la expresión siempre es 'false' porque un valor del tipo 'int' nunca es igual a 'NULL' de tipo 'int?' 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\Commands\run.cs(63,32,63,42): warning CS0219: La variable 'keypressed' está asignada pero su valor nunca se usa 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\GUI\Apps\GoStore\MainFrame.cs(182,17,182,27): warning CS0219: La variable 'accountFor' está asignada pero su valor nunca se usa 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\GUI\Apps\GoStore\MainFrame.cs(189,17,189,24): warning CS0219: La variable 'yOffset' está asignada pero su valor nunca se usa 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\GUI\Apps\Gosplorer.cs(28,12,28,17): warning CS0169: El campo 'Gosplorer.Paste' nunca se usa 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\Resources.cs(60,106,60,122): warning CS0649: El campo 'Resources.maximizeHoverRaw' nunca se asigna y siempre tendrá el valor predeterminado null 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\Resources.cs(23,99,23,105): warning CS0649: El campo 'Resources.runRaw' nunca se asigna y siempre tendrá el valor predeterminado null 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\Resources.cs(19,97,19,109): warning CS0649: El campo 'Resources.OOBEblankraw' nunca se asigna y siempre tendrá el valor predeterminado null 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\Resources.cs(36,104,36,115): warning CS0649: El campo 'Resources.MoveIconRaw' nunca se asigna y siempre tendrá el valor predeterminado null 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\Resources.cs(56,101,56,115): warning CS0649: El campo 'Resources.closeButtonRaw' nunca se asigna y siempre tendrá el valor predeterminado null 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\Resources.cs(72,106,72,125): warning CS0649: El campo 'Resources.GoStoreDescFrameRaw' nunca se asigna y siempre tendrá el valor predeterminado null 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\Resources.cs(27,93,27,103): warning CS0649: El campo 'Resources.ideIconRaw' nunca se asigna y siempre tendrá el valor predeterminado null 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\Resources.cs(21,93,21,104): warning CS0649: El campo 'Resources.font_1x_raw' nunca se asigna y siempre tendrá el valor predeterminado null 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\Resources.cs(63,106,63,122): warning CS0649: El campo 'Resources.minimiseHoverRaw' nunca se asigna y siempre tendrá el valor predeterminado null 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\GUI\Apps\Notepad.cs(23,19,23,33): warning CS0169: El campo 'Notepad.Dialog_TextBox' nunca se usa 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\Resources.cs(32,103,32,113): warning CS0649: El campo 'Resources.NewIconRaw' nunca se asigna y siempre tendrá el valor predeterminado null 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\Resources.cs(62,98,62,109): warning CS0649: El campo 'Resources.minimiseRaw' nunca se asigna y siempre tendrá el valor predeterminado null 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\Resources.cs(55,97,55,111): warning CS0649: El campo 'Resources.warningIconRaw' nunca se asigna y siempre tendrá el valor predeterminado null 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\Resources.cs(31,106,31,119): warning CS0649: El campo 'Resources.backgroundRaw' nunca se asigna y siempre tendrá el valor predeterminado null 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\Resources.cs(28,101,28,114): warning CS0649: El campo 'Resources.brownGhostRaw' nunca se asigna y siempre tendrá el valor predeterminado null 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\Resources.cs(46,102,46,111): warning CS0649: El campo 'Resources.bucketRaw' nunca se asigna y siempre tendrá el valor predeterminado null 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\Resources.cs(52,93,52,108): warning CS0649: El campo 'Resources.welcomeImageRaw' nunca se asigna y siempre tendrá el valor predeterminado null 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\Resources.cs(48,100,48,113): warning CS0649: El campo 'Resources.mouse_textRaw' nunca se asigna y siempre tendrá el valor predeterminado null 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\Resources.cs(30,96,30,109): warning CS0649: El campo 'Resources.folderIconRaw' nunca se asigna y siempre tendrá el valor predeterminado null 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\Resources.cs(44,102,44,115): warning CS0649: El campo 'Resources.colorTableRaw' nunca se asigna y siempre tendrá el valor predeterminado null 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\Resources.cs(53,94,53,105): warning CS0649: El campo 'Resources.infoIconRaw' nunca se asigna y siempre tendrá el valor predeterminado null 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\Resources.cs(34,105,34,117): warning CS0649: El campo 'Resources.ChildIconRaw' nunca se asigna y siempre tendrá el valor predeterminado null 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\Resources.cs(71,106,71,125): warning CS0649: El campo 'Resources.GoStoreButtonRedRaw' nunca se asigna y siempre tendrá el valor predeterminado null 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\Resources.cs(37,102,37,113): warning CS0649: El campo 'Resources.copyIconRaw' nunca se asigna y siempre tendrá el valor predeterminado null 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\Resources.cs(68,106,68,125): warning CS0649: El campo 'Resources.GoStoreinfoboardRaw' nunca se asigna y siempre tendrá el valor predeterminado null 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\Resources.cs(58,109,58,130): warning CS0649: El campo 'Resources.closeButtonPressedRaw' nunca se asigna y siempre tendrá el valor predeterminado null 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\Resources.cs(47,100,47,107): warning CS0649: El campo 'Resources.textRaw' nunca se asigna y siempre tendrá el valor predeterminado null 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\GUI\Apps\Gosplorer.cs(27,12,27,16): warning CS0169: El campo 'Gosplorer.Copy' nunca se usa 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\Resources.cs(38,103,38,115): warning CS0649: El campo 'Resources.pasteIconRaw' nunca se asigna y siempre tendrá el valor predeterminado null 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\GUI\Controls\Button.cs(11,31,11,44): warning CS0649: El campo 'Button.mouseClickRaw' nunca se asigna y siempre tendrá el valor predeterminado null 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\Resources.cs(45,101,45,109): warning CS0649: El campo 'Resources.brushRaw' nunca se asigna y siempre tendrá el valor predeterminado null 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\GUI\WindowManager.cs(16,31,16,39): warning CS0649: El campo 'WindowManager.mouseRaw' nunca se asigna y siempre tendrá el valor predeterminado null 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\Resources.cs(18,95,18,106): warning CS0649: El campo 'Resources.OOBEmainraw' nunca se asigna y siempre tendrá el valor predeterminado null 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\Resources.cs(70,108,70,129): warning CS0649: El campo 'Resources.GoStoreButtonGreenRaw' nunca se asigna y siempre tendrá el valor predeterminado null 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\Resources.cs(49,102,49,111): warning CS0649: El campo 'Resources.rubberRaw' nunca se asigna y siempre tendrá el valor predeterminado null 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\Resources.cs(29,101,29,111): warning CS0649: El campo 'Resources.cutIconRaw' nunca se asigna y siempre tendrá el valor predeterminado null 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\Resources.cs(64,106,64,124): warning CS0649: El campo 'Resources.minimisePressedRaw' nunca se asigna y siempre tendrá el valor predeterminado null 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\Resources.cs(40,113,40,123): warning CS0649: El campo 'Resources.linIconRaw' nunca se asigna y siempre tendrá el valor predeterminado null 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\Resources.cs(67,101,67,115): warning CS0649: El campo 'Resources.StoreButtonRaw' nunca se asigna y siempre tendrá el valor predeterminado null 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\Resources.cs(24,95,24,107): warning CS0649: El campo 'Resources.gtermIconRaw' nunca se asigna y siempre tendrá el valor predeterminado null 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\Resources.cs(43,98,43,109): warning CS0649: El campo 'Resources.questionRaw' nunca se asigna y siempre tendrá el valor predeterminado null 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\Resources.cs(65,97,65,107): warning CS0649: El campo 'Resources.GoStoreRaw' nunca se asigna y siempre tendrá el valor predeterminado null 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\Resources.cs(66,101,66,115): warning CS0649: El campo 'Resources.GoStoreiconRaw' nunca se asigna y siempre tendrá el valor predeterminado null 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\Resources.cs(25,95,25,107): warning CS0649: El campo 'Resources.clockIconRaw' nunca se asigna y siempre tendrá el valor predeterminado null 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\Resources.cs(26,101,26,115): warning CS0649: El campo 'Resources.taskmanIconRaw' nunca se asigna y siempre tendrá el valor predeterminado null 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\Resources.cs(20,95,20,107): warning CS0649: El campo 'Resources.easterEggRaw' nunca se asigna y siempre tendrá el valor predeterminado null 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\Resources.cs(57,107,57,126): warning CS0649: El campo 'Resources.closeButtonHoverRaw' nunca se asigna y siempre tendrá el valor predeterminado null 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\Resources.cs(41,99,41,109): warning CS0649: El campo 'Resources.aboutbgRAW' nunca se asigna y siempre tendrá el valor predeterminado null 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\GUI\Apps\CustomInterface.cs(15,16,15,27): warning CS0169: El campo 'CustomInterface.closeButton' nunca se usa 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\Resources.cs(22,93,22,104): warning CS0649: El campo 'Resources.font_2x_raw' nunca se asigna y siempre tendrá el valor predeterminado null 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\Resources.cs(39,107,39,117): warning CS0649: El campo 'Resources.refIconRaw' nunca se asigna y siempre tendrá el valor predeterminado null 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\Resources.cs(50,94,50,106): warning CS0649: El campo 'Resources.userImageRaw' nunca se asigna y siempre tendrá el valor predeterminado null 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\BetterConsole\VMBetterConsole.cs(22,20,22,29): warning CS0649: El campo 'VMBetterConsole.easterEgg' nunca se asigna y siempre tendrá el valor predeterminado null 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\Resources.cs(59,98,59,109): warning CS0649: El campo 'Resources.maximiseRaw' nunca se asigna y siempre tendrá el valor predeterminado null 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\Resources.cs(35,106,35,119): warning CS0649: El campo 'Resources.ParentIconRaw' nunca se asigna y siempre tendrá el valor predeterminado null 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\Resources.cs(51,98,51,113): warning CS0649: El campo 'Resources.shutdownIconRaw' nunca se asigna y siempre tendrá el valor predeterminado null 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\Resources.cs(54,94,54,105): warning CS0649: El campo 'Resources.drumIconRaw' nunca se asigna y siempre tendrá el valor predeterminado null 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\Resources.cs(42,102,42,113): warning CS0649: El campo 'Resources.saveIconRaw' nunca se asigna y siempre tendrá el valor predeterminado null 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\Resources.cs(33,103,33,113): warning CS0649: El campo 'Resources.BinIconRaw' nunca se asigna y siempre tendrá el valor predeterminado null 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\Resources.cs(69,107,69,127): warning CS0649: El campo 'Resources.GoStoreButtonBlueRaw' nunca se asigna y siempre tendrá el valor predeterminado null 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\GUI\WindowManager.cs(327,31,327,43): warning CS0649: El campo 'WindowManager.errorIconRaw' nunca se asigna y siempre tendrá el valor predeterminado null 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\Resources.cs(61,106,61,124): warning CS0649: El campo 'Resources.maximizePressedRaw' nunca se asigna y siempre tendrá el valor predeterminado null 1>C:\Users\Eric\Documents\GitHub\GoOS\GoOS\GUI\WindowManager.cs(22,29,22,39): warning CS0414: El campo 'WindowManager.MouseDrawn' está asignado pero su valor nunca se usa 1>GoOS -> C:\Users\Eric\Documents\GitHub\GoOS\GoOS\bin\Debug\net6.0\GoOS.dll 1>Executing IL2CPU on assembly 1>Kernel Base: Cosmos.System.Kernel 1>Checking target assembly: C:\Users\Eric\Documents\GitHub\GoOS\GoOS\bin\Debug\net6.0\GoOS.dll 1>IL2CPU : warning : Loading plugs from assembly: Cosmos.Core_Asm, Version=10.0.0.0, Culture=neutral, PublicKeyToken=5ae71220097cb983 1>IL2CPU : warning : Loading plugs from assembly: Cosmos.Core_Plugs, Version=10.0.0.0, Culture=neutral, PublicKeyToken=5ae71220097cb983 1>IL2CPU : warning : Loading plugs from assembly: Cosmos.Debug.Kernel.Plugs.Asm, Version=10.0.0.0, Culture=neutral, PublicKeyToken=5ae71220097cb983 1>IL2CPU : warning : Loading plugs from assembly: Cosmos.System2_Plugs, Version=10.0.0.0, Culture=neutral, PublicKeyToken=5ae71220097cb983 1>IL2CPU : warning : Invalid plug method! Target method not found. : A0SystemInt64A2CosmosSystem_PlugsSystemIOOSFileStreamStrategyImplSeekA0SystemInt64A0SystemObject 1>Detecting fields for type 'IL2CPU.Debug.Symbols.FIELD_INFO' 1>Detecting fields for type 'IL2CPU.Debug.Symbols.FIELD_MAPPING' 1>Detecting fields for type 'IL2CPU.Debug.Symbols.MethodIlOp' 1>IL2CPU : error : Exception: System.Exception: Error compiling method 'A0SystemBooleanA8GoOSGUIAppsGoStoreDescriptionFrameSpliceTextd4MoveNext': System.Exception: A0SystemBooleanA8GoOSGUIAppsGoStoreDescriptionFrameSpliceTextd4MoveNext: OpCodeIndex = 51 1> ---> System.Exception: ExceptionHandlerType 'Fault' not supported yet! 1> at Cosmos.IL2CPU.ILOp.EmitExceptionLogic(Assembler aAssembler, Il2cpuMethodInfo aMethodInfo, ILOpCode aCurrentOpCode, Boolean aDoTest, Action aCleanup, String aJumpTargetNoException) in C:\Users\Eric\Documents\GitHub\Cosmos\IL2CPU\source\Cosmos.IL2CPU\ILOp.cs:line 458 1> at Cosmos.IL2CPU.X86.IL.Callvirt.DoExecute(Assembler aAssembler, Il2cpuMethodInfo aMethod, MethodBase aTargetMethod, UInt32 aTargetMethodUID, ILOpCode aOp, Boolean aDebugEnabled) in C:\Users\Eric\Documents\GitHub\Cosmos\IL2CPU\source\Cosmos.IL2CPU\IL\Callvirt.cs:line 249 1> at Cosmos.IL2CPU.X86.IL.Callvirt.Execute(Il2cpuMethodInfo aMethod, ILOpCode aOpCode) in C:\Users\Eric\Documents\GitHub\Cosmos\IL2CPU\source\Cosmos.IL2CPU\IL\Callvirt.cs:line 27 1> at Cosmos.IL2CPU.AppAssembler.EmitInstructions(Il2cpuMethodInfo aMethod, List1 aCurrentGroup, Boolean emitINT3) in C:\Users\Eric\Documents\GitHub\Cosmos\IL2CPU\source\Cosmos.IL2CPU\AppAssembler.cs:line 609 1> --- End of inner exception stack trace --- 1> at Cosmos.IL2CPU.AppAssembler.EmitInstructions(Il2cpuMethodInfo aMethod, List1 aCurrentGroup, Boolean emitINT3) in C:\Users\Eric\Documents\GitHub\Cosmos\IL2CPU\source\Cosmos.IL2CPU\AppAssembler.cs:line 613 1> at Cosmos.IL2CPU.AppAssembler.ProcessMethod(Il2cpuMethodInfo aMethod, List1 aOpCodes, PlugManager aPlugManager) in C:\Users\Eric\Documents\GitHub\Cosmos\IL2CPU\source\Cosmos.IL2CPU\AppAssembler.cs:line 476 1> ---> System.Exception: A0SystemBooleanA8GoOSGUIAppsGoStoreDescriptionFrameSpliceTextd__4MoveNext: OpCodeIndex = 51 1> ---> System.Exception: ExceptionHandlerType 'Fault' not supported yet! 1> at Cosmos.IL2CPU.ILOp.EmitExceptionLogic(Assembler aAssembler, Il2cpuMethodInfo aMethodInfo, ILOpCode aCurrentOpCode, Boolean aDoTest, Action aCleanup, String aJumpTargetNoException) in C:\Users\Eric\Documents\GitHub\Cosmos\IL2CPU\source\Cosmos.IL2CPU\ILOp.cs:line 458 1> at Cosmos.IL2CPU.X86.IL.Callvirt.DoExecute(Assembler aAssembler, Il2cpuMethodInfo aMethod, MethodBase aTargetMethod, UInt32 aTargetMethodUID, ILOpCode aOp, Boolean aDebugEnabled) in C:\Users\Eric\Documents\GitHub\Cosmos\IL2CPU\source\Cosmos.IL2CPU\IL\Callvirt.cs:line 249 1> at Cosmos.IL2CPU.X86.IL.Callvirt.Execute(Il2cpuMethodInfo aMethod, ILOpCode aOpCode) in C:\Users\Eric\Documents\GitHub\Cosmos\IL2CPU\source\Cosmos.IL2CPU\IL\Callvirt.cs:line 27 1> at Cosmos.IL2CPU.AppAssembler.EmitInstructions(Il2cpuMethodInfo aMethod, List1 aCurrentGroup, Boolean emitINT3) in C:\Users\Eric\Documents\GitHub\Cosmos\IL2CPU\source\Cosmos.IL2CPU\AppAssembler.cs:line 609 1> --- End of inner exception stack trace --- 1> at Cosmos.IL2CPU.AppAssembler.EmitInstructions(Il2cpuMethodInfo aMethod, List1 aCurrentGroup, Boolean emitINT3) in C:\Users\Eric\Documents\GitHub\Cosmos\IL2CPU\source\Cosmos.IL2CPU\AppAssembler.cs:line 613 1> at Cosmos.IL2CPU.AppAssembler.ProcessMethod(Il2cpuMethodInfo aMethod, List1 aOpCodes, PlugManager aPlugManager) in C:\Users\Eric\Documents\GitHub\Cosmos\IL2CPU\source\Cosmos.IL2CPU\AppAssembler.cs:line 476 1> --- End of inner exception stack trace --- 1> at Cosmos.IL2CPU.AppAssembler.ProcessMethod(Il2cpuMethodInfo aMethod, List1 aOpCodes, PlugManager aPlugManager) in C:\Users\Eric\Documents\GitHub\Cosmos\IL2CPU\source\Cosmos.IL2CPU\AppAssembler.cs:line 483 1> at Cosmos.IL2CPU.ILScanner.Assemble() in C:\Users\Eric\Documents\GitHub\Cosmos\IL2CPU\source\Cosmos.IL2CPU\ILScanner.cs:line 979 1> at Cosmos.IL2CPU.ILScanner.Execute(MethodBase aStartMethod, IEnumerable1 plugsAssemblies) in C:\Users\Eric\Documents\GitHub\Cosmos\IL2CPU\source\Cosmos.IL2CPU\ILScanner.cs:line 272 1> at Cosmos.IL2CPU.CompilerEngine.Execute() in C:\Users\Eric\Documents\GitHub\Cosmos\IL2CPU\source\Cosmos.IL2CPU\CompilerEngine.cs:line 187 1>IL2CPU task took 00:00:31.3987259 1>Compilación del proyecto "GoOS.csproj" terminada -- ERROR. ========== Recompilar todo: 0 correcto, 1 con errores, 0 omitido =========== ========= Recompilar se inició en 4:32 PM y tomó 33.086 segundos ==========

How To Reproduce Put this code in any file that compiles to the final output

public IEnumerable<string> SpliceText(string sourceString, int chunkLength)
        {
            using (var sr = new StringReader(sourceString))
            {
                var buffer = new char[chunkLength];
                int read;
                while ((read = sr.Read(buffer, 0, chunkLength)) == chunkLength)
                {
                    yield return new string(buffer, 0, read);
                }
            }
        }

Screenshots If applicable, add screenshots to help explain your problem.

Context Before posting please confirm that the following are in order [Y] Both Cosmos VS Extensions are installed [Y] In the NuGet Package Manager "Include prerelease" is selected [Y] The Cosmos NuGet package store is selected (NOT nuget.org) in 'Manage NuGet Packages' [Y] The Cosmos NuGet packages are installed

Add any other context about the problem which might be helpful.

GoldenretriverYT commented 10 months ago

If you return an IEnumerable and have an IDisposable object in the method body, Roslyn inserts a "fault" handler (which you cant even do manually). This handler isnt supported by IL2CPU, thats why its happening.

GoldenretriverYT commented 10 months ago

To be clear, the workaround here is to bring that IDisposable out of the method handler somehow. I am not aware of any other workarounds.

Oh, and keep the issue open and maybe rename it to "Fault handler not supported" or something so this doesnt get lost and someone maybe implements it at some point.

9xbt commented 10 months ago

I ended up asking ChatGPT and it gave me some code that worked fine