From dcd9d1d99e811c2c87dc58380dc7552fc43f2854 Mon Sep 17 00:00:00 2001 From: Mike Dalessio Date: Sat, 20 Mar 2021 16:28:57 -0400 Subject: [PATCH] ci: reduce valgrind suppressions Since fixing #1952 I've wanted to revisit the valgrind suppressions to see what's left. These suppressions represent what I saw in docker images on my dev machine: - on Ruby 2.7 and 3.0 startup (iseq_peephole_optimize) - enumerators seem to confuse Valgrind (mark_locations_array/gc_mark_stacked_objects) --- suppressions/nokogiri_ruby-2.5.supp | 116 +++++++---- suppressions/nokogiri_ruby-2.6.supp | 209 ++++++++++++++++++-- suppressions/nokogiri_ruby-2.7.supp | 293 +++++++++++++++++++++++++--- suppressions/nokogiri_ruby-2.supp | 10 - suppressions/nokogiri_ruby-3.0.supp | 277 +++++--------------------- 5 files changed, 589 insertions(+), 316 deletions(-) delete mode 100644 suppressions/nokogiri_ruby-2.supp diff --git a/suppressions/nokogiri_ruby-2.5.supp b/suppressions/nokogiri_ruby-2.5.supp index b5f6f32bbe..115615bc54 100644 --- a/suppressions/nokogiri_ruby-2.5.supp +++ b/suppressions/nokogiri_ruby-2.5.supp @@ -1,52 +1,82 @@ { - - Memcheck:Addr8 - fun:mark_locations_array - fun:gc_mark_locations - fun:rb_gc_mark_locations - fun:gc_mark_stacked_objects - fun:gc_mark_stacked_objects_* - fun:gc_marks_rest - ... - fun:ruby_finalize_? - fun:ruby_cleanup - ... -} -{ - - Memcheck:Addr8 - fun:mark_locations_array - fun:gc_mark_locations - fun:rb_gc_mark_locations - fun:gc_marks_wb_unprotected_objects - fun:gc_marks_finish - fun:gc_marks_rest - ... - fun:ruby_finalize_? - fun:ruby_cleanup - ... -} -{ - https://ci.nokogiri.org/teams/nokogiri-core/pipelines/nokogiri-pr/jobs/ruby-2.5-valgrind/builds/66 + node set enumerators seem to trigger this warning Memcheck:Addr8 fun:mark_locations_array fun:gc_mark_locations fun:gc_mark_locations fun:rb_gc_mark_locations fun:gc_mark_stacked_objects + fun:gc_mark_stacked_objects_all + fun:gc_marks_rest + fun:gc_marks + fun:gc_start + fun:gc_start + fun:garbage_collect ... - fun:ruby_cleanup - ... -} -{ - https://ci.nokogiri.org/teams/nokogiri-core/pipelines/nokogiri-pr/jobs/ruby-2.5-valgrind/builds/71 - Memcheck:Addr8 - fun:mark_locations_array - fun:gc_mark_locations - fun:gc_mark_locations - fun:rb_gc_mark_locations - fun:gc_marks_wb_unprotected_objects - ... - fun:ruby_cleanup - ... + # fun:gc_start_internal + # fun:vm_call_cfunc_with_frame + # fun:vm_call_cfunc + # fun:vm_call_method_each_type.part.135 + # fun:vm_call_method_each_type + # fun:vm_call_method + # fun:vm_call_method + # fun:vm_exec_core + # fun:vm_exec + # fun:invoke_block + # fun:invoke_iseq_block_from_c + # fun:invoke_block_from_c_bh + # fun:vm_yield + # fun:rb_yield_0 + # fun:rb_yield_1 + # fun:rb_yield + # fun:rb_ary_each + # fun:vm_call_cfunc_with_frame + # fun:vm_call_cfunc + # fun:vm_call_method_each_type.part.135 + # fun:vm_call_method_each_type + # fun:vm_call_method + # fun:vm_call_method + # fun:vm_exec_core + # fun:vm_exec + # fun:invoke_block + # fun:invoke_iseq_block_from_c + # fun:invoke_block_from_c_bh + # fun:vm_yield + # fun:rb_yield_0 + # fun:rb_yield_1 + # fun:rb_yield + # fun:rb_ary_each + # fun:vm_call_cfunc_with_frame + # fun:vm_call_cfunc + # fun:vm_call_method_each_type.part.135 + # fun:vm_call_method_each_type + # fun:vm_call_method + # fun:vm_call_method + # fun:vm_exec_core + # fun:vm_exec + # fun:invoke_block + # fun:invoke_iseq_block_from_c + # fun:invoke_block_from_c_bh + # fun:vm_yield_force_blockarg + # fun:rb_yield_force_blockarg + # fun:rb_ary_collect + # fun:vm_call_cfunc_with_frame + # fun:vm_call_cfunc + # fun:vm_call_method_each_type.part.135 + # fun:vm_call_method_each_type + # fun:vm_call_method + # fun:vm_call_method + # fun:vm_exec_core + # fun:vm_exec + # fun:invoke_block + # fun:invoke_iseq_block_from_c + # fun:invoke_block_from_c_proc + # fun:vm_invoke_proc + # fun:rb_proc_call + # fun:exec_end_procs_chain + # fun:rb_exec_end_proc + # fun:ruby_finalize_0 + # fun:ruby_cleanup + # fun:ruby_run_node + # fun:main } diff --git a/suppressions/nokogiri_ruby-2.6.supp b/suppressions/nokogiri_ruby-2.6.supp index 4ba574a1c5..ba10b6a9b4 100644 --- a/suppressions/nokogiri_ruby-2.6.supp +++ b/suppressions/nokogiri_ruby-2.6.supp @@ -1,34 +1,211 @@ { - https://ci.nokogiri.org/teams/nokogiri-core/pipelines/nokogiri/jobs/ruby-2.6-valgrind/builds/1,https://ci.nokogiri.org/teams/nokogiri-core/pipelines/nokogiri-pr/jobs/ruby-2.6-valgrind/builds/11 + node set enumerators seem to trigger this warning Memcheck:Addr8 fun:mark_locations_array - fun:gc_marks_wb_unprotected_objects - fun:gc_marks_finish - ... - fun:ruby_finalize_? - fun:ruby_cleanup + fun:gc_mark_stacked_objects + fun:gc_mark_stacked_objects_all + fun:gc_marks_rest + fun:gc_marks + fun:gc_start + fun:garbage_collect ... + # fun:gc_start_internal + # fun:invoke_bf + # fun:vm_invoke_builtin_delegate + # fun:vm_exec_core + # fun:rb_vm_exec + # fun:invoke_bmethod + # fun:invoke_iseq_block_from_c + # fun:invoke_block_from_c_proc + # fun:rb_vm_invoke_bmethod + # fun:vm_call_bmethod_body + # fun:vm_call_bmethod + # fun:vm_call_method + # fun:vm_call_opt_send + # fun:vm_call_method + # fun:vm_sendish + # fun:vm_exec_core + # fun:rb_vm_exec + # fun:invoke_block + # fun:invoke_iseq_block_from_c + # fun:invoke_block_from_c_bh + # fun:vm_yield + # fun:rb_yield_0 + # fun:rb_yield_1 + # fun:rb_yield + # fun:rb_ary_each + # fun:vm_call_cfunc_with_frame + # fun:vm_call_cfunc + # fun:vm_call_method + # fun:vm_sendish + # fun:vm_exec_core + # fun:rb_vm_exec + # fun:invoke_block + # fun:invoke_iseq_block_from_c + # fun:invoke_block_from_c_bh + # fun:vm_yield + # fun:rb_yield_0 + # fun:rb_yield_1 + # fun:rb_yield + # fun:rb_ary_collect + # fun:vm_call_cfunc_with_frame + # fun:vm_call_cfunc + # fun:vm_call_method + # fun:vm_sendish + # fun:vm_exec_core + # fun:rb_vm_exec + # fun:invoke_block + # fun:invoke_iseq_block_from_c + # fun:invoke_block_from_c_proc + # fun:vm_invoke_proc + # fun:rb_vm_invoke_proc + # fun:rb_proc_call + # fun:exec_end_procs_chain + # fun:rb_ec_exec_end_proc + # fun:rb_ec_teardown + # fun:rb_ec_cleanup + # fun:ruby_run_node + # fun:main } { - https://ci.nokogiri.org/teams/nokogiri-core/pipelines/nokogiri/jobs/ruby-2.6-valgrind/builds/1,https://ci.nokogiri.org/teams/nokogiri-core/pipelines/nokogiri-v1.10.x/jobs/ruby-2.6-valgrind/builds/3 + node set enumerators seem to trigger this warning Memcheck:Addr8 fun:mark_locations_array fun:gc_mark_stacked_objects fun:gc_mark_stacked_objects_incremental + fun:gc_marks_rest + fun:gc_rest.part.* + fun:gc_rest + fun:garbage_collect ... - fun:ruby_finalize_? - fun:ruby_cleanup - ... + # fun:gc_start_internal + # fun:invoke_bf + # fun:vm_invoke_builtin_delegate + # fun:vm_exec_core + # fun:rb_vm_exec + # fun:invoke_block + # fun:invoke_iseq_block_from_c + # fun:invoke_block_from_c_bh + # fun:vm_yield + # fun:rb_yield_0 + # fun:rb_yield_1 + # fun:rb_yield + # fun:rb_ary_each + # fun:vm_call_cfunc_with_frame + # fun:vm_call_cfunc + # fun:vm_call_method + # fun:vm_sendish + # fun:vm_exec_core + # fun:rb_vm_exec + # fun:invoke_block + # fun:invoke_iseq_block_from_c + # fun:invoke_block_from_c_bh + # fun:vm_yield + # fun:rb_yield_0 + # fun:rb_yield_1 + # fun:rb_yield + # fun:rb_ary_each + # fun:vm_call_cfunc_with_frame + # fun:vm_call_cfunc + # fun:vm_call_method + # fun:vm_sendish + # fun:vm_exec_core + # fun:rb_vm_exec + # fun:invoke_block + # fun:invoke_iseq_block_from_c + # fun:invoke_block_from_c_bh + # fun:vm_yield + # fun:rb_yield_0 + # fun:rb_yield_1 + # fun:rb_yield + # fun:rb_ary_collect + # fun:vm_call_cfunc_with_frame + # fun:vm_call_cfunc + # fun:vm_call_method + # fun:vm_sendish + # fun:vm_exec_core + # fun:rb_vm_exec + # fun:invoke_block + # fun:invoke_iseq_block_from_c + # fun:invoke_block_from_c_proc + # fun:vm_invoke_proc + # fun:rb_vm_invoke_proc + # fun:rb_proc_call + # fun:exec_end_procs_chain + # fun:rb_ec_exec_end_proc + # fun:rb_ec_teardown + # fun:rb_ec_cleanup + # fun:ruby_run_node + # fun:main } { - https://ci.nokogiri.org/teams/nokogiri-core/pipelines/nokogiri/jobs/ruby-libxmlruby-valgrind/builds/116,https://ci.nokogiri.org/teams/nokogiri-core/pipelines/nokogiri-pr/jobs/ruby-libxmlruby-valgrind/builds/13 + node set enumerators seem to trigger this warning Memcheck:Addr8 fun:mark_locations_array - fun:gc_mark_stacked_objects - fun:gc_mark_stacked_objects_all + fun:gc_marks_wb_unprotected_objects + fun:gc_marks_finish fun:gc_marks_rest + fun:gc_rest.part.* + fun:gc_rest + fun:garbage_collect ... - fun:ruby_finalize_? - fun:ruby_cleanup - ... + # fun:gc_start_internal + # fun:invoke_bf + # fun:vm_invoke_builtin_delegate + # fun:vm_exec_core + # fun:rb_vm_exec + # fun:invoke_block + # fun:invoke_iseq_block_from_c + # fun:invoke_block_from_c_bh + # fun:vm_yield + # fun:rb_yield_0 + # fun:rb_yield_1 + # fun:rb_yield + # fun:rb_ary_each + # fun:vm_call_cfunc_with_frame + # fun:vm_call_cfunc + # fun:vm_call_method + # fun:vm_sendish + # fun:vm_exec_core + # fun:rb_vm_exec + # fun:invoke_block + # fun:invoke_iseq_block_from_c + # fun:invoke_block_from_c_bh + # fun:vm_yield + # fun:rb_yield_0 + # fun:rb_yield_1 + # fun:rb_yield + # fun:rb_ary_each + # fun:vm_call_cfunc_with_frame + # fun:vm_call_cfunc + # fun:vm_call_method + # fun:vm_sendish + # fun:vm_exec_core + # fun:rb_vm_exec + # fun:invoke_block + # fun:invoke_iseq_block_from_c + # fun:invoke_block_from_c_bh + # fun:vm_yield + # fun:rb_yield_0 + # fun:rb_yield_1 + # fun:rb_yield + # fun:rb_ary_collect + # fun:vm_call_cfunc_with_frame + # fun:vm_call_cfunc + # fun:vm_call_method + # fun:vm_sendish + # fun:vm_exec_core + # fun:rb_vm_exec + # fun:invoke_block + # fun:invoke_iseq_block_from_c + # fun:invoke_block_from_c_proc + # fun:vm_invoke_proc + # fun:rb_vm_invoke_proc + # fun:rb_proc_call + # fun:exec_end_procs_chain + # fun:rb_ec_exec_end_proc + # fun:rb_ec_teardown + # fun:rb_ec_cleanup + # fun:ruby_run_node + # fun:main } diff --git a/suppressions/nokogiri_ruby-2.7.supp b/suppressions/nokogiri_ruby-2.7.supp index a93cbdd62c..c1676a1cb8 100644 --- a/suppressions/nokogiri_ruby-2.7.supp +++ b/suppressions/nokogiri_ruby-2.7.supp @@ -1,42 +1,287 @@ { - https://ci.nokogiri.org/teams/nokogiri-core/pipelines/nokogiri/jobs/ruby-2.7-rc-valgrind/builds/1 - Memcheck:Addr8 - fun:mark_locations_array - fun:gc_mark_stacked_objects - fun:gc_mark_stacked_objects_incremental - fun:gc_marks_rest - ... - fun:rb_ec_cleanup + ruby 2.7 startup + Memcheck:Addr4 + fun:iseq_peephole_optimize + fun:iseq_optimize + fun:iseq_setup_insn + fun:iseq_setup_insn + fun:rb_iseq_compile_node + fun:rb_iseq_new_with_opt + fun:new_child_iseq ... + # fun:iseq_compile_each0 + # fun:iseq_compile_each0 + # fun:rb_iseq_compile_node + # fun:rb_iseq_new_with_opt + # fun:new_child_iseq + # fun:iseq_compile_each0 + # fun:iseq_compile_each0 + # fun:rb_iseq_compile_node + # fun:rb_iseq_new_with_opt + # fun:new_child_iseq + # fun:iseq_compile_each0 + # fun:iseq_compile_each0 + # fun:rb_iseq_compile_node + # fun:rb_iseq_new_with_opt + # fun:rb_iseq_new_top + # fun:load_iseq_eval + # fun:require_internal + # fun:rb_require_string + # fun:vm_call_cfunc_with_frame + # fun:vm_call_cfunc + # fun:vm_call_method_each_type.part.410 + # fun:vm_call_method_each_type + # fun:vm_call_method + # fun:vm_sendish + # fun:vm_exec_core + # fun:rb_vm_exec + # fun:load_iseq_eval + # fun:require_internal + # fun:rb_require_string + # fun:vm_call_cfunc_with_frame + # fun:vm_call_cfunc + # fun:vm_call_method_each_type.part.410 + # fun:vm_call_method_each_type + # fun:vm_call_method + # fun:vm_sendish + # fun:vm_exec_core + # fun:rb_vm_exec + # fun:load_iseq_eval + # fun:require_internal + # fun:rb_require_string + # fun:vm_call_cfunc_with_frame + # fun:vm_call_cfunc + # fun:vm_call_method_each_type.part.410 + # fun:vm_call_method_each_type + # fun:vm_call_method + # fun:vm_sendish + # fun:vm_exec_core + # fun:rb_vm_exec + # fun:load_iseq_eval + # fun:require_internal + # fun:rb_require_string + # fun:vm_call_cfunc_with_frame + # fun:vm_call_cfunc + # fun:vm_call_method_each_type.part.410 + # fun:vm_call_method_each_type + # fun:vm_call_method + # fun:vm_sendish + # fun:vm_exec_core + # fun:rb_vm_exec + # fun:load_iseq_eval + # fun:require_internal + # fun:rb_require_string + # fun:vm_call_cfunc_with_frame + # fun:vm_call_cfunc } { - https://ci.nokogiri.org/teams/nokogiri-core/pipelines/nokogiri/jobs/ruby-2.7-rc-valgrind/builds/1 + node set enumerators seem to trigger this warning Memcheck:Addr8 fun:mark_locations_array - fun:gc_marks_wb_unprotected_objects - fun:gc_marks_finish - ... - fun:rb_ec_cleanup + fun:gc_mark_stacked_objects + fun:gc_mark_stacked_objects_all + fun:gc_marks_rest + fun:gc_marks + fun:gc_start + fun:garbage_collect ... + # fun:gc_start_internal + # fun:invoke_bf + # fun:vm_invoke_builtin_delegate + # fun:vm_exec_core + # fun:rb_vm_exec + # fun:invoke_bmethod + # fun:invoke_iseq_block_from_c + # fun:invoke_block_from_c_proc + # fun:rb_vm_invoke_bmethod + # fun:vm_call_bmethod_body + # fun:vm_call_bmethod + # fun:vm_call_method + # fun:vm_call_opt_send + # fun:vm_call_method + # fun:vm_sendish + # fun:vm_exec_core + # fun:rb_vm_exec + # fun:invoke_block + # fun:invoke_iseq_block_from_c + # fun:invoke_block_from_c_bh + # fun:vm_yield + # fun:rb_yield_0 + # fun:rb_yield_1 + # fun:rb_yield + # fun:rb_ary_each + # fun:vm_call_cfunc_with_frame + # fun:vm_call_cfunc + # fun:vm_call_method + # fun:vm_sendish + # fun:vm_exec_core + # fun:rb_vm_exec + # fun:invoke_block + # fun:invoke_iseq_block_from_c + # fun:invoke_block_from_c_bh + # fun:vm_yield + # fun:rb_yield_0 + # fun:rb_yield_1 + # fun:rb_yield + # fun:rb_ary_collect + # fun:vm_call_cfunc_with_frame + # fun:vm_call_cfunc + # fun:vm_call_method + # fun:vm_sendish + # fun:vm_exec_core + # fun:rb_vm_exec + # fun:invoke_block + # fun:invoke_iseq_block_from_c + # fun:invoke_block_from_c_proc + # fun:vm_invoke_proc + # fun:rb_vm_invoke_proc + # fun:rb_proc_call + # fun:exec_end_procs_chain + # fun:rb_ec_exec_end_proc + # fun:rb_ec_teardown + # fun:rb_ec_cleanup + # fun:ruby_run_node + # fun:main } { - https://ci.nokogiri.org/teams/nokogiri-core/pipelines/nokogiri/jobs/ruby-2.7-rc-valgrind/builds/3 + node set enumerators seem to trigger this warning Memcheck:Addr8 fun:mark_locations_array fun:gc_mark_stacked_objects - fun:gc_mark_stacked_objects_all + fun:gc_mark_stacked_objects_incremental fun:gc_marks_rest + fun:gc_rest.part.* + fun:gc_rest + fun:garbage_collect ... - fun:rb_ec_cleanup - ... + # fun:gc_start_internal + # fun:invoke_bf + # fun:vm_invoke_builtin_delegate + # fun:vm_exec_core + # fun:rb_vm_exec + # fun:invoke_block + # fun:invoke_iseq_block_from_c + # fun:invoke_block_from_c_bh + # fun:vm_yield + # fun:rb_yield_0 + # fun:rb_yield_1 + # fun:rb_yield + # fun:rb_ary_each + # fun:vm_call_cfunc_with_frame + # fun:vm_call_cfunc + # fun:vm_call_method + # fun:vm_sendish + # fun:vm_exec_core + # fun:rb_vm_exec + # fun:invoke_block + # fun:invoke_iseq_block_from_c + # fun:invoke_block_from_c_bh + # fun:vm_yield + # fun:rb_yield_0 + # fun:rb_yield_1 + # fun:rb_yield + # fun:rb_ary_each + # fun:vm_call_cfunc_with_frame + # fun:vm_call_cfunc + # fun:vm_call_method + # fun:vm_sendish + # fun:vm_exec_core + # fun:rb_vm_exec + # fun:invoke_block + # fun:invoke_iseq_block_from_c + # fun:invoke_block_from_c_bh + # fun:vm_yield + # fun:rb_yield_0 + # fun:rb_yield_1 + # fun:rb_yield + # fun:rb_ary_collect + # fun:vm_call_cfunc_with_frame + # fun:vm_call_cfunc + # fun:vm_call_method + # fun:vm_sendish + # fun:vm_exec_core + # fun:rb_vm_exec + # fun:invoke_block + # fun:invoke_iseq_block_from_c + # fun:invoke_block_from_c_proc + # fun:vm_invoke_proc + # fun:rb_vm_invoke_proc + # fun:rb_proc_call + # fun:exec_end_procs_chain + # fun:rb_ec_exec_end_proc + # fun:rb_ec_teardown + # fun:rb_ec_cleanup + # fun:ruby_run_node + # fun:main } { - https://ci.nokogiri.org/teams/nokogiri-core/pipelines/nokogiri/jobs/ruby-2.7-valgrind/builds/1 - Memcheck:Addr4 - fun:iseq_peephole_optimize - fun:iseq_optimize - ... - fun:rb_iseq_compile_node - fun:rb_iseq_new_with_opt + node set enumerators seem to trigger this warning + Memcheck:Addr8 + fun:mark_locations_array + fun:gc_marks_wb_unprotected_objects + fun:gc_marks_finish + fun:gc_marks_rest + fun:gc_rest.part.* + fun:gc_rest + fun:garbage_collect ... + # fun:gc_start_internal + # fun:invoke_bf + # fun:vm_invoke_builtin_delegate + # fun:vm_exec_core + # fun:rb_vm_exec + # fun:invoke_block + # fun:invoke_iseq_block_from_c + # fun:invoke_block_from_c_bh + # fun:vm_yield + # fun:rb_yield_0 + # fun:rb_yield_1 + # fun:rb_yield + # fun:rb_ary_each + # fun:vm_call_cfunc_with_frame + # fun:vm_call_cfunc + # fun:vm_call_method + # fun:vm_sendish + # fun:vm_exec_core + # fun:rb_vm_exec + # fun:invoke_block + # fun:invoke_iseq_block_from_c + # fun:invoke_block_from_c_bh + # fun:vm_yield + # fun:rb_yield_0 + # fun:rb_yield_1 + # fun:rb_yield + # fun:rb_ary_each + # fun:vm_call_cfunc_with_frame + # fun:vm_call_cfunc + # fun:vm_call_method + # fun:vm_sendish + # fun:vm_exec_core + # fun:rb_vm_exec + # fun:invoke_block + # fun:invoke_iseq_block_from_c + # fun:invoke_block_from_c_bh + # fun:vm_yield + # fun:rb_yield_0 + # fun:rb_yield_1 + # fun:rb_yield + # fun:rb_ary_collect + # fun:vm_call_cfunc_with_frame + # fun:vm_call_cfunc + # fun:vm_call_method + # fun:vm_sendish + # fun:vm_exec_core + # fun:rb_vm_exec + # fun:invoke_block + # fun:invoke_iseq_block_from_c + # fun:invoke_block_from_c_proc + # fun:vm_invoke_proc + # fun:rb_vm_invoke_proc + # fun:rb_proc_call + # fun:exec_end_procs_chain + # fun:rb_ec_exec_end_proc + # fun:rb_ec_teardown + # fun:rb_ec_cleanup + # fun:ruby_run_node + # fun:main } diff --git a/suppressions/nokogiri_ruby-2.supp b/suppressions/nokogiri_ruby-2.supp deleted file mode 100644 index 5a4bc757a7..0000000000 --- a/suppressions/nokogiri_ruby-2.supp +++ /dev/null @@ -1,10 +0,0 @@ -{ - - Memcheck:Free - fun:free - fun:__libc_freeres - fun:_vgnU_freeres - fun:__run_exit_handlers - fun:exit - fun:(below main) -} diff --git a/suppressions/nokogiri_ruby-3.0.supp b/suppressions/nokogiri_ruby-3.0.supp index 664c87df0a..263faa8025 100644 --- a/suppressions/nokogiri_ruby-3.0.supp +++ b/suppressions/nokogiri_ruby-3.0.supp @@ -1,6 +1,6 @@ { - generated on dev machine via "valgrind --gen-suppressions=all ruby -Ilib:test test/test_gem_platform.rb" - Memcheck:Cond + ruby 3.0 startup + Memcheck:Addr4 fun:iseq_peephole_optimize fun:iseq_optimize fun:iseq_setup_insn @@ -9,25 +9,13 @@ fun:rb_iseq_new_with_opt fun:new_child_iseq ... - # fun:compile_iter - # fun:iseq_compile_each0 - # fun:iseq_compile_each - # fun:iseq_compile_each0 - # fun:iseq_compile_each - # fun:rb_iseq_compile_node - # fun:rb_iseq_new_with_opt - # fun:new_child_iseq # fun:iseq_compile_each0 - # fun:iseq_compile_each # fun:iseq_compile_each0 - # fun:iseq_compile_each # fun:rb_iseq_compile_node # fun:rb_iseq_new_with_opt # fun:new_child_iseq # fun:iseq_compile_each0 - # fun:iseq_compile_each # fun:iseq_compile_each0 - # fun:iseq_compile_each # fun:rb_iseq_compile_node # fun:rb_iseq_new_with_opt # fun:rb_iseq_new_top @@ -35,9 +23,7 @@ # fun:require_internal # fun:rb_require_string # fun:vm_call_cfunc_with_frame - # fun:vm_call_method_each_type - # fun:vm_call_alias - # fun:vm_sendish + # fun:vm_sendish.constprop.531 # fun:vm_exec_core # fun:rb_vm_exec # fun:load_iseq_eval @@ -46,7 +32,7 @@ # fun:vm_call_cfunc_with_frame # fun:vm_call_method_each_type # fun:vm_call_alias - # fun:vm_sendish + # fun:vm_sendish.constprop.531 # fun:vm_exec_core # fun:rb_vm_exec # fun:load_iseq_eval @@ -55,7 +41,7 @@ # fun:vm_call_cfunc_with_frame # fun:vm_call_method_each_type # fun:vm_call_alias - # fun:vm_sendish + # fun:vm_sendish.constprop.531 # fun:vm_exec_core # fun:rb_vm_exec # fun:load_iseq_eval @@ -64,18 +50,21 @@ # fun:vm_call_cfunc_with_frame # fun:vm_call_method_each_type # fun:vm_call_alias - # fun:vm_sendish + # fun:vm_sendish.constprop.531 # fun:vm_exec_core # fun:rb_vm_exec - # fun:rb_ec_exec_node - # fun:ruby_run_node - # fun:main + # fun:load_iseq_eval + # fun:require_internal + # fun:rb_require_string + # fun:vm_call_cfunc_with_frame + # fun:vm_call_method_each_type + # fun:vm_call_alias } { - generated manually in alpine 3.13.1 image on dev machine + ruby 3.0 startup in alpine 3.13.1 image Memcheck:Addr4 fun:iseq_peephole_optimize - fun:iseq_optimize.isra.0 + fun:iseq_optimize.isra.* fun:iseq_setup_insn fun:iseq_setup_insn fun:rb_iseq_compile_node @@ -148,90 +137,20 @@ # fun:rb_const_search_from } { - generated on dev machine via "valgrind --gen-suppressions=all ruby -Ilib:test test/test_gem_platform.rb" - Memcheck:Addr4 - fun:iseq_peephole_optimize - fun:iseq_optimize - fun:iseq_setup_insn - fun:iseq_setup_insn - fun:rb_iseq_compile_node - fun:rb_iseq_new_with_opt - fun:new_child_iseq - ... - # fun:iseq_compile_each0 - # fun:iseq_compile_each - # fun:iseq_compile_each0 - # fun:iseq_compile_each - # fun:rb_iseq_compile_node - # fun:rb_iseq_new_with_opt - # fun:new_child_iseq - # fun:iseq_compile_each0 - # fun:iseq_compile_each - # fun:iseq_compile_each0 - # fun:iseq_compile_each - # fun:rb_iseq_compile_node - # fun:rb_iseq_new_with_opt - # fun:rb_iseq_new_top - # fun:load_iseq_eval - # fun:require_internal - # fun:rb_require_string - # fun:vm_call_cfunc_with_frame - # fun:vm_sendish - # fun:vm_exec_core - # fun:rb_vm_exec - # fun:load_iseq_eval - # fun:require_internal - # fun:rb_require_string - # fun:vm_call_cfunc_with_frame - # fun:vm_call_method_each_type - # fun:vm_call_alias - # fun:vm_sendish - # fun:vm_exec_core - # fun:rb_vm_exec - # fun:load_iseq_eval - # fun:require_internal - # fun:rb_require_string - # fun:vm_call_cfunc_with_frame - # fun:vm_call_method_each_type - # fun:vm_call_alias - # fun:vm_sendish - # fun:vm_exec_core - # fun:rb_vm_exec - # fun:load_iseq_eval - # fun:require_internal - # fun:rb_require_string - # fun:vm_call_cfunc_with_frame - # fun:vm_call_method_each_type - # fun:vm_call_alias - # fun:vm_sendish - # fun:vm_exec_core - # fun:rb_vm_exec - # fun:rb_ec_exec_node - # fun:ruby_run_node - # fun:main -} -{ - generated in flavorjones/nokogiri-test:mri-3.0 OCI container + node set enumerators seem to trigger this warning Memcheck:Addr8 fun:mark_locations_array fun:gc_mark_children fun:gc_mark_stacked_objects - ... - # fun:gc_mark_stacked_objects_incremental + fun:gc_mark_stacked_objects_all fun:gc_marks_rest - ... - # fun:gc_rest.part.136 - # fun:gc_rest + fun:gc_marks + fun:gc_start fun:garbage_collect ... - # fun:newobj_slowpath - # fun:newobj_slowpath_wb_protected - # fun:newobj_of0 - # fun:newobj_of - # fun:rb_wb_protected_newobj_of - # fun:str_alloc - # fun:str_duplicate - # fun:rb_str_resurrect + # fun:gc_start_internal + # fun:invoke_bf + # fun:vm_invoke_builtin # fun:vm_exec_core # fun:rb_vm_exec # fun:invoke_block @@ -240,52 +159,24 @@ # fun:vm_yield # fun:rb_yield_0 # fun:rb_yield_1 - # fun:rb_yield - # fun:rb_ary_each + # fun:int_dotimes # fun:vm_call_cfunc_with_frame + # fun:vm_call_method_each_type + # fun:vm_call_method # fun:vm_sendish.constprop.531 # fun:vm_exec_core # fun:rb_vm_exec - # fun:invoke_block - # fun:invoke_iseq_block_from_c - # fun:invoke_block_from_c_bh - # fun:vm_yield - # fun:rb_yield_0 - # fun:rb_yield_1 - # fun:rb_yield - # fun:rb_ary_collect - # fun:vm_call_cfunc_with_frame + # fun:invoke_bmethod.isra.505 + # fun:vm_call_bmethod_body + # fun:vm_call_bmethod + # fun:vm_call_method_each_type + # fun:vm_call_method + # fun:vm_call_symbol + # fun:vm_call_method_each_type + # fun:vm_call_method # fun:vm_sendish.constprop.531 # fun:vm_exec_core # fun:rb_vm_exec - # fun:rb_vm_invoke_proc - # fun:rb_proc_call - # fun:exec_end_procs_chain - # fun:rb_ec_exec_end_proc - # fun:rb_ec_teardown - # fun:rb_ec_cleanup - # fun:ruby_run_node - # fun:main -} -{ - https://ci.nokogiri.org/teams/nokogiri-core/pipelines/nokogiri-pr/jobs/cruby-3.0-rc/builds/83#L5fc5a950:645 - Memcheck:Addr8 - fun:mark_locations_array - fun:gc_mark_children - fun:gc_mark_stacked_objects - ... - # fun:gc_mark_stacked_objects_all - fun:gc_marks_rest - ... - # fun:gc_marks - # fun:gc_start - fun:garbage_collect - ... - # fun:gc_start_internal - # fun:invoke_bf - # fun:vm_invoke_builtin - # fun:vm_exec_core - # fun:rb_vm_exec # fun:invoke_block # fun:invoke_iseq_block_from_c # fun:invoke_block_from_c_bh @@ -295,7 +186,7 @@ # fun:rb_yield # fun:rb_ary_each # fun:vm_call_cfunc_with_frame - # fun:vm_sendish.constprop.530 + # fun:vm_sendish.constprop.531 # fun:vm_exec_core # fun:rb_vm_exec # fun:invoke_block @@ -307,7 +198,7 @@ # fun:rb_yield # fun:rb_ary_collect # fun:vm_call_cfunc_with_frame - # fun:vm_sendish.constprop.530 + # fun:vm_sendish.constprop.531 # fun:vm_exec_core # fun:rb_vm_exec # fun:rb_vm_invoke_proc @@ -320,21 +211,25 @@ # fun:main } { - https://ci.nokogiri.org/teams/nokogiri-core/pipelines/nokogiri/jobs/cruby-3.0/builds/5#L5fc5adad:473 + node set enumerators seem to trigger this warning Memcheck:Addr8 fun:mark_locations_array fun:gc_mark_children - fun:gc_marks_wb_unprotected_objects - ... - # fun:gc_marks_finish - # fun:gc_marks_rest - # fun:gc_rest.part.136 + fun:gc_mark_stacked_objects + fun:gc_mark_stacked_objects_incremental + fun:gc_marks_rest + fun:gc_rest.part.* fun:gc_rest fun:garbage_collect ... - # fun:gc_start_internal - # fun:invoke_bf - # fun:vm_invoke_builtin + # fun:newobj_slowpath + # fun:newobj_slowpath_wb_protected + # fun:newobj_of0 + # fun:newobj_of + # fun:rb_wb_protected_newobj_of + # fun:str_alloc + # fun:str_duplicate + # fun:rb_str_resurrect # fun:vm_exec_core # fun:rb_vm_exec # fun:invoke_block @@ -371,89 +266,25 @@ # fun:main } { - https://ci.nokogiri.org/teams/nokogiri-core/pipelines/nokogiri-pr/jobs/cruby-3.0/builds/11#L5fc5b89c:471 - Memcheck:Addr8 - fun:mark_locations_array - fun:gc_mark_children - fun:gc_mark_stacked_objects - ... - # fun:gc_mark_stacked_objects_incremental - # fun:gc_marks_rest - # fun:gc_rest.part.136 - # fun:gc_rest - # fun:objspace_each_objects - # fun:rb_objspace_each_objects - fun:rb_reset_coverages - fun:rb_coverage_result - ... - # fun:vm_call_cfunc_with_frame - # fun:vm_call_method_each_type - # fun:vm_call_method - # fun:vm_sendish.constprop.531 - # fun:vm_exec_core - # fun:rb_vm_exec - # fun:rb_vm_invoke_proc - # fun:rb_proc_call - # fun:exec_end_procs_chain - # fun:rb_ec_exec_end_proc - # fun:rb_ec_teardown - # fun:rb_ec_cleanup - # fun:ruby_run_node - # fun:main -} -{ - https://ci.nokogiri.org/teams/nokogiri-core/pipelines/nokogiri-pr/jobs/cruby-3.0/builds/11#L5fc5b89c:529 + node set enumerators seem to trigger this warning Memcheck:Addr8 fun:mark_locations_array fun:gc_mark_children fun:gc_marks_wb_unprotected_objects fun:gc_marks_finish fun:gc_marks_rest + fun:gc_rest.part.* + fun:gc_rest + fun:garbage_collect ... - # fun:gc_rest.part.136 - # fun:gc_rest - # fun:objspace_each_objects - # fun:rb_objspace_each_objects - fun:rb_reset_coverages - fun:rb_coverage_result - ... - # fun:vm_call_cfunc_with_frame - # fun:vm_call_method_each_type - # fun:vm_call_method - # fun:vm_sendish.constprop.531 - # fun:vm_exec_core - # fun:rb_vm_exec - # fun:rb_vm_invoke_proc - # fun:rb_proc_call - # fun:exec_end_procs_chain - # fun:rb_ec_exec_end_proc - # fun:rb_ec_teardown - # fun:rb_ec_cleanup - # fun:ruby_run_node - # fun:main -} -{ - https://ci.nokogiri.org/builds/14555#L5fc5c6b0:492 - Memcheck:Addr8 - fun:mark_locations_array - fun:gc_mark_children - fun:gc_mark_stacked_objects - fun:gc_mark_stacked_objects_incremental - fun:gc_marks_rest - fun:gc_marks_continue - fun:heap_prepare - fun:heap_next_freepage - ... - # fun:ractor_cache_slots # fun:newobj_slowpath # fun:newobj_slowpath_wb_protected # fun:newobj_of0 # fun:newobj_of # fun:rb_wb_protected_newobj_of - # fun:hash_alloc_flags - # fun:hash_alloc - # fun:rb_hash_new - # fun:rb_hash_new_with_size + # fun:str_alloc + # fun:str_duplicate + # fun:rb_str_resurrect # fun:vm_exec_core # fun:rb_vm_exec # fun:invoke_block