ID:2813483
 
Resolved
Saving a filter that used aliases for some of its var names caused a crash.
BYOND Version:514
Operating System:Windows 10 Home
Web Browser:Chrome 104.0.0.0
Applies to:Dream Daemon
Status: Resolved (514.1586)

This issue has been resolved.
Descriptive Problem Summary:
Saving some of the newer types of filters causes a hard crash.

Numbered Steps to Reproduce Problem:
1. Attach a filter of a specific type (bloom, color, rays, ripple) to an atom
2. Save that atom
3. Crash

Code Snippet (if applicable) to Reproduce Problem:
atom
proc
SaveFilter(savefile/F, type)
world.log << "Saving [type] filter"
filters = filter(type=type)
F << src
sleep(world.tick_lag)

mob
verb
TestSaveFilters()
var/obj/O = new()
var/savefile/F = new("test.sav")

SaveFilter(F, "alpha")
SaveFilter(F, "angular_blur")
// SaveFilter(F, "bloom") // crash
// SaveFilter(F, "color") // crash
SaveFilter(F, "displace")
SaveFilter(F, "drop_shadow")
SaveFilter(F, "blur")
SaveFilter(F, "layer")
SaveFilter(F, "motion_blur")
SaveFilter(F, "outline")
SaveFilter(F, "radial_blur")
// SaveFilter(F, "rays") // crash
// SaveFilter(F, "ripple") // crash
SaveFilter(F, "wave")


Expected Results:
Not to crash.

Actual Results:
It crash.

Does the problem occur:
Every time? Or how often? Every time.
In other games? Yes.
In other user accounts? Yes.
On other computers? Yes.

When does the problem NOT occur?
When you don't save those types of filters.

Did the problem NOT occur in any earlier versions? If so, what was the last version that worked? (Visit http://www.byond.com/download/build to download old versions for testing.)
Tested on 514.1585, likely was present since the first version those filter types were introduced.
Workarounds:
Don't save filters.
Lummox JR resolved issue with message:
Saving a filter that used aliases for some of its var names caused a crash.