runtime_condensed
-
51
count
Cannot execute null.resolve(). inCanAStarPass(/turf/open/openspace/CanAStarPass:152)src: the open space (102,178,4) (/turf/open/openspace)
src_loc:
usr: null
-
51
count
Cannot execute null.add reagent(). inexpose turf(/datum/reagent/consumable/flour/expose_turf:701)src: Flour (/datum/reagent/consumable/flour)
src_loc:
usr: null
-
46
count
undefined variable /turf/closed/indestructible/rock/var/run_later inprocess cell(/turf/open/process_cell:284)src: space (51,57,8) (/turf/open/space)
src_loc:
usr: null
-
25
count
Cannot execute null.archive(). inprocess cell(/turf/open/process_cell:289)src: space (51,56,8) (/turf/open/space)
src_loc:
usr: null
-
22
count
Cannot read null.hud_used inremove and refresh(/datum/storage/proc/remove_and_refresh:721)src: /datum/storage/surgery_tray (/datum/storage/surgery_tray)
src_loc:
usr: Kathryn Stroble (/mob/living/carbon/human)
-
21
count
bad color inrefresh values(/datum/light_source/proc/refresh_values:428)src: /datum/light_source (/datum/light_source)
src_loc:
usr: null
-
14
count
Cannot read null.air inrelocate airs(/obj/machinery/atmospherics/components/proc/relocate_airs:381)src: External Gas to Loop (/obj/machinery/atmospherics/components/binary/pump)
src_loc: the ice chasm (116,70,4) (/turf/open/openspace/icemoon/keep_below)
usr: null
-
14
count
Cannot read null.client intick(/datum/status_effect/slime_leech/tick:54)src: /datum/status_effect/slime_lee... (/datum/status_effect/slime_leech)
src_loc:
usr: null
-
9
count
turf_reset_elevation overridden. Use override = TRUE to suppress this warning. instack trace(/proc/_stack_trace:4)src: null
src_loc:
usr: (src)
-
9
count
turf_change overridden. Use override = TRUE to suppress this warning. instack trace(/proc/_stack_trace:4)src: null
src_loc:
usr: (src)
-
8
count
Cannot execute null.UnregisterSignal(). inunregister signals(/datum/component/connect_range/proc/unregister_signals:113)src: /datum/component/connect_range (/datum/component/connect_range)
src_loc:
usr: null
-
8
count
Cannot execute null.RegisterSignal(). inupdate signals(/datum/component/connect_range/proc/update_signals:99)src: /datum/component/connect_range (/datum/component/connect_range)
src_loc:
usr: null
-
7
count
Cannot execute null.stop feeding(). intick(/datum/status_effect/slime_leech/tick:57)src: /datum/status_effect/slime_lee... (/datum/status_effect/slime_leech)
src_loc:
usr: null
-
7
count
Cannot read null.plane instrip appearance underlays(/proc/strip_appearance_underlays:1341)src: null
src_loc:
usr: Kathryn Stroble (/mob/living/carbon/human)
-
6
count
bad index inSendSignal(/datum/proc/_SendSignal:126)src: the ice chasm (106,62,4) (/turf/open/openspace/icemoon/keep_below)
src_loc:
usr: 0
-
5
count
TTS tried to play a sound to a deleted mob. instack trace(/proc/_stack_trace:4)src: null
src_loc:
usr: (src)
-
4
count
The power cable taking damage while having <= 0 integrity intake damage(/atom/proc/take_damage:23)src: the power cable (/obj/structure/cable)
src_loc: the floor (117,76,4) (/turf/open/floor/iron)
usr: null
-
4
count
undefined variable /turf/closed/wall/mineral/wood/var/run_later inprocess cell(/turf/open/process_cell:284)src: space (60,45,8) (/turf/open/space)
src_loc:
usr: null
-
2
count
add_blood_DNA on the damp rag (/obj/item/rag) has been passed bad blood_DNA_to_add ( - key-value pair)! inadd blood DNA(/obj/add_blood_DNA:121)src: the damp rag (/obj/item/rag)
src_loc:
usr: Johann Litmann (/mob/living/carbon/human)
-
2
count
The frag grenade taking damage while having <= 0 integrity intake damage(/atom/proc/take_damage:23)src: the frag grenade (/obj/item/grenade/frag)
src_loc: null
usr: null
-
2
count
-
1
count
movable_moved overridden. Use override = TRUE to suppress this warning. instack trace(/proc/_stack_trace:4)src: null
src_loc:
usr: (src)
-
1
count
qdeleted or null target trying to enter the spatial grid! inenter cell(/datum/controller/subsystem/spatial_grid/proc/enter_cell:361)src: Spatial Grid (/datum/controller/subsystem/spatial_grid)
src_loc:
usr: null
-
1
count
atom_init_success_on overridden. Use override = TRUE to suppress this warning. instack trace(/proc/_stack_trace:4)src: null
src_loc:
usr: Silas Ward (/mob/living/carbon/human)
-
1
count
Cannot read null.post_logout_callbacks inbecome uncliented(/mob/proc/become_uncliented:1606)src: Red Kindchild (/mob/living/carbon/human)
src_loc: the slaughter demon (/mob/living/basic/demon/slaughter)
usr: (src)
-
1
count
parent_qdeleting overridden. Use override = TRUE to suppress this warning. instack trace(/proc/_stack_trace:4)src: null
src_loc:
usr: Rom Zippa (/mob/living/carbon/human)
-
1
count
Basic mob being instantiated in nullspace instack trace(/proc/_stack_trace:4)src: null
src_loc:
usr: Space Dragon (/mob/living/basic/space_dragon)
-
1
count
Cannot read null.can_misfire inprocess fire(/obj/item/gun/ballistic/process_fire:584)src: the Makarov pistol (/obj/item/gun/ballistic/automatic/pistol/contraband)
src_loc:
usr: Silas Ward (/mob/living/carbon/human)
-
1
count
tried to generate a supply pack without a valid crate type ingenerate(/datum/supply_pack/proc/generate:62)src: Aquarium Props Single-Pack (/datum/supply_pack/goody/aquarium_props)
src_loc:
usr: null
-
1
count
undefined variable /turf/closed/indestructible/weeb/var/run_later inprocess cell(/turf/open/process_cell:284)src: space (51,52,8) (/turf/open/space)
src_loc:
usr: null
-
1
count
invalid object type 0:0 inremove wibbly filters(/proc/remove_wibbly_filters:368)src: null
src_loc:
usr: Mike Haddad (/mob/living/carbon/human)
-
1
count
cause_hallucination was given a non-hallucination type. (Got: null) incause hallucination(/mob/living/proc/_cause_hallucination:45)src: the snow legion (/mob/living/basic/mining/legion/snow)
src_loc: the ice sheet (240,166,3) (/turf/open/misc/ice/icemoon)
usr: null
-
1
count
json_decode error: Unexpected character at (character 1) insave prisoner tattoos(/datum/controller/subsystem/persistence/proc/save_prisoner_tattoos:32)src: Persistence (/datum/controller/subsystem/persistence)
src_loc:
usr: null
-
1
count
json_decode error: Unexpected character at (character 1) inload prisoner tattoos(/datum/controller/subsystem/persistence/proc/load_prisoner_tattoos:6)src: Persistence (/datum/controller/subsystem/persistence)
src_loc:
usr: null
-
1
count
Invalid timer: ]Timer: 115326 ([0x210e9a4b]), TTR: 929531, wait:4 Flags: TIMER_CLIENT_TIME, TIMER_STOPPABLE, callBack: [0x210e207e], callBack.object: /datum/looping_sound/generator(/datum/looping_sound/generator), callBack.delegate:start_sound_loop, source: code/datums/looping_sounds/_looping_sound.dm:245Prev: NULL, Next: NULL, SPENT(929531), QDELETED, NO CALLBACK world.time: 79248.5, head_offset: 79200, practical_offset: 98, REALTIMEOFDAY: 929531 infire(/datum/controller/subsystem/timer/fire:122)src: Sound Loops (/datum/controller/subsystem/timer/sound_loops)
src_loc:
usr: null
-
1
count
Mob with client has been deleted. instack trace(/proc/_stack_trace:4)src: null
src_loc:
usr: the slaughter demon (/mob/living/basic/demon/slaughter)
-
1
count
/datum/reagents | the ChemMaster 3000 was forced to stop reacting. This might be unintentional. instack trace(/proc/_stack_trace:4)src: null
src_loc:
usr: (src)
-
1
count
Cannot read null.wound_series incheck wounding(/obj/item/bodypart/proc/check_wounding:124)src: the monkey head (/obj/item/bodypart/head/monkey)
src_loc:
usr: Charles Elliott (/mob/living/carbon/human)
-
1
count
Invalid timer: ]Timer: 140483 ([0x210e8587]), TTR: 935640, wait:2 Flags: TIMER_CLIENT_TIME, TIMER_STOPPABLE, callBack: [0x210ea3e7], callBack.object: /datum/looping_sound/showering(/datum/looping_sound/showering), callBack.delegate:start_sound_loop, source: code/datums/looping_sounds/_looping_sound.dm:245Prev: NULL, Next: NULL, SPENT(935640), QDELETED, NO CALLBACK world.time: 85257, head_offset: 85200, practical_offset: 115, REALTIMEOFDAY: 935640 infire(/datum/controller/subsystem/timer/fire:122)src: Sound Loops (/datum/controller/subsystem/timer/sound_loops)
src_loc:
usr: null
-
1
count
atom_entered overridden. Use override = TRUE to suppress this warning. instack trace(/proc/_stack_trace:4)src: null
src_loc:
usr: Silas Ward (/mob/living/carbon/human)
-
1
count
Qdeleted thing being thrown around. inthrow at(/atom/movable/proc/throw_at:1348)src: the banana glutton (/mob/living/basic/clown/mutant/glutton)
src_loc: null
usr: null
-
1
count
Cannot read null.ambient_buzz inrefresh looping ambience(/mob/proc/refresh_looping_ambience:121)src: Space Dragon (/mob/living/basic/space_dragon)
src_loc: null
usr: (src)
-
1
count
Cannot read null.cargo inupdate overlays(/obj/vehicle/ridden/golfcart/update_overlays:618)src: the golf cart (/obj/vehicle/ridden/golfcart)
src_loc: the floor (193,83,1) (/turf/open/floor/iron/white/side)
usr: null
-
1
count
No valid destination passed into forceMove inforceMove(/atom/movable/proc/forceMove:1129)src: the ebeam (/obj/effect/ebeam)
src_loc:
usr: Silas Ward (/mob/living/carbon/human)
-
1
count
Cannot execute null.setDir(). inupdate appearance(/obj/vehicle/ridden/golfcart/update_appearance:502)src: the golf cart (/obj/vehicle/ridden/golfcart)
src_loc: the floor (193,83,1) (/turf/open/floor/iron/white/side)
usr: null
-
1
count
A client was Del()'d without a persistent_client! This should not be happening. instack trace(/proc/_stack_trace:4)src: null
src_loc:
usr: (src)
{
"data": {
"runtimes": [
{
"count": 51,
"message": "Cannot execute null.resolve().",
"proc_name": "CanAStarPass (\/turf\/open\/openspace\/CanAStarPass)",
"source_file": "code\/game\/turfs\/open\/openspace.dm,152",
"src": "the open space (102,178,4) (\/turf\/open\/openspace)",
"src_loc": null,
"usr": "null"
},
{
"count": 51,
"message": "Cannot execute null.add reagent().",
"proc_name": "expose turf (\/datum\/reagent\/consumable\/flour\/expose_turf)",
"source_file": "code\/modules\/reagents\/chemistry\/reagents\/food_reagents.dm,701",
"src": "Flour (\/datum\/reagent\/consumable\/flour)",
"src_loc": null,
"usr": "null"
},
{
"count": 46,
"message": "undefined variable \/turf\/closed\/indestructible\/rock\/var\/run_later",
"proc_name": "process cell (\/turf\/open\/process_cell)",
"source_file": "code\/modules\/atmospherics\/environmental\/LINDA_turf_tile.dm,284",
"src": "space (51,57,8) (\/turf\/open\/space)",
"src_loc": null,
"usr": "null"
},
{
"count": 25,
"message": "Cannot execute null.archive().",
"proc_name": "process cell (\/turf\/open\/process_cell)",
"source_file": "code\/modules\/atmospherics\/environmental\/LINDA_turf_tile.dm,289",
"src": "space (51,56,8) (\/turf\/open\/space)",
"src_loc": null,
"usr": "null"
},
{
"count": 22,
"message": "Cannot read null.hud_used",
"proc_name": "remove and refresh (\/datum\/storage\/proc\/remove_and_refresh)",
"source_file": "code\/datums\/storage\/storage.dm,721",
"src": "\/datum\/storage\/surgery_tray (\/datum\/storage\/surgery_tray)",
"src_loc": null,
"usr": "Kathryn Stroble (\/mob\/living\/carbon\/human)"
},
{
"count": 21,
"message": "bad color",
"proc_name": "refresh values (\/datum\/light_source\/proc\/refresh_values)",
"source_file": "code\/modules\/lighting\/lighting_source.dm,428",
"src": "\/datum\/light_source (\/datum\/light_source)",
"src_loc": null,
"usr": "null"
},
{
"count": 14,
"message": "Cannot read null.air",
"proc_name": "relocate airs (\/obj\/machinery\/atmospherics\/components\/proc\/relocate_airs)",
"source_file": "code\/modules\/atmospherics\/machinery\/components\/components_base.dm,381",
"src": "External Gas to Loop (\/obj\/machinery\/atmospherics\/components\/binary\/pump)",
"src_loc": "the ice chasm (116,70,4) (\/turf\/open\/openspace\/icemoon\/keep_below)",
"usr": "null"
},
{
"count": 14,
"message": "Cannot read null.client",
"proc_name": "tick (\/datum\/status_effect\/slime_leech\/tick)",
"source_file": "code\/datums\/status_effects\/debuffs\/slime\/slime_leech.dm,54",
"src": "\/datum\/status_effect\/slime_lee... (\/datum\/status_effect\/slime_leech)",
"src_loc": null,
"usr": "null"
},
{
"count": 9,
"message": "turf_reset_elevation overridden. Use override = TRUE to suppress this warning.",
"proc_name": " stack trace (\/proc\/_stack_trace)",
"source_file": "code\/__HELPERS\/stack_trace.dm,4",
"src": "null",
"src_loc": null,
"usr": "(src)"
},
{
"count": 9,
"message": "turf_change overridden. Use override = TRUE to suppress this warning.",
"proc_name": " stack trace (\/proc\/_stack_trace)",
"source_file": "code\/__HELPERS\/stack_trace.dm,4",
"src": "null",
"src_loc": null,
"usr": "(src)"
},
{
"count": 8,
"message": "Cannot execute null.UnregisterSignal().",
"proc_name": "unregister signals (\/datum\/component\/connect_range\/proc\/unregister_signals)",
"source_file": "code\/datums\/components\/connect_range.dm,113",
"src": "\/datum\/component\/connect_range (\/datum\/component\/connect_range)",
"src_loc": null,
"usr": "null"
},
{
"count": 8,
"message": "Cannot execute null.RegisterSignal().",
"proc_name": "update signals (\/datum\/component\/connect_range\/proc\/update_signals)",
"source_file": "code\/datums\/components\/connect_range.dm,99",
"src": "\/datum\/component\/connect_range (\/datum\/component\/connect_range)",
"src_loc": null,
"usr": "null"
},
{
"count": 7,
"message": "Cannot execute null.stop feeding().",
"proc_name": "tick (\/datum\/status_effect\/slime_leech\/tick)",
"source_file": "code\/datums\/status_effects\/debuffs\/slime\/slime_leech.dm,57",
"src": "\/datum\/status_effect\/slime_lee... (\/datum\/status_effect\/slime_leech)",
"src_loc": null,
"usr": "null"
},
{
"count": 7,
"message": "Cannot read null.plane",
"proc_name": "strip appearance underlays (\/proc\/strip_appearance_underlays)",
"source_file": "code\/__HELPERS\/icons.dm,1341",
"src": "null",
"src_loc": null,
"usr": "Kathryn Stroble (\/mob\/living\/carbon\/human)"
},
{
"count": 6,
"message": "bad index",
"proc_name": " SendSignal (\/datum\/proc\/_SendSignal)",
"source_file": "code\/datums\/signals.dm,126",
"src": "the ice chasm (106,62,4) (\/turf\/open\/openspace\/icemoon\/keep_below)",
"src_loc": null,
"usr": "0"
},
{
"count": 5,
"message": "TTS tried to play a sound to a deleted mob.",
"proc_name": " stack trace (\/proc\/_stack_trace)",
"source_file": "code\/__HELPERS\/stack_trace.dm,4",
"src": "null",
"src_loc": null,
"usr": "(src)"
},
{
"count": 4,
"message": "The power cable taking damage while having <= 0 integrity",
"proc_name": "take damage (\/atom\/proc\/take_damage)",
"source_file": "code\/game\/atom\/atom_defense.dm,23",
"src": "the power cable (\/obj\/structure\/cable)",
"src_loc": "the floor (117,76,4) (\/turf\/open\/floor\/iron)",
"usr": "null"
},
{
"count": 4,
"message": "undefined variable \/turf\/closed\/wall\/mineral\/wood\/var\/run_later",
"proc_name": "process cell (\/turf\/open\/process_cell)",
"source_file": "code\/modules\/atmospherics\/environmental\/LINDA_turf_tile.dm,284",
"src": "space (60,45,8) (\/turf\/open\/space)",
"src_loc": null,
"usr": "null"
},
{
"count": 2,
"message": "add_blood_DNA on the damp rag (\/obj\/item\/rag) has been passed bad blood_DNA_to_add ( - key-value pair)!",
"proc_name": "add blood DNA (\/obj\/add_blood_DNA)",
"source_file": "code\/modules\/forensics\/forensics_helpers.dm,121",
"src": "the damp rag (\/obj\/item\/rag)",
"src_loc": null,
"usr": "Johann Litmann (\/mob\/living\/carbon\/human)"
},
{
"count": 2,
"message": "The frag grenade taking damage while having <= 0 integrity",
"proc_name": "take damage (\/atom\/proc\/take_damage)",
"source_file": "code\/game\/atom\/atom_defense.dm,23",
"src": "the frag grenade (\/obj\/item\/grenade\/frag)",
"src_loc": "null",
"usr": "null"
},
{
"count": 2,
"message": "Cannot read null.z",
"proc_name": "is valid z level (\/proc\/is_valid_z_level)",
"source_file": "code\/__HELPERS\/levels.dm,15",
"src": "null",
"src_loc": null,
"usr": "(src)"
},
{
"count": 1,
"message": "movable_moved overridden. Use override = TRUE to suppress this warning.",
"proc_name": " stack trace (\/proc\/_stack_trace)",
"source_file": "code\/__HELPERS\/stack_trace.dm,4",
"src": "null",
"src_loc": null,
"usr": "(src)"
},
{
"count": 1,
"message": "qdeleted or null target trying to enter the spatial grid!",
"proc_name": "enter cell (\/datum\/controller\/subsystem\/spatial_grid\/proc\/enter_cell)",
"source_file": "code\/controllers\/subsystem\/spatial_gridmap.dm,361",
"src": "Spatial Grid (\/datum\/controller\/subsystem\/spatial_grid)",
"src_loc": null,
"usr": "null"
},
{
"count": 1,
"message": "atom_init_success_on overridden. Use override = TRUE to suppress this warning.",
"proc_name": " stack trace (\/proc\/_stack_trace)",
"source_file": "code\/__HELPERS\/stack_trace.dm,4",
"src": "null",
"src_loc": null,
"usr": "Silas Ward (\/mob\/living\/carbon\/human)"
},
{
"count": 1,
"message": "Cannot read null.post_logout_callbacks",
"proc_name": "become uncliented (\/mob\/proc\/become_uncliented)",
"source_file": "code\/modules\/mob\/mob.dm,1606",
"src": "Red Kindchild (\/mob\/living\/carbon\/human)",
"src_loc": "the slaughter demon (\/mob\/living\/basic\/demon\/slaughter)",
"usr": "(src)"
},
{
"count": 1,
"message": "parent_qdeleting overridden. Use override = TRUE to suppress this warning.",
"proc_name": " stack trace (\/proc\/_stack_trace)",
"source_file": "code\/__HELPERS\/stack_trace.dm,4",
"src": "null",
"src_loc": null,
"usr": "Rom Zippa (\/mob\/living\/carbon\/human)"
},
{
"count": 1,
"message": "Basic mob being instantiated in nullspace",
"proc_name": " stack trace (\/proc\/_stack_trace)",
"source_file": "code\/__HELPERS\/stack_trace.dm,4",
"src": "null",
"src_loc": null,
"usr": "Space Dragon (\/mob\/living\/basic\/space_dragon)"
},
{
"count": 1,
"message": "Cannot read null.can_misfire",
"proc_name": "process fire (\/obj\/item\/gun\/ballistic\/process_fire)",
"source_file": "code\/modules\/projectiles\/guns\/ballistic.dm,584",
"src": "the Makarov pistol (\/obj\/item\/gun\/ballistic\/automatic\/pistol\/contraband)",
"src_loc": null,
"usr": "Silas Ward (\/mob\/living\/carbon\/human)"
},
{
"count": 1,
"message": "tried to generate a supply pack without a valid crate type",
"proc_name": "generate (\/datum\/supply_pack\/proc\/generate)",
"source_file": "code\/modules\/cargo\/packs\/_packs.dm,62",
"src": "Aquarium Props Single-Pack (\/datum\/supply_pack\/goody\/aquarium_props)",
"src_loc": null,
"usr": "null"
},
{
"count": 1,
"message": "undefined variable \/turf\/closed\/indestructible\/weeb\/var\/run_later",
"proc_name": "process cell (\/turf\/open\/process_cell)",
"source_file": "code\/modules\/atmospherics\/environmental\/LINDA_turf_tile.dm,284",
"src": "space (51,52,8) (\/turf\/open\/space)",
"src_loc": null,
"usr": "null"
},
{
"count": 1,
"message": "invalid object type 0:0",
"proc_name": "remove wibbly filters (\/proc\/remove_wibbly_filters)",
"source_file": "code\/__HELPERS\/filters.dm,368",
"src": "null",
"src_loc": null,
"usr": "Mike Haddad (\/mob\/living\/carbon\/human)"
},
{
"count": 1,
"message": "cause_hallucination was given a non-hallucination type. (Got: null)",
"proc_name": " cause hallucination (\/mob\/living\/proc\/_cause_hallucination)",
"source_file": "code\/__HELPERS\/hallucinations.dm,45",
"src": "the snow legion (\/mob\/living\/basic\/mining\/legion\/snow)",
"src_loc": "the ice sheet (240,166,3) (\/turf\/open\/misc\/ice\/icemoon)",
"usr": "null"
},
{
"count": 1,
"message": "json_decode error: Unexpected character at (character 1)",
"proc_name": "save prisoner tattoos (\/datum\/controller\/subsystem\/persistence\/proc\/save_prisoner_tattoos)",
"source_file": "code\/controllers\/subsystem\/persistence\/tattoos.dm,32",
"src": "Persistence (\/datum\/controller\/subsystem\/persistence)",
"src_loc": null,
"usr": "null"
},
{
"count": 1,
"message": "json_decode error: Unexpected character at (character 1)",
"proc_name": "load prisoner tattoos (\/datum\/controller\/subsystem\/persistence\/proc\/load_prisoner_tattoos)",
"source_file": "code\/controllers\/subsystem\/persistence\/tattoos.dm,6",
"src": "Persistence (\/datum\/controller\/subsystem\/persistence)",
"src_loc": null,
"usr": "null"
},
{
"count": 1,
"message": "Invalid timer: ]Timer: 115326 ([0x210e9a4b]), TTR: 929531, wait:4 Flags: TIMER_CLIENT_TIME, TIMER_STOPPABLE, callBack: [0x210e207e], callBack.object: \/datum\/looping_sound\/generator(\/datum\/looping_sound\/generator), callBack.delegate:start_sound_loop, source: code\/datums\/looping_sounds\/_looping_sound.dm:245Prev: NULL, Next: NULL, SPENT(929531), QDELETED, NO CALLBACK world.time: 79248.5, head_offset: 79200, practical_offset: 98, REALTIMEOFDAY: 929531",
"proc_name": "fire (\/datum\/controller\/subsystem\/timer\/fire)",
"source_file": "code\/controllers\/subsystem\/timer.dm,122",
"src": "Sound Loops (\/datum\/controller\/subsystem\/timer\/sound_loops)",
"src_loc": null,
"usr": "null"
},
{
"count": 1,
"message": "Mob with client has been deleted.",
"proc_name": " stack trace (\/proc\/_stack_trace)",
"source_file": "code\/__HELPERS\/stack_trace.dm,4",
"src": "null",
"src_loc": null,
"usr": "the slaughter demon (\/mob\/living\/basic\/demon\/slaughter)"
},
{
"count": 1,
"message": "\/datum\/reagents | the ChemMaster 3000 was forced to stop reacting. This might be unintentional.",
"proc_name": " stack trace (\/proc\/_stack_trace)",
"source_file": "code\/__HELPERS\/stack_trace.dm,4",
"src": "null",
"src_loc": null,
"usr": "(src)"
},
{
"count": 1,
"message": "Cannot read null.wound_series",
"proc_name": "check wounding (\/obj\/item\/bodypart\/proc\/check_wounding)",
"source_file": "code\/modules\/surgery\/bodyparts\/wounds.dm,124",
"src": "the monkey head (\/obj\/item\/bodypart\/head\/monkey)",
"src_loc": null,
"usr": "Charles Elliott (\/mob\/living\/carbon\/human)"
},
{
"count": 1,
"message": "Invalid timer: ]Timer: 140483 ([0x210e8587]), TTR: 935640, wait:2 Flags: TIMER_CLIENT_TIME, TIMER_STOPPABLE, callBack: [0x210ea3e7], callBack.object: \/datum\/looping_sound\/showering(\/datum\/looping_sound\/showering), callBack.delegate:start_sound_loop, source: code\/datums\/looping_sounds\/_looping_sound.dm:245Prev: NULL, Next: NULL, SPENT(935640), QDELETED, NO CALLBACK world.time: 85257, head_offset: 85200, practical_offset: 115, REALTIMEOFDAY: 935640",
"proc_name": "fire (\/datum\/controller\/subsystem\/timer\/fire)",
"source_file": "code\/controllers\/subsystem\/timer.dm,122",
"src": "Sound Loops (\/datum\/controller\/subsystem\/timer\/sound_loops)",
"src_loc": null,
"usr": "null"
},
{
"count": 1,
"message": "atom_entered overridden. Use override = TRUE to suppress this warning.",
"proc_name": " stack trace (\/proc\/_stack_trace)",
"source_file": "code\/__HELPERS\/stack_trace.dm,4",
"src": "null",
"src_loc": null,
"usr": "Silas Ward (\/mob\/living\/carbon\/human)"
},
{
"count": 1,
"message": "Qdeleted thing being thrown around.",
"proc_name": "throw at (\/atom\/movable\/proc\/throw_at)",
"source_file": "code\/game\/atoms_movable.dm,1348",
"src": "the banana glutton (\/mob\/living\/basic\/clown\/mutant\/glutton)",
"src_loc": "null",
"usr": "null"
},
{
"count": 1,
"message": "Cannot read null.ambient_buzz",
"proc_name": "refresh looping ambience (\/mob\/proc\/refresh_looping_ambience)",
"source_file": "code\/controllers\/subsystem\/ambience.dm,121",
"src": "Space Dragon (\/mob\/living\/basic\/space_dragon)",
"src_loc": "null",
"usr": "(src)"
},
{
"count": 1,
"message": "Cannot read null.cargo",
"proc_name": "update overlays (\/obj\/vehicle\/ridden\/golfcart\/update_overlays)",
"source_file": "code\/modules\/vehicles\/cars\/golfcart\/golfcart.dm,618",
"src": "the golf cart (\/obj\/vehicle\/ridden\/golfcart)",
"src_loc": "the floor (193,83,1) (\/turf\/open\/floor\/iron\/white\/side)",
"usr": "null"
},
{
"count": 1,
"message": "No valid destination passed into forceMove",
"proc_name": "forceMove (\/atom\/movable\/proc\/forceMove)",
"source_file": "code\/game\/atoms_movable.dm,1129",
"src": "the ebeam (\/obj\/effect\/ebeam)",
"src_loc": null,
"usr": "Silas Ward (\/mob\/living\/carbon\/human)"
},
{
"count": 1,
"message": "Cannot execute null.setDir().",
"proc_name": "update appearance (\/obj\/vehicle\/ridden\/golfcart\/update_appearance)",
"source_file": "code\/modules\/vehicles\/cars\/golfcart\/golfcart.dm,502",
"src": "the golf cart (\/obj\/vehicle\/ridden\/golfcart)",
"src_loc": "the floor (193,83,1) (\/turf\/open\/floor\/iron\/white\/side)",
"usr": "null"
},
{
"count": 1,
"message": "A client was Del()'d without a persistent_client! This should not be happening.",
"proc_name": " stack trace (\/proc\/_stack_trace)",
"source_file": "code\/__HELPERS\/stack_trace.dm,4",
"src": "null",
"src_loc": null,
"usr": "(src)"
}
],
"total_count": 342
},
"parser": null,
"id": -1,
"datetime": {
"date": "2026-01-30 23:35:04.000000",
"timezone_type": 3,
"timezone": "UTC"
},
"round": 259782,
"key": "runtime_condensed",
"type": "generated",
"version": 1,
"json": "{\"runtimes\":[{\"count\":51,\"message\":\"Cannot execute null.resolve().\",\"proc_name\":\"CanAStarPass (\/turf\/open\/openspace\/CanAStarPass)\",\"source_file\":\"code\/game\/turfs\/open\/openspace.dm,152\",\"src\":\"the open space (102,178,4) (\/turf\/open\/openspace)\",\"src_loc\":null,\"usr\":\"null\"},{\"count\":51,\"message\":\"Cannot execute null.add reagent().\",\"proc_name\":\"expose turf (\/datum\/reagent\/consumable\/flour\/expose_turf)\",\"source_file\":\"code\/modules\/reagents\/chemistry\/reagents\/food_reagents.dm,701\",\"src\":\"Flour (\/datum\/reagent\/consumable\/flour)\",\"src_loc\":null,\"usr\":\"null\"},{\"count\":46,\"message\":\"undefined variable \/turf\/closed\/indestructible\/rock\/var\/run_later\",\"proc_name\":\"process cell (\/turf\/open\/process_cell)\",\"source_file\":\"code\/modules\/atmospherics\/environmental\/LINDA_turf_tile.dm,284\",\"src\":\"space (51,57,8) (\/turf\/open\/space)\",\"src_loc\":null,\"usr\":\"null\"},{\"count\":25,\"message\":\"Cannot execute null.archive().\",\"proc_name\":\"process cell (\/turf\/open\/process_cell)\",\"source_file\":\"code\/modules\/atmospherics\/environmental\/LINDA_turf_tile.dm,289\",\"src\":\"space (51,56,8) (\/turf\/open\/space)\",\"src_loc\":null,\"usr\":\"null\"},{\"count\":22,\"message\":\"Cannot read null.hud_used\",\"proc_name\":\"remove and refresh (\/datum\/storage\/proc\/remove_and_refresh)\",\"source_file\":\"code\/datums\/storage\/storage.dm,721\",\"src\":\"\/datum\/storage\/surgery_tray (\/datum\/storage\/surgery_tray)\",\"src_loc\":null,\"usr\":\"Kathryn Stroble (\/mob\/living\/carbon\/human)\"},{\"count\":21,\"message\":\"bad color\",\"proc_name\":\"refresh values (\/datum\/light_source\/proc\/refresh_values)\",\"source_file\":\"code\/modules\/lighting\/lighting_source.dm,428\",\"src\":\"\/datum\/light_source (\/datum\/light_source)\",\"src_loc\":null,\"usr\":\"null\"},{\"count\":14,\"message\":\"Cannot read null.air\",\"proc_name\":\"relocate airs (\/obj\/machinery\/atmospherics\/components\/proc\/relocate_airs)\",\"source_file\":\"code\/modules\/atmospherics\/machinery\/components\/components_base.dm,381\",\"src\":\"External Gas to Loop (\/obj\/machinery\/atmospherics\/components\/binary\/pump)\",\"src_loc\":\"the ice chasm (116,70,4) (\/turf\/open\/openspace\/icemoon\/keep_below)\",\"usr\":\"null\"},{\"count\":14,\"message\":\"Cannot read null.client\",\"proc_name\":\"tick (\/datum\/status_effect\/slime_leech\/tick)\",\"source_file\":\"code\/datums\/status_effects\/debuffs\/slime\/slime_leech.dm,54\",\"src\":\"\/datum\/status_effect\/slime_lee... (\/datum\/status_effect\/slime_leech)\",\"src_loc\":null,\"usr\":\"null\"},{\"count\":9,\"message\":\"turf_reset_elevation overridden. Use override = TRUE to suppress this warning.\",\"proc_name\":\" stack trace (\/proc\/_stack_trace)\",\"source_file\":\"code\/__HELPERS\/stack_trace.dm,4\",\"src\":\"null\",\"src_loc\":null,\"usr\":\"(src)\"},{\"count\":9,\"message\":\"turf_change overridden. Use override = TRUE to suppress this warning.\",\"proc_name\":\" stack trace (\/proc\/_stack_trace)\",\"source_file\":\"code\/__HELPERS\/stack_trace.dm,4\",\"src\":\"null\",\"src_loc\":null,\"usr\":\"(src)\"},{\"count\":8,\"message\":\"Cannot execute null.UnregisterSignal().\",\"proc_name\":\"unregister signals (\/datum\/component\/connect_range\/proc\/unregister_signals)\",\"source_file\":\"code\/datums\/components\/connect_range.dm,113\",\"src\":\"\/datum\/component\/connect_range (\/datum\/component\/connect_range)\",\"src_loc\":null,\"usr\":\"null\"},{\"count\":8,\"message\":\"Cannot execute null.RegisterSignal().\",\"proc_name\":\"update signals (\/datum\/component\/connect_range\/proc\/update_signals)\",\"source_file\":\"code\/datums\/components\/connect_range.dm,99\",\"src\":\"\/datum\/component\/connect_range (\/datum\/component\/connect_range)\",\"src_loc\":null,\"usr\":\"null\"},{\"count\":7,\"message\":\"Cannot execute null.stop feeding().\",\"proc_name\":\"tick (\/datum\/status_effect\/slime_leech\/tick)\",\"source_file\":\"code\/datums\/status_effects\/debuffs\/slime\/slime_leech.dm,57\",\"src\":\"\/datum\/status_effect\/slime_lee... (\/datum\/status_effect\/slime_leech)\",\"src_loc\":null,\"usr\":\"null\"},{\"count\":7,\"message\":\"Cannot read null.plane\",\"proc_name\":\"strip appearance underlays (\/proc\/strip_appearance_underlays)\",\"source_file\":\"code\/__HELPERS\/icons.dm,1341\",\"src\":\"null\",\"src_loc\":null,\"usr\":\"Kathryn Stroble (\/mob\/living\/carbon\/human)\"},{\"count\":6,\"message\":\"bad index\",\"proc_name\":\" SendSignal (\/datum\/proc\/_SendSignal)\",\"source_file\":\"code\/datums\/signals.dm,126\",\"src\":\"the ice chasm (106,62,4) (\/turf\/open\/openspace\/icemoon\/keep_below)\",\"src_loc\":null,\"usr\":\"0\"},{\"count\":5,\"message\":\"TTS tried to play a sound to a deleted mob.\",\"proc_name\":\" stack trace (\/proc\/_stack_trace)\",\"source_file\":\"code\/__HELPERS\/stack_trace.dm,4\",\"src\":\"null\",\"src_loc\":null,\"usr\":\"(src)\"},{\"count\":4,\"message\":\"The power cable taking damage while having <= 0 integrity\",\"proc_name\":\"take damage (\/atom\/proc\/take_damage)\",\"source_file\":\"code\/game\/atom\/atom_defense.dm,23\",\"src\":\"the power cable (\/obj\/structure\/cable)\",\"src_loc\":\"the floor (117,76,4) (\/turf\/open\/floor\/iron)\",\"usr\":\"null\"},{\"count\":4,\"message\":\"undefined variable \/turf\/closed\/wall\/mineral\/wood\/var\/run_later\",\"proc_name\":\"process cell (\/turf\/open\/process_cell)\",\"source_file\":\"code\/modules\/atmospherics\/environmental\/LINDA_turf_tile.dm,284\",\"src\":\"space (60,45,8) (\/turf\/open\/space)\",\"src_loc\":null,\"usr\":\"null\"},{\"count\":2,\"message\":\"add_blood_DNA on the damp rag (\/obj\/item\/rag) has been passed bad blood_DNA_to_add ( - key-value pair)!\",\"proc_name\":\"add blood DNA (\/obj\/add_blood_DNA)\",\"source_file\":\"code\/modules\/forensics\/forensics_helpers.dm,121\",\"src\":\"the damp rag (\/obj\/item\/rag)\",\"src_loc\":null,\"usr\":\"Johann Litmann (\/mob\/living\/carbon\/human)\"},{\"count\":2,\"message\":\"The frag grenade taking damage while having <= 0 integrity\",\"proc_name\":\"take damage (\/atom\/proc\/take_damage)\",\"source_file\":\"code\/game\/atom\/atom_defense.dm,23\",\"src\":\"the frag grenade (\/obj\/item\/grenade\/frag)\",\"src_loc\":\"null\",\"usr\":\"null\"},{\"count\":2,\"message\":\"Cannot read null.z\",\"proc_name\":\"is valid z level (\/proc\/is_valid_z_level)\",\"source_file\":\"code\/__HELPERS\/levels.dm,15\",\"src\":\"null\",\"src_loc\":null,\"usr\":\"(src)\"},{\"count\":1,\"message\":\"movable_moved overridden. Use override = TRUE to suppress this warning.\",\"proc_name\":\" stack trace (\/proc\/_stack_trace)\",\"source_file\":\"code\/__HELPERS\/stack_trace.dm,4\",\"src\":\"null\",\"src_loc\":null,\"usr\":\"(src)\"},{\"count\":1,\"message\":\"qdeleted or null target trying to enter the spatial grid!\",\"proc_name\":\"enter cell (\/datum\/controller\/subsystem\/spatial_grid\/proc\/enter_cell)\",\"source_file\":\"code\/controllers\/subsystem\/spatial_gridmap.dm,361\",\"src\":\"Spatial Grid (\/datum\/controller\/subsystem\/spatial_grid)\",\"src_loc\":null,\"usr\":\"null\"},{\"count\":1,\"message\":\"atom_init_success_on overridden. Use override = TRUE to suppress this warning.\",\"proc_name\":\" stack trace (\/proc\/_stack_trace)\",\"source_file\":\"code\/__HELPERS\/stack_trace.dm,4\",\"src\":\"null\",\"src_loc\":null,\"usr\":\"Silas Ward (\/mob\/living\/carbon\/human)\"},{\"count\":1,\"message\":\"Cannot read null.post_logout_callbacks\",\"proc_name\":\"become uncliented (\/mob\/proc\/become_uncliented)\",\"source_file\":\"code\/modules\/mob\/mob.dm,1606\",\"src\":\"Red Kindchild (\/mob\/living\/carbon\/human)\",\"src_loc\":\"the slaughter demon (\/mob\/living\/basic\/demon\/slaughter)\",\"usr\":\"(src)\"},{\"count\":1,\"message\":\"parent_qdeleting overridden. Use override = TRUE to suppress this warning.\",\"proc_name\":\" stack trace (\/proc\/_stack_trace)\",\"source_file\":\"code\/__HELPERS\/stack_trace.dm,4\",\"src\":\"null\",\"src_loc\":null,\"usr\":\"Rom Zippa (\/mob\/living\/carbon\/human)\"},{\"count\":1,\"message\":\"Basic mob being instantiated in nullspace\",\"proc_name\":\" stack trace (\/proc\/_stack_trace)\",\"source_file\":\"code\/__HELPERS\/stack_trace.dm,4\",\"src\":\"null\",\"src_loc\":null,\"usr\":\"Space Dragon (\/mob\/living\/basic\/space_dragon)\"},{\"count\":1,\"message\":\"Cannot read null.can_misfire\",\"proc_name\":\"process fire (\/obj\/item\/gun\/ballistic\/process_fire)\",\"source_file\":\"code\/modules\/projectiles\/guns\/ballistic.dm,584\",\"src\":\"the Makarov pistol (\/obj\/item\/gun\/ballistic\/automatic\/pistol\/contraband)\",\"src_loc\":null,\"usr\":\"Silas Ward (\/mob\/living\/carbon\/human)\"},{\"count\":1,\"message\":\"tried to generate a supply pack without a valid crate type\",\"proc_name\":\"generate (\/datum\/supply_pack\/proc\/generate)\",\"source_file\":\"code\/modules\/cargo\/packs\/_packs.dm,62\",\"src\":\"Aquarium Props Single-Pack (\/datum\/supply_pack\/goody\/aquarium_props)\",\"src_loc\":null,\"usr\":\"null\"},{\"count\":1,\"message\":\"undefined variable \/turf\/closed\/indestructible\/weeb\/var\/run_later\",\"proc_name\":\"process cell (\/turf\/open\/process_cell)\",\"source_file\":\"code\/modules\/atmospherics\/environmental\/LINDA_turf_tile.dm,284\",\"src\":\"space (51,52,8) (\/turf\/open\/space)\",\"src_loc\":null,\"usr\":\"null\"},{\"count\":1,\"message\":\"invalid object type 0:0\",\"proc_name\":\"remove wibbly filters (\/proc\/remove_wibbly_filters)\",\"source_file\":\"code\/__HELPERS\/filters.dm,368\",\"src\":\"null\",\"src_loc\":null,\"usr\":\"Mike Haddad (\/mob\/living\/carbon\/human)\"},{\"count\":1,\"message\":\"cause_hallucination was given a non-hallucination type. (Got: null)\",\"proc_name\":\" cause hallucination (\/mob\/living\/proc\/_cause_hallucination)\",\"source_file\":\"code\/__HELPERS\/hallucinations.dm,45\",\"src\":\"the snow legion (\/mob\/living\/basic\/mining\/legion\/snow)\",\"src_loc\":\"the ice sheet (240,166,3) (\/turf\/open\/misc\/ice\/icemoon)\",\"usr\":\"null\"},{\"count\":1,\"message\":\"json_decode error: Unexpected character at (character 1)\",\"proc_name\":\"save prisoner tattoos (\/datum\/controller\/subsystem\/persistence\/proc\/save_prisoner_tattoos)\",\"source_file\":\"code\/controllers\/subsystem\/persistence\/tattoos.dm,32\",\"src\":\"Persistence (\/datum\/controller\/subsystem\/persistence)\",\"src_loc\":null,\"usr\":\"null\"},{\"count\":1,\"message\":\"json_decode error: Unexpected character at (character 1)\",\"proc_name\":\"load prisoner tattoos (\/datum\/controller\/subsystem\/persistence\/proc\/load_prisoner_tattoos)\",\"source_file\":\"code\/controllers\/subsystem\/persistence\/tattoos.dm,6\",\"src\":\"Persistence (\/datum\/controller\/subsystem\/persistence)\",\"src_loc\":null,\"usr\":\"null\"},{\"count\":1,\"message\":\"Invalid timer: ]Timer: 115326 ([0x210e9a4b]), TTR: 929531, wait:4 Flags: TIMER_CLIENT_TIME, TIMER_STOPPABLE, callBack: [0x210e207e], callBack.object: \/datum\/looping_sound\/generator(\/datum\/looping_sound\/generator), callBack.delegate:start_sound_loop, source: code\/datums\/looping_sounds\/_looping_sound.dm:245Prev: NULL, Next: NULL, SPENT(929531), QDELETED, NO CALLBACK world.time: 79248.5, head_offset: 79200, practical_offset: 98, REALTIMEOFDAY: 929531\",\"proc_name\":\"fire (\/datum\/controller\/subsystem\/timer\/fire)\",\"source_file\":\"code\/controllers\/subsystem\/timer.dm,122\",\"src\":\"Sound Loops (\/datum\/controller\/subsystem\/timer\/sound_loops)\",\"src_loc\":null,\"usr\":\"null\"},{\"count\":1,\"message\":\"Mob with client has been deleted.\",\"proc_name\":\" stack trace (\/proc\/_stack_trace)\",\"source_file\":\"code\/__HELPERS\/stack_trace.dm,4\",\"src\":\"null\",\"src_loc\":null,\"usr\":\"the slaughter demon (\/mob\/living\/basic\/demon\/slaughter)\"},{\"count\":1,\"message\":\"\/datum\/reagents | the ChemMaster 3000 was forced to stop reacting. This might be unintentional.\",\"proc_name\":\" stack trace (\/proc\/_stack_trace)\",\"source_file\":\"code\/__HELPERS\/stack_trace.dm,4\",\"src\":\"null\",\"src_loc\":null,\"usr\":\"(src)\"},{\"count\":1,\"message\":\"Cannot read null.wound_series\",\"proc_name\":\"check wounding (\/obj\/item\/bodypart\/proc\/check_wounding)\",\"source_file\":\"code\/modules\/surgery\/bodyparts\/wounds.dm,124\",\"src\":\"the monkey head (\/obj\/item\/bodypart\/head\/monkey)\",\"src_loc\":null,\"usr\":\"Charles Elliott (\/mob\/living\/carbon\/human)\"},{\"count\":1,\"message\":\"Invalid timer: ]Timer: 140483 ([0x210e8587]), TTR: 935640, wait:2 Flags: TIMER_CLIENT_TIME, TIMER_STOPPABLE, callBack: [0x210ea3e7], callBack.object: \/datum\/looping_sound\/showering(\/datum\/looping_sound\/showering), callBack.delegate:start_sound_loop, source: code\/datums\/looping_sounds\/_looping_sound.dm:245Prev: NULL, Next: NULL, SPENT(935640), QDELETED, NO CALLBACK world.time: 85257, head_offset: 85200, practical_offset: 115, REALTIMEOFDAY: 935640\",\"proc_name\":\"fire (\/datum\/controller\/subsystem\/timer\/fire)\",\"source_file\":\"code\/controllers\/subsystem\/timer.dm,122\",\"src\":\"Sound Loops (\/datum\/controller\/subsystem\/timer\/sound_loops)\",\"src_loc\":null,\"usr\":\"null\"},{\"count\":1,\"message\":\"atom_entered overridden. Use override = TRUE to suppress this warning.\",\"proc_name\":\" stack trace (\/proc\/_stack_trace)\",\"source_file\":\"code\/__HELPERS\/stack_trace.dm,4\",\"src\":\"null\",\"src_loc\":null,\"usr\":\"Silas Ward (\/mob\/living\/carbon\/human)\"},{\"count\":1,\"message\":\"Qdeleted thing being thrown around.\",\"proc_name\":\"throw at (\/atom\/movable\/proc\/throw_at)\",\"source_file\":\"code\/game\/atoms_movable.dm,1348\",\"src\":\"the banana glutton (\/mob\/living\/basic\/clown\/mutant\/glutton)\",\"src_loc\":\"null\",\"usr\":\"null\"},{\"count\":1,\"message\":\"Cannot read null.ambient_buzz\",\"proc_name\":\"refresh looping ambience (\/mob\/proc\/refresh_looping_ambience)\",\"source_file\":\"code\/controllers\/subsystem\/ambience.dm,121\",\"src\":\"Space Dragon (\/mob\/living\/basic\/space_dragon)\",\"src_loc\":\"null\",\"usr\":\"(src)\"},{\"count\":1,\"message\":\"Cannot read null.cargo\",\"proc_name\":\"update overlays (\/obj\/vehicle\/ridden\/golfcart\/update_overlays)\",\"source_file\":\"code\/modules\/vehicles\/cars\/golfcart\/golfcart.dm,618\",\"src\":\"the golf cart (\/obj\/vehicle\/ridden\/golfcart)\",\"src_loc\":\"the floor (193,83,1) (\/turf\/open\/floor\/iron\/white\/side)\",\"usr\":\"null\"},{\"count\":1,\"message\":\"No valid destination passed into forceMove\",\"proc_name\":\"forceMove (\/atom\/movable\/proc\/forceMove)\",\"source_file\":\"code\/game\/atoms_movable.dm,1129\",\"src\":\"the ebeam (\/obj\/effect\/ebeam)\",\"src_loc\":null,\"usr\":\"Silas Ward (\/mob\/living\/carbon\/human)\"},{\"count\":1,\"message\":\"Cannot execute null.setDir().\",\"proc_name\":\"update appearance (\/obj\/vehicle\/ridden\/golfcart\/update_appearance)\",\"source_file\":\"code\/modules\/vehicles\/cars\/golfcart\/golfcart.dm,502\",\"src\":\"the golf cart (\/obj\/vehicle\/ridden\/golfcart)\",\"src_loc\":\"the floor (193,83,1) (\/turf\/open\/floor\/iron\/white\/side)\",\"usr\":\"null\"},{\"count\":1,\"message\":\"A client was Del()'d without a persistent_client! This should not be happening.\",\"proc_name\":\" stack trace (\/proc\/_stack_trace)\",\"source_file\":\"code\/__HELPERS\/stack_trace.dm,4\",\"src\":\"null\",\"src_loc\":null,\"usr\":\"(src)\"}],\"total_count\":342}",
"originalUrl": "https:\/\/manuel-logs.tgstation13.org\/2026\/01\/30\/round-259782\/runtime.condensed.json"
}
Install Gentoo