Bonsai v0.8.1 on Blender 4.4 can’t open nor import IFC4x3 or IFC4 file, IfcGeom::Iterator error?

Before opening an issue on the GitHub tracker I want to check if someone had the same error or if I did something stupid.

I’m trying to open a midsized IFC file (IFC4x3 version 45MB, IFC4 version 32MB) but Blender/Bonsai just gives me the spinning beachball of death. Opening the same file with another IFC viewer, in this case with Open IFC Viewer v25.11, happens without problems in a split second.

macOS Sequoia on a M4 MAX
Blender 4.4
BonsaiBIM 0.8.1 (the latest from the extension store) as well as v0.8.2-alpha250320 (to date latest release from GitHub)

The IFC files are exported from a Revit 2025 model in two versions with the standard settings from the Autodesk revit-ifc plugin from GitHub. Neither directly opening the IFC project nor importing works, in all combinations Blender crashes.

With the IFC4x3 file Blender shows the beachball indefinitely. I have to force quit the program. With the IFC4 file Blender has the decency to eventually crash by itself after a couple of minutes.

This is on top of the crash report, seems like a never-ending recursive loop in the IfcGeom::Iterator:

Process:               Blender [48621]
Path:                  /Applications/Blender.app/Contents/MacOS/Blender
Identifier:            org.blenderfoundation.blender
Version:               4.4.0 (4.4.0 2025-03-18)
Code Type:             ARM-64 (Native)
Parent Process:        launchd [1]
User ID:               501

Date/Time:             2025-03-20 16:15:39.2061 +0100
OS Version:            macOS 15.3.2 (24D81)
Report Version:        12
Anonymous UUID:        F74872EB-9309-7AA8-8414-B053633E1B07

Sleep/Wake UUID:       C644A976-9625-4FF8-A585-65EAE11BA1BF

Time Awake Since Boot: 280000 seconds
Time Since Wake:       5275 seconds

System Integrity Protection: enabled

Crashed Thread:        54  Dispatch queue: com.apple.root.user-initiated-qos

Exception Type:        EXC_BAD_ACCESS (SIGILL)
Exception Codes:       KERN_PROTECTION_FAILURE at 0x000000034034b880
Exception Codes:       0x0000000000000002, 0x000000034034b880

Termination Reason:    Namespace SIGNAL, Code 4 Illegal instruction: 4
Terminating Process:   Blender [48621]

VM Region Info: 0x34034b880 is in 0x340348000-0x34034c000;  bytes after start: 14464  bytes before end: 1919
      REGION TYPE                    START - END         [ VSIZE] PRT/MAX SHRMOD  REGION DETAIL
      VM_ALLOCATE                 340208000-340308000    [ 1024K] rw-/rwx SM=PRV  
      GAP OF 0x40000 BYTES
--->  STACK GUARD                 340348000-34034c000    [   16K] ---/rwx SM=NUL  stack guard for thread 54
      Stack                       34034c000-3403d4000    [  544K] rw-/rwx SM=PRV  thread 54

Application Specific Information:
BUG IN CLIENT OF LIBPLATFORM: Trying to recursively lock an os_unfair_lock
Abort Cause 4355
abort() called


Thread 0::  Dispatch queue: com.apple.main-thread
0   libsystem_kernel.dylib                 0x18d5ee4e8 __semwait_signal + 8
1   libsystem_c.dylib                      0x18d4cd6f0 nanosleep + 220
2   libc++.1.dylib                         0x18d5642f4 std::__1::this_thread::sleep_for(std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l>> const&) + 84
3   _ifcopenshell_wrapper.cpython-311-darwin.so        0x371526b48 IfcGeom::Iterator::next() + 148
4   _ifcopenshell_wrapper.cpython-311-darwin.so        0x3713e0c68 _wrap_Iterator_next(_object*, _object*) + 64
5   Blender                                0x108c55a9c _PyEval_EvalFrameDefault + 36628
6   Blender                                0x108c4cae8 _PyEval_Vector + 200
7   Blender                                0x105341534 bpy_class_call(bContext*, PointerRNA*, FunctionRNA*, ParameterList*) + 1244
8   Blender                                0x1052cec7c rna_operator_exec_cb(bContext*, wmOperator*) + 140
9   Blender                                0x104d128c4 wm_operator_invoke(bContext*, wmOperatorType*, wmEvent const*, PointerRNA*, ReportList*, bool, bool) + 488
10  Blender                                0x104d13a30 WM_operator_call_py(bContext*, wmOperatorType*, wmOperatorCallContext, PointerRNA*, ReportList*, bool) + 108
11  Blender                                0x10532d0ac pyop_call(_object*, _object*) + 644
12  Blender                                0x108bbe75c cfunction_call + 172
13  Blender                                0x108b732ec _PyObject_MakeTpCall + 344
14  Blender                                0x108c54f00 _PyEval_EvalFrameDefault + 33656
15  Blender                                0x108c4cae8 _PyEval_Vector + 200
16  Blender                                0x108b73104 _PyObject_FastCallDictTstate + 272
17  Blender                                0x108b73e50 _PyObject_Call_Prepend + 160
18  Blender                                0x108bdf400 slot_tp_call + 184
19  Blender                                0x108b732ec _PyObject_MakeTpCall + 344
20  Blender                                0x108c54f00 _PyEval_EvalFrameDefault + 33656
21  Blender                                0x108c4cae8 _PyEval_Vector + 200
22  Blender                                0x105341534 bpy_class_call(bContext*, PointerRNA*, FunctionRNA*, ParameterList*) + 1244
23  Blender                                0x1052cec7c rna_operator_exec_cb(bContext*, wmOperator*) + 140
24  Blender                                0x104d17eb8 wm_handler_fileselect_do(bContext*, ListBase*, wmEventHandler_Op*, int) + 568
25  Blender                                0x104d16cd4 wm_handlers_do_intern(bContext*, wmWindow*, wmEvent*, ListBase*) + 3812
26  Blender                                0x104d1586c wm_handlers_do(bContext*, wmEvent*, ListBase*) + 72
27  Blender                                0x104d14d84 wm_event_do_handlers(bContext*) + 1488
28  Blender                                0x104d0a4f8 WM_main(bContext*) + 36
29  Blender                                0x10410c3b8 main + 920
30  dyld                                   0x18d2ac274 start + 2840

Any ideas? I can share the complete crash log and the file on trusted channel.

Tagged:

Comments

  • Stefan gave the tip:

    Ich würde eine ältere blenderversion mit bonsai testen. Der advanced mode beim Öffnen (hackerl bei der Auswahl der Datei) und danach "partiales öffnen" hilft auch hin und wieder beim Fehlersuchen.

    So I did. tried to open the IFC file with Blender 4.2 LTS and installed Bonsa v0.8.0. And it worked. Opened the file in a split second.
    The above mentioned error seems to be an error in the latest Bonsai v0.8.1.

  • Can you please report a bug and share your file https://ifcopenshell.org/upload.html

  • edited March 24

    I opened a new issue under #6433 and uploaded the file.

    I also did some testing on Blender / Bonsai combinations. This is a problem only affecting the newest Blender 4.4:

    Blender Version Bonsai Version Result
    4.2.8 LTS v0.8.0 ok, opens file
    4.2.8 LTS v0.8.1 ok, opens file near instantly
    4.3.2 v0.8.0 ok, opens file
    4.3.2 v0.8.1 ok, opens file near instantly
    4.4.0 v0.8.0 error, beachball of death, need to force quit Blender
    4.4.0 v0.8.1 error, beachball of death, need to force quit Blender
    steverugiNigel
Sign In or Register to comment.