Hey guys,
I can’t update my Sonarr to the latest version. It seems that getting all the processes (from NzbDrone.Common.Processes.ProcessProvider.GetProcessById, calls .NET method: System.Diagnostics.Process.GetProcesses).
The exception message is: System.NotSupportedException: This system does not support EnumProcesses
It seems that this method is not supported on Unix/BSD. I can stop Sonarr manually, run the updater and start it again. However, the updater currently doesn’t support giving it a -1 for the process id (disabling all current process checks).
It would be great if the we could have this switch in the updater, disabling the process checks when it’s not supported by the OS.
This seems to be related to: This system does not support EnumProcesses
That switch cannot be supported because the updater would be unable to stop Sonarr to perform the update either.
I’m not exactly sure why we get all the processes then filter to find the expected process ID, but that code has been running for 2 years so I’m hesitant to alter it and find out it breaks something else.
Which version of mono are you running?
I’m running 3.12_1, but I’ve checked the Mono source and this behaviour has been present since 3.8.
It used to work on this system. I do have an upgraded Freenas though.
Supporting this switch would only be used for manual purposes. I exit Sonarr first manually, and then run the update with the -1 processid switch. Or, if the ID is already known, don’t call the GetProcesses() method but just kill the process. That would maybe be the better solution.
No plans to support a manual for updating, but we’ll look into the issue: https://github.com/Sonarr/Sonarr/issues/584