BeeStation / BeeStation-Hornet

99.95% station. 0.05% bees
https://beestation13.com
GNU Affero General Public License v3.0
200 stars 681 forks source link

Disco ball runtime #11483

Open PowerfulBacon opened 2 months ago

PowerfulBacon commented 2 months ago
[21:53:19] Runtime in code/modules/lighting/lighting_atom.dm, line 44: update_light() for the disco light with following light_system value: 2
proc name: update light (/atom/proc/update_light)
usr: [Redacted]
usr.loc: (Cargo Bay (108, 97, 2))
src: the disco light (/obj/item/flashlight/spotlight)
src.loc: the floor (109,94,2) (/turf/open/floor/iron)
call stack:
the disco light (/obj/item/flashlight/spotlight): update light()
Cargonian Dance Machine (/obj/machinery/jukebox/disco/indestructible): lights spin()
Cargonian Dance Machine (/obj/machinery/jukebox/disco/indestructible): activate music()
Cargonian Dance Machine (/obj/machinery/jukebox/disco/indestructible): ui act("toggle", /list (/list), /datum/tgui (/datum/tgui), /datum/ui_state/default (/datum/ui_state/default))
/datum/tgui (/datum/tgui): on message("act/toggle", /list (/list), /list (/list))
/datum/tgui_window (/datum/tgui_window): on message("act/toggle", /list (/list), /list (/list))
tgui Topic(/list (/list))
[Redacted] (/client): Topic("type=act%2Ftoggle&payload=%7B%...", /list (/list), null, null)
PowerfulBacon commented 2 months ago

Posted over 20k runtimes

HowToLoLu commented 2 months ago

Quickly blaming the code, looks like this has probably happened many times over the past 3 years? The relevant jukebox and light code was last touched that long ago; right after some revert for a thing being unstable as well.

I think the fix may just be to remove update_light() from the jukebox code, but there also could be more to it.

Tsar-Salat commented 2 months ago

Is it just something we failed to account for when we re-ported overlay lighting?

Cause the last person to touch it was a revert of overlay lighting

Rukofamicom commented 2 months ago

This is such a massive pain to debug locally because you can't turn the machine on locally without first having a config directory set up with songs that aren't part of our codebase here on github by default.

There's no easy way to turn this device on in a testing environment right now.

PowerfulBacon commented 2 months ago

The fix can be thrown in with #11279