lune-org/lune

Unable to open place after place serialization on 0.7.0 and above

Closed this issue · 1 comments

When fetching a place from roblox through the respective API of lune and deserializing it causes some unexpected changes on the rbxl file even when nothing changes when attempting to serialize and write it again. The provided code will give you an exact reproduction of the issue (as there's specific conditions needing to be met)

local game = roblox.deserializePlace(fs.readFile(FETCHED_FILE_LOCATION))

 local config = roblox.Instance.new("Configuration")
local config = roblox.Instance.new("Configuration")
config.Name = "Config"
config.Parent = game

local int1 = roblox.Instance.new("IntValue")
int1.Name = "int1"
int1.Value = 1
int1.Parent = config

local int2 = roblox.Instance.new("IntValue")
int2.Name = "int2"
int2.Value = 2
int2.Parent = config

local placeSerialized = roblox.serializePlace(game)
fs.writeFile("ReproductionFile2.rbxl", placeSerialized)

Additional info
Error:

RBXCRASH: UniqueID collision detected (SessionID = <SESSION>, UniqueID = <UNIQUE ID>, new Instance = UniverseData.PlaceId (Guid = 0.212512), registered Instance = UniverseData.UniverseId (Guid = 0.212511))

This seemingly only affects older place files DIRECTLY fetched from roblox
Creation date of place file it fetched from: 20-6-2023

I've recently upgraded from 0.6.7 (if I'm not mistaken) to 0.7.4.
I have checked versions 0.7.0 and above on this but and it seems to happen in all of them

I unfortunately cannot provide any sort of reproduction files as it seems very specific to my project but I'm more than willing to screen share the issue.

I'm present in the OSS server or can be added directly voidedblades

this admittedly was written terribly so will be closing it and making a new post with more accurate information