Vgstation13: Hivebots multiplying in nullspace

Created on 18 Oct 2016  路  20Comments  路  Source: vgstation-coders/vgstation13

Description of issue

Hivebots are replicating at a rapid rate in nullspace, someone said "30 per second" and it seems pretty accurate. I don't know why it's happening. There was no new space vault loaded that round:
help
Trying to select a hivebot beacon through SDQL yielded no results.
Here's two pictures of 11000 Strong Hivebots in nullspace. They become so many that they freeze you when you open the Haunt list.
11143
When they reached a few thousand, the CPU counter in the Status tab said 120

Difference between expected and actual behavior

I'm on hivebot deletion duty because the forces from the Byond are amassing an army worthy of Mordor and it gets taxing if they're allowed to build.

Steps to reproduce

Not sure what the requirements are or if it happens every round. If the latter, just wait a minute and then do Haunt and go to the bottom.
Alternatively, select them in SDQL, but it'll take a while for it to load.

Specific information for locating

Strong Hivebot: /mob/living/simple_animal/hostile/hivebot/strong

Length of time in which bug has been known to occur

Don't know for sure. I've only noticed the Haunt lag recently (today and yesterday).

Server revision

e0bbe9de1491897aa63e4de6c58d0e43d1250d17

Issue bingo

Please check whatever applies. More checkboxes checked increase your chances of not being yelled at by every contributor.

  • [x] Issue could be reproduced at least once
  • [x] Issue could be reproduced by different players
  • [x] Issue could be reproduced in multiple rounds
  • [x] Issue happened in a recent (less than 7 days ago) round
  • [x] [Couldn't find an existing issue about this](https://github.com/d3athrow/vgstation13/issues)
T-Thanks BYOND 鈿狅笍 OH GOD IT'S LOOSE 鈿狅笍

Most helpful comment

@MrStonedOne

CLEANBOT LIVES

All 20 comments

I didn't know hivebots even _could_ replicate.

What creates them, normally? The beacon?

Normally a beacon, yeah, which is just /mob/living/simple_animal/hostile/hivebot/tele. I don't think anything else can, but I dunno.

I'm looking at the code for the hivebot beacon, and it seems completely incapable of creating strong hivebots. So they must've been coming from something else.

If I remember correctly, the strong hivebots were a recent addition specifically for a certain vault.

The only place in the code where strong hivebots are mentioned, aside from their own .dm, is maps/randomvaults/hivebot_factory.dmm.

Maybe try loading that vault specifically during a round and see if the problem happens again, or if it was a fluke?

If so, it's creating them without the vault being loaded, since all the vaults in the round are from longer ago.

Oh, well, actually, that one IS loaded. It's one of the original vaults, I think, but yeah, can try it with and without the vault to see the difference.

My guess would be that the problem is in the general vault spawning/building code, because there's nothing in the hivebots' code that looks like it could cause this.

Looking at it, I don't think it even has a beacon. It's supposed to be like a destroyed hivebot facility.

The only place in the code where strong hivebots are mentioned, aside from their own .dm, is maps/randomvaults/hivebot_factory.dmm.

I made a vault that involves hivebots too...

@MrStonedOne

CLEANBOT LIVES

For reference we had this happening but with CLEANBOT, for some reason a random proc got replaced with the new() for cleanbots. The main one that got replaced was sound()

Bisecting shows that #12088 is the culprit. It's also the cause of everyone losing sound at round start. Keep in mind it only runtimes if the hivebot_factory.dmm vault gets loaded. ejectedengine.dmm seems to have nothing to do with it.

[02:23:11] Runtime in ,: bad arg name 'wait'
  usr: Strong Hivebot () (/mob/living/simple_animal/hostile/hivebot/strong)
  usr.loc: (nullspace)
Undefined variable /mob/living/simple_animal/hostile/hivebot/strong/var/status
[02:23:11] Runtime in say.dm,254: 
  proc name: play vox sound (/proc/play_vox_sound)
[02:23:11] Runtime in ,: bad arg name 'wait'
  usr: Strong Hivebot () (/mob/living/simple_animal/hostile/hivebot/strong)
  usr.loc: (nullspace)
Undefined variable /mob/living/simple_animal/hostile/hivebot/strong/var/status
[02:23:11] Runtime in say.dm,254: 
  proc name: play vox sound (/proc/play_vox_sound)

"runtime in ,"

Goddamn

I love that BYOND bug

Wait, but that thread says it was fixed over a month ago
Maybe the server needs to be updated to the newest version of BYOND?

Either create a /sound/ at world start (and icon because it can happen to those) or update byond

REVERT #12265 AFTER 511 PLEASE OKAY THAAANKS

I doubt we'll remember.

In either case, I'm told we've updated to 511 so I'll just close this

Was this page helpful?
0 / 5 - 0 ratings

Related issues

D3athrow-Issues picture D3athrow-Issues  路  3Comments

despotate picture despotate  路  3Comments

gbasood picture gbasood  路  3Comments

D3athrow-Issues picture D3athrow-Issues  路  3Comments

N3X15 picture N3X15  路  3Comments