CadQuery / CQ-editor

CadQuery GUI editor based on PyQT
Apache License 2.0
757 stars 116 forks source link

Build an installer using constructor #401

Closed adam-urbanczyk closed 1 year ago

adam-urbanczyk commented 1 year ago
codecov[bot] commented 1 year ago

Codecov Report

Merging #401 (f931a7e) into master (2a9a02a) will not change coverage. The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #401   +/-   ##
=======================================
  Coverage   88.55%   88.55%           
=======================================
  Files          19       19           
  Lines        1546     1546           
  Branches      187      187           
=======================================
  Hits         1369     1369           
  Misses        143      143           
  Partials       34       34           

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

adam-urbanczyk commented 1 year ago

@jmwright would you be able to check is the installers work for you? For now they are available as pipeline artifacts.

jmwright commented 1 year ago

@adam-urbanczyk Works fine for me on Ubuntu 23.04. It installed to a local directory and ran with no errors. Do you want me to ask for testers on the Discord?

It looks like the MacOS build is having trouble finding libarchive.

adam-urbanczyk commented 1 year ago

Seems that macos is working now. It would be great if you could find someone to test that.

jmwright commented 1 year ago

@adam-urbanczyk I haven't gotten any feedback on Discord yet, but I did borrow a Mac (10.14.6) to try the installer. It installs fine, but I get the following error when I try to run the CQ-editor binary.

$ ./CQ-editor 
Traceback (most recent call last):
  File "./CQ-editor", line 7, in <module>
    from cq_editor.__main__ import main
  File "/Users/User/cq-editor/lib/python3.8/site-packages/cq_editor/__main__.py", line 12, in <module>
    from .main_window import MainWindow
  File "/Users/User/cq-editor/lib/python3.8/site-packages/cq_editor/main_window.py", line 5, in <module>
    import cadquery as cq
  File "/Users/User/cq-editor/lib/python3.8/site-packages/cadquery/__init__.py", line 31, in <module>
    from .assembly import Assembly, Color, Constraint
  File "/Users/User/cq-editor/lib/python3.8/site-packages/cadquery/assembly.py", line 10, in <module>
    from .occ_impl.solver import (
  File "/Users/User/cq-editor/lib/python3.8/site-packages/cadquery/occ_impl/solver.py", line 22, in <module>
    class ConstraintSolver(object):
  File "/Users/User/cq-editor/lib/python3.8/site-packages/cadquery/occ_impl/solver.py", line 89, in ConstraintSolver
    Callable[[Array[(Any,), float]], float],
  File "/Users/User/cq-editor/lib/python3.8/site-packages/nptyping/base_meta_classes.py", line 145, in __getitem__
    args = cls._get_item(item)
  File "/Users/User/cq-editor/lib/python3.8/site-packages/nptyping/ndarray.py", line 74, in _get_item
    shape, dtype = cls._get_from_tuple(item)
  File "/Users/User/cq-editor/lib/python3.8/site-packages/nptyping/ndarray.py", line 115, in _get_from_tuple
    shape = cls._get_shape(item[0])
  File "/Users/User/cq-editor/lib/python3.8/site-packages/nptyping/ndarray.py", line 128, in _get_shape
    raise InvalidArgumentsError(
nptyping.error.InvalidArgumentsError: Unexpected argument '(typing.Any,)', expecting Shape[<ShapeExpression>] or Literal[<ShapeExpression>] or typing.Any.
adam-urbanczyk commented 1 year ago

@jmwright could you try now (ignore the 3rd stage failing)?

jmwright commented 1 year ago

@adam-urbanczyk There is no CQ-editor binary in the bin directory anymore. Should there be?

jmwright commented 1 year ago

Sorry, my last message was in relation to testing MacOS.

adam-urbanczyk commented 1 year ago

@jmwright do you have cq-editor-script.py in Scripts or in a similar location? If so, can you run it from the prefix you installed to (python Scripts/cq-editor-script.py)? Alternatively try running python -m cq_editor.

jmwright commented 1 year ago

@adam-urbanczyk There is not a [Ss]cripts directory, and when I use find to search for the script, I'm told it doesn't exist. I have not tried the installer since you pushed the last few changes. Here's the directory listing in the installation directory.

$ ls -l
total 24
LICENSE.txt
bin
cmake
conda-meta
doc
etc
fonts
include
lib
libexec
man
mkspecs
phrasebooks
plugins
python.app
qml
resources
sbin
share
ssl
translations
var
adam-urbanczyk commented 1 year ago

Thanks @jmwright . So does running ./python.app -m cq_editor from the prefix folder work?

jmwright commented 1 year ago

@adam-urbanczyk

$ cd ~/cq-editor
(base) Administrators-MacBook-Pro:cq-editor User$ ./python.app -m cq_editor
-bash: ./python.app: is a directory
$ ./python.app/Contents/MacOS/python -m cq_editor
Segmentation fault: 11

A window icon shows up and then disappears when the segmentation fault appears.

adam-urbanczyk commented 1 year ago

Would you be able to get a backtrace?

jmwright commented 1 year ago

@adam-urbanczyk

$ ./python.app/Contents/MacOS/python -m pdb -m cq_editor
> /Users/User/cq-editor/lib/python3.11/site-packages/cq_editor/__main__.py(1)<module>()
-> import sys
(Pdb) n
> /Users/User/cq-editor/lib/python3.11/site-packages/cq_editor/__main__.py(2)<module>()
-> import argparse
(Pdb) n
> /Users/User/cq-editor/lib/python3.11/site-packages/cq_editor/__main__.py(4)<module>()
-> from PyQt5.QtWidgets import QApplication
(Pdb) n
> /Users/User/cq-editor/lib/python3.11/site-packages/cq_editor/__main__.py(6)<module>()
-> NAME = 'CQ-editor'
(Pdb) n
> /Users/User/cq-editor/lib/python3.11/site-packages/cq_editor/__main__.py(9)<module>()
-> app = QApplication(sys.argv,
(Pdb) n
> /Users/User/cq-editor/lib/python3.11/site-packages/cq_editor/__main__.py(10)<module>()
-> applicationName=NAME)
(Pdb) n
> /Users/User/cq-editor/lib/python3.11/site-packages/cq_editor/__main__.py(9)<module>()
-> app = QApplication(sys.argv,
(Pdb) n
> /Users/User/cq-editor/lib/python3.11/site-packages/cq_editor/__main__.py(12)<module>()
-> from .main_window import MainWindow
(Pdb) n
Segmentation fault: 11
jmwright commented 1 year ago

@adam-urbanczyk The segfault seems to be happening on the import of the editor.

> /Users/User/cq-editor/lib/python3.11/site-packages/cq_editor/main_window.py(5)<module>()
-> import cadquery as cq
(Pdb) n
> /Users/User/cq-editor/lib/python3.11/site-packages/cq_editor/main_window.py(7)<module>()
-> from .widgets.editor import Editor
(Pdb) n
Segmentation fault: 11
jmwright commented 1 year ago

It's pretty deep in CoreServices.

/Users/User/cq-editor/lib/python3.11/site-packages/cq_editor/widgets/editor.py(5)<module>()
-> from spyder.plugins.editor.widgets.codeeditor import CodeEditor
/Users/User/cq-editor/lib/python3.11/site-packages/spyder/plugins/editor/widgets/codeeditor.py(87)<module>()
-> from spyder.utils.qthelpers import (add_actions, create_action, file_uri,
                                    mimedata2url, start_file)
/Users/User/cq-editor/lib/python3.11/site-packages/spyder/utils/qthelpers.py(42)<module>()
-> import applaunchservices as als
/Users/User/cq-editor/lib/python3.11/site-packages/applaunchservices/__init__.py(36)<module>()
-> import CoreServices.LaunchServices
/Users/User/cq-editor/lib/python3.11/site-packages/CoreServices/__init__.py(12)<module>()
-> import FSEvents
Segmentation fault: 11
adam-urbanczyk commented 1 year ago

Thanks @jmwright . What about ./bin/cq-editor? In CI this is what I see:

0.00s - Debugger warning: It seems that frozen modules are being used, which may
0.00s - make the debugger miss breakpoints. Please pass -Xfrozen_modules=off
0.00s - to python to disable frozen modules.
0.00s - Note: Debugging will proceed. Set PYDEVD_DISABLE_FILE_VALIDATION=1 to disable this validation.
qt.qpa.fonts: Populating font family aliases took 699 ms. Replace uses of missing font family "Menlo" with one that exists to avoid this cost. 
2023-05-16 19:30:38.618 python3.11[9154:30322] *** Assertion failure in -[QNSView dealloc], NSView.m:1688
2023-05-16 19:30:38.634 python3.11[9154:30322] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '<QNSView 0x7fc6845982a0> has reached dealloc but still has a super view. Super views strongly reference their children, so this is being over-released, or has been over-released in the past.'
*** First throw call stack:
(
    0   CoreFoundation                      0x00007ff80bff1e8b __exceptionPreprocess + 242
    1   libobjc.A.dylib                     0x00007ff80bd4fe48 objc_exception_throw + 48
    2   Foundation                          0x00007ff80cdd5d03 -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 267
    3   AppKit                              0x00007ff80e9323d1 -[NSView dealloc] + 322
    4   libqcocoa.dylib                     0x00000001037d067b qt_plugin_instance + 94170
    5   libTKService.7.7.0.dylib            0x000000010d41bfce _ZN12Cocoa_WindowD0Ev + 14
    6   libTKV3d.7.7.0.dylib                0x000000010d66e0a2 _ZN8V3d_View9SetWindowERKN11opencascade6handleI13Aspect_WindowEEP15NSOpenGLContext + 114
    7   OCP.cpython-311-darwin.so           0x00000001210872d2 _ZZN8pybind1112cpp_function10initializeIZNS0_C1Iv8V3d_ViewJRKN11opencascade6handleI13Aspect_WindowEEP15NSOpenGLContextEJNS_4nameENS_9is_methodENS_7siblingEA271_cNS_3argENS_5arg_vEEEEMT0_FT_DpT1_EDpRKT2_EUlPS3_S9_SB_E_vJSS_S9_SB_EJSC_SD_SE_SF_SG_SH_EEEvOSJ_PFSI_SL_ESR_ENKUlRNS_6detail13function_callEE_clESZ_ + 258
    8   OCP.cpython-311-darwin.so           0x000000011b3d63e5 _ZN8pybind1112cpp_function10dispatcherEP7_objectS2_S2_ + 8469
    9   python3.11                          0x0000000100e69954 cfunction_call + 52
    10  python3.11                          0x0000000100f5e437 _PyEval_EvalFrameDefault + 236295
    11  python3.11                          0x0000000100e055df _PyFunction_Vectorcall + 511
    16  libQt5Widgets.5.15.8.dylib          0x00000001022aaf2e _ZN7QWidget5eventEP6QEvent + 1188
)
libc++abi: terminating with uncaught exception of type NSException
/Users/runner/work/_temp/4ca041fe-2041-4eb3-8a3a-f41b05c2712f.sh: line 1:  9154 Abort trap: 6           ./bin/cq-editor
jmwright commented 1 year ago

@adam-urbanczyk How are you invoking that? I can't get any of that information on the Mac I'm using.

adam-urbanczyk commented 1 year ago

I simply run ./bin/cq-editor from the install dir in CI. Do you get similar output or still a segfault?

BTW if it still segfaults it would be interesting to get the backtrace of it. Should be possible with e.g. lldb: https://stackoverflow.com/a/63943980

jmwright commented 1 year ago

Still segfaults with no output.

$ ./bin/cq-editor 
Segmentation fault: 11

I can't figure out how to run the entire app via lldb in MacOS, but I was able to get the embedded Python interpreter running and did the import that is breaking things.

$ lldb python.app
(lldb) target create "python.app"
Current executable set to 'python.app' (x86_64).
(lldb) r
Process 3973 launched: '/Users/User/cq-editor/python.app/Contents/MacOS/python' (x86_64)
Python 3.11.3 | packaged by conda-forge | (main, Apr  6 2023, 09:05:00) [Clang 14.0.6 ] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from .widgets.editor import Editor
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: attempted relative import with no known parent package
>>> import applaunchservices as als
Process 3973 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=EXC_I386_GPFLT)
    frame #0: 0x0000000104b10cbe _objc.cpython-311-darwin.so`PyObjC_ffi_closure_alloc + 398
_objc.cpython-311-darwin.so`PyObjC_ffi_closure_alloc:
->  0x104b10cbe <+398>: movq   (%rbx), %rax
    0x104b10cc1 <+401>: movq   %rax, 0x9c320(%rip)       ; closure_freelist
    0x104b10cc8 <+408>: movq   %rbx, (%r14)
    0x104b10ccb <+411>: movq   0x874b6(%rip), %rax       ; (void *)0x00007fff98f04070: __stack_chk_guard
Target 0: (python) stopped.
adam-urbanczyk commented 1 year ago

How about:

lldb --file ./bin/cq-editor
r
bt
jmwright commented 1 year ago

@adam-urbanczyk

$ lldb --file ./bin/cq-editor 
(lldb) target create "./bin/cq-editor"
error: '/Users/User/cq-editor/bin/cq-editor' doesn't contain any 'host' platform architectures: x86_64h, x86_64, i386, x86_64
adam-urbanczyk commented 1 year ago

OK, thanks @jmwright. One final request: lldb python.app -m cq_editor.

jmwright commented 1 year ago

The MacOS version of lldb must be older or a different variant.

$ lldb python.app -m cq_editor
lldb: unrecognized option `-m'
adam-urbanczyk commented 1 year ago

I think it was simply my mistake. This seems to work on my machine: lldb python.app -- -m cq_editor

jmwright commented 1 year ago
$ lldb python.app -- -m cq_editor
(lldb) target create "python.app"
Current executable set to 'python.app' (x86_64).
(lldb) settings set -- target.run-args  "-m" "cq_editor"
(lldb) r
Process 7035 launched: '/Users/User/cq-editor/python.app/Contents/MacOS/python' (x86_64)
Process 7035 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=EXC_I386_GPFLT)
    frame #0: 0x0000000180832cbe _objc.cpython-311-darwin.so`PyObjC_ffi_closure_alloc + 398
_objc.cpython-311-darwin.so`PyObjC_ffi_closure_alloc:
->  0x180832cbe <+398>: movq   (%rbx), %rax
    0x180832cc1 <+401>: movq   %rax, 0x9c320(%rip)       ; closure_freelist
    0x180832cc8 <+408>: movq   %rbx, (%r14)
    0x180832ccb <+411>: movq   0x874b6(%rip), %rax       ; (void *)0x00007fff98f04070: __stack_chk_guard
Target 0: (python) stopped.
(lldb) bt
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=EXC_I386_GPFLT)
  * frame #0: 0x0000000180832cbe _objc.cpython-311-darwin.so`PyObjC_ffi_closure_alloc + 398
    frame #1: 0x0000000180870080 _objc.cpython-311-darwin.so`alloc_prepped_closure + 144
    frame #2: 0x000000018089cd29 _objc.cpython-311-darwin.so`make_init + 121
    frame #3: 0x000000018089cc3b _objc.cpython-311-darwin.so`PyObjC_MakeStructType + 587
    frame #4: 0x000000018089d082 _objc.cpython-311-darwin.so`PyObjC_RegisterStructType + 66
    frame #5: 0x000000018088203b _objc.cpython-311-darwin.so`createStructType + 715
    frame #6: 0x00000001000d7954 python`cfunction_call + 52
    frame #7: 0x00000001001cc437 python`_PyEval_EvalFrameDefault + 236295
    frame #8: 0x000000010018ff6d python`_PyEval_Vector + 493
    frame #9: 0x000000010018fd0a python`PyEval_EvalCode + 250
    frame #10: 0x000000010018b15b python`builtin_exec + 379
    frame #11: 0x00000001000d859f python`cfunction_vectorcall_FASTCALL_KEYWORDS + 95
    frame #12: 0x00000001001d30cf python`_PyEval_EvalFrameDefault + 264095
    frame #13: 0x00000001000735df python`_PyFunction_Vectorcall + 511
    frame #14: 0x0000000100070bac python`_PyObject_VectorcallTstate.752 + 60
    frame #15: 0x0000000100077c07 python`object_vacall + 407
    frame #16: 0x0000000100077a12 python`PyObject_CallMethodObjArgs + 226
    frame #17: 0x00000001002143ab python`PyImport_ImportModuleLevelObject + 3227
    frame #18: 0x0000000100189991 python`builtin___import__ + 289
    frame #19: 0x00000001000d859f python`cfunction_vectorcall_FASTCALL_KEYWORDS + 95
    frame #20: 0x00000001001d30cf python`_PyEval_EvalFrameDefault + 264095
    frame #21: 0x00000001000735df python`_PyFunction_Vectorcall + 511
    frame #22: 0x0000000100070bac python`_PyObject_VectorcallTstate.752 + 60
    frame #23: 0x0000000100077c07 python`object_vacall + 407
    frame #24: 0x0000000100077a12 python`PyObject_CallMethodObjArgs + 226
    frame #25: 0x0000000100213bf6 python`PyImport_ImportModuleLevelObject + 1254
    frame #26: 0x00000001001bb832 python`_PyEval_EvalFrameDefault + 167682
    frame #27: 0x000000010018ff6d python`_PyEval_Vector + 493
    frame #28: 0x000000010018fd0a python`PyEval_EvalCode + 250
    frame #29: 0x000000010018b15b python`builtin_exec + 379
    frame #30: 0x00000001000d859f python`cfunction_vectorcall_FASTCALL_KEYWORDS + 95
    frame #31: 0x00000001001d30cf python`_PyEval_EvalFrameDefault + 264095
    frame #32: 0x00000001000735df python`_PyFunction_Vectorcall + 511
    frame #33: 0x0000000100070bac python`_PyObject_VectorcallTstate.752 + 60
    frame #34: 0x0000000100077c07 python`object_vacall + 407
    frame #35: 0x0000000100077a12 python`PyObject_CallMethodObjArgs + 226
    frame #36: 0x00000001002143ab python`PyImport_ImportModuleLevelObject + 3227
    frame #37: 0x00000001001bb832 python`_PyEval_EvalFrameDefault + 167682
    frame #38: 0x000000010018ff6d python`_PyEval_Vector + 493
    frame #39: 0x000000010018fd0a python`PyEval_EvalCode + 250
    frame #40: 0x000000010018b15b python`builtin_exec + 379
    frame #41: 0x00000001000d859f python`cfunction_vectorcall_FASTCALL_KEYWORDS + 95
    frame #42: 0x00000001001d30cf python`_PyEval_EvalFrameDefault + 264095
    frame #43: 0x00000001000735df python`_PyFunction_Vectorcall + 511
    frame #44: 0x0000000100070bac python`_PyObject_VectorcallTstate.752 + 60
    frame #45: 0x0000000100077c07 python`object_vacall + 407
    frame #46: 0x0000000100077a12 python`PyObject_CallMethodObjArgs + 226
    frame #47: 0x00000001002143ab python`PyImport_ImportModuleLevelObject + 3227
    frame #48: 0x00000001001bb832 python`_PyEval_EvalFrameDefault + 167682
    frame #49: 0x000000010018ff6d python`_PyEval_Vector + 493
    frame #50: 0x000000010018fd0a python`PyEval_EvalCode + 250
    frame #51: 0x000000010018b15b python`builtin_exec + 379
    frame #52: 0x00000001000d859f python`cfunction_vectorcall_FASTCALL_KEYWORDS + 95
    frame #53: 0x00000001001d30cf python`_PyEval_EvalFrameDefault + 264095
    frame #54: 0x00000001000735df python`_PyFunction_Vectorcall + 511
    frame #55: 0x0000000100070bac python`_PyObject_VectorcallTstate.752 + 60
    frame #56: 0x0000000100077c07 python`object_vacall + 407
    frame #57: 0x0000000100077a12 python`PyObject_CallMethodObjArgs + 226
    frame #58: 0x00000001002143ab python`PyImport_ImportModuleLevelObject + 3227
    frame #59: 0x00000001001bb832 python`_PyEval_EvalFrameDefault + 167682
    frame #60: 0x000000010018ff6d python`_PyEval_Vector + 493
    frame #61: 0x000000010018fd0a python`PyEval_EvalCode + 250
    frame #62: 0x000000010018b15b python`builtin_exec + 379
    frame #63: 0x00000001000d859f python`cfunction_vectorcall_FASTCALL_KEYWORDS + 95
    frame #64: 0x00000001001d30cf python`_PyEval_EvalFrameDefault + 264095
    frame #65: 0x00000001000735df python`_PyFunction_Vectorcall + 511
    frame #66: 0x0000000100070bac python`_PyObject_VectorcallTstate.752 + 60
    frame #67: 0x0000000100077c07 python`object_vacall + 407
    frame #68: 0x0000000100077a12 python`PyObject_CallMethodObjArgs + 226
    frame #69: 0x00000001002143ab python`PyImport_ImportModuleLevelObject + 3227
    frame #70: 0x0000000100189991 python`builtin___import__ + 289
    frame #71: 0x00000001000d859f python`cfunction_vectorcall_FASTCALL_KEYWORDS + 95
    frame #72: 0x00000001001d30cf python`_PyEval_EvalFrameDefault + 264095
    frame #73: 0x00000001000735df python`_PyFunction_Vectorcall + 511
    frame #74: 0x0000000100070bac python`_PyObject_VectorcallTstate.752 + 60
    frame #75: 0x0000000100077c07 python`object_vacall + 407
    frame #76: 0x0000000100077a12 python`PyObject_CallMethodObjArgs + 226
    frame #77: 0x00000001002143ab python`PyImport_ImportModuleLevelObject + 3227
    frame #78: 0x00000001001bb832 python`_PyEval_EvalFrameDefault + 167682
    frame #79: 0x000000010018ff6d python`_PyEval_Vector + 493
    frame #80: 0x000000010018fd0a python`PyEval_EvalCode + 250
    frame #81: 0x000000010018b15b python`builtin_exec + 379
    frame #82: 0x00000001000d859f python`cfunction_vectorcall_FASTCALL_KEYWORDS + 95
    frame #83: 0x00000001001d30cf python`_PyEval_EvalFrameDefault + 264095
    frame #84: 0x00000001000735df python`_PyFunction_Vectorcall + 511
    frame #85: 0x0000000100070bac python`_PyObject_VectorcallTstate.752 + 60
    frame #86: 0x0000000100077c07 python`object_vacall + 407
    frame #87: 0x0000000100077a12 python`PyObject_CallMethodObjArgs + 226
    frame #88: 0x00000001002143ab python`PyImport_ImportModuleLevelObject + 3227
    frame #89: 0x00000001001bb832 python`_PyEval_EvalFrameDefault + 167682
    frame #90: 0x000000010018ff6d python`_PyEval_Vector + 493
    frame #91: 0x000000010018fd0a python`PyEval_EvalCode + 250
    frame #92: 0x000000010018b15b python`builtin_exec + 379
    frame #93: 0x00000001000d859f python`cfunction_vectorcall_FASTCALL_KEYWORDS + 95
    frame #94: 0x00000001001d30cf python`_PyEval_EvalFrameDefault + 264095
    frame #95: 0x00000001000735df python`_PyFunction_Vectorcall + 511
    frame #96: 0x0000000100070bac python`_PyObject_VectorcallTstate.752 + 60
    frame #97: 0x0000000100077c07 python`object_vacall + 407
    frame #98: 0x0000000100077a12 python`PyObject_CallMethodObjArgs + 226
    frame #99: 0x00000001002143ab python`PyImport_ImportModuleLevelObject + 3227
    frame #100: 0x00000001001bb832 python`_PyEval_EvalFrameDefault + 167682
    frame #101: 0x000000010018ff6d python`_PyEval_Vector + 493
    frame #102: 0x000000010018fd0a python`PyEval_EvalCode + 250
    frame #103: 0x000000010018b15b python`builtin_exec + 379
    frame #104: 0x00000001000d859f python`cfunction_vectorcall_FASTCALL_KEYWORDS + 95
    frame #105: 0x00000001001d30cf python`_PyEval_EvalFrameDefault + 264095
    frame #106: 0x00000001000735df python`_PyFunction_Vectorcall + 511
    frame #107: 0x0000000100070bac python`_PyObject_VectorcallTstate.752 + 60
    frame #108: 0x0000000100077c07 python`object_vacall + 407
    frame #109: 0x0000000100077a12 python`PyObject_CallMethodObjArgs + 226
    frame #110: 0x00000001002143ab python`PyImport_ImportModuleLevelObject + 3227
    frame #111: 0x00000001001bb832 python`_PyEval_EvalFrameDefault + 167682
    frame #112: 0x000000010018ff6d python`_PyEval_Vector + 493
    frame #113: 0x000000010018fd0a python`PyEval_EvalCode + 250
    frame #114: 0x000000010018b15b python`builtin_exec + 379
    frame #115: 0x00000001000d859f python`cfunction_vectorcall_FASTCALL_KEYWORDS + 95
    frame #116: 0x00000001001d30cf python`_PyEval_EvalFrameDefault + 264095
    frame #117: 0x00000001000735df python`_PyFunction_Vectorcall + 511
    frame #118: 0x0000000100070bac python`_PyObject_VectorcallTstate.752 + 60
    frame #119: 0x0000000100077c07 python`object_vacall + 407
    frame #120: 0x0000000100077a12 python`PyObject_CallMethodObjArgs + 226
    frame #121: 0x00000001002143ab python`PyImport_ImportModuleLevelObject + 3227
    frame #122: 0x00000001001bb832 python`_PyEval_EvalFrameDefault + 167682
    frame #123: 0x000000010018ff6d python`_PyEval_Vector + 493
    frame #124: 0x000000010018fd0a python`PyEval_EvalCode + 250
    frame #125: 0x000000010018b15b python`builtin_exec + 379
    frame #126: 0x00000001000d859f python`cfunction_vectorcall_FASTCALL_KEYWORDS + 95
    frame #127: 0x00000001001d30cf python`_PyEval_EvalFrameDefault + 264095
    frame #128: 0x00000001000735df python`_PyFunction_Vectorcall + 511
    frame #129: 0x0000000100070bac python`_PyObject_VectorcallTstate.752 + 60
    frame #130: 0x0000000100077c07 python`object_vacall + 407
    frame #131: 0x0000000100077a12 python`PyObject_CallMethodObjArgs + 226
    frame #132: 0x00000001002143ab python`PyImport_ImportModuleLevelObject + 3227
    frame #133: 0x00000001001bb832 python`_PyEval_EvalFrameDefault + 167682
    frame #134: 0x000000010018ff6d python`_PyEval_Vector + 493
    frame #135: 0x000000010018fd0a python`PyEval_EvalCode + 250
    frame #136: 0x000000010018b15b python`builtin_exec + 379
    frame #137: 0x00000001000d859f python`cfunction_vectorcall_FASTCALL_KEYWORDS + 95
    frame #138: 0x00000001001cc299 python`_PyEval_EvalFrameDefault + 235881
    frame #139: 0x00000001000735df python`_PyFunction_Vectorcall + 511
    frame #140: 0x00000001002637be python`pymain_run_module + 222
    frame #141: 0x0000000100263280 python`Py_RunMain + 1776
    frame #142: 0x0000000100002528 python`main + 56
    frame #143: 0x00007fff628dd3d5 libdyld.dylib`start + 1
adam-urbanczyk commented 1 year ago

Thanks @jmwright! For completeness could you also save the core dump and share it here (AFAICT in lldb prompt: (lldb) process save-core filename, cf. https://gist.github.com/radosny/781fad70dc980fc68f6bb3c287e20b86)? Maybe someone from the community with some osx experience would be able to help.

jmwright commented 1 year ago

Hopefully this link works. The core dump is over 3GB, so I was limited on where I could share it from.

adam-urbanczyk commented 1 year ago

Thank you, the link worked fine.

adam-urbanczyk commented 1 year ago

I'm going to merge this and open another issue asking for help with checking/debugging macOS.

jmwright commented 1 year ago

Thanks @adam-urbanczyk