Skip to content

FIX - give to rlv folder fails when AIS reports a different state than the viewer expects#191

Open
trish-sl wants to merge 1 commit intoFirestormViewer:masterfrom
trish-sl:fix-rlvgivefolder
Open

FIX - give to rlv folder fails when AIS reports a different state than the viewer expects#191
trish-sl wants to merge 1 commit intoFirestormViewer:masterfrom
trish-sl:fix-rlvgivefolder

Conversation

@trish-sl
Copy link
Contributor

@trish-sl trish-sl commented Feb 11, 2026

Apologies for the duplicate PRs, I don't seem to have permission to re-open the old ones after they were auto-closed when redoing my fork
fixes FIRE-35486
fixes FIRE-35704
(and potentially duplicate JIRAs I have not found)

Bug Repro

This bug can be somewhat tough to reproduce, due to its nature. There are racing conditions/desyncs between viewer and server updates where the folder sent to RLV is not expected in the same path. The easiest way to reproduce it is to make yourself an object that spams give to rlv (like folders 1/1, 1/2, ... every second). Once in a while, you will see that one of the folders will not land in the subfolder that it should, instead, a folder with the full name "#RLV/~1/2" will be in the root of #RLV, or in the subfolder "1".
We get a "mismatched descendent count" error from accountForUpdate when this bug occurs.

Origin

As far as I know, this bug has been happening since the first v7 viewers, but I've had friends report the same on firestorm v6

Fix

The fix is a combination of things. Instead of blindly expecting the folder to land in the right spot, we try to move and rename the folder to the correct location and name when the viewer state does not match the latest server update.

Implementation notes

The root cause of the bug seems to come from the fact that inventory updates use a mix of AIS and LLMessageSystem UDP message in updateParentOnServer. I didn't feel like it was safe to touch the entire inventory system logic just for this bug, and it felt safer to expect that desyncs can sometimes occur.

Please let me know if you prefer a different approach or if something needs adjusted. I've touched more than I was previously familiar with.

…d misplaced

fixes FIRE-35486
fixes FIRE-35704
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant