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
[RF] Writing copy of RooWorkspace messes up proxies #12329
Comments
guitargeek
added a commit
to guitargeek/root
that referenced
this issue
Apr 11, 2023
In `TRefArray::GetObjectUID(int &uid, TObjet *obj)`, there is a code branch for the case of an empty TRefArray and an object with a UID assigned. Is this case a new process ID corresponding to the object is assigned to the `TRefArray`. However, the `uid` output parameter is not correctly assigned in this code branch, which is fixed in this commit. The consequence of this bug is that the, since the `uid` output parameter is not correctly assigned, that the implementation of `TRefArray::Add*()` does not correctly work then. Closes root-project#12329.
guitargeek
added a commit
to guitargeek/root
that referenced
this issue
Apr 11, 2023
In `TRefArray::GetObjectUID(int &uid, TObjet *obj)`, there is a code branch for the case of an empty TRefArray and an object with a UID assigned. Is this case a new process ID corresponding to the object is assigned to the `TRefArray`. However, the `uid` output parameter is not correctly assigned in this code branch, which is fixed in this commit. The consequence of this bug is that the, since the `uid` output parameter is not correctly assigned, that the implementation of `TRefArray::Add*()` does not correctly work then. Closes root-project#12329.
guitargeek
added a commit
to guitargeek/root
that referenced
this issue
Apr 11, 2023
In `TRefArray::GetObjectUID(int &uid, TObjet *obj)`, there is a code branch for the case of an empty TRefArray and an object with a UID assigned. Is this case a new process ID corresponding to the object is assigned to the `TRefArray`. However, the `uid` output parameter is not correctly assigned in this code branch, which is fixed in this commit. The consequence of this bug is that the, since the `uid` output parameter is not correctly assigned, that the implementation of `TRefArray::Add*()` does not correctly work then. Closes root-project#12329.
guitargeek
added a commit
that referenced
this issue
Apr 11, 2023
In `TRefArray::GetObjectUID(int &uid, TObjet *obj)`, there is a code branch for the case of an empty TRefArray and an object with a UID assigned. Is this case a new process ID corresponding to the object is assigned to the `TRefArray`. However, the `uid` output parameter is not correctly assigned in this code branch, which is fixed in this commit. The consequence of this bug is that the, since the `uid` output parameter is not correctly assigned, that the implementation of `TRefArray::Add*()` does not correctly work then. Closes #12329.
guitargeek
added a commit
to guitargeek/root
that referenced
this issue
Apr 19, 2023
In `TRefArray::GetObjectUID(int &uid, TObjet *obj)`, there is a code branch for the case of an empty TRefArray and an object with a UID assigned. Is this case a new process ID corresponding to the object is assigned to the `TRefArray`. However, the `uid` output parameter is not correctly assigned in this code branch, which is fixed in this commit. The consequence of this bug is that the, since the `uid` output parameter is not correctly assigned, that the implementation of `TRefArray::Add*()` does not correctly work then. Closes root-project#12329.
guitargeek
added a commit
that referenced
this issue
Apr 21, 2023
In `TRefArray::GetObjectUID(int &uid, TObjet *obj)`, there is a code branch for the case of an empty TRefArray and an object with a UID assigned. Is this case a new process ID corresponding to the object is assigned to the `TRefArray`. However, the `uid` output parameter is not correctly assigned in this code branch, which is fixed in this commit. The consequence of this bug is that the, since the `uid` output parameter is not correctly assigned, that the implementation of `TRefArray::Add*()` does not correctly work then. Closes #12329.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Take this workspace here:
workspace.root.txt
Now run this reproducer code:
The output will be:
That's not good. When copying a workspace, the proxies should not be set to zero!
Note that the
.txt
suffix has to be removed from the input file. It's just there to be able to upload the workspace to GitHub.Thanks to @will-cern for reporting this.
The text was updated successfully, but these errors were encountered: