Explosive Biters


This mod adds a nest of explosive aliens and worms! These aliens will explode on death (area damage) and spread fire. Fire spitters are also deadly burning everything! And if you see their Mother, run, run for you life! Say goodbye to your walls! Good luck! Note:Autoplace configured for hot areas found in alien-biomes mod.

Content
25 days ago
0.16 - 2.0
64.3K
Enemies

b Non-recoverable error when combined with some other biter mods

3 years ago

Hi,

I love this mod but seems to have pushed it (and my game) to some limit :P I have a few other biter-related mods active that escalates the effect of this mod. Most notably, I have Schall Endgame Evolution with up to Category 15 biters (very very big biters), and Swarmageddon, that splits biters into smaller biters with reduced health when they die. These two alone creates a quite long chain of attacks - one big biter attacking probably ends up as much more than 100 biters in the end.

I noticed that the game lagged a lot during large attacks with explosive biters turned on, and could also see it in detailed time info that explosive biters were the one using a lot of time. I also see that many of the biters created by Swarmageddon are explosive - so there is a huge amount of explosive biters in every attack.

It ended up in a very long list non-recoverable errors. It all looked the same, but a small part of it is pasted below.

I don't expect that this mod can handle my crazy game, but just wanted to inform you in any case :)

Error while running event Explosive_biters::on_entity_died (ID 4)
The mod Explosive Biters (1.0.33) caused a non-recoverable error.
Please report this error to the mod author.

Error while running event Explosive_biters::on_entity_died (ID 4)
The mod Explosive Biters (1.0.33) caused a non-recoverable error.
Please report this error to the mod author.

Error while running event Explosive_biters::on_entity_died (ID 4)
Explosive_biters/control.lua:44: C stack overflow
stack traceback:
Explosive_biters/control.lua:44: in function <Explosive_biters/control.lua:42>
[C]: in function 'damage'
Explosive_biters/control.lua:65: in function <Explosive_biters/control.lua:42>
[C]: in function 'damage'
Explosive_biters/control.lua:65: in function <Explosive_biters/control.lua:42>
[C]: in function 'damage'
Explosive_biters/control.lua:65: in function <Explosive_biters/control.lua:42>
[C]: in function 'damage'
Explosive_biters/control.lua:65: in function <Explosive_biters/control.lua:42>
[C]: in function 'damage'
...
Explosive_biters/control.lua:65: in function <Explosive_biters/control.lua:42>
[C]: in function 'damage'
Explosive_biters/control.lua:65: in function <Explosive_biters/control.lua:42>
[C]: in function 'damage'
Explosive_biters/control.lua:65: in function <Explosive_biters/control.lua:42>
[C]: in function 'damage'
Explosive_biters/control.lua:65: in function <Explosive_biters/control.lua:42>
[C]: in function 'damage'
Explosive_biters/control.lua:65: in function <Explosive_biters/control.lua:42>
[C]: in function 'damage'
Explosive_biters/control.lua:65: in function <Explosive_biters/control.lua:42>
stack traceback:
[C]: in function 'damage'
Explosive_biters/control.lua:65: in function <Explosive_biters/control.lua:42>
[C]: in function 'damage'
Explosive_biters/control.lua:65: in function <Explosive_biters/control.lua:42>
[C]: in function 'damage'
Explosive_biters/control.lua:65: in function <Explosive_biters/control.lua:42>
[C]: in function 'damage'
Explosive_biters/control.lua:65: in function <Explosive_biters/control.lua:42>
[C]: in function 'damage'
Explosive_biters/control.lua:65: in function <Explosive_biters/control.lua:42>
...
Explosive_biters/control.lua:65: in function <Explosive_biters/control.lua:42>
[C]: in function 'damage'
Explosive_biters/control.lua:65: in function <Explosive_biters/control.lua:42>
[C]: in function 'damage'
Explosive_biters/control.lua:65: in function <Explosive_biters/control.lua:42>
[C]: in function 'damage'
Explosive_biters/control.lua:65: in function <Explosive_biters/control.lua:42>
[C]: in function 'damage'
Explosive_biters/control.lua:65: in function <Explosive_biters/control.lua:42>
[C]: in function 'damage'
Explosive_biters/control.lua:65: in function <Explosive_biters/control.lua:42>

3 years ago

stack overflow ? what the heck! never seen this before. I have no ideia whay it is right now. Will google for it...

3 years ago
(updated 3 years ago)

Well I'm stressing the game fairly high - something about entity update time when using Swarmageddon. Goes from 60 to 5 UPS during an attack. Here's a video to show it and put it in perspective: https://www.youtube.com/watch?v=zybW4aH_b1Y

It's when I add explosive biters in top of all that I get the issue, so it's really an edge case.

3 years ago
(updated 3 years ago)

Can you please test this small change, to see if gets any better ?
https://www.dropbox.com/s/ncne9gvmhsiunis/Explosive_biters_1.0.34.zip?dl=0

3 years ago

Sorry, I manage to completely mess up my game with some other addons, took me a while to be able to test this. Running it now, and so far so good! I have not seen the error. Will let it run through the day and report back.

Thanks!

3 years ago

Alas, it didn't take long before the error popped up again. It's quite likely a limitation in Factorio, and not an actual issue in your mod.

1310.347 Error MainLoop.cpp:1285: Exception at tick 74221803: The mod Explosive Biters (1.0.34) caused a non-recoverable error.
Please report this error to the mod author.

Error while running event Explosive_biters::on_entity_died (ID 4)
The mod Explosive Biters (1.0.34) caused a non-recoverable error.
Please report this error to the mod author.

Error while running event Explosive_biters::on_entity_died (ID 4)
The mod Explosive Biters (1.0.34) caused a non-recoverable error.
Please report this error to the mod author.

Error while running event Explosive_biters::on_entity_died (ID 4)
Explosive_biters/control.lua:44: C stack overflow
stack traceback:
Explosive_biters/control.lua:44: in function <Explosive_biters/control.lua:42>
[C]: in function 'damage'
Explosive_biters/control.lua:67: in function <Explosive_biters/control.lua:42>
[C]: in function 'damage'
Explosive_biters/control.lua:67: in function <Explosive_biters/control.lua:42>
[C]: in function 'damage'
Explosive_biters/control.lua:67: in function <Explosive_biters/control.lua:42>
[C]: in function 'damage'
Explosive_biters/control.lua:67: in function <Explosive_biters/control.lua:42>
[C]: in function 'damage'
...

(cropped here but in reality there is first a very, very , long list of the "Error while runing event"... messages, followed by a very, very, long of the stacktrace messages).

3 years ago

Ok, this one will be tough. I have some other idead, as now i noticed it is caused by tha damage funcion on the api. Can you share the saved game that this crash happens ? So I could run the tests here

3 years ago
(updated 3 years ago)

Edit: Put the player in a spot with a little more action, to trigger the fun sooner.

I mean, well, sure - you asked for it! https://www.dropbox.com/s/stf4ztwwoq3xo1z/An%20explosive%20swarmageddon%20experience2.zip?dl=0

Just be warned, it's a crazy setup and it goes down to 10 UPS under attack because of Swarmageddon and entity update time regardless of having Explosive Biters active or not.

Please only spend time on this if you are really curious about stack overflows; I can't expect any mod to run perfectly under mine conditions. I would guess the culprit is somewhere between Swarmageddon, Explosive Biters and Factorio Core.

3 years ago

New version released. I dont think it will stackoverflow again. But I also dont think this will be enough to fix the ups on your crazy game =)
thanks for the report. learned something about the game performance

New response