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.
Comments
Stefan gave the tip:
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
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: