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

Update mono #3865

Merged
merged 3 commits into from
Apr 9, 2020
Merged

Update mono #3865

merged 3 commits into from
Apr 9, 2020

Conversation

hgy59
Copy link
Contributor

@hgy59 hgy59 commented Jan 23, 2020

Motivation: Update to the latest (final?) Mono 5 release
Linked issues: #3755

Checklist

  • Build rule all-supported completed successfully (ppc arches not supported)
  • Package upgrade completed successfully
  • New installation of package completed successfully
  • Update dependent packages (jackett, sonarr, radarr, lidarr) for arch-88f6281

hgy59 added 2 commits January 23, 2020 19:31
- update mono to version 5.20
- update mono icon
- add symlinks (fix SynoCommunity#3755)
- remove obsolete patch
@ymartin59
Copy link
Contributor

@hgy59 Thanks. Do you know if this update allows to run application packages with re-build of theses?

@hgy59
Copy link
Contributor Author

hgy59 commented Jan 26, 2020

@ymartin59 I am not sure whether I understand your question.
I now have built jackett, lidarr, radarr and sonarr (nzbdrone) on this branch.
The installation on DS218+ (x64) and DS115j (armada370) succeeded and the applications are running (web pages are accessible).
On DS15j only jackett was running just after the installation ([x] Execute after installation). The other packages needed a second (or third) try to run sucessfully. Maybe this is due limited resources - weak CPU, only 256MB RAM, the resource monitor shows 100% CPU load for the whole installation duration.
Since I have no use case for this packages I have no idea whether the memory leak issue of sonarr/radarr is resolved with this build (#3470).

Anything else to validate?

@Stanzilla
Copy link
Contributor

Got a test build somewhere?

@hgy59
Copy link
Contributor Author

hgy59 commented Feb 3, 2020

Just uploaded some archs to https://github.com/hgy59/spksrc/releases/tag/mono_v5.20-pre
I can upload other archs on demand.

@Stanzilla
Copy link
Contributor

Stanzilla commented Feb 3, 2020

Hrm, crashes Sonarr for me:

Mon Feb  3 21:48:32 CET 2020
Starting nzbdrone command env PATH=/usr/local/mono/bin:/volume1/@appstore/nzbdrone/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/syno/sbin:/usr/syno/bin:/usr/local/sbin:/usr/local/bin HOME=/volume1/@appstore/nzbdrone/var LD_LIBRARY_PATH=/volume1/@appstore/nzbdrone/lib /usr/local/mono/bin/mono /volume1/@appstore/nzbdrone/share/Sonarr/Sonarr.exe 
 r4_conv_to_r8 R47 <- R44
* Assertion: should not be reached at decompose.c:1891


=================================================================
	Native Crash Reporting
=================================================================
Got a SIGABRT while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries 
used by your application.
=================================================================
/proc/self/maps:
00010000-00369000 r-xp 00000000 fd:00 13548      /volume1/@appstore/mono/bin/mono-sgen
00378000-0037f000 rwxp 00358000 fd:00 13548      /volume1/@appstore/mono/bin/mono-sgen
0037f000-004f7000 rwxp 00000000 00:00 0          [heap]
40000000-40020000 r-xp 00000000 09:00 4614       /usr/lib/ld-2.15.so
40020000-40023000 rwxp 00000000 00:00 0 
40023000-40024000 r-xp 00000000 00:00 0 
40024000-40025000 ---p 00000000 00:00 0 
40025000-40026000 rwxs 00000000 00:10 72100      /dev/shm/mono.17908
40026000-4002f000 rwxp 00000000 00:00 0 
4002f000-40030000 r-xp 0001f000 09:00 4614       /usr/lib/ld-2.15.so
40030000-40031000 rwxp 00020000 09:00 4614       /usr/lib/ld-2.15.so
40031000-400c9000 r-xp 00000000 09:00 4743       /usr/lib/libm-2.15.so
400c9000-400d8000 ---p 00098000 09:00 4743       /usr/lib/libm-2.15.so
400d8000-400d9000 r-xp 00097000 09:00 4743       /usr/lib/libm-2.15.so
400d9000-400da000 rwxp 00098000 09:00 4743       /usr/lib/libm-2.15.so
400da000-400e0000 r-xp 00000000 09:00 3120       /usr/lib/librt-2.15.so
400e0000-400ef000 ---p 00006000 09:00 3120       /usr/lib/librt-2.15.so
400ef000-400f0000 r-xp 00005000 09:00 3120       /usr/lib/librt-2.15.so
400f0000-400f1000 rwxp 00006000 09:00 3120       /usr/lib/librt-2.15.so
400f1000-400f5000 r-xp 00000000 09:00 3121       /usr/lib/libdl-2.15.so
400f5000-40104000 ---p 00004000 09:00 3121       /usr/lib/libdl-2.15.so
40104000-40105000 r-xp 00003000 09:00 3121       /usr/lib/libdl-2.15.so
40105000-40106000 rwxp 00004000 09:00 3121       /usr/lib/libdl-2.15.so
40106000-4011b000 r-xp 00000000 09:00 1397       /usr/lib/libpthread-2.15.so
4011b000-4012b000 ---p 00015000 09:00 1397       /usr/lib/libpthread-2.15.so

mono/mono#12537

@hgy59
Copy link
Contributor Author

hgy59 commented Feb 3, 2020

@Stanzilla did you try what they give as fix for 88f628x (armv5) (suggesting you still use DS212 with 88f6282)?
use MONO_ENV_OPTIONS='-O=-aot,-float32' on the command line before the mono command

@Stanzilla
Copy link
Contributor

Stanzilla commented Feb 3, 2020

@Stanzilla did you try what they give as fix?
use MONO_ENV_OPTIONS='-O=-aot,-float32' on the command line before the mono command

image

But it somehow started anyway

@hgy59
Copy link
Contributor Author

hgy59 commented Feb 3, 2020

Please try this command line:

PATH=/usr/local/mono/bin:/volume1/@appstore/nzbdrone/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/syno/sbin:/usr/syno/bin:/usr/local/sbin:/usr/local/bin HOME=/volume1/@appstore/nzbdrone/var LD_LIBRARY_PATH=/volume1/@appstore/nzbdrone/lib MONO_ENV_OPTIONS='-O=-aot,-float32' /usr/local/mono/bin/mono /volume1/@appstore/nzbdrone/share/Sonarr/Sonarr.exe 

@Stanzilla
Copy link
Contributor

Stanzilla commented Feb 3, 2020

Please try this command line:

PATH=/usr/local/mono/bin:/volume1/@appstore/nzbdrone/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/syno/sbin:/usr/syno/bin:/usr/local/sbin:/usr/local/bin HOME=/volume1/@appstore/nzbdrone/var LD_LIBRARY_PATH=/volume1/@appstore/nzbdrone/lib MONO_ENV_OPTIONS='-O=-aot,-float32' /usr/local/mono/bin/mono /volume1/@appstore/nzbdrone/share/Sonarr/Sonarr.exe 

That seems to do the trick! Any way to work this into the startup scripts for Jackett and Sonarr without creating a package myself? Edit: Found the scripts.

@Stanzilla
Copy link
Contributor

This might be a release blocker though Jackett/Jackett#7084

@hgy59
Copy link
Contributor Author

hgy59 commented Feb 4, 2020

Updated jacket, radarr, lidarr and sonarr packages for arch-88f6281 are available here too:
https://github.com/hgy59/spksrc/releases/tag/mono_v5.20-pre

@Stanzilla
Copy link
Contributor

Does Jackett work for you then? It certainly sounded like it shouldn't from what their dev said?

@hgy59
Copy link
Contributor Author

hgy59 commented Feb 4, 2020

I tested jackett on DS218+. The status is running and the web page is working AFAI can estimate (I am not a jackett user).

@Stanzilla
Copy link
Contributor

The app itself works fine, just none of the network requests do, try an update check for example.

@hgy59
Copy link
Contributor Author

hgy59 commented Feb 4, 2020

When I press Check for updates I get Updater triggered see log for details..
When I press View logs I get a new window with a log of server logs.
When I press Apply server settings I get Redirecting you to complete configuration update..
And I can add an indexer and Test is successful.
(this is with Jacket version 0.12.1669.0 currently installed)

@Stanzilla
Copy link
Contributor

Hrm. Weird.

@hgy59
Copy link
Contributor Author

hgy59 commented Feb 4, 2020

Please verify the log file /var/packages/jackett/target/var/jacket.log
You must find a line with Info Environment variable MONO_ENV_OPTIONS is present just after Info Starting Jacket ...

@Stanzilla
Copy link
Contributor

it is there, otherwise it would not even start, yet any network request fails with

02-04 01:59:36 Error Jackett.Common.IndexerException: Exception (nyaasi): /volume1/@appstore/mono/lib/../lib/libmono-btls-shared.so ---> System.Net.Http.HttpRequestException: An error occurred while sending the request ---> System.Net.WebException: Error: SecureChannelFailure (Authentication failed, see inner exception.) ---> System.Security.Authentication.AuthenticationException: Authentication failed, see inner exception. ---> System.DllNotFoundException: /volume1/@appstore/mono/lib/../lib/libmono-btls-shared.so
  at (wrapper managed-to-native) Mono.Btls.MonoBtlsSslCtx.mono_btls_ssl_ctx_new()
  at Mono.Btls.MonoBtlsSslCtx..ctor () [0x00000] in <c5f4e317158343a5916a953327f92540>:0 
  at Mono.Btls.MonoBtlsContext.InitializeConnection () [0x00000] in <c5f4e317158343a5916a953327f92540>:0 
  at Mono.Btls.MonoBtlsContext.StartHandshake () [0x00000] in <c5f4e317158343a5916a953327f92540>:0 
  at Mono.Net.Security.MobileAuthenticatedStream.ProcessHandshake (Mono.Net.Security.AsyncOperationStatus status, System.Boolean renegotiate) [0x0007e] in <c5f4e317158343a5916a953327f92540>:0 
  at (wrapper remoting-invoke-with-check) Mono.Net.Security.MobileAuthenticatedStream.ProcessHandshake(Mono.Net.Security.AsyncOperationStatus,bool)
  at Mono.Net.Security.AsyncHandshakeRequest.Run (Mono.Net.Security.AsyncOperationStatus status) [0x00006] in <c5f4e317158343a5916a953327f92540>:0 
  at Mono.Net.Security.AsyncProtocolRequest.ProcessOperation (System.Threading.CancellationToken cancellationToken) [0x000ff] in <c5f4e317158343a5916a953327f92540>:0 
  at Mono.Net.Security.AsyncProtocolRequest.StartOperation (System.Threading.CancellationToken cancellationToken) [0x0008b] in <c5f4e317158343a5916a953327f92540>:0 

which I think it's a different issue.

@hgy59
Copy link
Contributor Author

hgy59 commented Feb 4, 2020

Just uninstalled version 0.12.1669.0 and installed v0.11.43.0.
It gives me the note Your version of Jackett v0.11.43.0 is very old. Multiple indexers are likely to fail when using an old version. Update to the latest version of Jackett.
But the tests work as posted for the current version.

This is all done with DS218+ that has arch-x64 (apollolake).

@hgy59
Copy link
Contributor Author

hgy59 commented Feb 4, 2020

And I installed Jackett v0.11.43.0 on my DS115j (armada370) with very limitted resources.
It installs fine and after some time, the package is in state running.
Sometimes the web page was not reachable. But finally it did an update to the latest version in the background.
And all tests run successfully.

@Letrab
Copy link

Letrab commented Feb 20, 2020

Like to test it on my DS214+ (Armadaxp).
Thanks!

@hgy59
Copy link
Contributor Author

hgy59 commented Feb 22, 2020

@Letrab just added the alpine and all armada releases of mono to:
https://github.com/hgy59/spksrc/releases/tag/mono_v5.20-pre

@ymartin59
Copy link
Contributor

Hello @hgy59 What is this status PR? As far as I understand, I should build and publish all related applications packages too, correct?

@Stanzilla
Copy link
Contributor

I'm still hoping that someone else can reproduce the connection issues, that would be a dealbreaker then

@ymartin59 ymartin59 merged commit 862ce5b into SynoCommunity:master Apr 9, 2020
@hgy59 hgy59 deleted the update_mono branch April 9, 2020 23:33
@ymartin59
Copy link
Contributor

@hgy59 FYI I am working on Jackett update.

@ymartin59
Copy link
Contributor

Everything published!

@Stanzilla
Copy link
Contributor

Tested again with the published version, mono apps still can't establish network connections here.

@richyboy1980
Copy link

@hgy59 Is there a Mono 5.20 update available for the SynologyDS418j (rtd1293)?

@hgy59
Copy link
Contributor Author

hgy59 commented Jun 3, 2020

@richyboy1980 as for rtd1296 you can use the generic aarch64 (=arm64) package available with my Mono 5.20 pre releases.
But there are known issues with Mono (> 5.8.0) for arm64 cpus.

EDIT:
Mono v5.20.1.34-13 is published in the synocommunity repo and should be available in DSM package center.
Therefore I will remove the prerelease versions in my synocommunity/spksrc forge.

@richyboy1980
Copy link

@hgy59 would you mind posting me a link? I've been looking for days and have not had any luck

@hgy59
Copy link
Contributor Author

hgy59 commented Jun 3, 2020

@richyboy1980 sorry, just deleted my prerelease 30 minutes ago....
unfortunately since the server migration the direct links to download packages on https://synocommunity.com/package/mono are gone (@ymartin59: will we support the download links for packages again?).

But, when you configured https://packages.synocommunity.com as package source in the package center of your diskstation AND enabled packages from Synology and trusted publishers then you should see the synocommunity packages incl. mono 5.20.
Unfortunately the updated easy install section on https://synocommunity.com with screenshots and the https address is missing on the new server too.

@richyboy1980
Copy link

@hgy59 The latest version showing in the Community tab in packages is the 5.8 version currently installed. No latest version is showing

@hgy59
Copy link
Contributor Author

hgy59 commented Jun 3, 2020

Here we go again, I have created a new version and uploaded to the recreated pre-release
You find it here (only aarch64 for now, it took 45 minutes to build)
https://github.com/hgy59/spksrc/releases/tag/mono_v5.20-pre

@richyboy1980
Copy link

Thanks for that @hgy59 but the link just takes me to my own home page. Sorry to be a pain in the backside!

@hgy59
Copy link
Contributor Author

hgy59 commented Jun 3, 2020

fixed

@richyboy1980
Copy link

richyboy1980 commented Jun 3, 2020

Thank you! Downloaded and installed. The only issue is Sonarr update page gives the error "Failed to fetch updates". Is this a known issue?

@Stanzilla
Copy link
Contributor

Tested again with the published version, mono apps still can't establish network connections here.

Yep.

@richyboy1980
Copy link

richyboy1980 commented Jun 3, 2020

@Stanzilla So manual update is the future for now? At least for Sonarr v3?

V2.0.0.5344 seems to update fine

@Stanzilla
Copy link
Contributor

Dunno, nothing works for me with the new mono version, had to stop using it.

@richyboy1980
Copy link

@Stanzilla Which version of mono are you using, 5.8?

@Stanzilla
Copy link
Contributor

Yea

@richyboy1980
Copy link

@Stanzilla any chance of a link to the updates on GitHub? I found the 3.0.3.750 version but I'm sure there is another but I am struggling to find it

@Stanzilla
Copy link
Contributor

I installed it from the package manager in DSM when it was there

@richyboy1980
Copy link

Ah ok. The package manager is only showing v2 at the moment

@ymartin59
Copy link
Contributor

@hgy59 Mono and related applications for aarch64 have been disabled because of a runtime failure but I do not remember what it was about. What is the current status?

@hgy59
Copy link
Contributor Author

hgy59 commented Aug 2, 2020

@hgy59 Mono and related applications for aarch64 have been disabled because of a runtime failure but I do not remember what it was about. What is the current status?

You find the most arguments in #3666

On this mono issue mono/mono#8648 @directhex states that he have up supporting mono for arm64 (for debian 8 only) due to the brocken arm64 support of gcc 4.

So this might be fixed when synology (some day in the future?) will support arm64 toolchain with GCC version >= 5.

AlexPresso pushed a commit to AlexPresso/spksrc that referenced this pull request Jan 30, 2025
* Update mono
- update mono to version 5.20
- update mono icon
- add symlinks (fix SynoCommunity#3755)
- remove obsolete patch

* add workaround for mono bug with armv5
- ref: mono/mono#12537
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

Successfully merging this pull request may close these issues.

6 participants