mirror of
https://github.com/ArduPilot/ardupilot.git
synced 2026-10-29 10:38:58 +08:00
Reveal the true cause for most of our colcon failures by no longer redirecting the exception to `/dev/null`. The test harness tolerates failures in our processes during shutdown (which cause most of the printed error messages), but can throw internal errors which cause `AssertionError: When running test <x> launch service failed when finishing, return code '1'` in `finalize_launch_service`. By default it just discards the actual exception with the helpful message `Error: [launch]: Caught exception in launch (see debug for traceback)`. Edit the source code to default debug mode to on so the exception is printed and we can see what is actually going on. Sadly, there appears to be no more sensible approach. This shows that we need https://github.com/ros2/launch/commit/801d7cda05a87a74d59cb3d4752307d001956584 which we should get if we update the Docker images. There are still some failures due to startup errors on ArduPilot's side but this cause appears to be the majority of them. And if there are other sources of this exception the traceback will enable us to see them.