-
Notifications
You must be signed in to change notification settings - Fork 617
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
Sometimes IFC objects are cloned without any reason #1224
Comments
Did you create the revision through low level interface? Then this may be related to or even a duplicate of #1115. |
Nope. I call model.commit() |
ClientIfcModel.commit? That uses the low level interface under the hood. BIMserver/BimServerClientLib/src/org/bimserver/client/ClientIfcModel.java Lines 287 to 291 in 9c9d474
|
Yes I see... Is there any other method to commit the model? |
If you want to make low level modifications to a model in your BIMserver client - then no. The alternative to low level modifications is check-in of a whole serialized model created external to the BIMserver client, but I believe that is not what you are after. |
It seems that I got another bug related to this issue. Starting from some point I receive this error from the server side: Query stack size > 10000000, probably a bug, please report I debugged server side a little. This is what I see in HashMapVirtualObject in StreamingGeometryGenerator before failing to exception:
Again: the same object ids. I made 5 commits and I see 5 duplicates. And it seems that StreamingGeometryGenerator does work for same objects and starting from some critical point exceeds MAX_STACK_SIZE. |
What could be the reason for this error? Circular dependencies? |
It could be in many places. That's what I considered in #1115:
Looking at your report now, it's probably not in the serializer, but happens somewhere before. I think the bug is either in the way how the query is processed or in the way how the low level changes are written. I don't think it is a circular thing, because then it would not stop after the exact number of revisions. It's likely some thing that's accidentally done or not done for every revision, even though it should not or should be done, like add or remove an oid from some temporary list or similar. I agree that this is a main issue to be solved in order for the low level interface to be effectively used and I would classify it high priority. |
This should be solved with the latest commits. I have tested for the initial issue, but had not reproduced the query stack size issue yet. I guess it needs testing with a sufficiently large model, complex query and a couple of low level changes committed. |
Hello @dkurillo, I am working on testing if this issue still appears on the newest release 1.5.185. So, I wonder how many revisions you made before you encountered the duplication or query stack size error? Thanks a lot! |
I just tested with BIMserver 1.5.185, and it seems that the duplication issue has been resolved. |
I noticed, that BIMvie.ws always duplicates objects in the tree if there is more than one revision:
There can be even more duplications. Usually more revisions leads to more clones. I thought that it was BIMvie.ws bug, but now I got the same behaviour in ClientIfcModel:
Model looks fine, there are no clones. But in rare cases when I init new ClientIfcModel and query something I get objects multiplied like on the screenshot above. There are 3 clones of ifcRelNests objects and inside 2 clones of ifcPorts in each nest...
Any suggestions?
The text was updated successfully, but these errors were encountered: