Issue Teh Fishing overhaul not loading.

Quirinea

Farmer
This is really peculiar.
I had a working mod collection and I copied parts from it for a new run.

And got this:

What the heck is going on? I just renamed my "Mods", made new "Mods", and copied there both Teh's Fishing and the Core.
The combination that worked an hour ago is now going haywire... When I try to read that error list, I cannot
see what could cause the mess.
I removed Teh, restarted and went a few rounds of missing requirements, everything OK, the tried to add Teh.
Same result. Sigh.

There are other mods to help the fishing minigame, but this would be the best... (only one that shows the fish available at a location,
which sometimes is really handy for bug-hunting.


[22:47:12 ERROR TehCore] This mod failed in the GameLoop.GameLaunched event. Technical details:

System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invo
cation.
---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of a
n invocation.
---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of a
n invocation.
---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of a
n invocation.
---> Newtonsoft.Json.JsonSerializationException: Unexpected end when deserializing object. Pat
h 'FishChances', line 20, position 0.
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.ThrowUnexpectedEndException(Js
onReader reader, JsonContract contract, Object currentObject, String message)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject(Object newObjec
t, JsonReader reader, JsonObjectContract contract, JsonProperty member, String id)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader
, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerC
ontract, JsonProperty containerMember, Object existingValue)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader
reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract con
tainerContract, 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.JsonSerializer.Deserialize[T](JsonReader reader)
at TehPers.Core.Json.CommentedJsonProvider.Deserialize[TModel](StreamReader inputStream, Act
ion`1 settings)
at TehPers.Core.Json.CommentedJsonProvider.ReadJson[TModel](String path, IAssetProvider asse
tProvider, Action`1 settings)
at TehPers.Core.Json.CommentedJsonProvider.ReadJson[TModel](String path)
at TehPers.FishingOverhaul.Services.ConfigManager`1.Load()
at TehPers.FishingOverhaul.FishingModule.<>c__1`1.<BindConfiguration>b__1_0(IContext context
)
at Ninject.Activation.Provider`1.Create(IContext context)
at Ninject.Activation.Context.ResolveInternal(Object scope)
at Ninject.Activation.Context.Resolve()
at TehPers.Core.DI.ModKernel.Resolve[TService](IRequest request, Boolean handleMissingBindin
gs)
--- End of inner exception stack trace ---
at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig,
Boolean constructor, Boolean wrapExceptions)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder bi
nder, Object[] parameters, CultureInfo culture)
at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)
at TehPers.Core.DI.CoreKernel.Resolve(IRequest request, Boolean handleMissingBindings)
at TehPers.Core.DI.CoreKernel.Resolve(IRequest request)
at TehPers.Core.DI.ModKernel.Resolve(IRequest request)
at Ninject.ResolutionExtensions.Get[T](IResolutionRoot root, IParameter[] parameters)
at TehPers.FishingOverhaul.FishingModule.<>c.<Load>b__0_1(IContext context)
at Ninject.Activation.Provider`1.Create(IContext context)
at Ninject.Activation.Context.ResolveInternal(Object scope)
at Ninject.Activation.Context.Resolve()
at TehPers.Core.DI.ModKernel.Resolve[TService](IRequest request, Boolean handleMissingBindin
gs)
--- End of inner exception stack trace ---
at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig,
Boolean constructor, Boolean wrapExceptions)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder bi
nder, Object[] parameters, CultureInfo culture)
at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)
at TehPers.Core.DI.CoreKernel.Resolve(IRequest request, Boolean handleMissingBindings)
at TehPers.Core.DI.CoreKernel.Resolve(IRequest request)
at TehPers.Core.DI.ModKernel.Resolve(IRequest request)
at Ninject.Planning.Targets.Target`1.ResolveWithin(IContext parent)
at System.Linq.Enumerable.SelectArrayIterator`2.ToArray()
at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
at Ninject.Activation.Providers.StandardProvider.Create(IContext context)
at Ninject.Activation.Context.ResolveInternal(Object scope)
at Ninject.Activation.Context.Resolve()
at TehPers.Core.DI.ModKernel.<>c__DisplayClass17_0`1.<Resolve>b__4(IBinding binding)
at System.Linq.Enumerable.SelectListIterator`2.MoveNext()
at System.Linq.Enumerable.CastIterator[TResult](IEnumerable source)+MoveNext()
at System.Collections.Generic.List`1.InsertRange(Int32 index, IEnumerable`1 collection)
at System.Collections.Generic.List`1.AddRange(IEnumerable`1 collection)
at TehPers.Core.DI.ModKernel.Resolve[TService](IRequest request, Boolean handleMissingBindin
gs)
--- End of inner exception stack trace ---
at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig,
Boolean constructor, Boolean wrapExceptions)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder bi
nder, Object[] parameters, CultureInfo culture)
at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)
at TehPers.Core.DI.CoreKernel.Resolve(IRequest request, Boolean handleMissingBindings)
at TehPers.Core.DI.CoreKernel.Resolve(IRequest request)
at TehPers.Core.DI.ModKernel.Resolve(IRequest request)
at Ninject.Planning.Targets.Target`1.ResolveWithin(IContext parent)
at System.Linq.Enumerable.SelectArrayIterator`2.ToArray()
at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
at Ninject.Activation.Providers.StandardProvider.Create(IContext context)
at Ninject.Activation.Context.ResolveInternal(Object scope)
at Ninject.Activation.Context.Resolve()
at TehPers.Core.DI.ProxyBinding.<>c__DisplayClass7_0.<ResolveParent>b__0(IContext _)
at Ninject.Activation.Provider`1.Create(IContext context)
at Ninject.Activation.Context.ResolveInternal(Object scope)
at Ninject.Activation.Context.Resolve()
at TehPers.Core.DI.ModKernel.<>c__DisplayClass17_0`1.<Resolve>b__4(IBinding binding)
at System.Linq.Enumerable.SelectListIterator`2.MoveNext()
at System.Linq.Enumerable.CastIterator[TResult](IEnumerable source)+MoveNext()
at System.Collections.Generic.List`1.InsertRange(Int32 index, IEnumerable`1 collection)
at System.Collections.Generic.List`1.AddRange(IEnumerable`1 collection)
at TehPers.Core.DI.ModKernel.Resolve[TService](IRequest request, Boolean handleMissingBindin
gs)
--- End of inner exception stack trace ---
at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig,
Boolean constructor, Boolean wrapExceptions)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder bi
nder, Object[] parameters, CultureInfo culture)
at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)
at TehPers.Core.DI.CoreKernel.Resolve(IRequest request, Boolean handleMissingBindings)
at TehPers.Core.DI.CoreKernel.Resolve(IRequest request)
at TehPers.Core.DI.ModKernel.Resolve(IRequest request)
at Ninject.ResolutionExtensions.GetAll[T](IResolutionRoot root, IParameter[] parameters)
at TehPers.Core.ModCore.<>c__DisplayClass1_0.<Entry>b__1(Object _, GameLaunchedEventArgs _)
at StardewModdingAPI.Framework.Events.ManagedEvent`1.Raise(TEventArgs args) in SMAPI\Framewo
rk\Events\ManagedEvent.cs:line 101
 

Quirinea

Farmer
It is overwritten now but I'll try another test when I have time . Maybe copying the mods from the download folder and not from the old save's folder. I wondered if I had broken the config.json as I set parameters from there and stared at that but the only thing I did was to set the difficulty, and if I had messed the punctuation, it should have given another kind of error. Tried to look at the log but didn't see anything more there.
 

Quirinea

Farmer
OK, error found between laptop and sofa. Or thereabouts. Now when I copied the files from my download folder and not from an old save, I got no errors.
 
It is overwritten now but I'll try another test when I have time . Maybe copying the mods from the download folder and not from the old save's folder. I wondered if I had broken the config.json as I set parameters from there and stared at that but the only thing I did was to set the difficulty, and if I had messed the punctuation, it should have given another kind of error. Tried to look at the log but didn't see anything more there.

OK, error found between laptop and sofa. Or thereabouts. Now when I copied the files from my download folder and not from an old save, I got no errors.
Ah okay; glad you figured it out. Maybe it was an old, config like you mentioned?
 

Quirinea

Farmer
It was not old, I had been playing a game with too many map mods (and to get around everything I used TimeSped heavily, so it was hours IRL between the savepoints), and wanted a more fast-paced game. I thought I copy the old setting into the new combination. Hmmm. It's still odd. I should launch with that RSV+ES+WTD+Zuzu combo once to test. RSV, ES and Zuzu all add new fish, Was it those that were the problem? I tried to launch without all those and they were referred somewhere?
Trying to keep the mods up-to-date.
BTW I get odd comments "you can update these mods" and when I check I do have the latest from Nexus downloaded and installed.
 
It was not old, I had been playing a game with too many map mods (and to get around everything I used TimeSped heavily, so it was hours IRL between the savepoints), and wanted a more fast-paced game. I thought I copy the old setting into the new combination. Hmmm. It's still odd. I should launch with that RSV+ES+WTD+Zuzu combo once to test. RSV, ES and Zuzu all add new fish, Was it those that were the problem? I tried to launch without all those and they were referred somewhere?
Trying to keep the mods up-to-date.
BTW I get odd comments "you can update these mods" and when I check I do have the latest from Nexus downloaded and installed.
Without seeing the full log hard to say. Though, I mean "old" as in not freshly generated, but with previous configs already set.
The top of the snippet you posted looks like it could be a typo in one of the configs.

That line about "FishChances":
Code:
---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of a
n invocation.
---> Newtonsoft.Json.JsonSerializationException: Unexpected end when deserializing object. Pat
h 'FishChances', line 20, position 0.
Maybe try grepping around for that string.

---
And yea, if you see that update check message; but are already up to date. That's an issue on the side of the modder. They forgot to update the version in their manifest files.

The UpdateKey from the site is checked, against the manifest version of the mod. So if it wasn't updated in the mod; you get the perpetual "update needed" warning.


 

Quirinea

Farmer
OK. I checked that the mod combo I did copy the Teh files was still OK, and it seems to be. No yelling red. So either the problem has to do something with initializing the mod or then It's indeed a typo somewhere, as I used editor on config.json instead of the interface tool (those sliders are impossible to get exactly where I want them).
 
Top