MediaPortal stopped due to an exception Type 'TraktPlugin.TraktAPI.DataStructures.TraktMovieSummary' (1 Viewer)

Terra

Portal Pro
August 25, 2009
230
57
Home Country
Austria Austria
Hi there,

Frequently my MePo crashes when I resume from windows standby or when I start it.
I found this in the log files last time, seems some issue with Trakt?
It is not really re-produceable with any steps, just happens sometimes and wanted to report it.

Logs attached!

Code:
[2017-08-21 01:24:41,128] [Log    ] [MPMain   ] [ERROR] - Exception: System.Runtime.Serialization.SerializationException: Type 'TraktPlugin.TraktAPI.DataStructures.TraktMovieSummary' with data contract name 'TraktMovieSummary:http://schemas.datacontract.org/2004/07/TraktPlugin.TraktAPI.DataStructures' is not expected. Consider using a DataContractResolver if you are using DataContractSerializer or add any types not known statically to the list of known types - for example, by using the KnownTypeAttribute attribute or by adding them to the list of known types passed to the serializer.
   at System.Runtime.Serialization.XmlObjectSerializerWriteContext.SerializeAndVerifyType(DataContract dataContract, XmlWriterDelegator xmlWriter, Object obj, Boolean verifyKnownType, RuntimeTypeHandle declaredTypeHandle, Type declaredType)
   at System.Runtime.Serialization.Json.XmlObjectSerializerWriteContextComplexJson.SerializeWithXsiType(XmlWriterDelegator xmlWriter, Object obj, RuntimeTypeHandle objectTypeHandle, Type objectType, Int32 declaredTypeID, RuntimeTypeHandle declaredTypeHandle, Type declaredType)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContext.InternalSerialize(XmlWriterDelegator xmlWriter, Object obj, Boolean isDeclaredType, Boolean writeXsiType, Int32 declaredTypeID, RuntimeTypeHandle declaredTypeHandle)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContextComplex.InternalSerialize(XmlWriterDelegator xmlWriter, Object obj, Boolean isDeclaredType, Boolean writeXsiType, Int32 declaredTypeID, RuntimeTypeHandle declaredTypeHandle)
   at WriteTraktMovieCollectedToJson(XmlWriterDelegator , Object , XmlObjectSerializerWriteContextComplexJson , ClassDataContract , XmlDictionaryString[] )
   at System.Runtime.Serialization.Json.JsonClassDataContract.WriteJsonValueCore(XmlWriterDelegator jsonWriter, Object obj, XmlObjectSerializerWriteContextComplexJson context, RuntimeTypeHandle declaredTypeHandle)
   at System.Runtime.Serialization.Json.XmlObjectSerializerWriteContextComplexJson.WriteDataContractValue(DataContract dataContract, XmlWriterDelegator xmlWriter, Object obj, RuntimeTypeHandle declaredTypeHandle)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContext.SerializeWithoutXsiType(DataContract dataContract, XmlWriterDelegator xmlWriter, Object obj, RuntimeTypeHandle declaredTypeHandle)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContext.InternalSerialize(XmlWriterDelegator xmlWriter, Object obj, Boolean isDeclaredType, Boolean writeXsiType, Int32 declaredTypeID, RuntimeTypeHandle declaredTypeHandle)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContextComplex.InternalSerialize(XmlWriterDelegator xmlWriter, Object obj, Boolean isDeclaredType, Boolean writeXsiType, Int32 declaredTypeID, RuntimeTypeHandle declaredTypeHandle)
   at WriteArrayOfTraktMovieCollectedToJson(XmlWriterDelegator , Object , XmlObjectSerializerWriteContextComplexJson , CollectionDataContract )
   at System.Runtime.Serialization.Json.JsonCollectionDataContract.WriteJsonValueCore(XmlWriterDelegator jsonWriter, Object obj, XmlObjectSerializerWriteContextComplexJson context, RuntimeTypeHandle declaredTypeHandle)
   at System.Runtime.Serialization.Json.XmlObjectSerializerWriteContextComplexJson.WriteDataContractValue(DataContract dataContract, XmlWriterDelegator xmlWriter, Object obj, RuntimeTypeHandle declaredTypeHandle)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContext.SerializeWithoutXsiType(DataContract dataContract, XmlWriterDelegator xmlWriter, Object obj, RuntimeTypeHandle declaredTypeHandle)
   at System.Runtime.Serialization.Json.DataContractJsonSerializer.InternalWriteObjectContent(XmlWriterDelegator writer, Object graph)
   at System.Runtime.Serialization.Json.DataContractJsonSerializer.InternalWriteObject(XmlWriterDelegator writer, Object graph)
   at System.Runtime.Serialization.XmlObjectSerializer.InternalWriteObject(XmlWriterDelegator writer, Object graph, DataContractResolver dataContractResolver)
   at System.Runtime.Serialization.XmlObjectSerializer.WriteObjectHandleExceptions(XmlWriterDelegator writer, Object graph, DataContractResolver dataContractResolver)
   at System.Runtime.Serialization.Json.DataContractJsonSerializer.WriteObject(XmlDictionaryWriter writer, Object graph)
   at System.Runtime.Serialization.Json.DataContractJsonSerializer.WriteObject(Stream stream, Object graph)
   at TraktPlugin.TraktAPI.Extensions.JSONExtensions.ToJSON(Object obj) in C:\Development\Trakt\TraktPlugin\TraktAPI\Extensions\JsonExtensions.cs:line 90
   at TraktPlugin.TraktCache.Save() in C:\Development\Trakt\TraktPlugin\Cache\TraktCache.cs:line 3931
   at TraktPlugin.TraktSettings.SaveSettings(Boolean savePersistedCache) in C:\Development\Trakt\TraktPlugin\TraktSettings.cs:line 1076
   at TraktPlugin.TraktPlugin.DeInit() in C:\Development\Trakt\TraktPlugin\TraktPlugin.cs:line 157
   at MediaPortal.GUI.Library.GUIWindowManager.<>c.<Clear>b__70_0(GUIWindow window)
   at MediaPortal.GUI.Library.GUIWindowManager.LockAndDoOnAllRegisteredWindows(Action`1 toDo)
   at MediaPortal.GUI.Library.GUIWindowManager.Clear()
   at MediaPortalApp.OnExit()
   at MediaPortalApp.Main(String[] args)  Message: Type 'TraktPlugin.TraktAPI.DataStructures.TraktMovieSummary' with data contract name 'TraktMovieSummary:http://schemas.datacontract.org/2004/07/TraktPlugin.TraktAPI.DataStructures' is not expected. Consider using a DataContractResolver if you are using DataContractSerializer or add any types not known statically to the list of known types - for example, by using the KnownTypeAttribute attribute or by adding them to the list of known types passed to the serializer.  Site   : Void SerializeAndVerifyType(System.Runtime.Serialization.DataContract, System.Runtime.Serialization.XmlWriterDelegator, System.Object, Boolean, System.RuntimeTypeHandle, System.Type)  Source : System.Runtime.Serialization  Stack Trace:     at System.Runtime.Serialization.XmlObjectSerializerWriteContext.SerializeAndVerifyType(DataContract dataContract, XmlWriterDelegator xmlWriter, Object obj, Boolean verifyKnownType, RuntimeTypeHandle declaredTypeHandle, Type declaredType)
   at System.Runtime.Serialization.Json.XmlObjectSerializerWriteContextComplexJson.SerializeWithXsiType(XmlWriterDelegator xmlWriter, Object obj, RuntimeTypeHandle objectTypeHandle, Type objectType, Int32 declaredTypeID, RuntimeTypeHandle declaredTypeHandle, Type declaredType)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContext.InternalSerialize(XmlWriterDelegator xmlWriter, Object obj, Boolean isDeclaredType, Boolean writeXsiType, Int32 declaredTypeID, RuntimeTypeHandle declaredTypeHandle)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContextComplex.InternalSerialize(XmlWriterDelegator xmlWriter, Object obj, Boolean isDeclaredType, Boolean writeXsiType, Int32 declaredTypeID, RuntimeTypeHandle declaredTypeHandle)
   at WriteTraktMovieCollectedToJson(XmlWriterDelegator , Object , XmlObjectSerializerWriteContextComplexJson , ClassDataContract , XmlDictionaryString[] )
   at System.Runtime.Serialization.Json.JsonClassDataContract.WriteJsonValueCore(XmlWriterDelegator jsonWriter, Object obj, XmlObjectSerializerWriteContextComplexJson context, RuntimeTypeHandle declaredTypeHandle)
   at System.Runtime.Serialization.Json.XmlObjectSerializerWriteContextComplexJson.WriteDataContractValue(DataContract dataContract, XmlWriterDelegator xmlWriter, Object obj, RuntimeTypeHandle declaredTypeHandle)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContext.SerializeWithoutXsiType(DataContract dataContract, XmlWriterDelegator xmlWriter, Object obj, RuntimeTypeHandle declaredTypeHandle)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContext.InternalSerialize(XmlWriterDelegator xmlWriter, Object obj, Boolean isDeclaredType, Boolean writeXsiType, Int32 declaredTypeID, RuntimeTypeHandle declaredTypeHandle)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContextComplex.InternalSerialize(XmlWriterDelegator xmlWriter, Object obj, Boolean isDeclaredType, Boolean writeXsiType, Int32 declaredTypeID, RuntimeTypeHandle declaredTypeHandle)
   at WriteArrayOfTraktMovieCollectedToJson(XmlWriterDelegator , Object , XmlObjectSerializerWriteContextComplexJson , CollectionDataContract )
   at System.Runtime.Serialization.Json.JsonCollectionDataContract.WriteJsonValueCore(XmlWriterDelegator jsonWriter, Object obj, XmlObjectSerializerWriteContextComplexJson context, RuntimeTypeHandle declaredTypeHandle)
   at System.Runtime.Serialization.Json.XmlObjectSerializerWriteContextComplexJson.WriteDataContractValue(DataContract dataContract, XmlWriterDelegator xmlWriter, Object obj, RuntimeTypeHandle declaredTypeHandle)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContext.SerializeWithoutXsiType(DataContract dataContract, XmlWriterDelegator xmlWriter, Object obj, RuntimeTypeHandle declaredTypeHandle)
   at System.Runtime.Serialization.Json.DataContractJsonSerializer.InternalWriteObjectContent(XmlWriterDelegator writer, Object graph)
   at System.Runtime.Serialization.Json.DataContractJsonSerializer.InternalWriteObject(XmlWriterDelegator writer, Object graph)
   at System.Runtime.Serialization.XmlObjectSerializer.InternalWriteObject(XmlWriterDelegator writer, Object graph, DataContractResolver dataContractResolver)
   at System.Runtime.Serialization.XmlObjectSerializer.WriteObjectHandleExceptions(XmlWriterDelegator writer, Object graph, DataContractResolver dataContractResolver)
   at System.Runtime.Serialization.Json.DataContractJsonSerializer.WriteObject(XmlDictionaryWriter writer, Object graph)
   at System.Runtime.Serialization.Json.DataContractJsonSerializer.WriteObject(Stream stream, Object graph)
   at TraktPlugin.TraktAPI.Extensions.JSONExtensions.ToJSON(Object obj) in C:\Development\Trakt\TraktPlugin\TraktAPI\Extensions\JsonExtensions.cs:line 90
   at TraktPlugin.TraktCache.Save() in C:\Development\Trakt\TraktPlugin\Cache\TraktCache.cs:line 3931
   at TraktPlugin.TraktSettings.SaveSettings(Boolean savePersistedCache) in C:\Development\Trakt\TraktPlugin\TraktSettings.cs:line 1076
   at TraktPlugin.TraktPlugin.DeInit() in C:\Development\Trakt\TraktPlugin\TraktPlugin.cs:line 157
   at MediaPortal.GUI.Library.GUIWindowManager.<>c.<Clear>b__70_0(GUIWindow window)
   at MediaPortal.GUI.Library.GUIWindowManager.LockAndDoOnAllRegisteredWindows(Action`1 toDo)
   at MediaPortal.GUI.Library.GUIWindowManager.Clear()
   at MediaPortalApp.OnExit()
   at MediaPortalApp.Main(String[] args)
[2017-08-21 01:24:41,151] [Error  ] [MPMain   ] [ERROR] - MediaPortal stopped due to an exception Type 'TraktPlugin.TraktAPI.DataStructures.TraktMovieSummary' with data contract name 'TraktMovieSummary:http://schemas.datacontract.org/2004/07/TraktPlugin.TraktAPI.DataStructures' is not expected. Consider using a DataContractResolver if you are using DataContractSerializer or add any types not known statically to the list of known types - for example, by using the KnownTypeAttribute attribute or by adding them to the list of known types passed to the serializer. System.Runtime.Serialization    at System.Runtime.Serialization.XmlObjectSerializerWriteContext.SerializeAndVerifyType(DataContract dataContract, XmlWriterDelegator xmlWriter, Object obj, Boolean verifyKnownType, RuntimeTypeHandle declaredTypeHandle, Type declaredType)
   at System.Runtime.Serialization.Json.XmlObjectSerializerWriteContextComplexJson.SerializeWithXsiType(XmlWriterDelegator xmlWriter, Object obj, RuntimeTypeHandle objectTypeHandle, Type objectType, Int32 declaredTypeID, RuntimeTypeHandle declaredTypeHandle, Type declaredType)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContext.InternalSerialize(XmlWriterDelegator xmlWriter, Object obj, Boolean isDeclaredType, Boolean writeXsiType, Int32 declaredTypeID, RuntimeTypeHandle declaredTypeHandle)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContextComplex.InternalSerialize(XmlWriterDelegator xmlWriter, Object obj, Boolean isDeclaredType, Boolean writeXsiType, Int32 declaredTypeID, RuntimeTypeHandle declaredTypeHandle)
   at WriteTraktMovieCollectedToJson(XmlWriterDelegator , Object , XmlObjectSerializerWriteContextComplexJson , ClassDataContract , XmlDictionaryString[] )
   at System.Runtime.Serialization.Json.JsonClassDataContract.WriteJsonValueCore(XmlWriterDelegator jsonWriter, Object obj, XmlObjectSerializerWriteContextComplexJson context, RuntimeTypeHandle declaredTypeHandle)
   at System.Runtime.Serialization.Json.XmlObjectSerializerWriteContextComplexJson.WriteDataContractValue(DataContract dataContract, XmlWriterDelegator xmlWriter, Object obj, RuntimeTypeHandle declaredTypeHandle)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContext.SerializeWithoutXsiType(DataContract dataContract, XmlWriterDelegator xmlWriter, Object obj, RuntimeTypeHandle declaredTypeHandle)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContext.InternalSerialize(XmlWriterDelegator xmlWriter, Object obj, Boolean isDeclaredType, Boolean writeXsiType, Int32 declaredTypeID, RuntimeTypeHandle declaredTypeHandle)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContextComplex.InternalSerialize(XmlWriterDelegator xmlWriter, Object obj, Boolean isDeclaredType, Boolean writeXsiType, Int32 declaredTypeID, RuntimeTypeHandle declaredTypeHandle)
   at WriteArrayOfTraktMovieCollectedToJson(XmlWriterDelegator , Object , XmlObjectSerializerWriteContextComplexJson , CollectionDataContract )
   at System.Runtime.Serialization.Json.JsonCollectionDataContract.WriteJsonValueCore(XmlWriterDelegator jsonWriter, Object obj, XmlObjectSerializerWriteContextComplexJson context, RuntimeTypeHandle declaredTypeHandle)
   at System.Runtime.Serialization.Json.XmlObjectSerializerWriteContextComplexJson.WriteDataContractValue(DataContract dataContract, XmlWriterDelegator xmlWriter, Object obj, RuntimeTypeHandle declaredTypeHandle)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContext.SerializeWithoutXsiType(DataContract dataContract, XmlWriterDelegator xmlWriter, Object obj, RuntimeTypeHandle declaredTypeHandle)
   at System.Runtime.Serialization.Json.DataContractJsonSerializer.InternalWriteObjectContent(XmlWriterDelegator writer, Object graph)
   at System.Runtime.Serialization.Json.DataContractJsonSerializer.InternalWriteObject(XmlWriterDelegator writer, Object graph)
   at System.Runtime.Serialization.XmlObjectSerializer.InternalWriteObject(XmlWriterDelegator writer, Object graph, DataContractResolver dataContractResolver)
   at System.Runtime.Serialization.XmlObjectSerializer.WriteObjectHandleExceptions(XmlWriterDelegator writer, Object graph, DataContractResolver dataContractResolver)
   at System.Runtime.Serialization.Json.DataContractJsonSerializer.WriteObject(XmlDictionaryWriter writer, Object graph)
   at System.Runtime.Serialization.Json.DataContractJsonSerializer.WriteObject(Stream stream, Object graph)
   at TraktPlugin.TraktAPI.Extensions.JSONExtensions.ToJSON(Object obj) in C:\Development\Trakt\TraktPlugin\TraktAPI\Extensions\JsonExtensions.cs:line 90
   at TraktPlugin.TraktCache.Save() in C:\Development\Trakt\TraktPlugin\Cache\TraktCache.cs:line 3931
   at TraktPlugin.TraktSettings.SaveSettings(Boolean savePersistedCache) in C:\Development\Trakt\TraktPlugin\TraktSettings.cs:line 1076
   at TraktPlugin.TraktPlugin.DeInit() in C:\Development\Trakt\TraktPlugin\TraktPlugin.cs:line 157
   at MediaPortal.GUI.Library.GUIWindowManager.<>c.<Clear>b__70_0(GUIWindow window)
   at MediaPortal.GUI.Library.GUIWindowManager.LockAndDoOnAllRegisteredWindows(Action`1 toDo)
   at MediaPortal.GUI.Library.GUIWindowManager.Clear()
   at MediaPortalApp.OnExit()
   at MediaPortalApp.Main(String[] args)
 

Sebastiii

Development Group
  • Team MediaPortal
  • November 12, 2007
    16,583
    10,403
    France
    Home Country
    France France
    Hi Guys :)
    I'm getting most often getting a MP crash when going back to home when i'm from myvideo playlist.

    Code:
    Application: MediaPortal.exe
    Framework Version: v4.0.30319
    Description: The process was terminated due to an unhandled exception.
    Exception Info: System.NullReferenceException
       at MediaPortal.GUI.Library.GUIImageAllocator.ClearCachedAllocatorImages()
       at MediaPortal.GUI.Library.GUIFilmstripControl.OnMessage(MediaPortal.GUI.Library.GUIMessage)
       at MediaPortal.GUI.Library.GUIFacadeControl.set_CurrentLayout(Layout)
    
    Exception Info: System.Reflection.TargetInvocationException
       at System.RuntimeMethodHandle.InvokeMethod(System.Object, System.Object[], System.Signature, Boolean)
       at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(System.Object, System.Object[], System.Object[])
       at System.Reflection.RuntimeMethodInfo.Invoke(System.Object, System.Reflection.BindingFlags, System.Reflection.Binder, System.Object[], System.Globalization.CultureInfo)
       at System.Reflection.RuntimePropertyInfo.SetValue(System.Object, System.Object, System.Reflection.BindingFlags, System.Reflection.Binder, System.Object[], System.Globalization.CultureInfo)
       at System.Reflection.RuntimePropertyInfo.SetValue(System.Object, System.Object, System.Object[])
       at TraktPlugin.GUI.GUIWindowExtensions.SetCurrentLayout(MediaPortal.GUI.Library.GUIFacadeControl, System.String)
       at TraktPlugin.TraktDashboard.LoadTrendingShowsFacade(System.Collections.Generic.IEnumerable`1<TraktAPI.DataStructures.TraktShowTrending>, MediaPortal.GUI.Library.GUIFacadeControl)
       at TraktPlugin.TraktDashboard.LoadTrendingShows(Boolean)
       at TraktPlugin.TraktDashboard.LoadTrendingShows()
       at TraktPlugin.TraktDashboard.<Init>b__76_4(System.Object)
       at System.Threading.TimerQueueTimer.CallCallbackInContext(System.Object)
       at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
       at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
       at System.Threading.TimerQueueTimer.CallCallback()
       at System.Threading.TimerQueueTimer.Fire()
       at System.Threading.TimerQueue.FireNextTimers()
       at System.Threading.TimerQueue.AppDomainTimerCallback()

    I have try to look if something can be catch on MP code, but i didn't find what, so not sure if something can be done on Trakt code side :)
     

    ltfearme

    Community Plugin Dev
  • Premium Supporter
  • June 10, 2007
    6,751
    7,196
    Sydney
    Home Country
    Australia Australia
    Hi Sebastii, Im not sure the trakt plugin will be able to catch that, could you add some extra null checks in ClearCachedAllocatorImages() ?
     

    Sebastiii

    Development Group
  • Team MediaPortal
  • November 12, 2007
    16,583
    10,403
    France
    Home Country
    France France
    Added :

    C#:
    public static void ClearCachedAllocatorImages()
        {
          if (_cachedAllocatorImages != null)
          {
            foreach (String sTextureName in _cachedAllocatorImages)
            {
              if (sTextureName != null) Flush(sTextureName);
            }
            _cachedAllocatorImages.Clear();
          }
          _cachedAllocatorImages = null;
          _cachedAllocatorImages = new List<string>();
        }

    Null check for sTextureName -> if (sTextureName != null) Flush(sTextureName); :p
     

    Sebastiii

    Development Group
  • Team MediaPortal
  • November 12, 2007
    16,583
    10,403
    France
    Home Country
    France France
    I'm just getting the crash :)
    It seems to be because in line :
    foreach (String sTextureName in _cachedAllocatorImages)
    There is no _cachedAllocatorImages (count is 0) and then it failed here, let's try by adding :

    C#:
    public static void ClearCachedAllocatorImages()
        {
          if (_cachedAllocatorImages != null)
          {
            if (_cachedAllocatorImages.Count > 0)
            {
              foreach (String sTextureName in _cachedAllocatorImages)
              {
                if (sTextureName != null) Flush(sTextureName);
              }
            }
            _cachedAllocatorImages.Clear();
          }
          _cachedAllocatorImages = null;
          _cachedAllocatorImages = new List<string>();
        }

    What do you thing @ltfearme ?
    :p
     

    Sebastiii

    Development Group
  • Team MediaPortal
  • November 12, 2007
    16,583
    10,403
    France
    Home Country
    France France
    And a json error, maybe related to the first post :

    upload_2017-8-22_13-45-16.png
     

    ltfearme

    Community Plugin Dev
  • Premium Supporter
  • June 10, 2007
    6,751
    7,196
    Sydney
    Home Country
    Australia Australia
    I think that last error is because it could not find the Newtonsoft.Json dll. I plan on removing that dependency as its only used for the calendar functions which I plan to update.
     

    Users who are viewing this thread

    Top Bottom