Hey, I’m working on setting up a colocated Plex server, running FreeBSD 10. I have 3 jails, one for a reverse proxy, one for sab/nzb/couch, and another for Plex.
The reverse proxy and sab/nzb/couch are all using NAT for added security, while Plex has a public IP. So the base OS and Plex have different public IPs.
I’m currently having problems getting NzbDrone to talk to Plex, with the following error when I try to add it:
Newtonsoft.Json.JsonReaderException: Unexpected character encountered while parsing value: <. Path ‘’, line 0, position 0.
at Newtonsoft.Json.JsonTextReader.ParseValue () [0x00000] in :0
at Newtonsoft.Json.JsonTextReader.ReadInternal () [0x00000] in :0
at Newtonsoft.Json.JsonTextReader.Read () [0x00000] in :0
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.ReadForType (Newtonsoft.Json.JsonReader reader, Newtonsoft.Json.Serialization.JsonContract contract, Boolean hasConverter) [0x00000] in :0
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize (Newtonsoft.Json.JsonReader reader, System.Type objectType, Boolean checkAdditionalContent) [0x00000] in :0
Is there any restrictions on NzbDrone managing a remote Plex instance (though these are all on the same network)? And what exactly is that username/password field for? Different than myPlex account?
Thanks
If Plex and drone are able to communicate over the same LAN (internal network) the username and password should not be required, if not you will need to use them, which is your myPlex account.
That error doesn’t show where in drone its failing, so I’ll need more of the error message and drone will need to be run via mono in debug mode: mono --debug /path/to/NzbDrone.exe
Interesting… I flipped on debugging, restarted Drone, and it went out to my 3 indexers, pulled 100 matches each, and started to parse episodes I’ve never heard of in my life. All my indexer profiles are empty, and my nzbdrone series list only has 2 series for testing purposes, brand new file system. I restarted nzbdrone again, and it seems to be fine. Strange.
Either way, this is all I’m getting when trying to test my Plex connection:
14-6-3 07:22:21.4|Debug|PlexService|Getting sections from Plex host:
14-6-3 07:22:21.4|Error|TaskExtensions|Task Error
Newtonsoft.Json.JsonReaderException: Unexpected character encountered while parsing value: <. Path ‘’, line 0, position 0.
at Newtonsoft.Json.JsonTextReader.ParseValue () [0x00000] in :0
at Newtonsoft.Json.JsonTextReader.ReadInternal () [0x00000] in :0
at Newtonsoft.Json.JsonTextReader.Read () [0x00000] in :0
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.ReadForType (Newtonsoft.Json.JsonReader reader, Newtonsoft.Json.Serialization.JsonContract contract, Boolean hasConverter) [0x00000] in :0
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize (Newtonsoft.Json.JsonReader reader, System.Type objectType, Boolean checkAdditionalContent) [0x00000] in :0
Deleted
Edit I’m assuming Nzbdrone pulls all TV shows it finds, then filters from that list. Either way, still can’t add to drone.
Looks like you’re trimming some of the error message, should be more information in the log file for that error.
As for the episodes, thats completely expected, how drone finds the episode you want is covered on the wiki: https://github.com/NzbDrone/NzbDrone/wiki/FAQ#how-does-nzbdrone-find-episodes
@markus101 said:
Looks like you’re trimming some of the error message, should be more information in the log file for that error.
As for the episodes, thats completely expected, how drone finds the episode you want is covered on the wiki: https://github.com/NzbDrone/NzbDrone/wiki/FAQ#how-does-nzbdrone-find-episodes
Nope, nothing more in the logs. Here’s a pastebin: 14-6-3 11:18:03.2|Debug|PlexService|Getting sections from Plex host: 205.196.146 - Pastebin.com
What version of plex server are you running? Looks like Plex is returning XML instead of JSON and its causing drone to die.
@markus101 said:
What version of plex server are you running? Looks like Plex is returning XML instead of JSON and its causing drone to die.
Version 0.9.9.10. Thanks for taking the time to help.
I’ll add some additional logging and hopefully we can track it down, a bit confused why Plex would return XML instead of JSON (which is what I assume is happening).
@markus101 said:
I’ll add some additional logging and hopefully we can track it down, a bit confused why Plex would return XML instead of JSON (which is what I assume is happening).
Sounds good… let me know if I can do anything else
Logging has been added, you’ll need to test it out on the develop branch as its likely going to be a while before we push to master again. https://github.com/NzbDrone/NzbDrone/wiki/Release-Branches
NzbDrone Ver. 2.0.0.1542
Not much changed. http://pastebin.com/LAyLrRau
Maybe this is related, while trying to run the updater: http://pastebin.com/iyTKFs7E
However, I can wget those files no problem.
Here’s what my ifconfig looks like: http://pastebin.com/kcYTiQdb
NzbDrone can communicate with other apps which are explicitly bound to 192.168.1.3, as well as talk to public indexers.
The 2nd pastebin is gone. The fist doesn’t show any of the additional logging, so it may be dying at a different spot.
Are you able to use an internal IP between drone and Plex?
I’ll add some more logging.
The second pastebin was an error, NzbDrone not able to fetch the update. I took the exact URL and can wget it, is it possible its trying to use re0 for some actions, even though there is no IP on that interface?
And yes, I can put Plex on a local internal IP to test. Long term that’s not ideal, but its a good trouble shooting step.
thanks!
drone itself just makes a call, it lets the OS decide how to handle it. I pushed up the additional logging as well (in develop). 2.0.0.1544 should have it.
Cool, I’ll give it a try tonight before switching IPs.
14-6-6 04:46:10.7|Error|TaskExtensions|Task Error
Newtonsoft.Json.JsonReaderException: Unexpected character encountered while parsing value: <. Path ‘’, line 0, position 0.
at Newtonsoft.Json.JsonTextReader.ParseValue () [0x00000] in :0
at Newtonsoft.Json.JsonTextReader.ReadInternal () [0x00000] in :0
at Newtonsoft.Json.JsonTextReader.Read () [0x00000] in :0
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.ReadForType (Newtonsoft.Json.JsonReader reader, Newtonsoft.Json.Serialization.JsonContract contract, Boolean hasConverter) [0x00000] in :0
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize (Newtonsoft.Json.JsonReader reader, System.Type objectType, Boolean checkAdditionalContent) [0x00000] in :0
Seeing these now too:
14-6-6 04:19:28.0|Warn|HttpProvider|Failed to get response from: http://nzbs.org/api?t=tvsearch&cat=5000&extended=1&apikey= Error getting response stream (ReadDone1): ReceiveFailure 14-6-6 04:19:28.1|Warn|FetchFeedService|Nzbs.org http://nzbs.org/api?t=tvsearch&cat=5000&extended=1&apikey= Error getting response stream (ReadDone1): ReceiveFailure
However, I can take that URL (with my API key added) and wget it it no problem.
What version, none of the additional logging is there and it should be.
Nothing changed in drone with how it connects to the indexers…
I’ve seen it connect to both indexers, and when I manually search that indexer shows, so we can ignore that error, as I no longer think its related.
I switched to an internal IP, here’s the latest: http://pastebin.com/zjwGMgcn
NzbDrone Ver. 2.0.0.1544
I’ll go ahead and try 1547.
Got it working on the LAN IP, had to remove the 205 network from “List of networks that are allowed without auth” in Plex.
The XML that you were seeing earlier was a 401 Unauthorized, with a trailing > from an HTML tag (according to tcpdump).
I’m fine with leaving it like this, if everything works, great. You’ve definitely earned a donation from me.