Opened 9 years ago

Closed 9 years ago

Last modified 9 years ago

#3374 closed defect (fixed)

Non-tree Maps and Sets are not serialized properly

Reported by: Itms Owned by: leper
Priority: Must Have Milestone: Alpha 19
Component: Core engine Keywords:
Cc: sanderd17, Yves Patch:

Description (last modified by Itms)

The Map and Set JS containers are not serialized properly when they contain multiple references to the same object. The backref system is broken for them, probably because of our custom implementation that has a flaw.

Attached are:

  • A patch introducing a new test which currently fails,
  • A patch and a commands.txt for reproducing the error.

They apply to r16929.

Attachments (3)

test.patch (922 bytes ) - added by Itms 9 years ago.
reproduce.patch (886 bytes ) - added by Itms 9 years ago.
commands.txt (22.4 KB ) - added by Itms 9 years ago.

Download all attachments as: .zip

Change History (8)

comment:1 by Itms, 9 years ago

In 16929:

Revert r16591.

The problem caused by nested Maps is actually #3374.
Cloning the data object saved by the AuraManager fixes #3188.
Also, using Map fixes a serialization problem, refs #3375.

On top of those changes, some reordering of add/multiply to avoid any ordering mistake.

Fixes #3164, Refs #3374

comment:2 by Itms, 9 years ago

Description: modified (diff)

by Itms, 9 years ago

Attachment: test.patch added

by Itms, 9 years ago

Attachment: reproduce.patch added

by Itms, 9 years ago

Attachment: commands.txt added

comment:3 by leper, 9 years ago

In 16954:

Test serialization of nested maps. Refs #3164, #3374.

comment:4 by leper, 9 years ago

Owner: set to leper
Resolution: fixed
Status: newclosed

In 16959:

Handle backrefs properly for maps and sets. Fixes #3374.

Allocate the tag for the backreference before deserializing the content,
to match the order of serializing.

comment:5 by leper, 9 years ago

Milestone: BacklogAlpha 19

Thanks for the test patch.

Note: See TracTickets for help on using tickets.