Well, the latest commit in develop branch just broke my sonarr installation on FreeNas server.
BTW, how do I rollback the release (without re-installation)? I do hope that the updater zips up sonarr directory somewhere besides the 3 files (.db and config)
18-2-22 12:38:44.9|Info|InstallUpdateService|Downloading update 2.0.0.5145
18-2-22 12:38:46.4|Info|InstallUpdateService|Verifying update package
18-2-22 12:38:46.5|Info|InstallUpdateService|Update package verified successfully
18-2-22 12:38:46.5|Info|InstallUpdateService|Extracting Update package
18-2-22 12:38:47.3|Info|InstallUpdateService|Update package extracted successfully
18-2-22 12:38:47.3|Info|BackupService|Starting Backup
18-2-22 12:38:52.6|Info|InstallUpdateService|Preparing client
18-2-22 12:38:52.7|Info|InstallUpdateService|Starting update client /tmp/nzbdrone_update/NzbDrone.Update.exe
18-2-22 12:38:52.7|Info|InstallUpdateService|Sonarr will restart shortly.
18-2-22 12:39:03.4|Info|Bootstrap|Starting Sonarr - /usr/pbi/sonarr-amd64/share/sonarr/NzbDrone.exe - Version 2.0.0.5145
18-2-22 12:39:03.7|Info|AppFolderInfo|Data directory is being overridden to [/var/db/sonarr]
18-2-22 12:39:03.7|Fatal|ConsoleApp|EPIC FAIL![v2.0.0.5145] System.MissingMethodException: Method not found: 'System.Array.Empty'.
at NzbDrone.Core.Configuration.ConfigFileProvider+<>c__DisplayClass45_0.b__0 () [0x00000] in M:\BuildAgent\work\b69c1fe19bfc2c38\src\NzbDrone.Core\Configuration\ConfigFileProvider.cs:227
at NzbDrone.Common.Cache.Cached1[System.String].Get (System.String key, System.Func1 function, Nullable1 lifeTime) [0x0006a] in M:\BuildAgent\work\b69c1fe19bfc2c38\src\NzbDrone.Common\Cache\Cached.cs:81 at NzbDrone.Core.Configuration.ConfigFileProvider.GetValue (System.String key, System.Object defaultValue, Boolean persist) [0x00022] in M:\BuildAgent\work\b69c1fe19bfc2c38\src\NzbDrone.Core\Configuration\Con figFileProvider.cs:225 at NzbDrone.Core.Configuration.ConfigFileProvider.get_LogLevel () [0x00000] in M:\BuildAgent\work\b69c1fe19bfc2c38\src\NzbDrone.Core\Configuration\ConfigFileProvider.cs:181 at NzbDrone.Core.Instrumentation.ReconfigureLogging.Reconfigure () [0x00000] in M:\BuildAgent\work\b69c1fe19bfc2c38\src\NzbDrone.Core\Instrumentation\ReconfigureLogging.cs:22 at NzbDrone.Host.Bootstrap.Start (ApplicationModes applicationModes, NzbDrone.Common.EnvironmentInfo.StartupContext startupContext) [0x00000] in M:\BuildAgent\work\b69c1fe19bfc2c38\src\NzbDrone.Host\Bootstrap .cs:66 at NzbDrone.Host.Bootstrap.Start (NzbDrone.Common.EnvironmentInfo.StartupContext startupContext, IUserAlert userAlert, System.Action1 startCallback) [0x00075] in M:\BuildAgent\work\b69c1fe19bfc2c38\src\NzbDr
one.Host\Bootstrap.cs:41
at NzbDrone.Console.ConsoleApp.Main (System.String[] args) [0x0000e] in M:\BuildAgent\work\b69c1fe19bfc2c38\src\NzbDrone.Console\ConsoleApp.cs:29
Same here
I think you need to update to higher version your log shows 2.0.0.5145 but a
2.0.0.5146 - Feb 23 2018 develop Installed
Fixed Starting Sonarr under older versions of mono
No, 5146 doesnt work to me neither, is working with 5134
wget http://download.sonarr.tv/v2/develop/mono/NzbDrone.develop.2.0.0.5134.mono.tar
Obviously you must disable automatic updates for now.
Sorry for my bad english
You've left out some critical information that is requested when filling out a bug report.
We need to know the mono version and platform you're running on.
jake@shmocking-sherver:~$ mono --version
Mono JIT compiler version 4.2.1 (Debian 4.2.1.102+dfsg2-7ubuntu4)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
TLS: __thread
SIGSEGV: altstack
Notifications: epoll
Architecture: amd64
Disabled: none
Misc: softdebug
LLVM: supported, not enabled.
GC: sgen
jake@shmocking-sherver:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.2 LTS
Release: 16.04
Codename: xenial
md5-cfcc255769811694f769a06dc761b239
Feb 22 20:40:20 shmocking-sherver mono[7072]: [v2.0.0.5145] System.MissingMethodException: Method 'Array.Empty' not found.
I guess that means I need to update to 5146 manually then?
Platform: FreeNAS 10.3 (sonarr inside Jail)
[root@sonarr_1 /usr/pbi/sonarr-amd64/share]# mono --version
Mono JIT compiler version 3.10.0 (tarball Thu Feb 4 00:22:52 PST 2016)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
TLS: __thread
SIGSEGV: altstack
Notification: kqueue
Architecture: amd64
Disabled: none
Misc: softdebug
LLVM: supported, not enabled.
GC: sgen
[root@sonarr_1 /usr/pbi/sonarr-amd64/share]# uname -a
FreeBSD sonarr_1 10.3-STABLE FreeBSD 10.3-STABLE #0 r295946+21897e6695f(HEAD): Tue Jul 25 00:03:12 UTC 2017 root@gauntlet:/freenas-9.10-releng/_BE/objs/freenas-9.10-releng/_BE/os/sys/FreeNAS.amd64 amd64
Wow, what a waste of time with the rollback.
Looks like 5146 does not fix the crash
[v2.0.0.5146] System.MissingMethodException: Method 'Array.Empty' not found.
at NzbDrone.Core.Configuration.ConfigFileProvider+<>c__DisplayClass45_0.<GetValue>b__0 () <0x40bc4820 + 0x0001b> in <filename unknown>:0
at NzbDrone.Common.Cache.Cached`1[T].Get (System.String key, System.Func`1 function, Nullable`1 lifeTime) <0x40bc3c70 + 0x0021e> in <filename unknown>:0
at NzbDrone.Core.Configuration.ConfigFileProvider.GetValue (System.String key, System.Object defaultValue, Boolean persist) <0x40bc4610 + 0x001c2> in <filename unknown>:0
at NzbDrone.Core.Configuration.ConfigFileProvider.get_LogLevel () <0x40bc45c0 + 0x00027> in <filename unknown>:0
at NzbDrone.Core.Instrumentation.ReconfigureLogging.Reconfigure () <0x40bc4420 + 0x0003e> in <filename unknown>:0
at NzbDrone.Host.Bootstrap.Start (ApplicationModes applicationModes, NzbDrone.Common.EnvironmentInfo.StartupContext startupContext) <0x40bc2780 + 0x00037> in <filename unknown>:0
at NzbDrone.Host.Bootstrap.Start (NzbDrone.Common.EnvironmentInfo.StartupContext startupContext, IUserAlert userAlert, System.Action`1 startCallback) <0x40b88f60 + 0x00173> in <filename unknown>:0
at NzbDrone.Console.ConsoleApp.Main (System.String[] args) <0x40b3c4c0 + 0x00097> in <filename unknown>:0
No 5146 does not fix the bug.
FYI, what was difficult during manual rollback is that once Sonarr starts up it autoupdates to 5146 branch automatically during startup and the app crashes once again. I had to disable my network interface (to disable internet for autoupdate), restore dbs and conf than startup Sonarr 5134. Dont forget to disable autoupdate in Settings until this bug is fixed.
You've got to be kidding, this is what I get after rollback to 5134 and trying to grab a file:
18-2-23 00:46:20.5|Fatal|NzbDroneErrorPipeline|Request Failed. POST /api/release
[v2.0.0.5134] System.IO.FileNotFoundException: Could not load file or assembly 'MonoTorrent, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies.
File name: 'MonoTorrent, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'
at NzbDrone.Core.Download.TorrentClientBase1<NzbDrone.Core.Download.Clients.Transmission.TransmissionSettings>.DownloadFromWebUrl (NzbDrone.Core.Parser.Model.RemoteEpisode,string) <0x001fd> at NzbDrone.Core.Download.TorrentClientBase1.Download (NzbDrone.Core.Parser.Model.RemoteEpisode) <0x006ac>
at NzbDrone.Core.Download.DownloadService.DownloadReport (NzbDrone.Core.Parser.Model.RemoteEpisode) <0x00597>
at NzbDrone.Api.Indexers.ReleaseModule.DownloadRelease (NzbDrone.Api.Indexers.ReleaseResource) <0x000e7>
at NzbDrone.Api.Indexers.ReleaseModule.<.ctor>b__7_0 (object) <0x00037>
at (wrapper dynamic-method) object.CallSite.Target (System.Runtime.CompilerServices.Closure,System.Runtime.CompilerServices.CallSite,System.Func`2
macOS High Sierra - 10.13.3 (17D102)
Mono Version: 4.2.1
Tracked down the issue to the build system which caused issues with mono before .net 4.5 was supported (4.6 or 4.8 I believe). 2.0.0.5150 fixes the build and is ready for download now. You'll need to manually upgrade (unless you already downgraded).
2.0.0.5150 is now working for me
@markus101 What changed in the build system? Coz we're still building against 4.0 aren't we?
Switched to one of the "new" agents and it output a build that included a mscorlib.dll and some other extra fails and didn't work on older mono versions.
Didn't spend much time figuring out what was missing on the new agent, just switched back.
latest 2.0.0.5150 - is working. Thank you for a quick turnaround on the fix!
Can you please enhance the Backup during upgrades so its easier to rollback in such cases. It was very painful to rollback the release (looking for locations, db & config backups, wget older releases, reinstall etc).
@vinchi007 Just to chime in on my solution for issues like this. I've been burned too many times by various plugins updating and breaking on my FreeNAS machine. What I've found to be the easiest fix is to have a periodic snapshot task taking snapshots of my Jails dataset hourly and keeping them for a week. That way, if something breaks, I just delete the snapshots taken after the update and then roll back that specific jail. Hopefully I explained that in enough detail, but if you have any questions feel free to let me know.
Hi @my95z34 , thank you for your feedback. I do take snapshots but every few months only or during a major upgrade. The problem with frequent snapshots is that overtime it slows down the performance of ZFS because it has to reference (check) snapshot when you delete files within that dataset.
I will think about scheduling snapshotting jails dataset since many apps have auto-update features on.
@vinchi007 , I've got a lot of snapshot tasks and haven't noticed any issues. Though my evidence is anecdotal at best. And, if you're really worried about performance, a daily snapshot kept for a week couldn't do too much damage, but will also CYA in situations like this.
Most helpful comment
Tracked down the issue to the build system which caused issues with mono before .net 4.5 was supported (4.6 or 4.8 I believe). 2.0.0.5150 fixes the build and is ready for download now. You'll need to manually upgrade (unless you already downgraded).