Skip to content
This repository has been archived by the owner on Feb 4, 2021. It is now read-only.

Upgrade Mac and Windows CI hosts #220

Closed
nuclearsandwich opened this issue Jul 25, 2019 · 29 comments
Closed

Upgrade Mac and Windows CI hosts #220

nuclearsandwich opened this issue Jul 25, 2019 · 29 comments
Assignees
Labels

Comments

@nuclearsandwich
Copy link
Member

In order to produce usable binaries for Dashing Patch Release 2 this needs to be completed ahead of time, ideally with time to stabilize after any potential issues.

I've got the checklist I've used to do this at https://gist.github.com/nuclearsandwich/63ef5a2868ae8a7a6167283789e1a71e

@wjwwood
Copy link
Member

wjwwood commented Jul 29, 2019

I've begun upgrading portable (Windows) and will upgrade mini1 (macOS) as soon as it finishes.

I'll post the changes in versions here and test CI when I'm done. I'm following the upgrade notes from here: #74

@wjwwood
Copy link
Member

wjwwood commented Jul 29, 2019

Upgrade of portable (Windows):

  • No Windows updates needed.

Dump of choco list --local-only:

C:\WINDOWS\system32>choco list --local-only
Chocolatey v0.10.13
2 validations performed. 1 success(es), 1 warning(s), and 0 error(s).
 
Validation Warnings:
 - A pending system reboot request has been detected, however, this is
   being ignored due to the current command being used 'list'.
   It is recommended that you reboot at your earliest convenience.
 
asio 1.12.1
chocolatey 0.10.13
chocolatey-core.extension 1.3.3
chocolatey-windowsupdate.extension 1.0.4
cmake 3.14.4
cmake.install 3.14.4
cppcheck 1.87.1
curl 7.64.1
eigen 3.3.4
git 2.21.0
git.install 2.21.0
hg 5.0
KB2919355 1.0.20160915
KB2919442 1.0.20160915
KB2999226 1.0.20181019
KB3033929 1.0.5
KB3035131 1.0.3
log4cxx 0.10.0
patch 2.5.9
peazip 6.8.0
peazip.install 6.8.0
python 3.7.4
python3 3.7.4
svn 1.8.17
tinyxml-usestl 2.6.2
tinyxml2 6.0.0
vcredist140 14.20.27508.1
vcredist2015 14.0.24215.20170201
vim 8.0.604
29 packages installed.

Specific upgrades:

Custom choco packages were all update with https://github.com/ros2/choco-packages/releases/tag/2019-02-15-1.

Python upgrades (some are overloaded by the CI job's virtualenv, but useful for local builds):

  • docutils: 0.15.1 -> 0.15.1-post1
  • pydot: 1.4.0 -> 1.4.1
  • PyQt5: 15.11.3 -> 5.13.0
  • PyQt5-sip: 4.19.13 -> 4.19.18
  • pydocstyle: 3.0.0 -> 4.0.0
    • This one was a know issue, but the virtualenv controls the version anyways.

DDS Vendors:

CI:

  • Build Status

(I'll update this comment with more information if this isn't everything I end up doing)

@wjwwood
Copy link
Member

wjwwood commented Jul 29, 2019

Upgrade of mini1 (macOS):

  • No system updates required.

Dump of brew list --versions:

``` mini1:~ osrf$ brew list --versions aom 1.0.0 apr 1.7.0 apr-util 1.6.1_1 asciidoc 8.6.10_2 asio 1.12.2 assimp 4.1.0 autoconf 2.69 automake 1.16.1_1 boost 1.69.0_2 cairo 1.16.0 ccache HEAD-974c4eb cmake 3.14.4 console_bridge 0.4.3 cppcheck 1.87 docbook 5.0 docbook-xsl 1.79.1 eigen 3.3.7 ffmpeg 4.1.3_1 flac 1.3.2_1 fontconfig 2.13.1 freetype 2.10.0 frei0r 1.6.1 fribidi 1.0.5 gawk 5.0.0 gcc 9.1.0 gd 2.2.5 gdbm 1.18.1 gettext 0.19.8.1 gflags 2.2.2 giflib 5.1.4_1 glib 2.60.3 glog 0.4.0 gmp 6.1.2_2 gnutls 3.6.7.1 graphite2 1.3.13 graphviz 2.40.1 gtest 1.7.0 harfbuzz 2.4.0_1 icu4c 64.2 ilmbase 2.3.0 isl 0.21 jpeg 9c lame 3.100 leptonica 1.78.0 libass 0.14.0_1 libbluray 1.1.1 libevent 2.1.8 libffi 3.2.1 libidn2 2.1.1a libmpc 1.1.0 libogg 1.3.3 libpcl 1.12 libpng 1.6.37 libsamplerate 0.1.9_1 libsndfile 1.0.28 libsoxr 0.1.3 libtasn1 4.13 libtiff 4.0.10_1 libtool 2.4.6_1 libunistring 0.9.10 libvorbis 1.3.6 libvpx 1.8.0 little-cms2 2.9 log4cxx 0.10.0_1 mercurial 5.0 mpfr 4.0.2 nettle 3.4.1 numpy 1.16.3_1 openblas 0.3.6_1 opencore-amr 0.1.5 opencv 4.1.0_2 openexr 2.3.0 openjpeg 2.3.1 openssl 1.0.2r [email protected] 1.1.1b opus 1.3.1 p11-kit 0.23.15 pcre 8.43 pixman 0.38.4 pkg-config 0.29.2 poco 1.9.0_1 pyqt 5.10.1_1 python 3.7.3 python@2 2.7.16 qt 5.12.3 readline 8.0.0_1 rtmpdump 2.4+20151223 rubberband 1.8.2_1 sdl2 2.0.9_1 sip 4.19.8_11 snappy 1.1.7_1 source-highlight 3.1.8_11 speex 1.2.0 sqlite 3.28.0 ssh-askpass 1.2.1 tbb 2019_U6 tesseract 4.0.0_1 theora 1.1.1 tinyxml 2.6.2 tinyxml2 7.0.1 [email protected] 6.2.0 unbound 1.9.1_1 uncrustify 0.68.1 webp 1.0.2 wget 1.20.3 x264 r2917 x265 3.0 xvid 1.3.5 xz 5.2.4 ```

Upgrading with brew upgrade:

mini1:~ osrf$ brew upgrade
==> Upgrading 36 outdated packages:
boost 1.69.0_2 -> 1.70.0, cairo 1.16.0 -> 1.16.0_2, ccache HEAD-974c4eb -> HEAD-974c4eb, cmake 3.14.4 -> 3.15.1, cppcheck 1.87 -> 1.88, ffmpeg 4.1.3_1 -> 4.1.4_1, freetype 2.10.0 -> 2.10.1, gawk 5.0.0 -> 5.0.1, gettext 0.19.8.1 -> 0.20.1, glib 2.60.3 -> 2.60.6, gnutls 3.6.7.1 -> 3.6.8, graphviz 2.40.1 -> 2.40.1_1, harfbuzz 2.4.0_1 -> 2.5.3, libbluray 1.1.1 -> 1.1.2, libevent 2.1.8 -> 2.1.10, libidn2 2.1.1a -> 2.2.0_1, libvpx 1.8.0 -> 1.8.1, mercurial 5.0 -> 5.0.2, numpy 1.16.3_1 -> 1.16.4, openssl 1.0.2r -> 1.0.2s, [email protected] 1.1.1b -> 1.1.1c, p11-kit 0.23.15 -> 0.23.16.1, poco 1.9.0_1 -> 1.9.2, python 3.7.3 -> 3.7.4, qt 5.12.3 -> 5.13.0, sip 4.19.8_11 -> 4.19.8_12, source-highlight 3.1.8_11 -> 3.1.8_12, sqlite 3.28.0 -> 3.29.0, theseal/ssh-askpass/ssh-askpass 1.2.1 -> 1.2.2, tbb 2019_U6 -> 2019_U8, tesseract 4.0.0_1 -> 4.1.0, unbound 1.9.1_1 -> 1.9.2, uncrustify 0.68.1 -> 0.69.0, webp 1.0.2 -> 1.0.3, wget 1.20.3 -> 1.20.3_1, x265 3.0 -> 3.1.1
...

CI:

  • Build Status

(I'll update this comment with more information if this isn't everything I end up doing)

@wjwwood
Copy link
Member

wjwwood commented Jul 30, 2019

Looks like cppcheck is failing to complete in an appropriate amount of time since upgrading to 1.88. I'm looking for regressions, @dirk-thomas pointed out danmar/cppcheck#2046, which might be related.

@cottsay
Copy link
Member

cottsay commented Jul 30, 2019

@wjwwood - we started seeing cppcheck fail when processing a particular template in rclcpp on the CentOS builds on 7/18.

I bisected cppcheck and found two patches necessary for cppcheck to run to completion on that test case. Both have been applied to the cppcheck RPM for Fedora and EPEL, and are in the testing repositories.

These are the two patches we applied:

As far as I know, these patches only address the memory consumption problem which results in the kernel killing cppcheck due to OOM. I haven't investigated any problems related to runtime performance regression.

The smallest repro of the memory issue that I can find is:
$ cppcheck -I src/ros2/rclcpp/rclcpp/include src/ros2/rclcpp/rclcpp/test/test_subscription_traits.cpp

As part of ros2/ci#314, I triggered a CI job with a prerelease of cppcheck with those two patches applied: Build Status

@wjwwood
Copy link
Member

wjwwood commented Jul 30, 2019

I ran cppcheck of a few versions on rclcpp to test out things:

william@kisra ~/ros2_ws/src/ros2/rclcpp/rclcpp (git:master:d31ea14) *
% time /tmp/cppcheck/build/install/bin/cppcheck -f --inline-suppr -q -rp --xml --xml-version=2 -I ./include -I ./test -I . -j 12 include/rclcpp/any_executable.hpp include/rclcpp/any_service_callback.hpp include/rclcpp/any_subscription_callback.hpp include/rclcpp/callback_group.hpp include/rclcpp/client.hpp include/rclcpp/clock.hpp include/rclcpp/context.hpp include/rclcpp/create_client.hpp include/rclcpp/create_publisher.hpp include/rclcpp/create_service.hpp include/rclcpp/create_subscription.hpp include/rclcpp/create_timer.hpp include/rclcpp/duration.hpp include/rclcpp/event.hpp include/rclcpp/exceptions.hpp include/rclcpp/executor.hpp include/rclcpp/executors.hpp include/rclcpp/expand_topic_or_service_name.hpp include/rclcpp/function_traits.hpp include/rclcpp/graph_listener.hpp include/rclcpp/init_options.hpp include/rclcpp/intra_process_manager.hpp include/rclcpp/intra_process_manager_impl.hpp include/rclcpp/intra_process_setting.hpp include/rclcpp/logger.hpp include/rclcpp/macros.hpp include/rclcpp/mapped_ring_buffer.hpp include/rclcpp/memory_strategies.hpp include/rclcpp/memory_strategy.hpp include/rclcpp/message_memory_strategy.hpp include/rclcpp/node.hpp include/rclcpp/node_impl.hpp include/rclcpp/node_options.hpp include/rclcpp/parameter.hpp include/rclcpp/parameter_client.hpp include/rclcpp/parameter_events_filter.hpp include/rclcpp/parameter_map.hpp include/rclcpp/parameter_service.hpp include/rclcpp/parameter_value.hpp include/rclcpp/publisher.hpp include/rclcpp/publisher_base.hpp include/rclcpp/publisher_factory.hpp include/rclcpp/publisher_options.hpp include/rclcpp/qos.hpp include/rclcpp/qos_event.hpp include/rclcpp/rate.hpp include/rclcpp/rclcpp.hpp include/rclcpp/scope_exit.hpp include/rclcpp/service.hpp include/rclcpp/subscription.hpp include/rclcpp/subscription_base.hpp include/rclcpp/subscription_factory.hpp include/rclcpp/subscription_options.hpp include/rclcpp/subscription_traits.hpp include/rclcpp/time.hpp include/rclcpp/time_source.hpp include/rclcpp/timer.hpp include/rclcpp/type_support_decl.hpp include/rclcpp/utilities.hpp include/rclcpp/visibility_control.hpp include/rclcpp/waitable.hpp include/rclcpp/allocator/allocator_common.hpp include/rclcpp/allocator/allocator_deleter.hpp include/rclcpp/contexts/default_context.hpp include/rclcpp/detail/rmw_implementation_specific_payload.hpp include/rclcpp/detail/rmw_implementation_specific_publisher_payload.hpp include/rclcpp/detail/rmw_implementation_specific_subscription_payload.hpp include/rclcpp/executors/multi_threaded_executor.hpp include/rclcpp/executors/single_threaded_executor.hpp include/rclcpp/node_interfaces/get_node_base_interface.hpp include/rclcpp/node_interfaces/get_node_timers_interface.hpp include/rclcpp/node_interfaces/get_node_topics_interface.hpp include/rclcpp/node_interfaces/node_base.hpp include/rclcpp/node_interfaces/node_base_interface.hpp include/rclcpp/node_interfaces/node_clock.hpp include/rclcpp/node_interfaces/node_clock_interface.hpp include/rclcpp/node_interfaces/node_graph.hpp include/rclcpp/node_interfaces/node_graph_interface.hpp include/rclcpp/node_interfaces/node_logging.hpp include/rclcpp/node_interfaces/node_logging_interface.hpp include/rclcpp/node_interfaces/node_parameters.hpp include/rclcpp/node_interfaces/node_parameters_interface.hpp include/rclcpp/node_interfaces/node_services.hpp include/rclcpp/node_interfaces/node_services_interface.hpp include/rclcpp/node_interfaces/node_time_source.hpp include/rclcpp/node_interfaces/node_time_source_interface.hpp include/rclcpp/node_interfaces/node_timers.hpp include/rclcpp/node_interfaces/node_timers_interface.hpp include/rclcpp/node_interfaces/node_topics.hpp include/rclcpp/node_interfaces/node_topics_interface.hpp include/rclcpp/node_interfaces/node_waitables.hpp include/rclcpp/node_interfaces/node_waitables_interface.hpp include/rclcpp/parameters/declare_parameter.hpp include/rclcpp/strategies/allocator_memory_strategy.hpp include/rclcpp/strategies/message_pool_memory_strategy.hpp src/rclcpp/any_executable.cpp src/rclcpp/callback_group.cpp src/rclcpp/client.cpp src/rclcpp/clock.cpp src/rclcpp/context.cpp src/rclcpp/duration.cpp src/rclcpp/event.cpp src/rclcpp/exceptions.cpp src/rclcpp/executor.cpp src/rclcpp/executors.cpp src/rclcpp/expand_topic_or_service_name.cpp src/rclcpp/graph_listener.cpp src/rclcpp/init_options.cpp src/rclcpp/intra_process_manager.cpp src/rclcpp/intra_process_manager_impl.cpp src/rclcpp/logger.cpp src/rclcpp/memory_strategies.cpp src/rclcpp/memory_strategy.cpp src/rclcpp/node.cpp src/rclcpp/node_options.cpp src/rclcpp/parameter.cpp src/rclcpp/parameter_client.cpp src/rclcpp/parameter_events_filter.cpp src/rclcpp/parameter_map.cpp src/rclcpp/parameter_service.cpp src/rclcpp/parameter_service_names.hpp src/rclcpp/parameter_value.cpp src/rclcpp/publisher_base.cpp src/rclcpp/qos.cpp src/rclcpp/qos_event.cpp src/rclcpp/service.cpp src/rclcpp/signal_handler.cpp src/rclcpp/signal_handler.hpp src/rclcpp/subscription_base.cpp src/rclcpp/time.cpp src/rclcpp/time_source.cpp src/rclcpp/timer.cpp src/rclcpp/type_support.cpp src/rclcpp/utilities.cpp src/rclcpp/waitable.cpp src/rclcpp/contexts/default_context.cpp src/rclcpp/detail/rmw_implementation_specific_payload.cpp src/rclcpp/detail/rmw_implementation_specific_publisher_payload.cpp src/rclcpp/detail/rmw_implementation_specific_subscription_payload.cpp src/rclcpp/executors/multi_threaded_executor.cpp src/rclcpp/executors/single_threaded_executor.cpp src/rclcpp/node_interfaces/node_base.cpp src/rclcpp/node_interfaces/node_clock.cpp src/rclcpp/node_interfaces/node_graph.cpp src/rclcpp/node_interfaces/node_logging.cpp src/rclcpp/node_interfaces/node_parameters.cpp src/rclcpp/node_interfaces/node_services.cpp src/rclcpp/node_interfaces/node_time_source.cpp src/rclcpp/node_interfaces/node_timers.cpp src/rclcpp/node_interfaces/node_topics.cpp src/rclcpp/node_interfaces/node_waitables.cpp test/test_client.cpp test/test_create_timer.cpp test/test_duration.cpp test/test_executor.cpp test/test_expand_topic_or_service_name.cpp test/test_externally_defined_services.cpp test/test_find_weak_nodes.cpp test/test_function_traits.cpp test/test_init.cpp test/test_intra_process_manager.cpp test/test_local_parameters.cpp test/test_logger.cpp test/test_logging.cpp test/test_mapped_ring_buffer.cpp test/test_node.cpp test/test_node_global_args.cpp test/test_parameter.cpp test/test_parameter_client.cpp test/test_parameter_events_filter.cpp test/test_parameter_map.cpp test/test_publisher.cpp test/test_publisher_subscription_count_api.cpp test/test_rate.cpp test/test_serialized_message_allocator.cpp test/test_service.cpp test/test_subscription.cpp test/test_subscription_publisher_count_api.cpp test/test_subscription_traits.cpp test/test_time.cpp test/test_time_source.cpp test/test_timer.cpp test/test_utilities.cpp test/executors/test_multi_threaded_executor.cpp test/node_interfaces/node_wrapper.hpp test/node_interfaces/test_get_node_interfaces.cpp test/node_interfaces/test_does_not_compile/get_node_topics_interface_const_ptr_rclcpp_node.cpp test/node_interfaces/test_does_not_compile/get_node_topics_interface_const_ptr_wrapped_node.cpp test/node_interfaces/test_does_not_compile/get_node_topics_interface_const_ref_rclcpp_node.cpp test/node_interfaces/test_does_not_compile/get_node_topics_interface_const_ref_wrapped_node.cpp
<?xml version="1.0" encoding="UTF-8"?>
<results version="2">
    <cppcheck version="1.89 dev"/>
    <errors>
    </errors>
</results>
/tmp/cppcheck/build/install/bin/cppcheck -f --inline-suppr -q -rp --xml  -I    1370.87s user 10.76s system 995% cpu 2:18.75 total

william@kisra ~/ros2_ws/src/ros2/rclcpp/rclcpp (git:master:d31ea14) *
% time /tmp/cppcheck-1.87/build/install/bin/cppcheck -f --inline-suppr -q -rp --xml --xml-version=2 -I ./include -I ./test -I . -j 12 include/rclcpp/any_executable.hpp include/rclcpp/any_service_callback.hpp include/rclcpp/any_subscription_callback.hpp include/rclcpp/callback_group.hpp include/rclcpp/client.hpp include/rclcpp/clock.hpp include/rclcpp/context.hpp include/rclcpp/create_client.hpp include/rclcpp/create_publisher.hpp include/rclcpp/create_service.hpp include/rclcpp/create_subscription.hpp include/rclcpp/create_timer.hpp include/rclcpp/duration.hpp include/rclcpp/event.hpp include/rclcpp/exceptions.hpp include/rclcpp/executor.hpp include/rclcpp/executors.hpp include/rclcpp/expand_topic_or_service_name.hpp include/rclcpp/function_traits.hpp include/rclcpp/graph_listener.hpp include/rclcpp/init_options.hpp include/rclcpp/intra_process_manager.hpp include/rclcpp/intra_process_manager_impl.hpp include/rclcpp/intra_process_setting.hpp include/rclcpp/logger.hpp include/rclcpp/macros.hpp include/rclcpp/mapped_ring_buffer.hpp include/rclcpp/memory_strategies.hpp include/rclcpp/memory_strategy.hpp include/rclcpp/message_memory_strategy.hpp include/rclcpp/node.hpp include/rclcpp/node_impl.hpp include/rclcpp/node_options.hpp include/rclcpp/parameter.hpp include/rclcpp/parameter_client.hpp include/rclcpp/parameter_events_filter.hpp include/rclcpp/parameter_map.hpp include/rclcpp/parameter_service.hpp include/rclcpp/parameter_value.hpp include/rclcpp/publisher.hpp include/rclcpp/publisher_base.hpp include/rclcpp/publisher_factory.hpp include/rclcpp/publisher_options.hpp include/rclcpp/qos.hpp include/rclcpp/qos_event.hpp include/rclcpp/rate.hpp include/rclcpp/rclcpp.hpp include/rclcpp/scope_exit.hpp include/rclcpp/service.hpp include/rclcpp/subscription.hpp include/rclcpp/subscription_base.hpp include/rclcpp/subscription_factory.hpp include/rclcpp/subscription_options.hpp include/rclcpp/subscription_traits.hpp include/rclcpp/time.hpp include/rclcpp/time_source.hpp include/rclcpp/timer.hpp include/rclcpp/type_support_decl.hpp include/rclcpp/utilities.hpp include/rclcpp/visibility_control.hpp include/rclcpp/waitable.hpp include/rclcpp/allocator/allocator_common.hpp include/rclcpp/allocator/allocator_deleter.hpp include/rclcpp/contexts/default_context.hpp include/rclcpp/detail/rmw_implementation_specific_payload.hpp include/rclcpp/detail/rmw_implementation_specific_publisher_payload.hpp include/rclcpp/detail/rmw_implementation_specific_subscription_payload.hpp include/rclcpp/executors/multi_threaded_executor.hpp include/rclcpp/executors/single_threaded_executor.hpp include/rclcpp/node_interfaces/get_node_base_interface.hpp include/rclcpp/node_interfaces/get_node_timers_interface.hpp include/rclcpp/node_interfaces/get_node_topics_interface.hpp include/rclcpp/node_interfaces/node_base.hpp include/rclcpp/node_interfaces/node_base_interface.hpp include/rclcpp/node_interfaces/node_clock.hpp include/rclcpp/node_interfaces/node_clock_interface.hpp include/rclcpp/node_interfaces/node_graph.hpp include/rclcpp/node_interfaces/node_graph_interface.hpp include/rclcpp/node_interfaces/node_logging.hpp include/rclcpp/node_interfaces/node_logging_interface.hpp include/rclcpp/node_interfaces/node_parameters.hpp include/rclcpp/node_interfaces/node_parameters_interface.hpp include/rclcpp/node_interfaces/node_services.hpp include/rclcpp/node_interfaces/node_services_interface.hpp include/rclcpp/node_interfaces/node_time_source.hpp include/rclcpp/node_interfaces/node_time_source_interface.hpp include/rclcpp/node_interfaces/node_timers.hpp include/rclcpp/node_interfaces/node_timers_interface.hpp include/rclcpp/node_interfaces/node_topics.hpp include/rclcpp/node_interfaces/node_topics_interface.hpp include/rclcpp/node_interfaces/node_waitables.hpp include/rclcpp/node_interfaces/node_waitables_interface.hpp include/rclcpp/parameters/declare_parameter.hpp include/rclcpp/strategies/allocator_memory_strategy.hpp include/rclcpp/strategies/message_pool_memory_strategy.hpp src/rclcpp/any_executable.cpp src/rclcpp/callback_group.cpp src/rclcpp/client.cpp src/rclcpp/clock.cpp src/rclcpp/context.cpp src/rclcpp/duration.cpp src/rclcpp/event.cpp src/rclcpp/exceptions.cpp src/rclcpp/executor.cpp src/rclcpp/executors.cpp src/rclcpp/expand_topic_or_service_name.cpp src/rclcpp/graph_listener.cpp src/rclcpp/init_options.cpp src/rclcpp/intra_process_manager.cpp src/rclcpp/intra_process_manager_impl.cpp src/rclcpp/logger.cpp src/rclcpp/memory_strategies.cpp src/rclcpp/memory_strategy.cpp src/rclcpp/node.cpp src/rclcpp/node_options.cpp src/rclcpp/parameter.cpp src/rclcpp/parameter_client.cpp src/rclcpp/parameter_events_filter.cpp src/rclcpp/parameter_map.cpp src/rclcpp/parameter_service.cpp src/rclcpp/parameter_service_names.hpp src/rclcpp/parameter_value.cpp src/rclcpp/publisher_base.cpp src/rclcpp/qos.cpp src/rclcpp/qos_event.cpp src/rclcpp/service.cpp src/rclcpp/signal_handler.cpp src/rclcpp/signal_handler.hpp src/rclcpp/subscription_base.cpp src/rclcpp/time.cpp src/rclcpp/time_source.cpp src/rclcpp/timer.cpp src/rclcpp/type_support.cpp src/rclcpp/utilities.cpp src/rclcpp/waitable.cpp src/rclcpp/contexts/default_context.cpp src/rclcpp/detail/rmw_implementation_specific_payload.cpp src/rclcpp/detail/rmw_implementation_specific_publisher_payload.cpp src/rclcpp/detail/rmw_implementation_specific_subscription_payload.cpp src/rclcpp/executors/multi_threaded_executor.cpp src/rclcpp/executors/single_threaded_executor.cpp src/rclcpp/node_interfaces/node_base.cpp src/rclcpp/node_interfaces/node_clock.cpp src/rclcpp/node_interfaces/node_graph.cpp src/rclcpp/node_interfaces/node_logging.cpp src/rclcpp/node_interfaces/node_parameters.cpp src/rclcpp/node_interfaces/node_services.cpp src/rclcpp/node_interfaces/node_time_source.cpp src/rclcpp/node_interfaces/node_timers.cpp src/rclcpp/node_interfaces/node_topics.cpp src/rclcpp/node_interfaces/node_waitables.cpp test/test_client.cpp test/test_create_timer.cpp test/test_duration.cpp test/test_executor.cpp test/test_expand_topic_or_service_name.cpp test/test_externally_defined_services.cpp test/test_find_weak_nodes.cpp test/test_function_traits.cpp test/test_init.cpp test/test_intra_process_manager.cpp test/test_local_parameters.cpp test/test_logger.cpp test/test_logging.cpp test/test_mapped_ring_buffer.cpp test/test_node.cpp test/test_node_global_args.cpp test/test_parameter.cpp test/test_parameter_client.cpp test/test_parameter_events_filter.cpp test/test_parameter_map.cpp test/test_publisher.cpp test/test_publisher_subscription_count_api.cpp test/test_rate.cpp test/test_serialized_message_allocator.cpp test/test_service.cpp test/test_subscription.cpp test/test_subscription_publisher_count_api.cpp test/test_subscription_traits.cpp test/test_time.cpp test/test_time_source.cpp test/test_timer.cpp test/test_utilities.cpp test/executors/test_multi_threaded_executor.cpp test/node_interfaces/node_wrapper.hpp test/node_interfaces/test_get_node_interfaces.cpp test/node_interfaces/test_does_not_compile/get_node_topics_interface_const_ptr_rclcpp_node.cpp test/node_interfaces/test_does_not_compile/get_node_topics_interface_const_ptr_wrapped_node.cpp test/node_interfaces/test_does_not_compile/get_node_topics_interface_const_ref_rclcpp_node.cpp test/node_interfaces/test_does_not_compile/get_node_topics_interface_const_ref_wrapped_node.cpp
<?xml version="1.0" encoding="UTF-8"?>
<results version="2">
    <cppcheck version="1.87"/>
    <errors>
    </errors>
</results>
/tmp/cppcheck-1.87/build/install/bin/cppcheck -f --inline-suppr -q -rp --xml   1597.14s user 11.71s system 1042% cpu 2:34.39 total

william@kisra ~/ros2_ws/src/ros2/rclcpp/rclcpp (git:master:d31ea14) *
% time /usr/local/Cellar/cppcheck/1.88/bin/cppcheck -f --inline-suppr -q -rp --xml --xml-version=2 -I ./include -I ./test -I . -j 12 include/rclcpp/any_executable.hpp include/rclcpp/any_service_callback.hpp include/rclcpp/any_subscription_callback.hpp include/rclcpp/callback_group.hpp include/rclcpp/client.hpp include/rclcpp/clock.hpp include/rclcpp/context.hpp include/rclcpp/create_client.hpp include/rclcpp/create_publisher.hpp include/rclcpp/create_service.hpp include/rclcpp/create_subscription.hpp include/rclcpp/create_timer.hpp include/rclcpp/duration.hpp include/rclcpp/event.hpp include/rclcpp/exceptions.hpp include/rclcpp/executor.hpp include/rclcpp/executors.hpp include/rclcpp/expand_topic_or_service_name.hpp include/rclcpp/function_traits.hpp include/rclcpp/graph_listener.hpp include/rclcpp/init_options.hpp include/rclcpp/intra_process_manager.hpp include/rclcpp/intra_process_manager_impl.hpp include/rclcpp/intra_process_setting.hpp include/rclcpp/logger.hpp include/rclcpp/macros.hpp include/rclcpp/mapped_ring_buffer.hpp include/rclcpp/memory_strategies.hpp include/rclcpp/memory_strategy.hpp include/rclcpp/message_memory_strategy.hpp include/rclcpp/node.hpp include/rclcpp/node_impl.hpp include/rclcpp/node_options.hpp include/rclcpp/parameter.hpp include/rclcpp/parameter_client.hpp include/rclcpp/parameter_events_filter.hpp include/rclcpp/parameter_map.hpp include/rclcpp/parameter_service.hpp include/rclcpp/parameter_value.hpp include/rclcpp/publisher.hpp include/rclcpp/publisher_base.hpp include/rclcpp/publisher_factory.hpp include/rclcpp/publisher_options.hpp include/rclcpp/qos.hpp include/rclcpp/qos_event.hpp include/rclcpp/rate.hpp include/rclcpp/rclcpp.hpp include/rclcpp/scope_exit.hpp include/rclcpp/service.hpp include/rclcpp/subscription.hpp include/rclcpp/subscription_base.hpp include/rclcpp/subscription_factory.hpp include/rclcpp/subscription_options.hpp include/rclcpp/subscription_traits.hpp include/rclcpp/time.hpp include/rclcpp/time_source.hpp include/rclcpp/timer.hpp include/rclcpp/type_support_decl.hpp include/rclcpp/utilities.hpp include/rclcpp/visibility_control.hpp include/rclcpp/waitable.hpp include/rclcpp/allocator/allocator_common.hpp include/rclcpp/allocator/allocator_deleter.hpp include/rclcpp/contexts/default_context.hpp include/rclcpp/detail/rmw_implementation_specific_payload.hpp include/rclcpp/detail/rmw_implementation_specific_publisher_payload.hpp include/rclcpp/detail/rmw_implementation_specific_subscription_payload.hpp include/rclcpp/executors/multi_threaded_executor.hpp include/rclcpp/executors/single_threaded_executor.hpp include/rclcpp/node_interfaces/get_node_base_interface.hpp include/rclcpp/node_interfaces/get_node_timers_interface.hpp include/rclcpp/node_interfaces/get_node_topics_interface.hpp include/rclcpp/node_interfaces/node_base.hpp include/rclcpp/node_interfaces/node_base_interface.hpp include/rclcpp/node_interfaces/node_clock.hpp include/rclcpp/node_interfaces/node_clock_interface.hpp include/rclcpp/node_interfaces/node_graph.hpp include/rclcpp/node_interfaces/node_graph_interface.hpp include/rclcpp/node_interfaces/node_logging.hpp include/rclcpp/node_interfaces/node_logging_interface.hpp include/rclcpp/node_interfaces/node_parameters.hpp include/rclcpp/node_interfaces/node_parameters_interface.hpp include/rclcpp/node_interfaces/node_services.hpp include/rclcpp/node_interfaces/node_services_interface.hpp include/rclcpp/node_interfaces/node_time_source.hpp include/rclcpp/node_interfaces/node_time_source_interface.hpp include/rclcpp/node_interfaces/node_timers.hpp include/rclcpp/node_interfaces/node_timers_interface.hpp include/rclcpp/node_interfaces/node_topics.hpp include/rclcpp/node_interfaces/node_topics_interface.hpp include/rclcpp/node_interfaces/node_waitables.hpp include/rclcpp/node_interfaces/node_waitables_interface.hpp include/rclcpp/parameters/declare_parameter.hpp include/rclcpp/strategies/allocator_memory_strategy.hpp include/rclcpp/strategies/message_pool_memory_strategy.hpp src/rclcpp/any_executable.cpp src/rclcpp/callback_group.cpp src/rclcpp/client.cpp src/rclcpp/clock.cpp src/rclcpp/context.cpp src/rclcpp/duration.cpp src/rclcpp/event.cpp src/rclcpp/exceptions.cpp src/rclcpp/executor.cpp src/rclcpp/executors.cpp src/rclcpp/expand_topic_or_service_name.cpp src/rclcpp/graph_listener.cpp src/rclcpp/init_options.cpp src/rclcpp/intra_process_manager.cpp src/rclcpp/intra_process_manager_impl.cpp src/rclcpp/logger.cpp src/rclcpp/memory_strategies.cpp src/rclcpp/memory_strategy.cpp src/rclcpp/node.cpp src/rclcpp/node_options.cpp src/rclcpp/parameter.cpp src/rclcpp/parameter_client.cpp src/rclcpp/parameter_events_filter.cpp src/rclcpp/parameter_map.cpp src/rclcpp/parameter_service.cpp src/rclcpp/parameter_service_names.hpp src/rclcpp/parameter_value.cpp src/rclcpp/publisher_base.cpp src/rclcpp/qos.cpp src/rclcpp/qos_event.cpp src/rclcpp/service.cpp src/rclcpp/signal_handler.cpp src/rclcpp/signal_handler.hpp src/rclcpp/subscription_base.cpp src/rclcpp/time.cpp src/rclcpp/time_source.cpp src/rclcpp/timer.cpp src/rclcpp/type_support.cpp src/rclcpp/utilities.cpp src/rclcpp/waitable.cpp src/rclcpp/contexts/default_context.cpp src/rclcpp/detail/rmw_implementation_specific_payload.cpp src/rclcpp/detail/rmw_implementation_specific_publisher_payload.cpp src/rclcpp/detail/rmw_implementation_specific_subscription_payload.cpp src/rclcpp/executors/multi_threaded_executor.cpp src/rclcpp/executors/single_threaded_executor.cpp src/rclcpp/node_interfaces/node_base.cpp src/rclcpp/node_interfaces/node_clock.cpp src/rclcpp/node_interfaces/node_graph.cpp src/rclcpp/node_interfaces/node_logging.cpp src/rclcpp/node_interfaces/node_parameters.cpp src/rclcpp/node_interfaces/node_services.cpp src/rclcpp/node_interfaces/node_time_source.cpp src/rclcpp/node_interfaces/node_timers.cpp src/rclcpp/node_interfaces/node_topics.cpp src/rclcpp/node_interfaces/node_waitables.cpp test/test_client.cpp test/test_create_timer.cpp test/test_duration.cpp test/test_executor.cpp test/test_expand_topic_or_service_name.cpp test/test_externally_defined_services.cpp test/test_find_weak_nodes.cpp test/test_function_traits.cpp test/test_init.cpp test/test_intra_process_manager.cpp test/test_local_parameters.cpp test/test_logger.cpp test/test_logging.cpp test/test_mapped_ring_buffer.cpp test/test_node.cpp test/test_node_global_args.cpp test/test_parameter.cpp test/test_parameter_client.cpp test/test_parameter_events_filter.cpp test/test_parameter_map.cpp test/test_publisher.cpp test/test_publisher_subscription_count_api.cpp test/test_rate.cpp test/test_serialized_message_allocator.cpp test/test_service.cpp test/test_subscription.cpp test/test_subscription_publisher_count_api.cpp test/test_subscription_traits.cpp test/test_time.cpp test/test_time_source.cpp test/test_timer.cpp test/test_utilities.cpp test/executors/test_multi_threaded_executor.cpp test/node_interfaces/node_wrapper.hpp test/node_interfaces/test_get_node_interfaces.cpp test/node_interfaces/test_does_not_compile/get_node_topics_interface_const_ptr_rclcpp_node.cpp test/node_interfaces/test_does_not_compile/get_node_topics_interface_const_ptr_wrapped_node.cpp test/node_interfaces/test_does_not_compile/get_node_topics_interface_const_ref_rclcpp_node.cpp test/node_interfaces/test_does_not_compile/get_node_topics_interface_const_ref_wrapped_node.cpp
<?xml version="1.0" encoding="UTF-8"?>
<results version="2">
    <cppcheck version="1.88"/>
    <errors>
        <error id="cppcheckError" severity="error" msg="Internal error: Child process crashed with signal 9" verbose="Internal error: Child process crashed with signal 9">
            <location file="test/test_subscription_traits.cpp" line="0"/>
        </error>
    </errors>
</results>
/usr/local/Cellar/cppcheck/1.88/bin/cppcheck -f --inline-suppr -q -rp --xml    626.65s user 79.78s system 140% cpu 8:22.92 total

Basically it breaks down like this:

  • cppcheck 1.87: cpu 2:34.39 total
  • cppcheck 1.88: cpu 8:22.92 total
  • cppcheck master: cpu 2:18.75 total

Regardless, the timeout may need to be extended.

@wjwwood
Copy link
Member

wjwwood commented Jul 31, 2019

I opened ament/ament_lint#168 as a possible solution to the cppcheck issues that wouldn't require us to modify the installation instructions or anything.

@wjwwood
Copy link
Member

wjwwood commented Jul 31, 2019

CI on the upgraded build machines with the avoid_cppcheck_1_88 branch:

  • mini1 (macOS): Build Status
  • portable (Windows): Build Status

@wjwwood
Copy link
Member

wjwwood commented Jul 31, 2019

We may have already known this, but Crystal fails to build on the upgraded OpenSplice like so:

https://ci.ros2.org/job/test_packaging_windows/2/console

@dirk-thomas
Copy link
Member

We may have already known this, but Crystal fails to build on the upgraded OpenSplice

I assume the build tries to build the latest release which doesn't include this backport yet ros2/rosidl_typesupport_opensplice#36 ?

@wjwwood
Copy link
Member

wjwwood commented Jul 31, 2019

Yes, it's the latest release as opposed to the Crystal "devel" branches.

I can rerun it with the other in a little while.

@wjwwood
Copy link
Member

wjwwood commented Jul 31, 2019

Windows looks good, it has the same three failures as the nightly:

I'll run one more with my changes to the cppcheck branch, just to make sure, but I think it's good to go:

  • portable with the avoid_cppcheck_1_88 branch: Build Status

For macos (mini1) I'm looking into new compiler warnings still to see if they're preexisting or not.

@wjwwood
Copy link
Member

wjwwood commented Jul 31, 2019

I upgraded OpenSplice to the newer version on mini1 too, since there's a new binary now.

@wjwwood
Copy link
Member

wjwwood commented Jul 31, 2019

The new warnings on macOS are due to new deprecations in Qt. I'm looking into those still, but one is looking to be non-trivial. I suppose we could move forward with that warning though.

@wjwwood
Copy link
Member

wjwwood commented Jul 31, 2019

Here's crystal (not crystal-release) on portable with the new OpenSplice (-connext +opensplice): Build Status

@wjwwood
Copy link
Member

wjwwood commented Aug 1, 2019

If I have time tonight I may go ahead and upgrade the rest of the mac and Windows machines so we have full capacity for tomorrow. Depend on how the crystal job goes. I may do it anyways since changing the opensplice version is relatively easy on both macOS and Windows. So I could revert the version just for Crystal on one machine of each kind if needed.

@wjwwood
Copy link
Member

wjwwood commented Aug 1, 2019

I'm not sure what happened in the crystal build (https://ci.ros2.org/job/test_ci_windows/52/console), but it looks like that branch just doesn't build right now (looks like a typo in a C++ test). But I think it got past the OpenSplice issue.

@wjwwood
Copy link
Member

wjwwood commented Aug 1, 2019

Upgrade of icecube (Windows):

  • No system updates

  • java: 1.8.0_201-b9 -> 1.8.0_221-b11

Dump of choco list --local-only:

C:\Users\osrf\source>choco list --local-only
Chocolatey v0.10.13
2 validations performed. 1 success(es), 1 warning(s), and 0 error(s).

Validation Warnings:
 - A pending system reboot request has been detected, however, this is
   being ignored due to the current command being used 'list'.
   It is recommended that you reboot at your earliest convenience.

asio 1.12.1
chocolatey 0.10.13
chocolatey-core.extension 1.3.3
chocolatey-windowsupdate.extension 1.0.4
cmake 3.14.4
cmake.install 3.14.4
cppcheck 1.87.1
curl 7.64.1
eigen 3.3.4
git 2.21.0
git.install 2.21.0
hg 5.0
KB2919355 1.0.20160915
KB2919442 1.0.20160915
KB2999226 1.0.20181019
KB3033929 1.0.5
KB3035131 1.0.3
log4cxx 0.10.0
msys2 20180531.0.0
patch 2.5.9
peazip 6.8.0
peazip.install 6.8.0
python 3.7.3
python3 3.7.3
sed 4.5
svn 1.8.17
tinyxml-usestl 2.6.2
tinyxml2 6.0.0
vcredist140 14.20.27508.1
vcredist2015 14.0.24215.20170201
vim 8.0.604
31 packages installed.

Specific upgrades:

  • python: 3.7.3 -> 3.7.4
    • debug version rebuilt
  • cmake: 3.14.4 -> 3.14.6
  • curl: 7.64.1 -> 7.65.3
  • cppcheck: 1.87.1 -> 1.88
  • peazip: 6.8.0 -> 6.8.1
  • hg: 5.0 -> 5.0.2
  • git: 2.21.0 -> 2.22.0

Custom choco packages were all update with https://github.com/ros2/choco-packages/releases/tag/2019-02-15-1.

Python upgrades (some are overloaded by the CI job's virtualenv, but useful for local builds):

  • docutils: 0.15.1 -> 0.15.1-post1
  • pydot: 1.4.0 -> 1.4.1
  • PyQt5: 15.11.3 -> 5.13.0
  • PyQt5-sip: 4.19.13 -> 4.19.18
  • pydocstyle: 3.0.0 -> 4.0.0

DDS Vendors:

  • OpenSplice: 6.9.190403OSS -> 6.9.190705OSS

CI:

  • Build Status

@wjwwood
Copy link
Member

wjwwood commented Aug 1, 2019

Upgrade of windshield (Windows):

  • No system updates

  • java: no update needed

Dump of choco list --local-only:

C:\Windows\System32>choco list --local-only
Chocolatey v0.10.13
asio 1.12.1
chocolatey 0.10.13
chocolatey-core.extension 1.3.3
chocolatey-windowsupdate.extension 1.0.4
cmake 3.14.4
cmake.install 3.14.4
cppcheck 1.87.1
curl 7.64.1
eigen 3.3.4
git 2.21.0
git.install 2.21.0
hg 5.0
jre8 8.0.211
KB2919355 1.0.20160915
KB2919442 1.0.20160915
KB2999226 1.0.20181019
KB3033929 1.0.5
KB3035131 1.0.3
log4cxx 0.10.0
patch 2.5.9
peazip 6.8.0
peazip.install 6.8.0
putty 0.71
putty.portable 0.71
python 3.7.3
python3 3.7.3
svn 1.8.17
tightvnc 2.8.11
tinyxml-usestl 2.6.2
tinyxml2 6.0.0
vcredist140 14.20.27508.1
vcredist2015 14.0.24215.20170201
vim 8.0.604
Wget 1.20.3
34 packages installed.

Specific upgrades:

  • python: 3.7.3 -> 3.7.4
    • debug version rebuilt
  • cmake: 3.14.4 -> 3.14.6
  • curl: 7.64.1 -> 7.65.3
  • cppcheck: 1.87.1 -> 1.88
  • peazip: 6.8.0 -> 6.8.1
  • hg: 5.0 -> 5.0.2
  • git: 2.21.0 -> 2.22.0

Custom choco packages were all update with https://github.com/ros2/choco-packages/releases/tag/2019-02-15-1.

Python upgrades (some are overloaded by the CI job's virtualenv, but useful for local builds):

  • docutils: 0.15.1 -> 0.15.1-post1
  • pydot: 1.4.0 -> 1.4.1
  • PyQt5: 15.11.3 -> 5.13.0
  • PyQt5-sip: 4.19.13 -> 4.19.18
  • pydocstyle: 3.0.0 -> 4.0.0

DDS Vendors:

  • OpenSplice: 6.9.190403OSS -> 6.9.190705OSS

CI:

  • Build Status

@wjwwood
Copy link
Member

wjwwood commented Aug 1, 2019

Upgrade of mini2 (macOS):

  • No system updates.

  • No java update.

    • Java said it could not update, I think the update server may be down.

Dump of brew list --versions:

aom 1.0.0
apr 1.7.0
apr-util 1.6.1_1
asciidoc 8.6.10_2
asio 1.12.2
assimp 4.1.0
autoconf 2.69
automake 1.16.1_1
boost 1.69.0_2
cairo 1.16.0
ccache HEAD-974c4eb
cmake 3.14.4
console_bridge 0.4.3
cppcheck 1.87
docbook 5.0
docbook-xsl 1.79.1
eigen 3.3.7
ffmpeg 4.1.3_1
flac 1.3.2_1
fontconfig 2.13.1
freetype 2.10.0
frei0r 1.6.1
fribidi 1.0.5
gawk 5.0.0
gcc 9.1.0
gd 2.2.5
gdbm 1.18.1
gettext 0.19.8.1
gflags 2.2.2
giflib 5.1.4_1
glib 2.60.2
glog 0.4.0
gmp 6.1.2_2
gnutls 3.6.7.1
graphite2 1.3.13
graphviz 2.40.1
gtest 1.7.0
harfbuzz 2.4.0_1
htop 2.2.0_1
icu4c 64.2
ilmbase 2.3.0
isl 0.21
jpeg 9c
lame 3.100
leptonica 1.78.0
libass 0.14.0_1
libbluray 1.1.1
libevent 2.1.8
libffi 3.2.1
libidn2 2.1.1a
libmpc 1.1.0
libogg 1.3.3
libpcl 1.12
libpng 1.6.37
libsamplerate 0.1.9_1
libsndfile 1.0.28
libsoxr 0.1.3
libtasn1 4.13
libtiff 4.0.10_1
libtool 2.4.6_1
libunistring 0.9.10
libvorbis 1.3.6
libvpx 1.8.0
little-cms2 2.9
log4cxx 0.10.0_1
mercurial 5.0
mpfr 4.0.2
ncurses 6.1
nettle 3.4.1
numpy 1.16.3_1
openblas 0.3.6_1
opencore-amr 0.1.5
opencv 4.1.0_2
openexr 2.3.0
openjpeg 2.3.1
opensplice 6.4.0
openssl 1.0.2r
[email protected] 1.1.1b
opus 1.3.1
p11-kit 0.23.15
pcre 8.43
pixman 0.38.4
pkg-config 0.29.2
poco 1.9.0_1
pyqt 5.10.1_1
python 3.7.0 3.7.3
python@2 2.7.16
qt 5.12.3
readline 8.0.0_1
rtmpdump 2.4+20151223
rubberband 1.8.2_1
sdl2 2.0.9_1
sip 4.19.8_11
snappy 1.1.7_1
source-highlight 3.1.8_11
speex 1.2.0
sqlite 3.28.0
tbb 2019_U6
tesseract 4.0.0_1
theora 1.1.1
tinyxml 2.6.2
tinyxml2 7.0.1
[email protected] 6.2.0
unbound 1.9.1_1
uncrustify 0.68.1
webp 1.0.2
wget 1.20.3
x264 r2917
x265 3.0
xvid 1.3.5
xz 5.2.4

Upgrading with brew upgrade (after brew update):

mini2:~ osrf$ brew upgrade
==> Upgrading 35 outdated packages:
boost 1.69.0_2 -> 1.70.0, cairo 1.16.0 -> 1.16.0_2, ccache HEAD-974c4eb -> HEAD-974c4eb, cmake 3.14.4 -> 3.15.1, cppcheck 1.87 -> 1.88, ffmpeg 4.1.3_1 -> 4.1.4_1, freetype 2.10.0 -> 2.10.1, gawk 5.0.0 -> 5.0.1, gettext 0.19.8.1 -> 0.20.1, glib 2.60.2 -> 2.60.6, gnutls 3.6.7.1 -> 3.6.8, graphviz 2.40.1 -> 2.40.1_1, harfbuzz 2.4.0_1 -> 2.5.3, libbluray 1.1.1 -> 1.1.2, libevent 2.1.8 -> 2.1.10, libidn2 2.1.1a -> 2.2.0_1, libvpx 1.8.0 -> 1.8.1, mercurial 5.0 -> 5.0.2, numpy 1.16.3_1 -> 1.16.4, openssl 1.0.2r -> 1.0.2s, [email protected] 1.1.1b -> 1.1.1c, p11-kit 0.23.15 -> 0.23.16.1, poco 1.9.0_1 -> 1.9.2, python 3.7.3 -> 3.7.4, qt 5.12.3 -> 5.13.0, sip 4.19.8_11 -> 4.19.8_12, source-highlight 3.1.8_11 -> 3.1.8_12, sqlite 3.28.0 -> 3.29.0, tbb 2019_U6 -> 2019_U8, tesseract 4.0.0_1 -> 4.1.0, unbound 1.9.1_1 -> 1.9.2, uncrustify 0.68.1 -> 0.69.0, webp 1.0.2 -> 1.0.3, wget 1.20.3 -> 1.20.3_1, x265 3.0 -> 3.1.2
  • I also uninstalled ccache and reinstalled it, as it was on HEAD, which isn't recommended

  • python dependencies were not updated as there were few and all CI dependencies are installed via virtualenv

  • opensplice: 6.9.190403OSS -> 6_9_190705OSS

CI:

  • Build Status
    • third Build Status (another disconnect, I'm suspecting something is wrong with mini2...)
    • second Build Status (also got disconnected)
    • original Build Status (got disconnected)

@wjwwood
Copy link
Member

wjwwood commented Aug 1, 2019

Upgrade for mini3 (macOS):

  • System update to 12.1.2

  • Java: no update

    • Same as mini2, it said to check the internet and try again, but the internet is working.

Dump of brew list --versions:

aom 1.0.0
apr 1.7.0
apr-util 1.6.1_1
asciidoc 8.6.10_2
asio 1.12.2
assimp 4.1.0
autoconf 2.69
automake 1.16.1_1
boost 1.69.0_2
cairo 1.16.0
ccache HEAD-974c4eb
cmake 3.14.4
console_bridge 0.4.3
cppcheck 1.87
docbook 5.0
eigen 3.3.7
ffmpeg 4.1.3_1
flac 1.3.2_1
fontconfig 2.13.1
freetype 2.10.0
frei0r 1.6.1
fribidi 1.0.5
gcc 9.1.0
gd 2.2.5
gdbm 1.18.1
gettext 0.19.8.1
gflags 2.2.2
giflib 5.1.4_1
glib 2.60.2
glog 0.4.0
gmp 6.1.2_2
gnutls 3.6.7.1
graphite2 1.3.13
graphviz 2.40.1
harfbuzz 2.4.0_1
icu4c 64.2
ilmbase 2.3.0
isl 0.21
jpeg 9c
lame 3.100
leptonica 1.78.0
libass 0.14.0_1
libbluray 1.1.1
libevent 2.1.8
libffi 3.2.1
libidn2 2.1.1a
libmpc 1.1.0
libogg 1.3.3
libpng 1.6.37
libsamplerate 0.1.9_1
libsndfile 1.0.28
libsoxr 0.1.3
libtasn1 4.13
libtiff 4.0.10_1
libtool 2.4.6_1
libunistring 0.9.10
libvorbis 1.3.6
libvpx 1.8.0
little-cms2 2.9
log4cxx 0.10.0_1
mercurial 5.0
mpfr 4.0.2
nettle 3.4.1
numpy 1.16.3_1
openblas 0.3.6_1
opencore-amr 0.1.5
opencv 4.1.0_2
openexr 2.3.0
openjpeg 2.3.1
openssl 1.0.2r
opus 1.3.1
p11-kit 0.23.15
pcre 8.43
pixman 0.38.4
pkg-config 0.29.2
poco 1.9.0_1
pyqt 5.10.1_1
python 3.7.3
python@2 2.7.16
qt 5.12.3
readline 8.0.0_1
rtmpdump 2.4+20151223
rubberband 1.8.2_1
sdl2 2.0.9_1
sip 4.19.8_11
snappy 1.1.7_1
source-highlight 3.1.8_11
speex 1.2.0
sqlite 3.28.0
tbb 2019_U6
tesseract 4.0.0_1
theora 1.1.1
tinyxml 2.6.2
tinyxml2 7.0.1
unbound 1.9.1_1
uncrustify 0.68.1
webp 1.0.2
wget 1.20.3
x264 r2917
x265 3.0
xvid 1.3.5
xz 5.2.4

Upgrading with brew upgrade (after brew update):

mini3:~ osrf$ brew upgrade
==> Upgrading 33 outdated packages:
boost 1.69.0_2 -> 1.70.0, cairo 1.16.0 -> 1.16.0_2, ccache HEAD-974c4eb -> HEAD-974c4eb, cmake 3.14.4 -> 3.15.1, cppcheck 1.87 -> 1.88, ffmpeg 4.1.3_1 -> 4.1.4_1, freetype 2.10.0 -> 2.10.1, gettext 0.19.8.1 -> 0.20.1, glib 2.60.2 -> 2.60.6, gnutls 3.6.7.1 -> 3.6.8, graphviz 2.40.1 -> 2.40.1_1, harfbuzz 2.4.0_1 -> 2.5.3, libbluray 1.1.1 -> 1.1.2, libevent 2.1.8 -> 2.1.10, libidn2 2.1.1a -> 2.2.0_1, libvpx 1.8.0 -> 1.8.1, mercurial 5.0 -> 5.0.2, numpy 1.16.3_1 -> 1.16.4, openssl 1.0.2r -> 1.0.2s, p11-kit 0.23.15 -> 0.23.16.1, poco 1.9.0_1 -> 1.9.2, python 3.7.3 -> 3.7.4, qt 5.12.3 -> 5.13.0, sip 4.19.8_11 -> 4.19.8_12, source-highlight 3.1.8_11 -> 3.1.8_12, sqlite 3.28.0 -> 3.29.0, tbb 2019_U6 -> 2019_U8, tesseract 4.0.0_1 -> 4.1.0, unbound 1.9.1_1 -> 1.9.2, uncrustify 0.68.1 -> 0.69.0, webp 1.0.2 -> 1.0.3, wget 1.20.3 -> 1.20.3_1, x265 3.0 -> 3.1.2
  • I also uninstalled ccache and reinstalled it, as it was on HEAD, which isn't recommended

  • python dependencies were not updated as there were few and all CI dependencies are installed via virtualenv

  • opensplice: 6.9.190403OSS -> 6_9_190705OSS

CI:

  • Build Status

@wjwwood
Copy link
Member

wjwwood commented Aug 1, 2019

I brought windshield back into the worker pool (along with portable), but there are extra test failures on icecube that need resolving.

@wjwwood
Copy link
Member

wjwwood commented Aug 3, 2019

Ok, there's something wrong with mini2, it has disconnected four times during my test ci, which was the last step before I re-added it to the worker pool.

I guess, I'll have to debug that next week sometime. Does anyone have ideas?

@dirk-thomas
Copy link
Member

Just the usual suspects: Jenkins agent/slave version, Java version...

@wjwwood
Copy link
Member

wjwwood commented Aug 3, 2019

The VNC has been exceptionally laggy on mini2 and looking through the history I've seen quite a few failures due to disconnects.

I tried switching it to WiFi (disabling the Ethernet) and the VNC looks a lot more responsive. I'm going to try another build:

Build Status

Maybe the Ethernet adapter in mini2 is flaky, or possibly the switch port it is plugged into?

@wjwwood
Copy link
Member

wjwwood commented Aug 5, 2019

Even on wifi mini2 disconnected. Since I left it enabled, it requeued it and finished on the second attempt: Build Status

However, I tooled around some more and I figured out why it wouldn't update from the java settings panel, it was because there was a JRE and JDK and the JDK was overriding it. Even after manually updating the JRE, the JDK seemed to overshadow it causing java -version to still report the old version, so I removed both and installed the updated JDK. I'll also switch it back to Ethernet and run a new job:

Build Status

@wjwwood
Copy link
Member

wjwwood commented Aug 5, 2019

That job also failed due to a disconnect, here's the automatically relaunched one: Build Status

I'm at a loss for what to do next. I reinstalled the agent as part of my Java updating fiasco. I even re-downloaded the java agent according to these instructions: https://index.ros.org/doc/ros2/Contributing/Set-up-a-new-macOS-CI-node/

Should I leave it off the farm or add it back? (it did pass at least once after requeueing it automatically) Any other ideas what to do next?

@wjwwood
Copy link
Member

wjwwood commented Aug 6, 2019

I'm bringing mini2 back online, after switching back to Ethernet and sorting out (hopefully) some of the java version stuff.

@wjwwood
Copy link
Member

wjwwood commented Aug 6, 2019

So with that, I think all macOS and Windows machines have been updated for Dashing, and therefore this issue can be closed. What remains is related to Crystal and the updated OpenSplice version. I'll make a new issue for that: #221

@wjwwood wjwwood closed this as completed Aug 6, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

4 participants