Ombi-app / Ombi

Want a Movie or TV Show on Plex/Emby/Jellyfin? Use Ombi!
http://ombi.io
GNU General Public License v2.0
3.71k stars 394 forks source link

Failed caching queued items from Radarr (since Radarr update 2/24) #1195

Closed ersan closed 7 years ago

ersan commented 7 years ago

Ombi Version:

V 2.1.1469

Update Branch:

Early Access Preview

Media Sever:

Plex

Media Server Version:

N/A

Operating System:

Linux

Mono Version (only if your not on windows)

4.2.3.4

Applicable Logs (from /logs/ directory or the Admin page):


2017/02/26 00:33:23.239 Ombi.Services.Jobs.RadarrCacher Error: Failed caching queued items from Radarr Newtonsoft.Json.JsonSerializationException: Cannot deserialize the current JSON object (e.g. {"name":"value"}) into type 'System.Collections.Generic.List`1[Ombi.Api.Models.Radarr.RadarrMovieResponse]' because the type requires a JSON array (e.g. [1,2,3]) to deserialize correctly.
To fix this error either change the JSON to a JSON array (e.g. [1,2,3]) or change the deserialized type so that it is a normal .NET type (e.g. not a primitive type like integer, not a collection type like an array or List<T>) that can be deserialized from a JSON object. JsonObjectAttribute can also be added to the type to force it to deserialize from a JSON object.
Path 'page', line 2, position 9.
  at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject (Newtonsoft.Json.JsonReader reader, System.Type objectType, Newtonsoft.Json.Serialization.JsonContract contract, Newtonsoft.Json.Serialization.JsonProperty member, Newtonsoft.Json.Serialization.JsonContainerContract containerContract, Newtonsoft.Json.Serialization.JsonProperty containerMember, System.Object existingValue) <0x4061e4c0 + 0x00cc3> in <filename unknown>:0 
  at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal (Newtonsoft.Json.JsonReader reader, System.Type objectType, Newtonsoft.Json.Serialization.JsonContract contract, Newtonsoft.Json.Serialization.JsonProperty member, Newtonsoft.Json.Serialization.JsonContainerContract containerContract, Newtonsoft.Json.Serialization.JsonProperty containerMember, System.Object existingValue) <0x4061d5f0 + 0x000cf> in <filename unknown>:0 
  at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize (Newtonsoft.Json.JsonReader reader, System.Type objectType, Boolean checkAdditionalContent) <0x40617e70 + 0x001e3> in <filename unknown>:0 

Problem Description:

It seems there was an update to Radarr on February 24th that caused movie caching to stop working. I'm guessing it has something to do with this commit: https://github.com/Radarr/Radarr/commit/f07f2e77f6f03fa1f7f791905e6fcb5d74f090e2 where they added paging to the system.

Reproduction Steps:

Update to latest Radarr nightly, enable movie caching, watch logs every hour.

Ombi-robot commented 7 years ago

Hi! Thanks for the issue report. Before a real human comes by, please make sure you used our bug report format. Before posting make sure you also read our FAQ and known issues. Make the title describe your issue. Having "not working" or "I get this bug" for 100 issues, isn't really helpful. If we need more information or there is some progress we tag the issue or update the tag and keep you updated. Cheers! Ombi Support Team

tidusjar commented 7 years ago

The API must have changed. Thanks i'll take a look

tidusjar commented 7 years ago

This is working fine for me...

Can you do the following:

http://yourIP:7878/api/movie?apiKey=YourRadarrApiKey

and send me the result at tidusjar@gmail.com

CBers commented 7 years ago

API call succeeds. Do you want the output?

tidusjar commented 7 years ago

@CBers Yes please, I cannot seem to get my result to page (I'm running develop)

CBers commented 7 years ago

Emailed.

I'm running Radarr nightly.

tidusjar commented 7 years ago

Looks like the API response changed in the nightly build.

Updated our objects to reflect that.

CBers commented 7 years ago

Thanks.

tidusjar commented 7 years ago

This resolve your issue @CBers and @ersan ?

OverseerMB commented 7 years ago

I can say that I no longer get the failure to read cache error for Radarr with the latest EAP. Items in Radarr's que show as requested when doing a search in OMBI.

CBers commented 7 years ago

Not getting any errors now when the Radarr caching job runs.

Enf0 commented 7 years ago

Sorry for responding to a closed ticket. I just updated to latest dev build 2.1.1492 and I'm getting a similar error message as mentioned earlier.

2017/03/06 11:01:04.344 Ombi.Services.Jobs.RadarrCacher Error: Failed caching queued items from Radarr Newtonsoft.Json.JsonSerializationException: Cannot deserialize the current JSON array (e.g. [1,2,3]) into type 'Ombi.Api.Models.Radarr.RadarrMovieContainer' because the type requires a JSON object (e.g. {"name":"value"}) to deserialize correctly.
To fix this error either change the JSON to a JSON object (e.g. {"name":"value"}) or change the deserialized type to an array or a type that implements a collection interface (e.g. ICollection, IList) like List<T> that can be deserialized from a JSON array. JsonArrayAttribute can also be added to the type to force it to deserialize from a JSON array.
Path '', line 1, position 1.
  at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.EnsureArrayContract (Newtonsoft.Json.JsonReader reader, System.Type objectType, Newtonsoft.Json.Serialization.JsonContract contract) [0x00058] in <607e95f78559498690f968784b884761>:0 
  at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateList (Newtonsoft.Json.JsonReader reader, System.Type objectType, Newtonsoft.Json.Serialization.JsonContract contract, Newtonsoft.Json.Serialization.JsonProperty member, System.Object existingValue, System.String id) [0x00012] in <607e95f78559498690f968784b884761>:0 
  at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal (Newtonsoft.Json.JsonReader reader, System.Type objectType, Newtonsoft.Json.Serialization.JsonContract contract, Newtonsoft.Json.Serialization.JsonProperty member, Newtonsoft.Json.Serialization.JsonContainerContract containerContract, Newtonsoft.Json.Serialization.JsonProperty containerMember, System.Object existingValue) [0x0007f] in <607e95f78559498690f968784b884761>:0 
  at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize (Newtonsoft.Json.JsonReader reader, System.Type objectType, System.Boolean checkAdditionalContent) [0x0007a] in <607e95f78559498690f968784b884761>:0 

Radarr version 0.2.0.375

tidusjar commented 7 years ago

Make sure you are using the latest version of Radarr

On Mon, 6 Mar 2017 at 10:28 Enf0 notifications@github.com wrote:

Sorry for responding to a closed ticket. I just updated to latest dev build 2.1.1492 and I'm getting a similar error message as mentioned earlier.

2017/03/06 11:01:04.344 Ombi.Services.Jobs.RadarrCacher Error: Failed caching queued items from Radarr Newtonsoft.Json.JsonSerializationException: Cannot deserialize the current JSON array (e.g. [1,2,3]) into type 'Ombi.Api.Models.Radarr.RadarrMovieContainer' because the type requires a JSON object (e.g. {"name":"value"}) to deserialize correctly. To fix this error either change the JSON to a JSON object (e.g. {"name":"value"}) or change the deserialized type to an array or a type that implements a collection interface (e.g. ICollection, IList) like List that can be deserialized from a JSON array. JsonArrayAttribute can also be added to the type to force it to deserialize from a JSON array. Path '', line 1, position 1. at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.EnsureArrayContract (Newtonsoft.Json.JsonReader reader, System.Type objectType, Newtonsoft.Json.Serialization.JsonContract contract) [0x00058] in <607e95f78559498690f968784b884761>:0 at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateList (Newtonsoft.Json.JsonReader reader, System.Type objectType, Newtonsoft.Json.Serialization.JsonContract contract, Newtonsoft.Json.Serialization.JsonProperty member, System.Object existingValue, System.String id) [0x00012] in <607e95f78559498690f968784b884761>:0 at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal (Newtonsoft.Json.JsonReader reader, System.Type objectType, Newtonsoft.Json.Serialization.JsonContract contract, Newtonsoft.Json.Serialization.JsonProperty member, Newtonsoft.Json.Serialization.JsonContainerContract containerContract, Newtonsoft.Json.Serialization.JsonProperty containerMember, System.Object existingValue) [0x0007f] in <607e95f78559498690f968784b884761>:0 at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize (Newtonsoft.Json.JsonReader reader, System.Type objectType, System.Boolean checkAdditionalContent) [0x0007a] in <607e95f78559498690f968784b884761>:0

— You are receiving this because you modified the open/close state.

Reply to this email directly, view it on GitHub https://github.com/tidusjar/Ombi/issues/1195#issuecomment-284358713, or mute the thread https://github.com/notifications/unsubscribe-auth/AGVaLCiaaVvzSLg5DHc9KLoC8h-63PPDks5ri9_JgaJpZM4MMtB1 .

CBers commented 7 years ago

I'm on the NIGHTLY branch and not seeing the error.

On 6 Mar 2017 11:10 am, "Jamie" notifications@github.com wrote:

Make sure you are using the latest version of Radarr

On Mon, 6 Mar 2017 at 10:28 Enf0 notifications@github.com wrote:

Sorry for responding to a closed ticket. I just updated to latest dev build 2.1.1492 and I'm getting a similar error message as mentioned earlier.

2017/03/06 11:01:04.344 Ombi.Services.Jobs.RadarrCacher Error: Failed caching queued items from Radarr Newtonsoft.Json.JsonSerializationException: Cannot deserialize the current JSON array (e.g. [1,2,3]) into type 'Ombi.Api.Models.Radarr.RadarrMovieContainer' because the type requires a JSON object (e.g. {"name":"value"}) to deserialize correctly. To fix this error either change the JSON to a JSON object (e.g. {"name":"value"}) or change the deserialized type to an array or a type that implements a collection interface (e.g. ICollection, IList) like List that can be deserialized from a JSON array. JsonArrayAttribute can also be added to the type to force it to deserialize from a JSON array. Path '', line 1, position 1. at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.EnsureArrayContract (Newtonsoft.Json.JsonReader reader, System.Type objectType, Newtonsoft.Json.Serialization.JsonContract contract) [0x00058] in < 607e95f78559498690f968784b884761>:0 at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateList (Newtonsoft.Json.JsonReader reader, System.Type objectType, Newtonsoft.Json.Serialization.JsonContract contract, Newtonsoft.Json.Serialization.JsonProperty member, System.Object existingValue, System.String id) [0x00012] in < 607e95f78559498690f968784b884761>:0 at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal (Newtonsoft.Json.JsonReader reader, System.Type objectType, Newtonsoft.Json.Serialization.JsonContract contract, Newtonsoft.Json.Serialization.JsonProperty member, Newtonsoft.Json.Serialization.JsonContainerContract containerContract, Newtonsoft.Json.Serialization.JsonProperty containerMember, System.Object existingValue) [0x0007f] in <607e95f78559498690f968784b884761>:0 at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize (Newtonsoft.Json.JsonReader reader, System.Type objectType, System.Boolean checkAdditionalContent) [0x0007a] in <607e95f78559498690f968784b884761>:0

— You are receiving this because you modified the open/close state.

Reply to this email directly, view it on GitHub https://github.com/tidusjar/Ombi/issues/1195#issuecomment-284358713, or mute the thread https://github.com/notifications/unsubscribe-auth/ AGVaLCiaaVvzSLg5DHc9KLoC8h-63PPDks5ri9_JgaJpZM4MMtB1 .

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/tidusjar/Ombi/issues/1195#issuecomment-284368041, or mute the thread https://github.com/notifications/unsubscribe-auth/ABrNOHK3FnB56HeNtPoFyiFV7ByB9KFxks5ri-nAgaJpZM4MMtB1 .

Enf0 commented 7 years ago

My apologies, seems to be okay after updating to Radarr 0.2.0.453.

OverseerMB commented 7 years ago

The error had stopped showing for me but has cropped up again. On EAP .1496 and Radarr nightly .469. Getting the following in my log

2017/03/06 18:34:59.563 Ombi.Services.Jobs.RadarrCacher Error: Failed caching queued items from Radarr Newtonsoft.Json.JsonSerializationException: Cannot deserialize the current JSON array (e.g. [1,2,3]) into type 'Ombi.Api.Models.Radarr.RadarrMovieContainer' because the type requires a JSON object (e.g. {"name":"value"}) to deserialize correctly.
To fix this error either change the JSON to a JSON object (e.g. {"name":"value"}) or change the deserialized type to an array or a type that implements a collection interface (e.g. ICollection, IList) like List<T> that can be deserialized from a JSON array. JsonArrayAttribute can also be added to the type to force it to deserialize from a JSON array.
Path '', line 1, position 1.
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.EnsureArrayContract(JsonReader reader, Type objectType, JsonContract contract)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateList(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, Object existingValue, String id)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, Boolean checkAdditionalContent)
   at Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType)
   at Newtonsoft.Json.JsonConvert.DeserializeObject(String value, Type type, JsonSerializerSettings settings)
   at Newtonsoft.Json.JsonConvert.DeserializeObject[T](String value, JsonSerializerSettings settings)
   at Ombi.Api.RadarrApi.GetMovies(String apiKey, Uri baseUrl) in C:\projects\requestplex\Ombi.Api\RadarrApi.cs:line 166
   at Ombi.Services.Jobs.RadarrCacher.Queued() in C:\projects\requestplex\Ombi.Services\Jobs\RadarrCacher.cs:line 60

I am not sure where the C:\projects\requestplex\Ombi.Services\Jobs\ directory comes into play, but I have no such directory on my server where Ombi is installed.

ersan commented 7 years ago

Indeed this is happening again starting today after a rather large commit from Radarr: https://github.com/Radarr/Radarr/commit/7cfa0531dc81dbb28d966c9c99b811e8dcc04ccd

Here's the error I get:

2017/03/06 22:07:39.029 Ombi.Services.Jobs.RadarrCacher Error: Failed caching queued items from Radarr Newtonsoft.Json.JsonSerializationException: Cannot deserialize the current JSON array (e.g. [1,2,3]) into type 'Ombi.Api.Models.Radarr.RadarrMovieContainer' because the type requires a JSON object (e.g. {"name":"value"}) to deserialize correctly.
To fix this error either change the JSON to a JSON object (e.g. {"name":"value"}) or change the deserialized type to an array or a type that implements a collection interface (e.g. ICollection, IList) like List<T> that can be deserialized from a JSON array. JsonArrayAttribute can also be added to the type to force it to deserialize from a JSON array.
Path '', line 1, position 1.
  at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.EnsureArrayContract (Newtonsoft.Json.JsonReader reader, System.Type objectType, Newtonsoft.Json.Serialization.JsonContract contract) <0x403129a0 + 0x00193> in <filename unknown>:0
  at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateList (Newtonsoft.Json.JsonReader reader, System.Type objectType, Newtonsoft.Json.Serialization.JsonContract contract, Newtonsoft.Json.Serialization.JsonProperty member, System.Object existingValue, System.String id) <0x403117f0 + 0x000a7> in <filename unknown>:0
  at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal (Newtonsoft.Json.JsonReader reader, System.Type objectType, Newtonsoft.Json.Serialization.JsonContract contract, Newtonsoft.Json.Serialization.JsonProperty member, Newtonsoft.Json.Serialization.JsonContainerContract containerContract, Newtonsoft.Json.Serialization.JsonProperty containerMember, System.Object existingValue) <0x421f7b00 + 0x000f7> in <filename unknown>:0
  at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize (Newtonsoft.Json.JsonReader reader, System.Type objectType, Boolean checkAdditionalContent) <0x421f1810 + 0x001e3> in <filename unknown>:0