Jump to content
Not connected, Your IP: 18.224.65.198
zebulon

Eddie 2.10.3 broken with Mono 4.4.0.40 under Linux

Recommended Posts

Hi,

I am an Arch Linux user. Eddie 2.10.3 was working fine until they updated Mono to 4.4.0.40. It now crashes at start with this error:

Unhandled Exception: System.TypeInitializationException: An exception was thrown by the type initializer for Mono.Unix.Native.Syscall ---> System.DllNotFoundException: $mono_libdir/libMonoPosixHelper.so
  at (wrapper managed-to-native) Mono.Unix.Native.Syscall:_L_ctermid ()
  at Mono.Unix.Native.Syscall..cctor () [0x00000] in <filename unknown>:0 
  --- End of inner exception stack trace ---
  at AirVPN.Platforms.Linux.GetExecutablePath () [0x00000] in <filename unknown>:0 
  at AirVPN.Core.Platform.GetProgramFolder () [0x00000] in <filename unknown>:0 
  at AirVPN.Core.Engine.Initialization () [0x00000] in <filename unknown>:0 
  at AirVPN.UI.Linux.Program.Main () [0x00000] in <filename unknown>:0 
[ERROR] FATAL UNHANDLED EXCEPTION: System.TypeInitializationException: An exception was thrown by the type initializer for Mono.Unix.Native.Syscall ---> System.DllNotFoundException: $mono_libdir/libMonoPosixHelper.so
  at (wrapper managed-to-native) Mono.Unix.Native.Syscall:_L_ctermid ()
  at Mono.Unix.Native.Syscall..cctor () [0x00000] in <filename unknown>:0 
  --- End of inner exception stack trace ---
  at AirVPN.Platforms.Linux.GetExecutablePath () [0x00000] in <filename unknown>:0 
  at AirVPN.Core.Platform.GetProgramFolder () [0x00000] in <filename unknown>:0 
  at AirVPN.Core.Engine.Initialization () [0x00000] in <filename unknown>:0 
  at AirVPN.UI.Linux.Program.Main () [0x00000] in <filename unknown>:0 

The mono package comes with /usr/lib/libMonoPosixHelper.so, so Eddie may need recompilation against the new mono libraries. Unfortunately, the github version does not compile either.

Share this post


Link to post

This seems to be easily fixed, what is your mono_libdir?

You may want to add mono's lib dir to /etc/ld.so.conf or /etc/ld.so.conf.d/mono or wherever 
your system is configuring LD paths.

This should make Eddie find the shared object next launch, since now it is probably looking for it

in an undefined location.

 

P.S.

You may want to try this branch as well:

https://github.com/Clodo76/airvpn-client/tree/66243777b166ccfe89fd8539ba28d74459defdc9


Occasional moderator, sometimes BOFH. Opinions are my own, except when my wife disagrees.

Share this post


Link to post

Well, this is very weird: this also happens when using the tarball (from Airvpn website), which contains the libMonoPosixHelper.so file. Why would the system interfere with the local version?

 

Edit: uninstalling the system package mono allows it to run. So mono interferes with the local version somehow.

Share this post


Link to post

Well, this is very weird: this also happens when using the tarball (from Airvpn website), which contains the libMonoPosixHelper.so file. Why would the system interfere with the local version?

 

Edit: uninstalling the system package mono allows it to run. So mono interferes with the local version somehow.

 

I am using Arch linux(Kernel 4.4.5), and I was able to downgrade to the previously installed version of mono, which was 4.2.2.30 and it started working again...

Share this post


Link to post

 

Well, this is very weird: this also happens when using the tarball (from Airvpn website), which contains the libMonoPosixHelper.so file. Why would the system interfere with the local version?

 

Edit: uninstalling the system package mono allows it to run. So mono interferes with the local version somehow.

I am using Arch linux(Kernel 4.4.5), and I was able to downgrade to the previously installed version of mono, which was 4.2.2.30 and it started working again...

 

I have opened a thread about this on Archlinux forum: https://bbs.archlinux.org/viewtopic.php?pid=1616073#p1616073

Can you try the ldd command with 4.2? There is no difference for me between 4.4 and no mono.

Share this post


Link to post

 

 

Well, this is very weird: this also happens when using the tarball (from Airvpn website), which contains the libMonoPosixHelper.so file. Why would the system interfere with the local version?

 

Edit: uninstalling the system package mono allows it to run. So mono interferes with the local version somehow.

I am using Arch linux(Kernel 4.4.5), and I was able to downgrade to the previously installed version of mono, which was 4.2.2.30 and it started working again...

 

I have opened a thread about this on Archlinux forum: https://bbs.archlinux.org/viewtopic.php?pid=1616073#p1616073

Can you try the ldd command with 4.2? There is no difference for me between 4.4 and no mono.

 

 

Here it is (with Mono 4.2.2.30)

$ ldd libMonoPosixHelper.so
linux-vdso.so.1 (0x00007ffe859d1000)
libz.so.1 => /usr/lib/libz.so.1 (0x00007f7540d73000)
libm.so.6 => /usr/lib/libm.so.6 (0x00007f7540a6e000)
libdl.so.2 => /usr/lib/libdl.so.2 (0x00007f754086a000)
libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007f754064c000)
libc.so.6 => /usr/lib/libc.so.6 (0x00007f75402ab000)
/usr/lib64/ld-linux-x86-64.so.2 (0x000055835c6a0000)
 

 

Share this post


Link to post

I discussed this matter on Arch forums: it seems that some mono patches were removed, The patch named "Microsoft.Portable.Common.targets" looks like a good starting point.

Share this post


Link to post

 

P.S.

You may want to try this branch as well:

https://github.com/Clodo76/airvpn-client/tree/66243777b166ccfe89fd8539ba28d74459defdc9

Hi, it does not compile. I get this error:

Target CoreCompile:
                                Tool /usr/lib/mono/4.5/mcs.exe execution started with arguments: /noconfig /debug:pdbonly /optimize+ /out:obj/Release/Lib.Core.dll /resource:obj/Release/AirVPN.Lib.Core.Properties.Resources.resources AreaInfo.cs AirExchange.cs Commands.cs CompatibilityManager.cs CountriesManager.cs XmlItem.cs OvpnManager.cs RemoteAccess.cs ProgramScope.cs TorControl.cs IpAddressRange.cs NetworkLockManager.cs NetworkLockPlugin.cs IpAddress.cs NetworkLocks/RoutingTable.cs RouteScope.cs RouteEntry.cs Debug.cs Process.cs ResourcesFiles.cs TemporaryFile.cs TemporaryFiles.cs UI/Chart.cs UI/Charts.cs Constants.cs Conversions.cs UI/Actions.cs CommandLine.cs UI/Colors.cs RandomGenerator.cs Stats.cs StatsEntry.cs Messages.cs Recovery.cs Engine.cs LogEntry.cs Platform.cs Properties/AssemblyInfo.cs Properties/Resources.Designer.cs ServerInfo.cs Software.cs Storage.cs Thread.cs Threads/Manifest.cs Threads/Session.cs Threads/Penalities.cs Threads/Pinger.cs TimeDelta.cs TrustCertificatePolicy.cs Utils.cs WebClientEx.cs /target:library /win32icon:Resources/icon.ico /define:TRACE /nostdlib /reference:/usr/lib/mono/2.0-api/System.dll /reference:/usr/lib/mono/2.0-api/System.Drawing.dll /reference:/usr/lib/mono/2.0-api/System.Xml.dll /reference:/usr/lib/mono/2.0-api/mscorlib.dll /warn:4
CSC: error CS2001: Source file `XmlItem.cs' could not be found

I cannot find XmlItem.cs anywhere in Eddie code, or in another library. Any idea? Thanks.

Share this post


Link to post

Well, this is very weird: this also happens when using the tarball (from Airvpn website), which contains the libMonoPosixHelper.so file. Why would the system interfere with the local version?

 

Edit: uninstalling the system package mono allows it to run. So mono interferes with the local version somehow.

Thanks this helped me too. Since i do not use mono for anything else i could just as well uninstall it, which works flawlessly.

Share this post


Link to post

As Requested by AirVPN Staff *I have been directed to this Post on getting help to run Eddie on Linux:

My apologies, apparently I posted in the wrong topic,
& was a little bit over dramatic!   

Today the Portable version (non mono) I was using stopped working.
*I use Ubuntu 15.10

 

~/airvpn_linux_x64_portable$ ./airvpn

 
Unhandled Exception: System.TypeInitializationException: An exception was thrown by the type initializer for Mono.Unix.Native.Syscall ---> System.DllNotFoundException: $mono_libdir/libMonoPosixHelper.so
  at (wrapper managed-to-native) Mono.Unix.Native.Syscall:_L_ctermid ()
  at Mono.Unix.Native.Syscall..cctor () [0x00000] in <filename unknown>:0 
  --- End of inner exception stack trace ---
  at AirVPN.Platforms.Linux.GetExecutablePath () [0x00000] in <filename unknown>:0 
  at AirVPN.Core.Platform.GetProgramFolder () [0x00000] in <filename unknown>:0 
  at AirVPN.Core.Engine.Initialization () [0x00000] in <filename unknown>:0 
  at AirVPN.UI.Linux.Program.Main () [0x00000] in <filename unknown>:0 
[ERROR] FATAL UNHANDLED EXCEPTION: System.TypeInitializationException: An exception was thrown by the type initializer for Mono.Unix.Native.Syscall ---> System.DllNotFoundException: $mono_libdir/libMonoPosixHelper.so
  at (wrapper managed-to-native) Mono.Unix.Native.Syscall:_L_ctermid ()
  at Mono.Unix.Native.Syscall..cctor () [0x00000] in <filename unknown>:0 
  --- End of inner exception stack trace ---
  at AirVPN.Platforms.Linux.GetExecutablePath () [0x00000] in <filename unknown>:0 
  at AirVPN.Core.Platform.GetProgramFolder () [0x00000] in <filename unknown>:0 
  at AirVPN.Core.Engine.Initialization () [0x00000] in <filename unknown>:0 
  at AirVPN.UI.Linux.Program.Main () [0x00000] in <filename unknown>:0 

I hope the above information will help developers find out why the non-mono version of Eddie stopped working. (Like others here *updates to Mono caused the standard version of Eddie to stop working on my system: Ubuntu 15.10) 
*Other programs on my system use Mono, so downgrading mono didn't seem like a good idea…

I have been advised not to use the Ubuntu Network Manager…
*I agree, because the network manager has bug which worries me: - https://bugs.launchpad.net/ubuntu/+source/openvpn/+bug/1211110

So my question now is, until Eddie Portable is working again, what is recommended?
It has been suggested "a better alternative is running OpenVPN directly" as opposed to using the Ubuntu network manager!?
How?

EDIT:
OK I have had time to figure-out, and then test, using openVPN directly
I have CDed into my AirVPN Config folder and:
 
sudo openvpn --config AirVPN_Netherlands_UDP-443.ovpn
 
*Then I went to 
https://www.dnsleaktest.com/
and ran the extended test…
All is well, No DNS problems… 
*When I used the Ubuntu Network Manager Method, there were 'DNS Problems' (Check the Link above to the Bug report for more information, if you are interested)
OK, that gets the VPN going again, until EddiePortable is working again… 
 
EDIT:
I have had time to do more testing
There now is also a Portable version that requires Mono!
I have just tested this version on Ubuntu 15.10 with mono
*It is working!   (I also checked with https://www.dnsleaktest.com/ no problems)
(The other portable that does not require mono does not seem to work anymore on Ubuntu)
 

Share this post


Link to post

BlackArch trow the same error but with mono required version it work just fine

 

Btw the experimental version work very nicely, ssl tunnel / network lock / DNS airvpn / Switch server... Unlike the stable one which I had some hard time.

 

Gg for your work

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Security Check
    Play CAPTCHA Audio
    Refresh Image

×
×
  • Create New...