Jump to content

Limiting expectations on modded install log errors?


Recommended Posts

I just got back into KSP, and particularly modded KSP, after years away. Dived right in, installed almost a hundred mods that were reported as compatible, for my first playthough. Everything was going fine until the game started crashing. Before even looking at the logs, I discovered it was related to my log file... which was multiple GB in size.

This led me to start carefully reinstalling mods and checking the log each time, it took me ages to realise that even on a fresh, unmodded install, there would still be some error messages (I don't know why I expected otherwise, from my own experiences using Unity). Despite this, I tried to address every new error that cropped up as I added new mods to the game.

Well, it's been about a week now, and I've not actually played the game properly again yet, and have come to the conclusion that a modded game without any new errors will require both a very exclusive approach to mod selection, and an inevitable limit on the number of mods installed. With that conclusion, I thought it was probably actually time to ask about this rather than keep muddling on through.

TLDR:

So you don't feel the need to spell everything out, you can keep in mind that I am relatively computer-literate and love playing modded games; My main questions are:

  • Am I right in thinking that CKAN is not always reporting mod incompatibilities accurately?
  • As above, but specifically: some might be incompatible and missing relevant metadata?
  • As above, but specifically: some might be perfectly compatible but just referenced to an older KSP release (especially if either from v1.8+ or 1.12+, depending on the kind of mod)?
  • How much should I worry about errors if I am installing 100+ mods that are reported as compatible and working together?
  • Are a certain number of warnings/errors pretty much inevitable with a heavily modded KSP install?
  • I'm assuming Exceptions are usually something you want to at least double check on. How concerned should I be if searching doesn't lead to conclusive information about these errors?
  • Generally speaking, what sort of errors are of least/most concern, and/or are there any good general guidelines to follow in this regard?
  • As above, but with regard to reporting bugs, and posting on mod development threads?

If anything, I'm grateful that Squad hasn't hidden all this away from the user. If I can actually get around to playing again, and stop giving myself a nervous breakdown every time I see a new error, I am hoping to find the time to work on patches for some mods that seem to have a potentially quick fix. I've already worked out that, at least a few errors, seem very dramatic to the untrained eye :0.0:, but upon further research are really the log (understandably) lacking the ability to differentiate between specifics or different contexts.

Thanks in advance for any insight, and don't feel the need to answer all of these questions, or answer them utterly comprehensively. I am more concerned that, given my temperament, and without some answers, I will either just give up, or I will spend weeks getting my perfect modded game setup, decide to take a short break from KSP, and never actually come back and play the game (I somehow almost forgot how great it was).

Link to comment
Share on other sites

As someone working in SW dev, I would say STOP WORRYING ABOUT ANYTHING WRITTEN IN THE LOG FILE!

Just play the game. And if you encounter something that seems like a bug, file a bug report on the most likely mod causing the issue, include the log file and let the mod author worry about what's in the log.

The reason I'm saying this is that we often put a lot of info into the log file, just so that we ourselves can follow what our software is "thinking". Sometimes we write things out as errors or warnings, even though we are perfectly fine in handling the situation (like "WARNING: Found incompatible mod X, switching to compatability mode").

In short, everyone will be much happier if people just care about the game behaving as they expect it to, and create good bug reports when they encounter something in the game that seems like a bug.

Link to comment
Share on other sites

Thanks for the clarification. The game crashing because my log file was bloating to GBs in size got me a bit spooked, but I can at least check for errors to that extreme before getting too invested in a game. Looking up the error messages online, I came across mentions of save corruption etc. but I suspected they were probably rarities, considering as many people were talking about happily playing with 100s of mods installed. And you're right, a lot of the errors, or even just debug text does sound quite dramatic. I've already got so many just getting to the main menu, with about half my planned mods installed, that it is pretty much impossible to keep track of anyway, so as you say, probably best to leave it up to someone who knows what they're looking for to decipher if something does go obviously wrong. I've been a bit picky about pruning mods with confirmed bugs, just to be sure.

Link to comment
Share on other sites

7 hours ago, Llamageddon said:

Thanks for the clarification. The game crashing because my log file was bloating to GBs in size got me a bit spooked, but I can at least check for errors to that extreme before getting too invested in a game. Looking up the error messages online, I came across mentions of save corruption etc. but I suspected they were probably rarities, considering as many people were talking about happily playing with 100s of mods installed. And you're right, a lot of the errors, or even just debug text does sound quite dramatic. I've already got so many just getting to the main menu, with about half my planned mods installed, that it is pretty much impossible to keep track of anyway, so as you say, probably best to leave it up to someone who knows what they're looking for to decipher if something does go obviously wrong. I've been a bit picky about pruning mods with confirmed bugs, just to be sure.

Uhm, just to be clear - All software has bugs. KSP and its mods is software. Ergo, KSP will have bugs (with or without mods installed)

As an example, here's some I've noticed from my own game:

1) SoundtrackEditor sometimes stopped progressing the playlist.

2) Progressive Colonization System modules missing.

3) Progressive Colonization System colony research progress incorrectly reported.

3) Planetary Base Systems FreeIVA (sometimes) not working correctly after modules connected using base docking ports.

4) Some models (or textures?) are upside down.

5) Sound missing for some modules.

6) Some Kopernicus updates just didn't let me log into the game.

I'm sure there are more I can't remember right now... But as you can see, there are some really annoying things there, but nothing truly game breaking. Except the Kopernicus one, but someone quickly wrote a bug report, and a working update was released within a couple of hours.

Link to comment
Share on other sites

@lingfors Thanks for some counter-perspective, too. I certainly didn't expect KSP, and especially it's mods, to have no bugs whatsoever. Most games aren't as open as KSP on reporting minor glitches to the player via a log, especially if those are practically unavoidable, Unity centred bugs. KSP seems refreshingly forgiving; any other game I've modded that threw up a fraction of these errors would either crash in short order, or even worse, add game breaking bugs that weren't immediately apparent, or delayed but inevitable save corruption.

This is one of the reasons I was a bit alarmed when I first looked at the logs. The fact that a lot of mod makers will have something along the lines of "NO LOGS, NO SUPPORT" in big red letters on the first post, made me think the smallest error could be of concern, at first. Now I realise that those statements are far more to do with the common phenomenon in most games, of users reporting bugs, with little or no pertinent, contextual, or actionable, information included.

I'm trying not to worry too much, but after installing a handful of mods, near the end of my currently planned selection, my exception/warning filtered log has suddenly ballooned to about 10x in size to almost, 20000 lines of errors from just loading into KSC and making one 3D scene change. In this case, I think I might revert the last handful of additions and see if there is a way of reducing this to less concerning levels; rather than find out something critical isn't working after playing for a couple of hours. For reference, the following error types seem to account for the vast majority of this sudden increase:

Spoiler
Condition:	ArgumentException: Requested value 'TRANSMIT' was not found.
StackTrace:	System.Enum+EnumResult.SetFailure (System.Enum+ParseFailureKind failure, System.String failureMessageID, System.Object failureMessageFormatArgument) (at <9577ac7a62ef43179789031239ba8798>:0)
System.Enum.TryParseEnum (System.Type enumType, System.String value, System.Boolean ignoreCase, System.Enum+EnumResult& parseResult) (at <9577ac7a62ef43179789031239ba8798>:0)
System.Enum.Parse (System.Type enumType, System.String value, System.Boolean ignoreCase) (at <9577ac7a62ef43179789031239ba8798>:0)
ContractConfigurator.ExpressionParser.EnumExpressionParser`1[T].ParseIdentifier (ContractConfigurator.ExpressionParser.BaseParser+Token token) (at <a0a332b40fb34bd7a82a1b7bbc2e8193>:0)
ContractConfigurator.ExpressionParser.ExpressionParser`1[T].ParseVarOrIdentifier (ContractConfigurator.ExpressionParser.BaseParser+Token token) (at <a0a332b40fb34bd7a82a1b7bbc2e8193>:0)
ContractConfigurator.ExpressionParser.ExpressionParser`1[T].ParseSimpleStatement[TResult] () (at <a0a332b40fb34bd7a82a1b7bbc2e8193>:0)
ContractConfigurator.ExpressionParser.ExpressionParser`1[T].ParseStatementInner[TResult] () (at <a0a332b40fb34bd7a82a1b7bbc2e8193>:0)
ContractConfigurator.ExpressionParser.ExpressionParser`1[T].ParseStatement[TResult] () (at <a0a332b40fb34bd7a82a1b7bbc2e8193>:0)
ContractConfigurator.ExpressionParser.ExpressionParser`1[T].ParseExpression (System.String key, System.String expression, ContractConfigurator.ExpressionParser.DataNode dataNode) (at <a0a332b40fb34bd7a82a1b7bbc2e8193>:0)
Rethrow as Exception: Error parsing statement.
Error occurred near '*':
TRANSMIT
........* <-- HERE
ContractConfigurator.ExpressionParser.ExpressionParser`1[T].ParseExpression (System.String key, System.String expression, ContractConfigurator.ExpressionParser.DataNode dataNode) (at <a0a332b40fb34bd7a82a1b7bbc2e8193>:0)
ContractConfigurator.ConfigNodeUtil.ParseSingleValue[T] (System.String key, System.String stringValue, System.Boolean allowExpression) (at <a0a332b40fb34bd7a82a1b7bbc2e8193>:0)
ContractConfigurator.ConfigNodeUtil.ParseValue[T] (ConfigNode configNode, System.String key, System.Boolean allowExpression) (at <a0a332b40fb34bd7a82a1b7bbc2e8193>:0)
System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <9577ac7a62ef43179789031239ba8798>:0)
Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.
System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <9577ac7a62ef43179789031239ba8798>:0)
System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) (at <9577ac7a62ef43179789031239ba8798>:0)
ContractConfigurator.ConfigNodeUtil.ParseValue[T] (ConfigNode configNode, System.String key, System.Boolean allowExpression) (at <a0a332b40fb34bd7a82a1b7bbc2e8193>:0)
ContractConfigurator.ConfigNodeUtil.ParseValue[T] (ConfigNode configNode, System.String key, System.Action`1[T] setter, ContractConfigurator.IContractConfiguratorFactory obj, T defaultValue, System.Func`2[T,TResult] validation) (at <a0a332b40fb34bd7a82a1b7bbc2e8193>:0)
UnityEngine.DebugLogHandler:LogException(Exception, Object)
ModuleManager.UnityLogHandle.InterceptLogHandler:LogException(Exception, Object)
UnityEngine.Debug:LogException(Exception)
ContractConfigurator.LoggingUtil:LogException(Exception)
ContractConfigurator.ConfigNodeUtil:ParseValue(ConfigNode, String, Action`1, IContractConfiguratorFactory, Nullable`1, Func`2)
ContractConfigurator.ConfigNodeUtil:ParseValue(ConfigNode, String, Action`1, IContractConfiguratorFactory, Nullable`1)
ContractConfigurator.RemoteTech.HasAntennaFactory:Load(ConfigNode)
ContractConfigurator.ParameterFactory:GenerateParameterFactory(ConfigNode, ContractType, ParameterFactory&, ParameterFactory)
ContractConfigurator.ContractType:Load(ConfigNode)
ContractConfigurator.<LoadContractTypeConfig>d__31:MoveNext()
ContractConfigurator.<FinalizeContractTypeLoad>d__30:MoveNext()
UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)
Condition:	[Physics.PhysX] QuickHullConvexHullLib::findSimplex: Simplex input points appers to be coplanar.
StackTrace:	
LogType:	Error


Condition:	Failed to create Convex Mesh from source mesh "". An internal unspecified error has occured that could mean the Quickhull algorithm found the input mesh topologically challenging. 
StackTrace:	
LogType:	Error


Condition:	Texture 'KerbinSideRemastered/Statics/ksc_exterior_terrain_grass_02-sharedassets10.assets-6' not found!
StackTrace:	
LogType:	Error

 

I'm guessing that RemotTech and some new Kerbin structure/location mods, aren't installed right/playing nicely with other mods, or else, aren't working with the latest KSP version (I did check the forums for confirmation that they did seem to be working). I think it seems reasonable to at least check the logs when a scene change starts adding MB or more to the log size. At the very least, I don't want that CTD caused by the log getting vastly larger than the KSP install itself.

As I'm mentioning errors in directly again, I don't suppose anyone is familiar with this one, which seems to crop up from EVE/Scattterer related mods installed right at the start of my modding step-by-step install process:

Quote

Cannot find preset 'High' for pqs

- with a suffix of a planet name, or similar. I'm assuming it is not a big deal, but as it seems to relate to custom EVE settings (probably cloud layers) and either Jool or planet pack planets, I probably won't know for sure until I get to that part of the game.

Also, it sounds like something that ought to be fixable with a pretty simple config edit or a minor dependency added (or just me following a key instruction on install that I missed). I think PQS is related to Kopernicus, but get the impression, is something that can be implemented in other mods without Kopernicus needing to be a dependency. I may well be completely wrong, though.

Edited by Llamageddon
SPAG
Link to comment
Share on other sites

  • 1 month later...

sheesh, my opinions are so polar opposite to some others expressed here, I want to be careful not to come off combative or argumentative. Everyone has their approach that they think is best. I'll try to sum up some of my experiences. For context, I typically have at least 3 separate installs, each has 90+ mods. I use custom planet packs and custom parts in all of them. I do have a stock install that I've added only visual and QoL mods, but yawn, it's stock.

Not investigating your own issues is, to me, the ultimate expression of consumerism. I download a free thing, and if it doesn't work I just pester the author of the thing with a "good" bug report? That feels really selfish to me. That thing I got was given to me for free by someone who put a crap-ton of work into it, the very least I can do is not bother them with stupid pedestrian install issues they've seen 100 times before. Sure, some people's relationship with their tech is very distant, and those people will always need hand holding, and that's what the rest of us in the community are here for. But if I have the capacity to handle files and open large text files and learn a little and take some educated guesses, then I say that's on me to do first, before asking someone else to spend their free time trying to help me. My opinion is that if I'm going to push the game with mods, then it's on me to take care of what I am capable of before asking for help.

Being somewhat concerned about the state of your log file has advantages for you, too. It's faster to know a little and be able to fix a problem than it is to post a message to a forum and wait a day for an answer. It's worth it to understand basic mod structure and conventions, as you can not only help yourself faster, but other peeps, too. I can't count the number of times I've looked over other people's logs and seen that they have a GameData folder inside their GameData folder, or they have unzipped a mod distribution file directly into GameData, or they have multiple module managers ... these are all things that are quickly/easily visible in the log, but difficult to guess. Very helpful basics are very helpful :)

At the same time, I think there's a dark path inside the log file that leads only to madness. Diving into too much detail probably isn't worth your time unless you're very familiar with C# and Unity.  But there's lots of high level things in there, and finding LONG swatches of nullrefs written every frame is undoubtedly worth the few seconds it took you to look. 

For added fun, there's also an option somewhere to log exceptions to the screen. That can be a real eye opener!

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...