Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OutOfMemory Exception when running "The Dig" #15

Open
dellis1972 opened this issue Jan 10, 2018 · 1 comment
Open

OutOfMemory Exception when running "The Dig" #15

dellis1972 opened this issue Jan 10, 2018 · 1 comment

Comments

@dellis1972
Copy link

I upgraded the WindowsGL project locally to use the latest version of MonoGame.
This involves using MonoGame's DynamicSoundEffect code.

When running the Dig I get a weird OutOfMemory Exception at the following location https://github.com/scemino/nscumm/blob/master/Engines/NScumm.Scumm/ScummEngine6.cs#L180

The call stack is as follows

NScumm.Scumm.ScummEngine6.() in /Users/dean/Documents/Sandbox/nscumm/Engines/NScumm.Scumm/ScummEngine6.cs:183 NScumm.Scumm.ScummEngine.ExecuteOpCode(byte opCode) in /Users/dean/Documents/Sandbox/nscumm/Engines/NScumm.Scumm/ScummEngine.cs:590 NScumm.Scumm.ScummEngine.Step() in /Users/dean/Documents/Sandbox/nscumm/Engines/NScumm.Scumm/ScummEngine.cs:570 NScumm.Scumm.ScummEngine.RunCurrentScript() in /Users/dean/Documents/Sandbox/nscumm/Engines/NScumm.Scumm/ScummEngine.cs:602 NScumm.Scumm.ScummEngine.RunAllScripts() in /Users/dean/Documents/Sandbox/nscumm/Engines/NScumm.Scumm/ScummEngine_Script.cs:876 NScumm.Scumm.ScummEngine.Loop() in /Users/dean/Documents/Sandbox/nscumm/Engines/NScumm.Scumm/ScummEngine.cs:732 NScumm.Scumm.ScummEngine.Run() in /Users/dean/Documents/Sandbox/nscumm/Engines/NScumm.Scumm/ScummEngine.cs:617 NScumm.MonoGame.ScummScreen.UpdateGame() in /Users/dean/Documents/Sandbox/nscumm/NScumm.MonoGame/Screens/ScummScreen.cs:129 NScumm.MonoGame.ScummScreen.<LoadContent>b__11_0() in /Users/dean/Documents/Sandbox/nscumm/NScumm.MonoGame/Screens/ScummScreen.cs:81 System.Threading.Tasks.Task.InnerInvoke() in /Users/builder/data/lanes/5533/mono-mac-sdk/external/bockbuild/builds/mono-x64/mcs/class/referencesource/mscorlib/system/threading/Tasks/Task.cs:2879 System.Threading.Tasks.Task.Execute() in /Users/builder/data/lanes/5533/mono-mac-sdk/external/bockbuild/builds/mono-x64/mcs/class/referencesource/mscorlib/system/threading/Tasks/Task.cs:2502 System.Threading.Tasks.Task.ExecutionContextCallback(System.Threading.Tasks.Task obj) in /Users/builder/data/lanes/5533/mono-mac-sdk/external/bockbuild/builds/mono-x64/mcs/class/referencesource/mscorlib/system/threading/Tasks/Task.cs:2865 System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Threading.Tasks.Task state, bool preserveSyncCtx) in /Users/builder/data/lanes/5533/mono-mac-sdk/external/bockbuild/builds/mono-x64/mcs/class/referencesource/mscorlib/system/threading/executioncontext.cs:957 System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Threading.Tasks.Task state, bool preserveSyncCtx) in /Users/builder/data/lanes/5533/mono-mac-sdk/external/bockbuild/builds/mono-x64/mcs/class/referencesource/mscorlib/system/threading/executioncontext.cs:904 System.Threading.Tasks.Task.ExecuteWithThreadLocal(System.Threading.Tasks.Task currentTaskSlot) in /Users/builder/data/lanes/5533/mono-mac-sdk/external/bockbuild/builds/mono-x64/mcs/class/referencesource/mscorlib/system/threading/Tasks/Task.cs:2827 System.Threading.Tasks.Task.ExecuteEntry(bool bPreventDoubleExecution) in /Users/builder/data/lanes/5533/mono-mac-sdk/external/bockbuild/builds/mono-x64/mcs/class/referencesource/mscorlib/system/threading/Tasks/Task.cs:2760 System.Threading.Tasks.Task.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem() in /Users/builder/data/lanes/5533/mono-mac-sdk/external/bockbuild/builds/mono-x64/mcs/class/referencesource/mscorlib/system/threading/Tasks/Task.cs:2707 System.Threading.ThreadPoolWorkQueue.Dispatch() in /Users/builder/data/lanes/5533/mono-mac-sdk/external/bockbuild/builds/mono-x64/mcs/class/referencesource/mscorlib/system/threading/threadpool.cs:856 System.Threading._ThreadPoolWaitCallback.PerformWaitCallback() in /Users/builder/data/lanes/5533/mono-mac-sdk/external/bockbuild/builds/mono-x64/mcs/class/referencesource/mscorlib/system/threading/threadpool.cs:1211

@dellis1972
Copy link
Author

Managed to get the exception .. its

System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.InvalidOperationException: SmushMixer::addChannel(101): no channel available at NScumm.Scumm.Smush.SmushMixer.AddChannel (NScumm.Scumm.Smush.SmushChannel c) [0x001c3] in /Users/dean/Documents/Sandbox/nscumm/Engines/NScumm.Scumm/Smush/SmushMixer.cs:160 at NScumm.Scumm.Smush.SmushPlayer.HandleIACT (System.UInt32 subSize, System.IO.BinaryReader b) [0x001bd] in /Users/dean/Documents/Sandbox/nscumm/Engines/NScumm.Scumm/Smush/SmushPlayer.cs:577 at NScumm.Scumm.Smush.SmushPlayer.HandleFrame (System.UInt32 frameSize, System.IO.BinaryReader b) [0x00234] in /Users/dean/Documents/Sandbox/nscumm/Engines/NScumm.Scumm/Smush/SmushPlayer.cs:414 at NScumm.Scumm.Smush.SmushPlayer.ParseNextFrame () [0x0023a] in /Users/dean/Documents/Sandbox/nscumm/Engines/NScumm.Scumm/Smush/SmushPlayer.cs:361 at NScumm.Scumm.Smush.SmushPlayer.TimerCallback () [0x00001] in /Users/dean/Documents/Sandbox/nscumm/Engines/NScumm.Scumm/Smush/SmushPlayer.cs:285 at NScumm.Scumm.Smush.SmushPlayer.Play (System.String filename, System.Int32 speed, System.Int32 offset, System.Int32 startFrame) [0x001d3] in /Users/dean/Documents/Sandbox/nscumm/Engines/NScumm.Scumm/Smush/SmushPlayer.cs:123 at NScumm.Scumm.ScummEngine7.KernelSetFunctions () [0x0011b] in /Users/dean/Documents/Sandbox/nscumm/Engines/NScumm.Scumm/ScummEngine7_Misc.cs:69 at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke(System.Reflection.MonoMethod,object,object[],System.Exception&) at System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00032] in /Users/builder/data/lanes/5533/mono-mac-sdk/external/bockbuild/builds/mono-x64/mcs/class/corlib/System.Reflection/MonoMethod.cs:305 --- End of inner exception stack trace --- at System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00043] in /Users/builder/data/lanes/5533/mono-mac-sdk/external/bockbuild/builds/mono-x64/mcs/class/corlib/System.Reflection/MonoMethod.cs:313 at System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) [0x00000] in /Users/builder/data/lanes/5533/mono-mac-sdk/external/bockbuild/builds/mono-x64/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229 at NScumm.Scumm.ScummEngine6+<>c__DisplayClass14_0.<OpCode>b__5 () [0x00148] in /Users/dean/Documents/Sandbox/nscumm/Engines/NScumm.Scumm/ScummEngine6.cs:176

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant