ShokoAnime / ShokoDesktop

Repository for Shoko Desktop
http://shokoanime.com/shokodesktop/
105 stars 25 forks source link

Exception viewing series #592

Closed t0815 closed 2 years ago

t0815 commented 5 years ago

hi,

noticed a strange issue in shoko-desktop. After import of aniDB Series https://anidb.net/perl-bin/animedb.pl?show=anime&aid=9187

an exeption is thrown (on or more errors occured) upon viewing the series details. I tried to delete all data from DB releated to this series and imported it again, but got same result.

versions: server, client : 3.9.3

Error log:

[2018-12-24 11:58:42:107] Error|AnimeSeries.LoadSeries => VM_AnimeSeries_User.RefreshEpisodes => Utils.ShowErrorMessage System.AggregateException: One or more errors occurred. ---> Newtonsoft.Json.JsonSerializationException: Error setting value to 'AniDB_EnglishName' on 'Shoko.Desktop.ViewModel.Server.VM_AnimeEpisode_User'. ---> System.NullReferenceException: Object reference not set to an instance of an object.
   at Shoko.Desktop.ViewModel.Server.VM_AnimeEpisode_User.set_AniDB_EnglishName(String value) in D:\Documents\GitHub\ShokoDesktop\Shoko.Desktop\ViewModel\Server\VM_AnimeEpisode_User.cs:line 125
   at Newtonsoft.Json.Serialization.DynamicValueProvider.SetValue(Object target, Object value)
   --- End of inner exception stack trace ---
   at Newtonsoft.Json.Serialization.DynamicValueProvider.SetValue(Object target, Object value)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.SetPropertyValue(JsonProperty property, JsonConverter propertyConverter, JsonContainerContract containerContract, JsonProperty containerProperty, JsonReader reader, Object target)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject(Object newObject, JsonReader reader, JsonObjectContract contract, JsonProperty member, String id)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateList(IList list, JsonReader reader, JsonArrayContract contract, JsonProperty containerProperty, String id)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateList(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, Object existingValue, String id)
   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 Nancy.Rest.Client.Rest.SmallWebClient.<RestRequest>d__0.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Nancy.Rest.Client.ClientFactory.<>c__DisplayClass2_0.<<DoSyncClient>b__0>d.MoveNext()
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
   at Nancy.Rest.Client.ClientFactory.DoSyncClient(Object dexp, MethodDefinition def, IWebProxy proxy, Object[] parameters)
   at Nancy.Rest.Client.ClientFactory.<>c__DisplayClass1_1`1.<Create>b__14(Object a, Object b)
   at CallSite.Target(Closure , CallSite , Object , Int32 , Int32 )
   at ActLike_IShokoServer_948d4a493835457ca6d78ee883ff72cd.GetEpisodesForSeries(Int32 animeSeriesID, Int32 userID)
   at Shoko.Desktop.ViewModel.Server.VM_AnimeSeries_User.RefreshEpisodes() in D:\Documents\GitHub\ShokoDesktop\Shoko.Desktop\ViewModel\Server\VM_AnimeSeries_User.cs:line 473
---> (Inner Exception #0) Newtonsoft.Json.JsonSerializationException: Error setting value to 'AniDB_EnglishName' on 'Shoko.Desktop.ViewModel.Server.VM_AnimeEpisode_User'. ---> System.NullReferenceException: Object reference not set to an instance of an object.
   at Shoko.Desktop.ViewModel.Server.VM_AnimeEpisode_User.set_AniDB_EnglishName(String value) in D:\Documents\GitHub\ShokoDesktop\Shoko.Desktop\ViewModel\Server\VM_AnimeEpisode_User.cs:line 125
   at Newtonsoft.Json.Serialization.DynamicValueProvider.SetValue(Object target, Object value)
   --- End of inner exception stack trace ---
   at Newtonsoft.Json.Serialization.DynamicValueProvider.SetValue(Object target, Object value)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.SetPropertyValue(JsonProperty property, JsonConverter propertyConverter, JsonContainerContract containerContract, JsonProperty containerProperty, JsonReader reader, Object target)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject(Object newObject, JsonReader reader, JsonObjectContract contract, JsonProperty member, String id)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateList(IList list, JsonReader reader, JsonArrayContract contract, JsonProperty containerProperty, String id)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateList(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, Object existingValue, String id)
   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 Nancy.Rest.Client.Rest.SmallWebClient.<RestRequest>d__0.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Nancy.Rest.Client.ClientFactory.<>c__DisplayClass2_0.<<DoSyncClient>b__0>d.MoveNext()<---

[2018-12-24 11:58:44:839] Error|CommandBinding.OnExecuted => MainWindow.CommandBinding_ShowPinnedSeries => Utils.ShowErrorMessage System.AggregateException: One or more errors occurred. ---> Newtonsoft.Json.JsonSerializationException: Error setting value to 'AniDB_EnglishName' on 'Shoko.Desktop.ViewModel.Server.VM_AnimeEpisode_User'. ---> System.NullReferenceException: Object reference not set to an instance of an object.
   at Shoko.Desktop.ViewModel.Server.VM_AnimeEpisode_User.set_AniDB_EnglishName(String value) in D:\Documents\GitHub\ShokoDesktop\Shoko.Desktop\ViewModel\Server\VM_AnimeEpisode_User.cs:line 125
   at Newtonsoft.Json.Serialization.DynamicValueProvider.SetValue(Object target, Object value)
   --- End of inner exception stack trace ---
   at Newtonsoft.Json.Serialization.DynamicValueProvider.SetValue(Object target, Object value)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.SetPropertyValue(JsonProperty property, JsonConverter propertyConverter, JsonContainerContract containerContract, JsonProperty containerProperty, JsonReader reader, Object target)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject(Object newObject, JsonReader reader, JsonObjectContract contract, JsonProperty member, String id)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(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 Nancy.Rest.Client.Rest.SmallWebClient.<RestRequest>d__0.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Nancy.Rest.Client.ClientFactory.<>c__DisplayClass2_0.<<DoSyncClient>b__0>d.MoveNext()
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
   at Nancy.Rest.Client.ClientFactory.DoSyncClient(Object dexp, MethodDefinition def, IWebProxy proxy, Object[] parameters)
   at System.Dynamic.UpdateDelegates.UpdateAndExecute6[T0,T1,T2,T3,T4,T5,TRet](CallSite site, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5)
   at Nancy.Rest.Client.ClientFactory.<>c__DisplayClass1_1`1.<Create>b__14(Object a, Object b)
   at CallSite.Target(Closure , CallSite , Object , Int32 , Int32 )
   at ActLike_IShokoServer_948d4a493835457ca6d78ee883ff72cd.GetNextUnwatchedEpisode(Int32 animeSeriesID, Int32 userID)
   at Shoko.Desktop.UserControls.AnimeSeries.ShowNextEpisode() in D:\Documents\GitHub\ShokoDesktop\Shoko.Desktop\UserControls\AnimeSeries.xaml.cs:line 1290
   at Shoko.Desktop.UserControls.AnimeSeries.LoadSeries() in D:\Documents\GitHub\ShokoDesktop\Shoko.Desktop\UserControls\AnimeSeries.xaml.cs:line 1194
   at System.Windows.FrameworkElement.RaiseDependencyPropertyChanged(EventPrivateKey key, DependencyPropertyChangedEventArgs args)
   at System.Windows.FrameworkElement.OnDataContextChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
   at System.Windows.DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
   at System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
   at System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args)
   at System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType)
   at System.Windows.DependencyObject.SetValueCommon(DependencyProperty dp, Object value, PropertyMetadata metadata, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType, Boolean isInternal)
   at System.Windows.DependencyObject.SetValue(DependencyProperty dp, Object value)
   at Shoko.Desktop.MainWindow.ShowPinnedSeries(VM_AnimeSeries_User series, Boolean isMetroDash) in D:\Documents\GitHub\ShokoDesktop\Shoko.Desktop\MainWindow.xaml.cs:line 1255
   at Shoko.Desktop.MainWindow.CommandBinding_ShowPinnedSeries(Object sender, ExecutedRoutedEventArgs e) in D:\Documents\GitHub\ShokoDesktop\Shoko.Desktop\MainWindow.xaml.cs:line 1718
---> (Inner Exception #0) Newtonsoft.Json.JsonSerializationException: Error setting value to 'AniDB_EnglishName' on 'Shoko.Desktop.ViewModel.Server.VM_AnimeEpisode_User'. ---> System.NullReferenceException: Object reference not set to an instance of an object.
   at Shoko.Desktop.ViewModel.Server.VM_AnimeEpisode_User.set_AniDB_EnglishName(String value) in D:\Documents\GitHub\ShokoDesktop\Shoko.Desktop\ViewModel\Server\VM_AnimeEpisode_User.cs:line 125
   at Newtonsoft.Json.Serialization.DynamicValueProvider.SetValue(Object target, Object value)
   --- End of inner exception stack trace ---
   at Newtonsoft.Json.Serialization.DynamicValueProvider.SetValue(Object target, Object value)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.SetPropertyValue(JsonProperty property, JsonConverter propertyConverter, JsonContainerContract containerContract, JsonProperty containerProperty, JsonReader reader, Object target)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject(Object newObject, JsonReader reader, JsonObjectContract contract, JsonProperty member, String id)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(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 Nancy.Rest.Client.Rest.SmallWebClient.<RestRequest>d__0.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Nancy.Rest.Client.ClientFactory.<>c__DisplayClass2_0.<<DoSyncClient>b__0>d.MoveNext()<---
da3dsoul commented 5 years ago

Huh. Do you have English set as the preferred language for anime? (Settings -> Display)

da3dsoul commented 5 years ago

Also are there any errors in server log during import?

da3dsoul commented 5 years ago

I'll look at it to see if it's something stupid in the code when I get home (~1 hour)

t0815 commented 5 years ago

hi, i did set romaji and english as prefered group/series naming settings under settings -> AniDB. Under settings -> display i cant see any language settings. In ServerLog are no errors.

Same thing happend now again, after i marked an episode from an OVA as watched.

https://anidb.net/perl-bin/animedb.pl?show=anime&aid=10397

now i get the same exception for that series too. Only connection between the shows is, they are both ovas.

I get that exception now everytime on load for dashboard as well, as it cant load recently watched episodes anymore now.

t0815 commented 5 years ago

did some more digging and noticed, those episodes have no entry in anidb_episode_title table.

add: nvm, doesnt have any effect on this issue. I did try to add a title for those episodes with Language EN, but still get this error. :D

da3dsoul commented 5 years ago

I don't know. There are plenty of shows without a secondary title. Most of them work just fine

t0815 commented 5 years ago

some further stuff i did notice. I seem to be getting this error now on alot more series now. I was cleaning the contracts blob from anime_episode_user table and let server regenerate them. So it seems, there is a data inconsistency between servergenerated data and client expected data.

da3dsoul commented 5 years ago

I'm aware of data inconsistency. I don't why or how it happens

t0815 commented 5 years ago

just expierienced this error again. I added new files for an older anime. Files got hashed and info from anidb UDP api got fetched. The Series is created, but i noticed, the AniDB Record was not downloaded from AniDB HTTP Api (i checked the Anime_HTTP folder in ShokoServer Data directory). This now results in the error above, since the episode information are not present in DB. Since you get an exception, when viewing the anime, you cant refresh the anidb data either (force to redownload from the http api).

I fixed this temporarily for me, by adding a try catch block in VM_AnimeEpisode_User model, in setter for public new string AniDB_EnglishName , where it builds the episode title string...

ayrtsia commented 5 years ago

Hi, I think I am seeing the same thing. Server 3.9.4.3092, Desktop 3.9.4.0. Did the same, tried deleting and re-importing the series but no change. Initially I was able to play the episodes through myanime3 but after deleting and re-importing the episodes no longer show. I can rename and delete the series via myanime3 but not through the Desktop. This was a series I imported some time ago but just started watching: Narutaru: Mukuro Naru Hoshi Tama Taru Ko

[2019-04-02 20:47:50:258] Error|MainWindow.lbGroupsSeries_SelectionChanged => MainWindow.SetDetailBinding => Utils.ShowErrorMessage System.AggregateException: One or more errors occurred. ---> Newtonsoft.Json.JsonSerializationException: Error setting value to 'AniDB_EnglishName' on 'Shoko.Desktop.ViewModel.Server.VM_AnimeEpisode_User'. ---> System.NullReferenceException: Object reference not set to an instance of an object. at Shoko.Desktop.ViewModel.Server.VM_AnimeEpisode_User.set_AniDB_EnglishName(String value) in D:\Documents\GitHub\ShokoDesktop\Shoko.Desktop\ViewModel\Server\VM_AnimeEpisode_User.cs:line 125 at Newtonsoft.Json.Serialization.DynamicValueProvider.SetValue(Object target, Object value) --- End of inner exception stack trace --- at Newtonsoft.Json.Serialization.DynamicValueProvider.SetValue(Object target, Object value) at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.SetPropertyValue(JsonProperty property, JsonConverter propertyConverter, JsonContainerContract containerContract, JsonProperty containerProperty, JsonReader reader, Object target) at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject(Object newObject, JsonReader reader, JsonObjectContract contract, JsonProperty member, String id) at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(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 Nancy.Rest.Client.Rest.SmallWebClient.<RestRequest>d__0.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Nancy.Rest.Client.ClientFactory.<>c__DisplayClass2_0.<<DoSyncClient>b__0>d.MoveNext() --- End of inner exception stack trace --- at System.Threading.Tasks.Task1.GetResultCore(Boolean waitCompletionNotification) at Nancy.Rest.Client.ClientFactory.DoSyncClient(Object dexp, MethodDefinition def, IWebProxy proxy, Object[] parameters) at System.Dynamic.UpdateDelegates.UpdateAndExecute6[T0,T1,T2,T3,T4,T5,TRet](CallSite site, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5) at Nancy.Rest.Client.ClientFactory.<>cDisplayClass1_1`1.b__14(Object a, Object b) at CallSite.Target(Closure , CallSite , Object , Int32 , Int32 ) at ActLike_IShokoServer_beca6e7560a243419b961982b89ba371.GetNextUnwatchedEpisode(Int32 animeSeriesID, Int32 userID) at Shoko.Desktop.UserControls.AnimeSeries.ShowNextEpisode() in D:\Documents\GitHub\ShokoDesktop\Shoko.Desktop\UserControls\AnimeSeries.xaml.cs:line 1290 at Shoko.Desktop.UserControls.AnimeSeries.LoadSeries() in D:\Documents\GitHub\ShokoDesktop\Shoko.Desktop\UserControls\AnimeSeries.xaml.cs:line 1194 at System.Windows.FrameworkElement.RaiseDependencyPropertyChanged(EventPrivateKey key, DependencyPropertyChangedEventArgs args) at System.Windows.FrameworkElement.OnDataContextChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) at System.Windows.DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs e) at System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e) at System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args) at System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType) at System.Windows.DependencyObject.SetValueCommon(DependencyProperty dp, Object value, PropertyMetadata metadata, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType, Boolean isInternal) at System.Windows.DependencyObject.SetValue(DependencyProperty dp, Object value) at Shoko.Desktop.MainWindow.SetDetailBinding(Object objToBind) in D:\Documents\GitHub\ShokoDesktop\Shoko.Desktop\MainWindow.xaml.cs:line 3114 ---> (Inner Exception #0) Newtonsoft.Json.JsonSerializationException: Error setting value to 'AniDB_EnglishName' on 'Shoko.Desktop.ViewModel.Server.VM_AnimeEpisode_User'. ---> System.NullReferenceException: Object reference not set to an instance of an object. at Shoko.Desktop.ViewModel.Server.VM_AnimeEpisode_User.set_AniDB_EnglishName(String value) in D:\Documents\GitHub\ShokoDesktop\Shoko.Desktop\ViewModel\Server\VM_AnimeEpisode_User.cs:line 125 at Newtonsoft.Json.Serialization.DynamicValueProvider.SetValue(Object target, Object value) --- End of inner exception stack trace --- at Newtonsoft.Json.Serialization.DynamicValueProvider.SetValue(Object target, Object value) at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.SetPropertyValue(JsonProperty property, JsonConverter propertyConverter, JsonContainerContract containerContract, JsonProperty containerProperty, JsonReader reader, Object target) at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject(Object newObject, JsonReader reader, JsonObjectContract contract, JsonProperty member, String id) at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(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 Nancy.Rest.Client.Rest.SmallWebClient.d0.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Nancy.Rest.Client.ClientFactory.<>c__DisplayClass2_0.<b__0>d.MoveNext()<--- `

OronDF343 commented 5 years ago

I'm getting this issue too.

Additionally, there is a series that is showing episode details from a different series...

Any pointers on how to repair the data? (I am using MySQL)

[2019-04-28 23:54:45:071] Error|AnimeSeries.LoadSeries => VM_AnimeSeries_User.RefreshEpisodes => Utils.ShowErrorMessage System.AggregateException: One or more errors occurred. ---> Newtonsoft.Json.JsonSerializationException: Error setting value to 'AniDB_EnglishName' on 'Shoko.Desktop.ViewModel.Server.VM_AnimeEpisode_User'. ---> System.NullReferenceException: Object reference not set to an instance of an object.
   at Shoko.Desktop.ViewModel.Server.VM_AnimeEpisode_User.set_AniDB_EnglishName(String value) in D:\Documents\GitHub\ShokoDesktop\Shoko.Desktop\ViewModel\Server\VM_AnimeEpisode_User.cs:line 125
   at Newtonsoft.Json.Serialization.DynamicValueProvider.SetValue(Object target, Object value)
   --- End of inner exception stack trace ---
   at Newtonsoft.Json.Serialization.DynamicValueProvider.SetValue(Object target, Object value)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.SetPropertyValue(JsonProperty property, JsonConverter propertyConverter, JsonContainerContract containerContract, JsonProperty containerProperty, JsonReader reader, Object target)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject(Object newObject, JsonReader reader, JsonObjectContract contract, JsonProperty member, String id)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateList(IList list, JsonReader reader, JsonArrayContract contract, JsonProperty containerProperty, String id)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateList(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, Object existingValue, String id)
   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 Nancy.Rest.Client.Rest.SmallWebClient.<RestRequest>d__0.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Nancy.Rest.Client.ClientFactory.<>c__DisplayClass2_0.<<DoSyncClient>b__0>d.MoveNext()
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
   at Nancy.Rest.Client.ClientFactory.DoSyncClient(Object dexp, MethodDefinition def, IWebProxy proxy, Object[] parameters)
   at System.Dynamic.UpdateDelegates.UpdateAndExecute6[T0,T1,T2,T3,T4,T5,TRet](CallSite site, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5)
   at Nancy.Rest.Client.ClientFactory.<>c__DisplayClass1_1`1.<Create>b__14(Object a, Object b)
   at System.Dynamic.UpdateDelegates.UpdateAndExecute3[T0,T1,T2,TRet](CallSite site, T0 arg0, T1 arg1, T2 arg2)
   at CallSite.Target(Closure , CallSite , Object , Int32 , Int32 )
   at System.Dynamic.UpdateDelegates.UpdateAndExecute3[T0,T1,T2,TRet](CallSite site, T0 arg0, T1 arg1, T2 arg2)
   at ActLike_IShokoServer_b3bad76bb05b4150bc8588ed248a34b3.GetEpisodesForSeries(Int32 animeSeriesID, Int32 userID)
   at Shoko.Desktop.ViewModel.Server.VM_AnimeSeries_User.RefreshEpisodes() in D:\Documents\GitHub\ShokoDesktop\Shoko.Desktop\ViewModel\Server\VM_AnimeSeries_User.cs:line 494
---> (Inner Exception #0) Newtonsoft.Json.JsonSerializationException: Error setting value to 'AniDB_EnglishName' on 'Shoko.Desktop.ViewModel.Server.VM_AnimeEpisode_User'. ---> System.NullReferenceException: Object reference not set to an instance of an object.
   at Shoko.Desktop.ViewModel.Server.VM_AnimeEpisode_User.set_AniDB_EnglishName(String value) in D:\Documents\GitHub\ShokoDesktop\Shoko.Desktop\ViewModel\Server\VM_AnimeEpisode_User.cs:line 125
   at Newtonsoft.Json.Serialization.DynamicValueProvider.SetValue(Object target, Object value)
   --- End of inner exception stack trace ---
   at Newtonsoft.Json.Serialization.DynamicValueProvider.SetValue(Object target, Object value)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.SetPropertyValue(JsonProperty property, JsonConverter propertyConverter, JsonContainerContract containerContract, JsonProperty containerProperty, JsonReader reader, Object target)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject(Object newObject, JsonReader reader, JsonObjectContract contract, JsonProperty member, String id)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateList(IList list, JsonReader reader, JsonArrayContract contract, JsonProperty containerProperty, String id)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateList(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, Object existingValue, String id)
   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 Nancy.Rest.Client.Rest.SmallWebClient.<RestRequest>d__0.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Nancy.Rest.Client.ClientFactory.<>c__DisplayClass2_0.<<DoSyncClient>b__0>d.MoveNext()<---
ElementalCrisis commented 2 years ago

As Desktop is deprecated and in maintenance mode, the suggestion made in this issue will not be looked into.