Getting the following errors when I try to add a series

When I try to add a series, it throws up this error:

“[GET] Service Unavailable: /api/series/lookup?term=XXXXX”

The log tells me:

(!) TraktProxy Method not found: ‘System.Net.HttpWebREqeust.set_Date’.: Method not found: ‘System.Net.HttpWebRequest.set_Date’.

The verbose log is:

"System.MissingMethodException: Method not found: ‘System.Net.HttpWebRequest.set_Date’.
at NzbDrone.Common.Http.HttpClient.Execute (NzbDrone.Common.Http.HttpRequest request) [0x00000] in :0
at NzbDrone.Common.Http.HttpClient.Get (NzbDrone.Common.Http.HttpRequest request) [0x00000] in :0
at NzbDrone.Common.Http.HttpClient.Get[List`1] (NzbDrone.Common.Http.HttpRequest request) [0x00000] in :0
at NzbDrone.Core.MetadataSource.TraktProxy.SearchTrakt (System.String title) [0x00000] in :0
at NzbDrone.Core.MetadataSource.TraktProxy.SearchForNewSeries (System.String title) [0x00000] in :0 "

Any ideas?

Sounds like an issue with mono.

Which version of mono?
Which version of drone?
Which OS?

When I do “mono --version” I get 3.10.1. When I look inside the nzbdrone web interface I see 2.10.8.1.

Using version 2.0.0.2046 of drone.

OS is OpenMediaVault (basically Debian).

Are there two versions of mono installed? Drone gets the version from the running version on mono. 3.10 is bleeding edge, 2.10 is years old now (and doesn’t work that well with drone).

I don’t think there are two versions installed. I installed nzbdrone via apt from a repository. Could that be the issue? Should I apt-get remove nzbdrone and reinstall?

How are you running drone? (Whats the script that starts it)?

How did you get mono 3.10?
Drone has a dependency on mono 2.10, though we should update that, so it may have pulled in 2.10.

I’m using some kludge of an rc shell I found on the website. Nothing else would autostart it.

I googled “how to update mono on linux” and then did the git clone + make/make install dance. My linux skills are what one might call “rudimentary,” meaning I can generally find my way around a terminal and avoid shooting myself in the face. Usually.

How I’m starting drone:

Method One:

is using rc.local you do this by opening a terminal windows and typing (without quotes) “sudo nano /etc/rc.local” (or if easier you can use a text editor like gedit, pluma, leafpad whatever you have just replace the nano part with what you want

Once this is open go to the bottom and just above where it says “exit 0” type the following for eg.

/bin/sh /home/server/Desktop/NzbDrone.sh

mine was saved to my desktop on my linux machine you will need to edit this to wherever you put the NzbDrone.sh file you downloaded above but remember to keep the /bin/sh first then a space then the rest

OK, so I shut down drone, and restarted with the mono /opt/NzbDrone/NzbDrone.exe and now I have the correct mono version and everything works…

So now to find a better way to autostart the damn thing.

You can run find / -name mono to figure out where the other mono is coming, but I suspect its the package from apt-get.

I think that’s correct, but so long as I don’t autostart from that method I posted above it seems to work grand. I just can’t get the init.d method to actually work. I’m tinkering with it now.

Starting from init.d gives me the same problem.

Hunt down and remove the 2.10 version form your path (or rename that mono file so it doesn’t try to run any more).

Drone will use whatever is on the path when it restarts drone so you can’t fix the issue by calling the proper mono version by its full path unfortunately.

I think I’ve hunted down everything, but how do I know whether a version in, say, /usr/local/bin is 2.0 or 3.10?

Just call the full path with --version

/usr/local/bin/mono --version

Gave /usr/bin/mono the old “rm -rf.”

That got it to start working. At least, when I go to \localhost:8989, the correct version of Mono shows up.

Autostart is another beast. The init.d script does not seem to be working.

I get this when I try to run insserv -v nzbdrone:

insserv: Script nzbdrone is broken: incomplete LSB comment.
insserv: missing `Provides:' entry: please add.
insserv: missing `Required-Start:' entry: please add even if empty.
insserv: missing `Required-Stop:'  entry: please add even if empty.
insserv: missing `Default-Start:'  entry: please add even if empty.
insserv: missing `Default-Stop:'   entry: please add even if empty.

Here’s my init.d script:
#! /bin/sh
### BEGIN INIT INFO
# Provides: NzbDrone
# Required-Start: $local_fs $network $remote_fs
# Required-Stop: $local_fs $network $remote_fs
# Should-Start: $NetworkManager
# Should-Stop: $NetworkManager
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: starts instance of NzbDrone
# Description: starts instance of NzbDrone using start-stop-daemon
### END INIT INFO

############### EDIT ME ##################
# path to app
APP_PATH=/opt/NzbDrone/

# user
RUN_AS=root

# path to mono bin
DAEMON=/usr/local/bin/mono

# Path to store PID file
PID_FILE=/var/run/nzbdrone/nzbdrone.pid
PID_PATH=/var/run/nzbdrone/

# script name
NAME=nzbdrone

# app name
DESC=NzbDrone

# startup args
EXENAME="NzbDrone.exe"
DAEMON_OPTS=" "$EXENAME

############### END EDIT ME ##################

NZBDRONE_PID=`ps auxf | grep NzbDrone.exe | grep -v grep | awk '{print $2}'`

test -x $DAEMON || exit 0

set -e

echo $NZBDRONE_PID > $PID_FILE

case "$1" in
  start)
        if [ -z "${NZBDRONE_PID}" ]; then
                echo "Starting $DESC"
                rm -rf $PID_PATH || return 1
                install -d --mode=0755 -o $RUN_AS $PID_PATH || return 1
                start-stop-daemon -d $APP_PATH -c $RUN_AS --start --background --pidfile $PID_FILE --exec     $DAEMON -- $DAEMON_OPTS
        else
                echo "NzbDrone already running."
        fi
  ;;
  stop)
        echo "Stopping $DESC"
        echo $NZBDRONE_PID > $PID_FILE
        start-stop-daemon --stop --pidfile $PID_FILE --retry 15
        ;;


  restart|force-reload)
        echo "Restarting $DESC"
        start-stop-daemon --stop --pidfile $PID_FILE --retry 15
        start-stop-daemon -d $APP_PATH -c $RUN_AS --start --background --pidfile $PID_FILE --exec $DAEMON     -- $DAEMON_OPTS
        ;;
  *)
        N=/etc/init.d/$NAME
        echo "Usage: $N {start|stop|restart|force-reload}" >&2    
        exit 1
        ;;   

esac

exit 0

Is this the same one from here? https://github.com/NzbDrone/NzbDrone/wiki/Autostart-on-Debian

I’m not familiar with this startup script or what to check, but maybe someone else more familiar can help you out.

That’s the one, appropriately edited with pointers to all the right places. I can use the “service nzbdrone start” program and it works, but as soon as I close my PuTTY window, nzbdrone is down again.