[Mono-ue] What to do when API not available ?

M S stick100 at hotmail.com
Thu Nov 13 18:22:11 UTC 2014


That patch fixed the issue so that it no longer crashes but instead the simulation/PIE session will stop.  I'm very happy with that solution instead of crashing every C# change.

> From: m.j.hutchinson at gmail.com
> Date: Thu, 13 Nov 2014 12:12:26 -0500
> Subject: Re: [Mono-ue] What to do when API not available ?
> To: ali.scissons at gmail.com
> CC: stick100 at hotmail.com; mono-ue at lists.ximian.com
> 
> Yes, it shouldn't be necessary to override BindInput. This happens
> when hot reloading a subclass of an actor that has an input component
> due to a missing check. Here's a fix:
> 
> https://gist.github.com/mhutch/9c79cda71e55a0b847c7
> 
> On 13 November 2014 11:54, Ali Scissons <ali.scissons at gmail.com> wrote:
> > One or more of your classes isn't overriding BindInput(InputComponent
> > inputComponent). I'm not sure its intended behavior that it requires to be
> > overridden but that's the quickest way to fix it.
> >
> > The main problem is MonoClassAsset (or something?) trying to look for
> > BindInput in a Mono class that would require a call to it because of hot
> > reload, but it only seems to search for functions explicitly defined in the
> > Mono class. I fixed it by having the function that searches for a mono
> > method to search through parent classes too, though I'm not sure if that was
> > intended. I can post a snippet of that change when I get home.
> >
> > Ali Scissons
> > (210) 310-5618
> >
> > On Sun, Nov 9, 2014 at 5:24 PM, M S <stick100 at hotmail.com> wrote:
> >>
> >> Any one have any idea why I can't use hot reload.  If I rebuild while
> >> simulating (doing exactly the samething as the video on the front page) I
> >> get the following error.
> >>
> >> Running 4.4.3 patched as instructed and Xamarin studio.  The second I
> >> rebuild UE editor pauses then throws an exception.
> >>
> >> Assertion failed: BindInputMethod
> >> [File:C:\Users\Stick100\Documents\UnrealEngine\Engine\Plugins\XamarinUE4\MonoRuntime\Source\MonoRuntime\Private\MonoCompiledClassAsset.cpp]
> >> [Line: 151]
> >>
> >> Stack:
> >> FWindowsPlatformStackWalk::StackWalkAndDump() 0x34363046 + 0 bytes
> >> [File=c:\users\stick100\documents\unrealengine\engine\source\runtime\core\private\windows\windowsplatformstackwalk.cpp:177]
> >> [in
> >> C:\Users\Stick100\Documents\UnrealEngine\Engine\Binaries\Win64\UE4Editor-Core.dll]
> >> FDebug::AssertFailed() 0x341e8445 + 0 bytes
> >> [File=c:\users\stick100\documents\unrealengine\engine\source\runtime\core\private\misc\outputdevice.cpp:203]
> >> [in
> >> C:\Users\Stick100\Documents\UnrealEngine\Engine\Binaries\Win64\UE4Editor-Core.dll]
> >> FMonoCompiledClassAsset::InvokeBindInput() 0x23ecf84d + 0 bytes
> >> [File=c:\users\stick100\documents\unrealengine\engine\plugins\xamarinue4\monoruntime\source\monoruntime\private\monocompiledclassasset.cpp:153]
> >> [in
> >> C:\Users\Stick100\Documents\UnrealEngine\Engine\Plugins\XamarinUE4\MonoRuntime\Binaries\Win64\UE4Editor-MonoRuntime.dll]
> >> FMonoBindings::EndReload() 0x23ec0f9e + 0 bytes
> >> [File=c:\users\stick100\documents\unrealengine\engine\plugins\xamarinue4\monoruntime\source\monoruntime\private\monobindings.cpp:664]
> >> [in
> >> C:\Users\Stick100\Documents\UnrealEngine\Engine\Plugins\XamarinUE4\MonoRuntime\Binaries\Win64\UE4Editor-MonoRuntime.dll]
> >> FMonoBindings::ReloadDomain() 0x23ee00b1 + 0 bytes
> >> [File=c:\users\stick100\documents\unrealengine\engine\plugins\xamarinue4\monoruntime\source\monoruntime\private\monobindings.cpp:503]
> >> [in
> >> C:\Users\Stick100\Documents\UnrealEngine\Engine\Plugins\XamarinUE4\MonoRuntime\Binaries\Win64\UE4Editor-MonoRuntime.dll]
> >> FMonoBindings::ReloadDomainCommand() 0x23ee0219 + 5 bytes
> >> [File=c:\users\stick100\documents\unrealengine\engine\plugins\xamarinue4\monoruntime\source\monoruntime\private\monobindings.cpp:831]
> >> [in
> >> C:\Users\Stick100\Documents\UnrealEngine\Engine\Plugins\XamarinUE4\MonoRuntime\Binaries\Win64\UE4Editor-MonoRuntime.dll]
> >>
> >> TBaseRawMethodDelegateInstance_NoParams<FMonoBindings,void>::ExecuteIfSafe()
> >> 0x23ec13ba + 0 bytes
> >> [File=c:\users\stick100\documents\unrealengine\engine\source\runtime\core\public\delegates\delegateinstancesimpl.inl:359]
> >> [in
> >> C:\Users\Stick100\Documents\UnrealEngine\Engine\Plugins\XamarinUE4\MonoRuntime\Binaries\Win64\UE4Editor-MonoRuntime.dll]
> >> FConsoleCommand::Execute() 0x340fc19b + 29 bytes
> >> [File=c:\users\stick100\documents\unrealengine\engine\source\runtime\core\private\hal\consolemanager.cpp:474]
> >> [in
> >> C:\Users\Stick100\Documents\UnrealEngine\Engine\Binaries\Win64\UE4Editor-Core.dll]
> >> FConsoleManager::ProcessUserConsoleInput() 0x341275b2 + 51 bytes
> >> [File=c:\users\stick100\documents\unrealengine\engine\source\runtime\core\private\hal\consolemanager.cpp:828]
> >> [in
> >> C:\Users\Stick100\Documents\UnrealEngine\Engine\Binaries\Win64\UE4Editor-Core.dll]
> >> UEngine::Exec() 0x2e21c13a + 94 bytes
> >> [File=c:\users\stick100\documents\unrealengine\engine\source\runtime\engine\private\unrealengine.cpp:2455]
> >> [in
> >> C:\Users\Stick100\Documents\UnrealEngine\Engine\Binaries\Win64\UE4Editor-Engine.dll]
> >> UEditorEngine::Exec() 0x2ca2934e + 18 bytes
> >> [File=c:\users\stick100\documents\unrealengine\engine\source\editor\unrealed\private\editorserver.cpp:5266]
> >> [in
> >> C:\Users\Stick100\Documents\UnrealEngine\Engine\Binaries\Win64\UE4Editor-UnrealEd.dll]
> >> UUnrealEdEngine::Exec() 0x2cd25230 + 17 bytes
> >> [File=c:\users\stick100\documents\unrealengine\engine\source\editor\unrealed\private\unrealedsrv.cpp:704]
> >> [in
> >> C:\Users\Stick100\Documents\UnrealEngine\Engine\Binaries\Win64\UE4Editor-UnrealEd.dll]
> >> UGameViewportClient::Exec() 0x2dcfcd03 + 28 bytes
> >> [File=c:\users\stick100\documents\unrealengine\engine\source\runtime\engine\private\gameviewportclient.cpp:1874]
> >> [in
> >> C:\Users\Stick100\Documents\UnrealEngine\Engine\Binaries\Win64\UE4Editor-Engine.dll]
> >> ULocalPlayer::Exec() 0x2de99d4a + 29 bytes
> >> [File=c:\users\stick100\documents\unrealengine\engine\source\runtime\engine\private\localplayer.cpp:1469]
> >> [in
> >> C:\Users\Stick100\Documents\UnrealEngine\Engine\Binaries\Win64\UE4Editor-Engine.dll]
> >> UEngine::TickDeferredCommands() 0x2e25
> >>
> >>
> >> _______________________________________________
> >> Mono-ue mailing list
> >> Mono-ue at lists.ximian.com
> >> http://lists.ximian.com/mailman/listinfo/mono-ue
> >>
> >
> 
> 
> 
> -- 
> Michael Hutchinson ~ https://mhut.ch
 		 	   		  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ximian.com/pipermail/mono-ue/attachments/20141113/35e68bae/attachment.html>


More information about the Mono-ue mailing list