Spam of errors every tick - can't figure out the problem.

Started by Mitz, June 18, 2017, 10:40:04 AM

Previous topic - Next topic

Mitz

to be noted, my output_log is broken as all hell (never has updated since A15) and i'm now getting horrible errors from something.
my mod list isn't that long, but i've recently added orassans, apini & xen's animal collab project, but now i'm getting random errors from having a bulk goods trader active in my communications (probably)
https://pastebin.com/xJWe6pfP log, no trace of any problem but just a bunch of bullfur.
It's sad autism's an insult, then i must be an insult.
and my cat also must be an insult, as well as every other cat in the universe.
space cats.

Fregrant

Wait... Are you using A17 mods in A15 game? As I know, Apini was made since A16. Probably it requires newer Alien Framework etc etc.

Mitz

i'm playing A17, but i can hunt down my mod list if neccesary.
It's sad autism's an insult, then i must be an insult.
and my cat also must be an insult, as well as every other cat in the universe.
space cats.

tobi1449

Same problem here, I've got a myriad of mods (among them the animal collab project too). Any idea so far what could cause this?

Fregrant

Can you share mod order? Maybe try to hunt faulty mod down by switching the mods on/off. But sometimes you will still get errors from disabled mods if reload these ingame.

tobi1449

https://gist.github.com/HugsLibRecordKeeper/54a93f423c26c0e95ea203cad518f748

A new game doesn't have the problem and I've already tried to turn off the animal collab project, but unsurprisingly, the save wouldn't load then.

Xnope

My few cents:
The error log clearly means that there is a ThingWithComps with the comp CompSpawner that has a null map, which is to be expected if it is contained in an orbital trader's wares list.

If you really want to get to the bottom of what mod is causing the issue, find which mod adds a ThingDef with CompProperties_Spawner in its <comps> list (I recommend using the ctrl-f function of whatever .xml editor you might use), and either notify the author, modify the def so it doesn't spawn in bulk goods traders, or make a tiny mod of your own with an x-patch that does the same trick and append it to the respective mod's hub page for future users.

It is likely that whatever ThingDef is causing the issue has a tag or something else that one of a bulk goods trader's StockGenerators randomly selects from to add to its wares list. Perhaps the bug slipped under most radars because it hardly randomly generates for whatever StockGenerator, but in your case it did.

Edit 1:
I checked out the TraderKindDef for orbital bulk goods traders. The likely culprit is that this TraderKindDef uses a StockGenerator_Animals with the <tradeTags> "StandardAnimal", but of course anything generated for it will have a null map. You still need to locate which mod adds a def with this trade tag and has a CompProperties_Spawner.

I'm not exactly sure where to find (slash, am a bit too drunk to be thorough enough to find) the mod(s) you're concerned about (could I get a link?), but the closest thing I found was Xen's Big Animals, which I took a look at and came up with no CompProperties_Spawners but it does definitively have ThingDefs with the <tradeTags> "StandardAnimal". Admittedly, if I looked at most animal mods, I would likely find just the same. Point is, you need to find a ThingDef that has both the trade tag and the comp.

Good luck on your search friend. If I take more breaks from my own things I will check back and see what you come up with.
My W.I.P. mods:
Carnivale: GitHub | Forum Post
XnopeCore: GitHub

tobi1449

Found it, "silkspider" from the Animal Collab Mod has both CompProperties_Spawner and the trade tag "StandardAnimal".
Unfortunately I don't really see what exactly the issue is, since it's apparently an animal that can be bought from traders and drops spidersilk on death. Anyway, I'll direct the mod author(s) here and hopefully they know what to do ^^

Thanks for you help :)

Xnope

Glad you found it! Just gotta remove the trade tag or the comp, or else do some C# magic and create a comp with the same behaviour but does a null check on the map.
My W.I.P. mods:
Carnivale: GitHub | Forum Post
XnopeCore: GitHub

jamaicancastle

Quote from: tobi1449 on June 20, 2017, 03:49:05 PMUnfortunately I don't really see what exactly the issue is, since it's apparently an animal that can be bought from traders and drops spidersilk on death. Anyway, I'll direct the mod author(s) here and hopefully they know what to do ^^

In simple terms, the CompProperties_Spawner code is trying to keep track of the spider's map location. When it's a wild animal, a colony animal, or brought in by a trade caravan, that's fine, because it always has a map location. But items (including animals) generated by orbital traders don't have a map location until and unless they're bought. Thus, the Spawner is running into errors when it tries to interact with a nonexistent location.

Xnope

Also, pretty sure that if the author wanted the spider to drop silk on death, s/he could just define spider silk as a leather and add it to the animal's leather def under <race> properties. No need for a CompSpawner if it's just a death drop. I think.
My W.I.P. mods:
Carnivale: GitHub | Forum Post
XnopeCore: GitHub

kaptain_kavern


Fluffy (l2032)

you could also create a 'silk gland' kind of bodypart(group), and use the dropOnDeath (iirc) xml tag in the pawnkinds' lifestages to accomplish the same effect. Vanilla uses this for thrumbo horn and elephant tusks.

Xnope

Quote from: Fluffy (l2032) on June 21, 2017, 02:43:13 AM
you could also create a 'silk gland' kind of bodypart(group), and use the dropOnDeath (iirc) xml tag in the pawnkinds' lifestages to accomplish the same effect. Vanilla uses this for thrumbo horn and elephant tusks.

Hope the mod author sees this. Elegant solution.
My W.I.P. mods:
Carnivale: GitHub | Forum Post
XnopeCore: GitHub

kaptain_kavern

Quote from: Fluffy (l2032) on June 21, 2017, 02:43:13 AM
you could also create a 'silk gland' kind of bodypart(group), and use the dropOnDeath (iirc) xml tag in the pawnkinds' lifestages to accomplish the same effect. Vanilla uses this for thrumbo horn and elephant tusks.

<dropOnDeath> became <Butcherbodypart> lately