[ 
https://issues.apache.org/jira/browse/IGNITE-5730?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16084187#comment-16084187
 ] 

Pavel Tupitsyn commented on IGNITE-5730:
----------------------------------------

* {{DomainUnload}} is not called in default domain. {{ProcessExit}} should be 
used instead.
* When Ignite is started in a non-default AppDomain, we should use 
{{DomainUnload}}. But we rely on {{UnmanagedTarget}} and {{UnmanagedContext}} 
finalizers to clean up unmanaged objects, so we can't unload ignite.jni.dll 
before everything is finalized. And finalizer order is undefined. Seems like 
there is no reliable way to handle this.

> .NET: Failed to load ignite.jni.dll when starting up multiple nodes
> -------------------------------------------------------------------
>
>                 Key: IGNITE-5730
>                 URL: https://issues.apache.org/jira/browse/IGNITE-5730
>             Project: Ignite
>          Issue Type: Bug
>          Components: platforms
>    Affects Versions: 2.0
>            Reporter: Pavel Tupitsyn
>            Assignee: Pavel Tupitsyn
>              Labels: .NET
>             Fix For: 2.2
>
>
> When starting multiple nodes at once (with a script of some kind), failure to 
> load unmanaged dll can occur:
> {code}
> for (int i = 0; i < 30; i++)
> {
>       Process.Start(@"cmd.exe", @"/k Apache.Ignite.exe");
> }
> {code}
> Exception:
> {code}
> ERROR: System.TypeInitializationException: The type initializer for 
> 'Apache.Ignite.Core.Impl.Unmanaged.UnmanagedUtils' threw an exception. ---> 
> Apache.Ignite.Core.Common.IgniteException: Failed to load ignite.jni.dll: 126
>    at Apache.Ignite.Core.Impl.Unmanaged.UnmanagedUtils..cctor()
>    --- End of inner exception stack trace ---
>    at Apache.Ignite.Core.Impl.Unmanaged.UnmanagedUtils.Initialize()
>    at Apache.Ignite.Core.Impl.IgniteUtils.LoadDlls(String configJvmDllPath, 
> ILogger log)
>    at Apache.Ignite.Core.Ignition.Start(IgniteConfiguration cfg)
>    at Apache.Ignite.IgniteRunner.Main(String[] args)
> {code}
> Error codes may be 5 (ERROR_ACCESS_DENIED) or 126 (ERROR_MOD_NOT_FOUND).



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to