Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Serialization is not repeatable #2009

Closed
fcool opened this issue May 22, 2020 · 2 comments
Closed

Serialization is not repeatable #2009

fcool opened this issue May 22, 2020 · 2 comments

Comments

@fcool
Copy link
Contributor

fcool commented May 22, 2020

Description

DependencyInjection build by the \Neos\Flow\ObjectManagement\DependencyInjection\ProxyClassBuilder leads to unrepeatable serialization.
In the second call all related entities are lost in the serialized form.
This espacially happens if you use an object in some kind of deferred workflow (for example using the functionality of Flowpack.JobQueue.Common and having the same object in a session, where it gets serialized again)
Those errors are tremendous hard to debug, as its only missing in the serialized form, so it will cause trouble in the disconnected process, which uses unserialize - and now misses all related data. As session savement is done after the response is done it gets worse, as there is no possibility to tell the user, that something gone wrong.

Steps to Reproduce

(See the provided test case #2010)

  1. Create an object having a property with an already persisted entity
  2. serialize it twice
  3. unserialize the second serializedData

Expected behavior

I expect serialize($object) to be repeatable without leading to different results

Affected Versions

Flow: 4.3 - 6.2

@fcool
Copy link
Contributor Author

fcool commented May 22, 2020

Let me know, if I should retarget for version 5.3. As the change is mergeable in all majors I targeted 4.3 as problems in serialization often leads to quite unexpected attac vectors.

@sorenmalling
Copy link
Contributor

@albe This issue can be closed now thanks your merging?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants