[ 
https://issues.apache.org/jira/browse/IGNITE-12427?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Pavel Tupitsyn updated IGNITE-12427:
------------------------------------
    Description: 
{code}
System.DllNotFoundException : libcoreclr.so assembly:<unknown assembly> 
type:<unknown type> member:(null)
  at (wrapper managed-to-native) 
Apache.Ignite.Core.Impl.Unmanaged.UnmanagedThread+NativeMethodsLinux.pthread_key_create(intptr,intptr)
  at Apache.Ignite.Core.Impl.Unmanaged.UnmanagedThread.SetThreadExitCallback 
(System.IntPtr callbackPtr) [0x00084] in 
/home/pavel/w/ignite/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Unmanaged/UnmanagedThread.cs:70
 
  at Apache.Ignite.Core.Impl.Unmanaged.Jni.Jvm..ctor (System.IntPtr jvmPtr) 
[0x00041] in 
/home/pavel/w/ignite/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Unmanaged/Jni/Jvm.cs:100
 
  at Apache.Ignite.Core.Impl.Unmanaged.Jni.Jvm.GetOrCreate 
(System.Collections.Generic.IList`1[T] options) [0x00013] in 
/home/pavel/w/ignite/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Unmanaged/Jni/Jvm.cs:149
 
  at Apache.Ignite.Core.Impl.IgniteManager.CreateJvm 
(Apache.Ignite.Core.IgniteConfiguration cfg, Apache.Ignite.Core.Log.ILogger 
log) [0x00044] in 
/home/pavel/w/ignite/modules/platforms/dotnet/Apache.Ignite.Core/Impl/IgniteManager.cs:132
 
  at Apache.Ignite.Core.Impl.IgniteManager.CreateJvmContext 
(Apache.Ignite.Core.IgniteConfiguration cfg, Apache.Ignite.Core.Log.ILogger 
log) [0x00099] in 
/home/pavel/w/ignite/modules/platforms/dotnet/Apache.Ignite.Core/Impl/IgniteManager.cs:83
 
  at Apache.Ignite.Core.Ignition.Start (Apache.Ignite.Core.IgniteConfiguration 
cfg) [0x00078] in 
/home/pavel/w/ignite/modules/platforms/dotnet/Apache.Ignite.Core/Ignition.cs:251
 
{code}

Mono is not officially supported by Ignite.NET, but it is useful to be able to 
compile full solution on Linux. 

See how DllLoader uses Os.IsMono check and a separate NativeMethods class.

Full steps to reproduce on Linux:
* Install Mono: https://www.mono-project.com/download/stable/#download-lin
* Install NuGet: {{apt isntall nuget}}
* Build the project with {{build-mono.sh}}
* Run {{mono Apache.Ignite.exe}}


  was:
{code}
System.DllNotFoundException : libcoreclr.so assembly:<unknown assembly> 
type:<unknown type> member:(null)
  at (wrapper managed-to-native) 
Apache.Ignite.Core.Impl.Unmanaged.UnmanagedThread+NativeMethodsLinux.pthread_key_create(intptr,intptr)
  at Apache.Ignite.Core.Impl.Unmanaged.UnmanagedThread.SetThreadExitCallback 
(System.IntPtr callbackPtr) [0x00084] in 
/home/pavel/w/ignite/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Unmanaged/UnmanagedThread.cs:70
 
  at Apache.Ignite.Core.Impl.Unmanaged.Jni.Jvm..ctor (System.IntPtr jvmPtr) 
[0x00041] in 
/home/pavel/w/ignite/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Unmanaged/Jni/Jvm.cs:100
 
  at Apache.Ignite.Core.Impl.Unmanaged.Jni.Jvm.GetOrCreate 
(System.Collections.Generic.IList`1[T] options) [0x00013] in 
/home/pavel/w/ignite/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Unmanaged/Jni/Jvm.cs:149
 
  at Apache.Ignite.Core.Impl.IgniteManager.CreateJvm 
(Apache.Ignite.Core.IgniteConfiguration cfg, Apache.Ignite.Core.Log.ILogger 
log) [0x00044] in 
/home/pavel/w/ignite/modules/platforms/dotnet/Apache.Ignite.Core/Impl/IgniteManager.cs:132
 
  at Apache.Ignite.Core.Impl.IgniteManager.CreateJvmContext 
(Apache.Ignite.Core.IgniteConfiguration cfg, Apache.Ignite.Core.Log.ILogger 
log) [0x00099] in 
/home/pavel/w/ignite/modules/platforms/dotnet/Apache.Ignite.Core/Impl/IgniteManager.cs:83
 
  at Apache.Ignite.Core.Ignition.Start (Apache.Ignite.Core.IgniteConfiguration 
cfg) [0x00078] in 
/home/pavel/w/ignite/modules/platforms/dotnet/Apache.Ignite.Core/Ignition.cs:251
 
{code}

Mono is not officially supported by Ignite.NET, but it is useful to be able to 
compile full solution on Linux. 

See how DllLoader uses Os.IsMono check and a separate NativeMethods class.


> .NET: Ignite does not start under Mono on Linux because of UnmanagedThread
> --------------------------------------------------------------------------
>
>                 Key: IGNITE-12427
>                 URL: https://issues.apache.org/jira/browse/IGNITE-12427
>             Project: Ignite
>          Issue Type: Bug
>          Components: platforms
>    Affects Versions: 2.8
>            Reporter: Pavel Tupitsyn
>            Assignee: Pavel Tupitsyn
>            Priority: Minor
>              Labels: .NET, newbie
>             Fix For: 2.9
>
>
> {code}
> System.DllNotFoundException : libcoreclr.so assembly:<unknown assembly> 
> type:<unknown type> member:(null)
>   at (wrapper managed-to-native) 
> Apache.Ignite.Core.Impl.Unmanaged.UnmanagedThread+NativeMethodsLinux.pthread_key_create(intptr,intptr)
>   at Apache.Ignite.Core.Impl.Unmanaged.UnmanagedThread.SetThreadExitCallback 
> (System.IntPtr callbackPtr) [0x00084] in 
> /home/pavel/w/ignite/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Unmanaged/UnmanagedThread.cs:70
>  
>   at Apache.Ignite.Core.Impl.Unmanaged.Jni.Jvm..ctor (System.IntPtr jvmPtr) 
> [0x00041] in 
> /home/pavel/w/ignite/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Unmanaged/Jni/Jvm.cs:100
>  
>   at Apache.Ignite.Core.Impl.Unmanaged.Jni.Jvm.GetOrCreate 
> (System.Collections.Generic.IList`1[T] options) [0x00013] in 
> /home/pavel/w/ignite/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Unmanaged/Jni/Jvm.cs:149
>  
>   at Apache.Ignite.Core.Impl.IgniteManager.CreateJvm 
> (Apache.Ignite.Core.IgniteConfiguration cfg, Apache.Ignite.Core.Log.ILogger 
> log) [0x00044] in 
> /home/pavel/w/ignite/modules/platforms/dotnet/Apache.Ignite.Core/Impl/IgniteManager.cs:132
>  
>   at Apache.Ignite.Core.Impl.IgniteManager.CreateJvmContext 
> (Apache.Ignite.Core.IgniteConfiguration cfg, Apache.Ignite.Core.Log.ILogger 
> log) [0x00099] in 
> /home/pavel/w/ignite/modules/platforms/dotnet/Apache.Ignite.Core/Impl/IgniteManager.cs:83
>  
>   at Apache.Ignite.Core.Ignition.Start 
> (Apache.Ignite.Core.IgniteConfiguration cfg) [0x00078] in 
> /home/pavel/w/ignite/modules/platforms/dotnet/Apache.Ignite.Core/Ignition.cs:251
>  
> {code}
> Mono is not officially supported by Ignite.NET, but it is useful to be able 
> to compile full solution on Linux. 
> See how DllLoader uses Os.IsMono check and a separate NativeMethods class.
> Full steps to reproduce on Linux:
> * Install Mono: https://www.mono-project.com/download/stable/#download-lin
> * Install NuGet: {{apt isntall nuget}}
> * Build the project with {{build-mono.sh}}
> * Run {{mono Apache.Ignite.exe}}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to