Skip to content

Lots of duplicate StackFrames during Checkin #1342

@muren400

Description

@muren400

Hi,

we have various IFC files created in Card/1 that repeatedly crashed our bimserver on checkin.

It seems like while traversing the ObjectPlacement query, QueryIncludeStackFrames for the same buildingstoreys are created again and again.

You can reproduce the behavior by importing this file.
I extracted a single Element from the original Model using BimPlusPlus.

For that example the server throws this exception:

'org.bimserver.BimserverDatabaseException: Query stack size > 10000000, probably a bug, please report

But we also had cases where the stack just grew until the bimserver froze completely. Maybe thats dependent on the model size and the amount of render engine processes?

One way this could be fixed is to remove this line from BimServer.java.

// The sole reason is to make sure this is done once, and then cached
objectPlacement.makeDirectRecursive(new HashSet<>());

But I'm pretty sure the fields where converted to direct fields for performance reasons?

Another way I found was to skip calling DatabaseReadingStackFrame.processPossibleIncludes() for objects that were already present in the cache. I could submit a pull request for that if you want me to.

Thanks,
BA

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions