-
-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CI: osx and osx_arm64 #5
base: main
Are you sure you want to change the base?
Conversation
Are you happy to take a look at migrating the PR CI from boa to pixi/rattler-build? |
@Tobias-Fischer #8 migrates the PR CI to |
Current processes: rebuild: reset ; rm -rf output/bld && pixi run generate-recipes && time pixi run -v rattler-build build --recipe recipes/ros-jazzy-rosidl-generator-py --recipe recipes/ros-jazzy-rclpy --recipe recipes/ros-jazzy-rcl-interfaces -m conda_build_config.yaml -c robostack-jazzy -c conda-forge --keep-build test: mamba create -n ros-jazzy -c conda-forge -c file:///Users/jso/code/ros-jazzy/output python=3.11\* ros-jazzy-rclpy mamba run --live-stream -n ros-jazzy lldb python -- -c 'import rclpy; rclpy.init(); node = rclpy.create_node("test"); rclpy.spin(node)' Then run with the 'r' command: The second line will run a simple python script that exhibits the crash. The log looks like this: (lldb) target create "python" Current executable set to '/Users/jso/code/FreeCAD/FreeCAD/.conda/ros-jazzy/bin/python' (arm64). (lldb) settings set -- target.run-args "-c" "import rclpy; rclpy.init(); node = rclpy.create_node(\"test\"); rclpy.spin(node)" (lldb) r Process 78922 launched: '/Users/jso/code/FreeCAD/FreeCAD/.conda/ros-jazzy/bin/python' (arm64) Process 78922 stopped * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x60) frame #0: 0x00000001027d6314 libpython3.11.dylib`set_attribute_error_context + 60 libpython3.11.dylib`set_attribute_error_context: -> 0x1027d6314 <+60>: ldr x0, [x8, #0x60] 0x1027d6318 <+64>: bl 0x1028a0b0c ; PyErr_GivenExceptionMatches 0x1027d631c <+68>: cbz w0, 0x1027d6384 ; <+172> 0x1027d6320 <+72>: ldr x8, [x21, #0x358] Target 0: (python) stopped. (lldb) bt * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x60) * frame #0: 0x00000001027d6314 libpython3.11.dylib`set_attribute_error_context + 60 frame #1: 0x00000001027d68f0 libpython3.11.dylib`PyObject_GetAttr + 192 frame #2: 0x00000001027d67e0 libpython3.11.dylib`PyObject_GetAttrString + 108 frame #3: 0x0000000101a87b04 libbuiltin_interfaces__rosidl_generator_py.dylib`builtin_interfaces__msg__time__convert_from_py + 60 frame #4: 0x000000010219c0a8 librcl_interfaces__rosidl_generator_py.dylib`rcl_interfaces__msg__parameter_event__convert_from_py + 356 frame RoboStack#5: 0x0000000100e48250 _rclpy_pybind11.cpython-311-darwin.so`___lldb_unnamed_symbol2190 + 360 frame RoboStack#6: 0x0000000100e2b844 _rclpy_pybind11.cpython-311-darwin.so`___lldb_unnamed_symbol1795 + 76 frame RoboStack#7: 0x0000000100e2c1a0 _rclpy_pybind11.cpython-311-darwin.so`___lldb_unnamed_symbol1802 + 208 frame RoboStack#8: 0x0000000100dc17c0 _rclpy_pybind11.cpython-311-darwin.so`___lldb_unnamed_symbol708 + 4556 frame RoboStack#9: 0x00000001000b7f4c python`cfunction_call + 124 frame RoboStack#10: 0x00000001000606f0 python`_PyObject_MakeTpCall + 332 frame RoboStack#11: 0x0000000100162e3c python`_PyEval_EvalFrameDefault + 46484 frame RoboStack#12: 0x00000001001674c8 python`_PyEval_Vector + 184 frame #13: 0x00000001000608b8 python`_PyObject_FastCallDictTstate + 156 frame #14: 0x00000001000617f0 python`_PyObject_Call_Prepend + 176 frame #15: 0x00000001000dc888 python`slot_tp_init + 196 frame #16: 0x00000001000d4de4 python`type_call + 464 frame #17: 0x00000001000606f0 python`_PyObject_MakeTpCall + 332 frame #18: 0x0000000100162e3c python`_PyEval_EvalFrameDefault + 46484 frame #19: 0x00000001001674c8 python`_PyEval_Vector + 184 frame #20: 0x00000001000608b8 python`_PyObject_FastCallDictTstate + 156 frame #21: 0x00000001000617f0 python`_PyObject_Call_Prepend + 176 frame #22: 0x00000001000dc888 python`slot_tp_init + 196 frame #23: 0x00000001000d4de4 python`type_call + 464 frame #24: 0x00000001000606f0 python`_PyObject_MakeTpCall + 332 frame #25: 0x0000000100162e3c python`_PyEval_EvalFrameDefault + 46484 frame #26: 0x00000001001568f4 python`PyEval_EvalCode + 220 frame #27: 0x00000001001bc970 python`run_mod + 144 frame #28: 0x00000001001c04a4 python`PyRun_SimpleStringFlags + 272 frame #29: 0x00000001001e1b3c python`Py_RunMain + 1396 frame #30: 0x00000001001e3050 python`pymain_main + 1252 frame #31: 0x0000000100003398 python`main + 56 frame #32: 0x00000001921f0274 dyld`start + 2840
Ok, I see the problem, on conda-forge we have gz-gui 8.1.1 (https://github.com/conda-forge/gz-gui-feedstock/blob/414bd0e904ebdcb2abd6e0dc8acd6babe4ccd031/recipe/meta.yaml#L3) while the vendor expects 8.3.0 (see https://github.com/gazebo-release/gz_gui_vendor/blob/jazzy/CMakeLists.txt#L6-L8). I will update the conda-forge version, but this is an example of why we need to set |
I'm a little confused as this appears to be doing what you suggest, installing a |
Here's what the output from
|
@traversaro The change to set |
Ah, good point. This is okish, but explains what you saw. All gz-* projects generation version config files with |
I opened ament/ament_cmake#552 that hopefully should be helpful if backported to jazzy. With that and a way to specify different CMake options for each project in vinca, we can simply pass |
Looks like I've brought over your patch to force de-vendoring and set it for the gz-*-vendor packages. |
Unfortunately still some conflicts that do not seem easily resolved:
|
I think we need to bump versions in https://github.com/oursland/ros-jazzy/blob/osx-ci/.ci_support/conda_forge_pinnings.yaml - based on https://github.com/conda-forge/conda-forge-pinning-feedstock/blob/main/recipe/conda_build_config.yaml and ongoing migrations (https://conda-forge.org/status/ - relevant are probably assimp543, fmt11, icu75, libboost186, libabseil/grpc/libprotobuf spdlog114 and vtk931) |
That was generated from the local build, which I believe uses I did a build locally where I only specified |
You should be using both, https://github.com/oursland/ros-jazzy/blob/osx-ci/.ci_support/conda_forge_pinnings.yaml (that needs probably be converted in a format that is understood by rattler-build) and https://github.com/oursland/ros-jazzy/blob/osx-ci/conda_build_config.yaml. If we don't pin against the versions specified in conda_forge_pinnings.yaml, we will inevitably run into issues like you have reported .. |
My attempts to find an authoritative source for Where can I find the current |
That’s the current authorative one: https://github.com/conda-forge/conda-forge-pinning-feedstock/blob/main/recipe/conda_build_config.yaml The migrations can be found in that repository as well, and the status is linked above. |
The authoritative |
…pstream. The file .ci_support/conda_forge_pinnings.yaml does not dictate the which packages are used by RoboStack. vinca uses the file conda_build_config.yaml. The .ci_support/conda_forge_pinnings.yaml serves as a reference for compatible packages.
I have updated It looks like the authoritative
|
De-vendoring is nearly completed. The following packages are not being detected via |
I've forced de-vendoring, but found that the
|
Thanks! I am afraid this is a macos-specific issue, can you open an issue at https://github.com/conda-forge/gz-sim-feedstock following the template? I will not have access to a macos machine for a week unfortunately, but at least we track this problem in an issue. |
@traversaro Unfortunately, I cannot create an issue. Attempts to do so result in the following message: |
@oursland you mentioned that homebrew installed GZ would not crash this way. Do you have logs from that run as well? I am wondering if the shader file that is corrupted(?) is the problem... |
Here's the output from the Homebrew-installed
|
I wonder if this is the same of conda-forge/gz-sim-feedstock#24 ? In case somebody has access to a macOS machine, it would be good to try also with |
Frustratingly
|
No description provided.