-
Couldn't load subscription status.
- Fork 637
Description
Hi,
we recently observed this Exception:
12:18:16 ERROR [GeometryRunner]: (GeometryRunner.java:850)
org.bimserver.BimserverDatabaseException: No class for cid 2075 (cid came from oid: 67611)
at org.bimserver.database.Database.getEClassForOid(Database.java:460)
at org.bimserver.database.DatabaseSession.getEClassForOid(DatabaseSession.java:2201)
at org.bimserver.database.queries.FollowReferenceStackFrame.process(FollowReferenceStackFrame.java:63)
at org.bimserver.database.queries.QueryObjectProvider.next(QueryObjectProvider.java:169)
at org.bimserver.geometry.GeometryRunner.run(GeometryRunner.java:159)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:833)
It was thrown when importing an IFC-File containing terrain.
The terrain is represented as an IfcTriangulatedFaceSet and apparently the indices in CoordIndex are treated like oids in QueryIncludeStackFrame.process().
BIMserver/BimServer/src/org/bimserver/database/queries/QueryIncludeStackFrame.java
Lines 110 to 117 in 91e2fa1
| } else if (element instanceof HashMapVirtualObject && feature.getEAnnotation("twodimensionalarray")!=null) { | |
| for ( Object nestedElement :(List)((HashMapVirtualObject) element).get("List")){ | |
| if(nestedElement instanceof Long){ | |
| processReference((Long) nestedElement); | |
| // TODO process as direct feature? | |
| } | |
| } | |
| } else { |
This doesn't seem to cause too much problems until the list of vertices (and thus the indices) is big enough to cause the above mentioned exception.
Unfortunately I can't share the mentioned IFC-File but one can observe the behavior (processReference being called for indices) with this example file.