nightingale

[1.6.x+] Contract Configurator [v1.27.1] [2018-12-28]

Recommended Posts

1 hour ago, Alshain said:

@nightingale

I'm seeing a lot of null references from CC.  I'm not certain the crash is from CC though, it might be trajectories (possibly).  But while investigating, I did see the null refs appear a lot.

https://www.dropbox.com/s/7riphki2eqozgu6/output_log.txt?dl=0

The PartJoint break ones look safe to ignore - I'll fix so they don't get thrown anymore.

Share this post


Link to post
Share on other sites

I am getting a NullReferenceException on opening the "all" tab, and end up with this:

lnhtVJX.png

I'm running with a very large number of mods, so I am sure there is something breaking because of that. That said, here's the error log from opening Mission Control:

https://gist.github.com/b0f3793f27e4fdd21b52a47f23266568

 

As you can see, only 30 out of 117 nodes were loaded, which seems very low to me. I haven't touched any of the Stock Contracts settings in the difficulty dialogue though, so I expect it to be able to load everything?

I have pretty much any contract mod that can be added on my current mod set, but just in case you can identify a culprit, here's my mod list:

https://gist.github.com/aebd0db4e8ca489d829851753005a49d

 

Share this post


Link to post
Share on other sites

@Tivec - Can you do me a favour and grab the dev dll file from here and replace the one in your GameData/ContractConfigurator folder with it.  Once that's done, can you let me know if you're still able to reproduce the issue, and if so please provide the KSP.log file from startup to the point where the error occurs.

I suspect that one of my other changes has already fixed your issue, but I can't say for certain.

Share this post


Link to post
Share on other sites

Does that dll have the sigma binary fix too? I tried it out in case it did, but it didn't fix the problem for me with the career evolution pack.

Share this post


Link to post
Share on other sites
34 minutes ago, Rodger said:

Does that dll have the sigma binary fix too? I tried it out in case it did, but it didn't fix the problem for me with the career evolution pack.

Should've.  Post the new KSP.log and I'll take a look.

Share this post


Link to post
Share on other sites

Here it is, let me know if you wanted the unity player log too:

https://www.dropbox.com/s/w69u6nq9jp3pqbj/sigmabugKSP.log.zip?dl=0

 

Also something else I've noticed, the option to disable the stock exploration contracts doesn't work perfectly. On a fresh save, go to CC settings and disable stock exploration and apply, then reload the KSC scene, and go to mission control. The world first contracts will be hidden from the 'all' tab, but one will still show up in the 'available' tab. If you accept it, it will be deleted on scene change. (you get to keep the advance lol)

Share this post


Link to post
Share on other sites
6 minutes ago, Rodger said:

Here it is, let me know if you wanted the unity player log too:

https://www.dropbox.com/s/w69u6nq9jp3pqbj/sigmabugKSP.log.zip?dl=0

Whoops, made a mistake.  Should be good with this version.

6 minutes ago, Rodger said:

Also something else I've noticed, the option to disable the stock exploration contracts doesn't work perfectly. On a fresh save, go to CC settings and disable stock exploration and apply, then reload the KSC scene, and go to mission control. The world first contracts will be hidden from the 'all' tab, but one will still show up in the 'available' tab. If you accept it, it will be deleted on scene change. (you get to keep the advance lol)

Hmmm...  that's odd, I'll take a closer look.

  • Like 2

Share this post


Link to post
Share on other sites

Yep, that version worked! :)

And speaking of, I'm getting an error with the CE station contract too, unsure if related:

Spoiler

[ERR 16:52:33.517] ContractConfigurator.ContractType: CONTRACT_TYPE 'SpaceStation': Error parsing targetBody1

[EXC 16:52:33.520] NullReferenceException: Object reference not set to an instance of an object
    ContractConfigurator.ExpressionParser.CelestialBodyParser.CheckTree (KSPAchievements.CelestialBodySubtree tree, ProgressItem pi)
    ContractConfigurator.ExpressionParser.CelestialBodyParser+<>c__DisplayClass9_0.<BodiesForItem>b__0 (KSPAchievements.CelestialBodySubtree node)
    System.Linq.Enumerable+<CreateWhereIterator>c__Iterator1D`1[KSPAchievements.CelestialBodySubtree].MoveNext ()
    System.Linq.Enumerable+<CreateSelectIterator>c__Iterator10`2[KSPAchievements.CelestialBodySubtree,CelestialBody].MoveNext ()
    System.Linq.Enumerable+<CreateWhereIterator>c__Iterator1D`1[CelestialBody].MoveNext ()
    System.Collections.Generic.List`1[CelestialBody].AddEnumerable (IEnumerable`1 enumerable)
    System.Collections.Generic.List`1[CelestialBody]..ctor (IEnumerable`1 collection)
    System.Linq.Enumerable.ToList[CelestialBody] (IEnumerable`1 source)
    ContractConfigurator.ExpressionParser.CelestialBodyParser+<>c.<RegisterMethods>b__6_43 ()
    ContractConfigurator.ExpressionParser.Function`1[System.Collections.Generic.List`1[CelestialBody]].Invoke ()
    ContractConfigurator.ExpressionParser.Function`1[System.Collections.Generic.List`1[CelestialBody]].Invoke (System.Object[] parameters)
    ContractConfigurator.ExpressionParser.ExpressionParser`1[CelestialBody].ParseMethod[CelestialBody] (ContractConfigurator.ExpressionParser.Token token, .CelestialBody obj, Boolean isFunction)
    Rethrow as Exception: Error parsing statement.
    Error occurred near '*':
    ReturnedFromBodies().Where(body => @/stations.Where(v => v.CelestialBody() == body).Count() == 0).SelectUnique()
    ....................* <-- HERE
    ContractConfigurator.ExpressionParser.ExpressionParser`1[T].ParseExpression (System.String key, System.String expression, ContractConfigurator.ExpressionParser.DataNode dataNode)
    ContractConfigurator.ExpressionParser.ExpressionParser`1[T].ExecuteExpression (System.String key, System.String expression, ContractConfigurator.ExpressionParser.DataNode dataNode)
    ContractConfigurator.ConfigNodeUtil.ParseSingleValue[CelestialBody] (System.String key, System.String stringValue, Boolean allowExpression)
    ContractConfigurator.ConfigNodeUtil.ParseValue[CelestialBody] (.ConfigNode configNode, System.String key, Boolean allowExpression)
    ContractConfigurator.ConfigNodeUtil.ParseValue[CelestialBody] (.ConfigNode configNode, System.String key, System.Action`1 setter, IContractConfiguratorFactory obj, .CelestialBody defaultValue, System.Func`2 validation)
    UnityEngine.Debug:LogException(Exception)
    ContractConfigurator.LoggingUtil:LogException(Exception)
    ContractConfigurator.ConfigNodeUtil:ParseValue(ConfigNode, String, Action`1, IContractConfiguratorFactory, CelestialBody, Func`2)
    ContractConfigurator.ConfigNodeUtil:ParseValue(ConfigNode, String, Action`1, IContractConfiguratorFactory, Func`2)
    ContractConfigurator.DeferredLoadUtil:ExecuteLoad(DeferredLoadObject`1)
    System.Reflection.MethodBase:Invoke(Object, Object[])
    ContractConfigurator.<UpdateNonDeterministicValuesIterator>d__30:MoveNext()
    System.Linq.<CreateConcatIterator>c__Iterator1`1:MoveNext()
    ContractConfigurator.<GenerateContract>d__33:MoveNext()
    ContractConfigurator.<ContractEnumerator>d__32:MoveNext()
    ContractConfigurator.ContractPreLoader:Update()

 

Edited by Rodger

Share this post


Link to post
Share on other sites
10 hours ago, nightingale said:

@Tivec - Can you do me a favour and grab the dev dll file from here and replace the one in your GameData/ContractConfigurator folder with it.  Once that's done, can you let me know if you're still able to reproduce the issue, and if so please provide the KSP.log file from startup to the point where the error occurs.

I suspect that one of my other changes has already fixed your issue, but I can't say for certain.

Unfortunately, with that .dll I still get the NRE when going to the "all" tab. However, I'm now loading 80/117 contract type nodes, so it is getting closer! :)

Here's the log: https://gist.github.com/8b24af839c004a346e20ed41d3f0f052

Share this post


Link to post
Share on other sites

Hello @nightingale,

I saw that you were discussing with @Kerbas_ad_astraabout issue with failing contract from CommNet Relays 2.0 pack. I'm not sure if it is the same issue, but I got failing contracts unexpectedly too. That is, whenever I go either to the tracking station or go from VAB directly to the launchpad and sometimes randomly after loading. It does not happen when I leave the VAB to KSC and go to the pad on my own. What happens is, that all contracts to put a relay into orbit fail an produce penalties. Other contract type don't suffer from this behaviour. That renders playing in career mode a bit pointless currently. Did I get it right, that this is to be fixed in the upcoming 1.23.2?

KSP.log and a non corrupted savefile can be found here 

If youn need anymore info, jut let me know.

 

Cheers & thank you for your support!

 

  • Like 1

Share this post


Link to post
Share on other sites

Yeah, that's the same issue -- the contract failure is preceded by a notification: "ContractConfigurator.FacilityRequirement: Contract CommNetRelayInnerPlanet: requirement Facility was not met."

I've got a quick fix on my end (basically telling CC to ignore that requirement after the contract has been accepted); I'll see about getting a release out shortly.

Edited by Kerbas_ad_astra
  • Like 1

Share this post


Link to post
Share on other sites

Is this related to the actual issue? I also use the dev build from June 30th.

With

I first suspected the additional Outer Planets Mod, but also without it this happens.

As soon as the SPC ist loaded:

Contracts Loaded
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42)

[Toolbar] [INFO] button visibilities have changed
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42)

[Toolbar] [INFO] button visibilities have changed, forcing auto-size
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42)

[Toolbar] [INFO] saving settings (game scene: SPACECENTER)
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42)

[Toolbar] [INFO] saving toolbar settings (toolbar 'toolbar_40522621')
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42)

The AssetBundle 'D:\Kerbal Space Program\GameData\KerboKatz\SmallUtilities\KerbalScienceExchange\kerbalscienceexchange.KerboKatzAsset' can't be loaded because another AssetBundle with the same files is already loaded.
 
(Filename:  Line: 425)

ScaleModList: listSize 615 maxListSize 1795
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42)

ScaleModList: listSize 574 maxListSize 1795
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42)

[MessageSystem] Reposition 0.02 147592
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42)

targetBody could not be computed, using homeworld
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42)

targetBody could not be computed, using homeworld
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42)

etc. pp.

and some exceptions thrown here and there, like

ContractConfigurator.ContractType: CONTRACT_TYPE 'SpaceStation': Error parsing targetBody1
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42)

NullReferenceException: Object reference not set to an instance of an object
  at ContractConfigurator.ExpressionParser.CelestialBodyParser.CheckTree (KSPAchievements.CelestialBodySubtree tree, ProgressItem pi) [0x00000] in <filename unknown>:0 
  at ContractConfigurator.ExpressionParser.CelestialBodyParser+<>c__DisplayClass9_0.<BodiesForItem>b__0 (KSPAchievements.CelestialBodySubtree node) [0x00000] in <filename unknown>:0 
  at System.Linq.Enumerable+<CreateWhereIterator>c__Iterator1D`1[KSPAchievements.CelestialBodySubtree].MoveNext () [0x00000] in <filename unknown>:0 
  at System.Linq.Enumerable+<CreateSelectIterator>c__Iterator10`2[KSPAchievements.CelestialBodySubtree,CelestialBody].MoveNext () [0x00000] in <filename unknown>:0 
  at System.Linq.Enumerable+<CreateWhereIterator>c__Iterator1D`1[CelestialBody].MoveNext () [0x00000] in <filename unknown>:0 
  at System.Collections.Generic.List`1[CelestialBody].AddEnumerable (IEnumerable`1 enumerable) [0x00000] in <filename unknown>:0 
  at System.Collections.Generic.List`1[CelestialBody]..ctor (IEnumerable`1 collection) [0x00000] in <filename unknown>:0 
  at System.Linq.Enumerable.ToList[CelestialBody] (IEnumerable`1 source) [0x00000] in <filename unknown>:0 
  at ContractConfigurator.ExpressionParser.CelestialBodyParser+<>c.<RegisterMethods>b__6_43 () [0x00000] in <filename unknown>:0 
  at ContractConfigurator.ExpressionParser.Function`1[System.Collections.Generic.List`1[CelestialBody]].Invoke () [0x00000] in <filename unknown>:0 
  at ContractConfigurator.ExpressionParser.Function`1[System.Collections.Generic.List`1[CelestialBody]].Invoke (System.Object[] parameters) [0x00000] in <filename unknown>:0 
  at ContractConfigurator.ExpressionParser.ExpressionParser`1[CelestialBody].ParseMethod[CelestialBody] (ContractConfigurator.ExpressionParser.Token token, .CelestialBody obj, Boolean isFunction) [0x00000] in <filename unknown>:0 
Rethrow as Exception: Error parsing statement.
Error occurred near '*':
ReturnedFromBodies().Where(body => @/stations.Where(v => v.CelestialBody() == body).Count() == 0).SelectUnique()
....................* <-- HERE
  at ContractConfigurator.ExpressionParser.ExpressionParser`1[T].ParseExpression (System.String key, System.String expression, ContractConfigurator.ExpressionParser.DataNode dataNode) [0x00000] in <filename unknown>:0 
  at ContractConfigurator.ExpressionParser.ExpressionParser`1[T].ExecuteExpression (System.String key, System.String expression, ContractConfigurator.ExpressionParser.DataNode dataNode) [0x00000] in <filename unknown>:0 
  at ContractConfigurator.ConfigNodeUtil.ParseSingleValue[CelestialBody] (System.String key, System.String stringValue, Boolean allowExpression) [0x00000] in <filename unknown>:0 
  at ContractConfigurator.ConfigNodeUtil.ParseValue[CelestialBody] (.ConfigNode configNode, System.String key, Boolean allowExpression) [0x00000] in <filename unknown>:0 
  at ContractConfigurator.ConfigNodeUtil.ParseValue[CelestialBody] (.ConfigNode configNode, System.String key, System.Action`1 setter, IContractConfiguratorFactory obj, .CelestialBody defaultValue, System.Func`2 validation) [0x00000] in <filename unknown>:0 
UnityEngine.DebugLogHandler:Internal_LogException(Exception, Object)
UnityEngine.DebugLogHandler:LogException(Exception, Object)
UnityEngine.Logger:LogException(Exception, Object)
UnityEngine.Debug:LogException(Exception)
ContractConfigurator.LoggingUtil:LogException(Exception)
ContractConfigurator.ConfigNodeUtil:ParseValue(ConfigNode, String, Action`1, IContractConfiguratorFactory, CelestialBody, Func`2)
ContractConfigurator.ConfigNodeUtil:ParseValue(ConfigNode, String, Action`1, IContractConfiguratorFactory, Func`2)
ContractConfigurator.DeferredLoadUtil:ExecuteLoad(DeferredLoadObject`1)
System.Reflection.MonoMethod:InternalInvoke(Object, Object[], Exception&)
System.Reflection.MonoMethod:Invoke(Object, BindingFlags, Binder, Object[], CultureInfo)
System.Reflection.MethodBase:Invoke(Object, Object[])
ContractConfigurator.<UpdateNonDeterministicValuesIterator>d__30:MoveNext()
System.Linq.<CreateConcatIterator>c__Iterator1`1:MoveNext()
System.Linq.<CreateConcatIterator>c__Iterator1`1:MoveNext()
ContractConfigurator.<GenerateContract>d__33:MoveNext()
ContractConfigurator.<ContractEnumerator>d__32:MoveNext()
ContractConfigurator.ContractPreLoader:Update()
 
(Filename:  Line: -1)

I will remove the Contract Packs KerbinSpaceStation and Tourism for the next session.

Log:
https://www.dropbox.com/s/tz11brgezp2zz3f/2017-07-04-1 KSP.log.zip?dl=1

Share this post


Link to post
Share on other sites
6 hours ago, Kerbas_ad_astra said:

Yeah, that's the same issue -- the contract failure is preceded by a notification: "ContractConfigurator.FacilityRequirement: Contract CommNetRelayInnerPlanet: requirement Facility was not met."

I've got a quick fix on my end (basically telling CC to ignore that requirement after the contract has been accepted); I'll see about getting a release out shortly.

Okay, as long as you both know what happens there and got a good idea how to fix it I'm really happy. =) Take the time you need! 

Thanks a million for your work & your support!

Cheers

Share this post


Link to post
Share on other sites

@Rodger - That looks like a different one, fixed for next release.

@Tivec - Sorry, I should've been more clear.  I want the full KSP.log, as the error you're getting is a symptom of something else (and I need to see the full log to understand what that is).

@Gordon Dry - That looks to be the same one as Rodger.  Should be fixed for the next release.

EDIT: @Tivec - Actually I did see something that was still causing the contracts to potentially get loaded late, which could be the cause.  Please use this new dev build. and let me know how it goes.

Edited by nightingale
  • Like 2

Share this post


Link to post
Share on other sites

@nightingale - And now I'm unable to reproduce the issue.. What I know I did was to remove the PartDatabase.cfg, and I have changed the mod set around. Unfortunately, I do not know which mods were removed or added between tests, since I thought that the log I sent would be enough :(

 

Share this post


Link to post
Share on other sites

@Tivec - No problem, I'll put a fix in for that symptom, and hopefully between that and the other fix that covers everything.

Share this post


Link to post
Share on other sites

I will test the new dev build by re-adding the contract packs I removed yesterday.

Edit:

the issues were solved, but ( :D ) still these occur:

ContractConfigurator.HasResourceFactory: CONTRACT_TYPE 'SSResupplyLS', PARAMETER 'LifeSupportResupply' of type 'HasResource': Error parsing title
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42)

ArgumentException: Unexpected value: Food
  at ContractConfigurator.ExpressionParser.ExpressionParser`1[System.String].ParseStatement[String] (System.String lval) [0x00000] in <filename unknown>:0 
Rethrow as Exception: Error parsing statement.
Error occurred near '*':
@/foodSpace Food
............* <-- HERE
  at ContractConfigurator.ExpressionParser.ExpressionParser`1[T].ParseExpression (System.String key, System.String expression, ContractConfigurator.ExpressionParser.DataNode dataNode) [0x00000] in <filename unknown>:0 
  at ContractConfigurator.ConfigNodeUtil.ParseSingleValue[String] (System.String key, System.String stringValue, Boolean allowExpression) [0x00000] in <filename unknown>:0 
  at ContractConfigurator.ConfigNodeUtil.ParseValue[String] (.ConfigNode configNode, System.String key, Boolean allowExpression) [0x00000] in <filename unknown>:0 
  at ContractConfigurator.ConfigNodeUtil.ParseValue[String] (.ConfigNode configNode, System.String key, System.Action`1 setter, IContractConfiguratorFactory obj, System.String defaultValue, System.Func`2 validation) [0x00000] in <filename unknown>:0 
UnityEngine.DebugLogHandler:Internal_LogException(Exception, Object)
UnityEngine.DebugLogHandler:LogException(Exception, Object)
UnityEngine.Logger:LogException(Exception, Object)
UnityEngine.Debug:LogException(Exception)
ContractConfigurator.LoggingUtil:LogException(Exception)
ContractConfigurator.ConfigNodeUtil:ParseValue(ConfigNode, String, Action`1, IContractConfiguratorFactory, String, Func`2)
ContractConfigurator.ConfigNodeUtil:ParseValue(ConfigNode, String, Action`1, IContractConfiguratorFactory, String)
ContractConfigurator.ParameterFactory:Load(ConfigNode)
ContractConfigurator.HasResourceFactory:Load(ConfigNode)
ContractConfigurator.ParameterFactory:GenerateParameterFactory(ConfigNode, ContractType, ParameterFactory&, ParameterFactory)
ContractConfigurator.ParameterFactory:GenerateParameterFactory(ConfigNode, ContractType, ParameterFactory&, ParameterFactory)
ContractConfigurator.ParameterFactory:GenerateParameterFactory(ConfigNode, ContractType, ParameterFactory&, ParameterFactory)
ContractConfigurator.ContractType:Load(ConfigNode)
ContractConfigurator.<LoadContractTypeConfig>d__29:MoveNext()
ContractConfigurator.<FinalizeContractTypeLoad>d__28:MoveNext()
UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)
 
(Filename:  Line: -1)

ContractConfigurator.HasResourceFactory: CONTRACT_TYPE 'SSResupplyLS', PARAMETER 'LifeSupportResupply' of type 'HasResource': Error parsing title
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42)

ArgumentException: Unexpected value: Water
  at ContractConfigurator.ExpressionParser.ExpressionParser`1[System.String].ParseStatement[String] (System.String lval) [0x00000] in <filename unknown>:0 
Rethrow as Exception: Error parsing statement.
Error occurred near '*':
@/waterSpace Water
.............* <-- HERE
  at ContractConfigurator.ExpressionParser.ExpressionParser`1[T].ParseExpression (System.String key, System.String expression, ContractConfigurator.ExpressionParser.DataNode dataNode) [0x00000] in <filename unknown>:0 
  at ContractConfigurator.ConfigNodeUtil.ParseSingleValue[String] (System.String key, System.String stringValue, Boolean allowExpression) [0x00000] in <filename unknown>:0 
  at ContractConfigurator.ConfigNodeUtil.ParseValue[String] (.ConfigNode configNode, System.String key, Boolean allowExpression) [0x00000] in <filename unknown>:0 
  at ContractConfigurator.ConfigNodeUtil.ParseValue[String] (.ConfigNode configNode, System.String key, System.Action`1 setter, IContractConfiguratorFactory obj, System.String defaultValue, System.Func`2 validation) [0x00000] in <filename unknown>:0 
UnityEngine.DebugLogHandler:Internal_LogException(Exception, Object)
UnityEngine.DebugLogHandler:LogException(Exception, Object)
UnityEngine.Logger:LogException(Exception, Object)
UnityEngine.Debug:LogException(Exception)
ContractConfigurator.LoggingUtil:LogException(Exception)
ContractConfigurator.ConfigNodeUtil:ParseValue(ConfigNode, String, Action`1, IContractConfiguratorFactory, String, Func`2)
ContractConfigurator.ConfigNodeUtil:ParseValue(ConfigNode, String, Action`1, IContractConfiguratorFactory, String)
ContractConfigurator.ParameterFactory:Load(ConfigNode)
ContractConfigurator.HasResourceFactory:Load(ConfigNode)
ContractConfigurator.ParameterFactory:GenerateParameterFactory(ConfigNode, ContractType, ParameterFactory&, ParameterFactory)
ContractConfigurator.ParameterFactory:GenerateParameterFactory(ConfigNode, ContractType, ParameterFactory&, ParameterFactory)
ContractConfigurator.ParameterFactory:GenerateParameterFactory(ConfigNode, ContractType, ParameterFactory&, ParameterFactory)
ContractConfigurator.ContractType:Load(ConfigNode)
ContractConfigurator.<LoadContractTypeConfig>d__29:MoveNext()
ContractConfigurator.<FinalizeContractTypeLoad>d__28:MoveNext()
UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)
 
(Filename:  Line: -1)

ContractConfigurator.HasResourceFactory: CONTRACT_TYPE 'SSResupplyLS', PARAMETER 'LifeSupportResupply' of type 'HasResource': Error parsing title
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42)

ArgumentException: Unexpected value: Oxygen
  at ContractConfigurator.ExpressionParser.ExpressionParser`1[System.String].ParseStatement[String] (System.String lval) [0x00000] in <filename unknown>:0 
Rethrow as Exception: Error parsing statement.
Error occurred near '*':
@/oxygenSpace Oxygen
..............* <-- HERE
  at ContractConfigurator.ExpressionParser.ExpressionParser`1[T].ParseExpression (System.String key, System.String expression, ContractConfigurator.ExpressionParser.DataNode dataNode) [0x00000] in <filename unknown>:0 
  at ContractConfigurator.ConfigNodeUtil.ParseSingleValue[String] (System.String key, System.String stringValue, Boolean allowExpression) [0x00000] in <filename unknown>:0 
  at ContractConfigurator.ConfigNodeUtil.ParseValue[String] (.ConfigNode configNode, System.String key, Boolean allowExpression) [0x00000] in <filename unknown>:0 
  at ContractConfigurator.ConfigNodeUtil.ParseValue[String] (.ConfigNode configNode, System.String key, System.Action`1 setter, IContractConfiguratorFactory obj, System.String defaultValue, System.Func`2 validation) [0x00000] in <filename unknown>:0 
UnityEngine.DebugLogHandler:Internal_LogException(Exception, Object)
UnityEngine.DebugLogHandler:LogException(Exception, Object)
UnityEngine.Logger:LogException(Exception, Object)
UnityEngine.Debug:LogException(Exception)
ContractConfigurator.LoggingUtil:LogException(Exception)
ContractConfigurator.ConfigNodeUtil:ParseValue(ConfigNode, String, Action`1, IContractConfiguratorFactory, String, Func`2)
ContractConfigurator.ConfigNodeUtil:ParseValue(ConfigNode, String, Action`1, IContractConfiguratorFactory, String)
ContractConfigurator.ParameterFactory:Load(ConfigNode)
ContractConfigurator.HasResourceFactory:Load(ConfigNode)
ContractConfigurator.ParameterFactory:GenerateParameterFactory(ConfigNode, ContractType, ParameterFactory&, ParameterFactory)
ContractConfigurator.ParameterFactory:GenerateParameterFactory(ConfigNode, ContractType, ParameterFactory&, ParameterFactory)
ContractConfigurator.ParameterFactory:GenerateParameterFactory(ConfigNode, ContractType, ParameterFactory&, ParameterFactory)
ContractConfigurator.ContractType:Load(ConfigNode)
ContractConfigurator.<LoadContractTypeConfig>d__29:MoveNext()
ContractConfigurator.<FinalizeContractTypeLoad>d__28:MoveNext()
UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)
 
(Filename:  Line: -1)

ContractConfigurator.ContractType: Errors encountered while trying to load CONTRACT_TYPE 'SSResupplyLS'

"SSResupplyLS" is found inside:
GameData\ContractPacks\CEContracts\Contracts\10-SpaceStationsLS\SS_USI_LifeSupport.cfg
GameData\ContractPacks\CEContracts\Contracts\10-SpaceStationsLS\SS_TAC_Kerbalism_LifeSupport.cfg
GameData\ContractPacks\CEContracts\Contracts\10-SpaceStationsLS\SS_Snacks_LifeSupport.cfg
GameData\ContractPacks\CEContracts\Contracts\10-SpaceStationsLS\SS_IFI_LifeSupport.cfg

Edited by Gordon Dry

Share this post


Link to post
Share on other sites

@Gordon Dry - That issue looks like something that needs to be fixed in the Career Evolution Contract Pack.

@pap1723 - For that error, the string parser in Contract Configurator is a little bit flaky when the value starts with an identifier.  To get around that, you should be able to put the value in double-quotes:

title = "@/foodSpace Food"

 

Share this post


Link to post
Share on other sites

Is it the same with
targetBody1 = @/targetVessel1.CelestialBody()

??

Put it into double quotes and all is okay?

Share this post


Link to post
Share on other sites
1 hour ago, Gordon Dry said:

Is it the same with
targetBody1 = @/targetVessel1.CelestialBody()

??

Put it into double quotes and all is okay?

No - as that's not a string, it's a CelestialBody.  Also, I haven't seen an error related to that statement posted, so I don't know what it is you're trying to solve.

Share this post


Link to post
Share on other sites
8 minutes ago, Gordon Dry said:

In my post from tuesday is an example...

This:

ContractConfigurator.ContractType: CONTRACT_TYPE 'SpaceStation': Error parsing targetBody1
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42)

NullReferenceException: Object reference not set to an instance of an object
  at ContractConfigurator.ExpressionParser.CelestialBodyParser.CheckTree (KSPAchievements.CelestialBodySubtree tree, ProgressItem pi) [0x00000] in <filename unknown>:0 
  at ContractConfigurator.ExpressionParser.CelestialBodyParser+<>c__DisplayClass9_0.<BodiesForItem>b__0 (KSPAchievements.CelestialBodySubtree node) [0x00000] in <filename unknown>:0 
  at System.Linq.Enumerable+<CreateWhereIterator>c__Iterator1D`1[KSPAchievements.CelestialBodySubtree].MoveNext () [0x00000] in <filename unknown>:0 
  at System.Linq.Enumerable+<CreateSelectIterator>c__Iterator10`2[KSPAchievements.CelestialBodySubtree,CelestialBody].MoveNext () [0x00000] in <filename unknown>:0 
  at System.Linq.Enumerable+<CreateWhereIterator>c__Iterator1D`1[CelestialBody].MoveNext () [0x00000] in <filename unknown>:0 
  at System.Collections.Generic.List`1[CelestialBody].AddEnumerable (IEnumerable`1 enumerable) [0x00000] in <filename unknown>:0 
  at System.Collections.Generic.List`1[CelestialBody]..ctor (IEnumerable`1 collection) [0x00000] in <filename unknown>:0 
  at System.Linq.Enumerable.ToList[CelestialBody] (IEnumerable`1 source) [0x00000] in <filename unknown>:0 
  at ContractConfigurator.ExpressionParser.CelestialBodyParser+<>c.<RegisterMethods>b__6_43 () [0x00000] in <filename unknown>:0 
  at ContractConfigurator.ExpressionParser.Function`1[System.Collections.Generic.List`1[CelestialBody]].Invoke () [0x00000] in <filename unknown>:0 
  at ContractConfigurator.ExpressionParser.Function`1[System.Collections.Generic.List`1[CelestialBody]].Invoke (System.Object[] parameters) [0x00000] in <filename unknown>:0 
  at ContractConfigurator.ExpressionParser.ExpressionParser`1[CelestialBody].ParseMethod[CelestialBody] (ContractConfigurator.ExpressionParser.Token token, .CelestialBody obj, Boolean isFunction) [0x00000] in <filename unknown>:0 
Rethrow as Exception: Error parsing statement.
Error occurred near '*':
ReturnedFromBodies().Where(body => @/stations.Where(v => v.CelestialBody() == body).Count() == 0).SelectUnique()
....................* <-- HERE

Is a very different statement than the one you posted today.  Since then, I've replied that it's fixed in the next release, and you've confirmed that the issue was resolved in the dev build.

So again, I have to ask: what problem are you trying to solve?

Share this post


Link to post
Share on other sites

To be honest, a few hours ago I had a clue.

Now, after I removed/switched/added mods and restarted KSP for about two dozen times, I lost it.

Perhaps it's a brain fart inducted by Unity-ness.

Unity / KSP can make a breathing living being really confused / mad / disgusted.

This was the reason I had a KSP break from last summer until May this year.

Just forget it.

There will be other issues in future, don't worry :D

Share this post


Link to post
Share on other sites
On 05/07/2017 at 7:39 AM, nightingale said:

@Tivec - No problem, I'll put a fix in for that symptom, and hopefully between that and the other fix that covers everything.

I just had it happen again, and this time I have saved a log! I had one update via CKAN, but I can't remember which it was - I'm pretty sure it wasn't one adding contracts. Two mods I know I have added since the last time the "all" tab worked properly are [x] Science and Throttle Controlled Avionics. However, the tab has worked since the install,

I also exported my CKAN mod export (as .ckan), the mods I have installed from outside of CKAN, and the save file for you to analyze. Everything in a neat package here: http://i.tivec.org/BugReport.7z - I hope 7zip is alright with you.

When the bug happened I had just completed the contract with guid b04f03da-773f-442b-ad25-be24a1f141f1 (check the persistent.sfs for data, it's a DMagic contract).

Do let me know if there is anything I can do to help other than this.

Edit: This was not with the new dev build you had linked me in the original answer to my post! I'm installing that to test now.

Edit #2: It seems to be working again with the new dev build! Still, you have the data to test with should you need it :)

Edited by Tivec

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now