Stuart Henderson <s...@spacehopper.org> wrote: > On 2018/09/26 20:15, Stuart Henderson wrote: > > On 2018/09/26 19:16, Stuart Henderson wrote: > > > N.B. "Ports using KERN_CPTIME2 will need to be updated." > > > > > > This is likely to cause a bunch of breakage in things reporting CPU stats > > > and time is very short to fix them before release. > > > > > > If you look after ports that do this, get onto a kernel with this change > > > (very new commit so it probably won't be in snaps quite just yet) and > > > test ASAP. > > > > Some starting points for investigation, > > > > assorted mozillas > > collectd > > conky > > go > > htop > > libgtop2 > > net-snmp > > node > > pgtop > > py-psutil > > libuv (+ embedded copies, at least in cmake, maybe more) > > zabbix > > From a search over extracted ports source and cleaned up (ignoring ifdefs > etc): > > libgtop2-2.38.0 sysdeps/openbsd/cpu.c:static int mib_cptime_s > [] = { CTL_KERN, KERN_CPTIME2, 0 }; > conky-1.9.0 src/openbsd.c: int cp_time_mib[] > = { CTL_KERN, KERN_CPTIME2, i }; > symon-2.88 platform/OpenBSD/sm_cpu.c: st->parg.cp.mib[1] = > KERN_CPTIME2; > xstatbar-0.5 stats.c: mib_cpus[1] = KERN_CPTIME2; > xfce4-cpugraph-1.0.5 panel-plugin/os.c: gint mib[] = {CTL_KERN, > KERN_CPTIME2, i - 1}; > net-snmp-5.8 agent/mibgroup/hardware/cpu/cpu_sysctl.c: int > mcpu_mib[] = { CTL_KERN, KERN_CPTIME2, 0 }; > zabbix-3.4.11 src/zabbix_agent/cpustat.c: mib[1] > = KERN_CPTIME2; > filebeat-6.2.4 > vendor/github.com/elastic/gosigar/sigar_openbsd.go: mib = > []int32{C.CTL_KERN, C.KERN_CPTIME2, int32(curcpu)} > heartbeat-6.2.4 > vendor/github.com/elastic/gosigar/sigar_openbsd.go: mib = > []int32{C.CTL_KERN, C.KERN_CPTIME2, int32(curcpu)} > metricbeat-6.2.4 vendor/github.com/elastic/gosigar/sigar_openbsd.go: > mib = []int32{C.CTL_KERN, C.KERN_CPTIME2, int32(curcpu)} > packetbeat-6.2.4 vendor/github.com/elastic/gosigar/sigar_openbsd.go: > mib = []int32{C.CTL_KERN, C.KERN_CPTIME2, int32(curcpu)} > collectd-5.8.0 src/cpu.c: int mib[] = {CTL_KERN, > KERN_CPTIME2, i}; > consul-1.2.3 vendor/github.com/shirou/gopsutil/cpu/cpu_openbsd.go: > KernCptime2 = 71 // KERN_CPTIME2 > htop-2.2.0 openbsd/Platform.c: int mib[] = { CTL_KERN, > KERN_CPTIME2, cpu-1 }; > > libuv & vendored copies > > libuv-1.19.1 src/unix/openbsd.c: which[1] = KERN_CPTIME2; > cmake-3.10.2 Utilities/cmlibuv/src/unix/openbsd.c: which[1] = > KERN_CPTIME2; > moarvm-2017.10 3rdparty/libuv/src/unix/openbsd.c: which[1] = > KERN_CPTIME2; > node-8.12.0 deps/uv/src/unix/openbsd.c: which[1] = KERN_CPTIME2; > passenger-5.1.11 > src/cxx_supportlib/vendor-copy/libuv/src/unix/openbsd.c: which[1] = > KERN_CPTIME2; > py-uv-1.3.0 deps/libuv/src/unix/openbsd.c: which[1] = KERN_CPTIME2; > > psutil & vendored copies > > py-psutil-5.4.3 psutil/arch/openbsd/specific.c: mib[1] = > KERN_CPTIME2; > firefox-esr-60.2.1 > third_party/python/psutil/psutil/arch/openbsd/specific.c: mib[1] = > KERN_CPTIME2; > firefox-62.0.2 > third_party/python/psutil/psutil/arch/openbsd/specific.c: mib[1] = > KERN_CPTIME2; > > rust & vendored copies, consts only I believe: > > cbindgen-0.6.3 > modcargo-crates/libc-0.2.41/src/unix/bsd/netbsdlike/openbsdlike/mod.rs:pub > const KERN_CPTIME2: ::c_int = 71; > exa-0.8.0 > modcargo-crates/libc-0.2.30/src/unix/bsd/netbsdlike/openbsdlike/mod.rs:pub > const KERN_CPTIME2: ::c_int = 71; > firefox-62.0.2 > third_party/rust/libc/src/unix/bsd/netbsdlike/openbsdlike/mod.rs:pub const > KERN_CPTIME2: ::c_int = 71; > firefox-esr-60.2.1 > third_party/rust/libc/src/unix/bsd/netbsdlike/openbsdlike/mod.rs:pub const > KERN_CPTIME2: ::c_int = 71; > librsvg-2.44.4 > vendor/libc/src/unix/bsd/netbsdlike/openbsdlike/mod.rs:pub const > KERN_CPTIME2: ::c_int = 71; > ripgrep-0.8.1 > modcargo-crates/libc-0.2.36/src/unix/bsd/netbsdlike/openbsdlike/mod.rs:pub > const KERN_CPTIME2: ::c_int = 71; > rust-1.29.1 > src/liblibc/src/unix/bsd/netbsdlike/openbsdlike/mod.rs:pub const > KERN_CPTIME2: ::c_int = 71; > rust-1.29.1 > src/vendor/libc/src/unix/bsd/netbsdlike/openbsdlike/mod.rs:pub const > KERN_CPTIME2: ::c_int = 71; > seamonkey-2.49.4 > mozilla/third_party/rust/libc/src/unix/bsd/openbsdlike/bitrig.rs:pub const > KERN_CPTIME2: ::c_int = 71; > seamonkey-2.49.4 > mozilla/third_party/rust/libc/src/unix/bsd/openbsdlike/openbsd.rs:pub const > KERN_CPTIME2: ::c_int = 71; > spidermonkey-52.8.1 > third_party/rust/libc/src/unix/bsd/openbsdlike/bitrig.rs:pub const > KERN_CPTIME2: ::c_int = 71; > spidermonkey-52.8.1 > third_party/rust/libc/src/unix/bsd/openbsdlike/openbsd.rs:pub const > KERN_CPTIME2: ::c_int = 71; > suricata-4.0.5 > rust/vendor/libc/src/unix/bsd/netbsdlike/openbsdlike/mod.rs:pub const > KERN_CPTIME2: ::c_int = 71; > tb-browser-7.5.3 > third_party/rust/libc/src/unix/bsd/openbsdlike/bitrig.rs:pub const > KERN_CPTIME2: ::c_int = 71; > tb-browser-7.5.3 > third_party/rust/libc/src/unix/bsd/openbsdlike/openbsd.rs:pub const > KERN_CPTIME2: ::c_int = 71; > thunderbird-52.9.1 > mozilla/third_party/rust/libc/src/unix/bsd/openbsdlike/bitrig.rs:pub const > KERN_CPTIME2: ::c_int = 71; > thunderbird-52.9.1 > mozilla/third_party/rust/libc/src/unix/bsd/openbsdlike/openbsd.rs:pub const > KERN_CPTIME2: ::c_int = 71;
doing more tests, I felt motivated. xfce4-cpugraph: hw.smt=0 ERROR no console output, displays 8 cpu bars and nothing move on it. xfce4-cpugraph: hw.smt=0 OK bars get updated gnome-system-monitor: hw.smt=0 ERROR crash dump (gdb) bt #0 thrkill () at -:3 #1 0x000003624601c75e in _libc_abort () at /usr/src/lib/libc/stdlib/abort.c:51 #2 0x0000036245fe6959 in wrterror (d=0x361cac29380, msg=0x3624617de99 "chunk is already free %p") at /usr/src/lib/libc/stdlib/malloc.c:291 #3 0x0000036245fe765d in ofree (argpool=<optimized out>, p=<optimized out>, clear=0, check=0, argsz=0) at /usr/src/lib/libc/stdlib/malloc.c:1261 #4 0x0000036245fe6a5c in free (ptr=0x36195cec630) at /usr/src/lib/libc/stdlib/malloc.c:1419 #5 0x00000361c2311a6f in g_variant_type_info_get (type=0x361c52dfd10) at gvarianttypeinfo.c:776 #6 0x00000361c2309ba1 in g_variant_alloc (type=0x0, serialised=0, trusted=1) at gvariant-core.c:477 #7 g_variant_new_from_children (type=0x0, children=0x3619eb58b10, n_children=2, trusted=1) at gvariant-core.c:565 #8 0x00000361c2305aae in g_variant_builder_end (builder=0x7f7ffffea4c0) at gvariant.c:3703 #9 0x00000361c2307739 in g_variant_valist_new (str=0x7f7ffffea638, app=0x7f7ffffea640) at gvariant.c:5199 #10 0x00000361c2306d7c in g_variant_new_va (format_string=0x35f8aa44fce "", endptr=<optimized out>, app=<optimized out>) at gvariant.c:5372 #11 g_variant_builder_add (builder=0x7f7ffffea698, format_string=<optimized out>) at gvariant.c:5528 #12 0x0000035f8a924e3e in ?? () #13 0x0000035f8a92484c in GsmApplication::load_settings() () #14 0x0000035f8a926798 in GsmApplication::on_startup() () #15 0x00000361b51a64dd in Gio::Application_Class::startup_callback(_GApplication*) () from /usr/local/lib/libgiomm-2.4.so.14.0 #16 0x00000361dcde9053 in g_closure_invoke (closure=0x361ef76d620, return_value=0x0, n_param_values=1, param_values=0x7f7fffffab90, invocation_hint=<optimized out>) at gclosure.c:804 #17 0x00000361dce015d3 in signal_emit_unlocked_R (node=<optimized out>, detail=<optimized out>, instance=<optimized out>, emission_return=<optimized out>, instance_and_params=<optimized out>) at gsignal.c:3565 #18 0x00000361dce026a5 in g_signal_emit_valist (instance=0x3622d4781a0, signal_id=<optimized out>, detail=0, var_args=0x7f7fffffada0) at gsignal.c:3391 #19 0x00000361dce02d8f in g_signal_emit (instance=0x0, signal_id=6, detail=0) at gsignal.c:3447 #20 0x000003626556a904 in g_application_register (application=0x3622d4781a0, cancellable=0x0, error=0x7f7fffffae40) at gapplication.c:2137 #21 0x000003626556cb37 in g_application_real_local_command_line (application=0x3622d4781a0, arguments=<optimized out>, exit_status=<optimized out>) at gapplication.c:1086 #22 0x00000361b51a7feb in Gio::Application::local_command_line_vfunc(char**&, int&) () from /usr/local/lib/libgiomm-2.4.so.14.0 #23 0x00000361b51a604d in Gio::Application_Class::local_command_line_vfunc_callback(_GApplication*, char***, int*) () from /usr/local/lib/libgiomm-2.4.so.14.0 #24 0x000003626556af81 in g_application_run (application=0x3622d4781a0, argc=<optimized out>, argv=<optimized out>) at gapplication.c:2439 #25 0x0000035f8a92841f in main () gnome-system-monitor: hw.smt=1 OK symon: hw.smt=0 : Seems ok, it doesn't crash and send data but we don't have shmux to receive it. Using nc -u -l 2100 displays binary symon: hw.smt=1 : Seems ok consul: hw.smt=0 : "OK", I tried to deploy it but it's rather complicated. $ consul info runtime: arch = amd64 cpu_count = 8 goroutines = 75 max_procs = 8 consul: hw.smt=1 : OK $ consul info runtime: arch = amd64 cpu_count = 8 goroutines = 75 max_procs = 8 filebeat: hw.smt=0 : I can start it but no idea how to use it filebeat: hw.smt=1 : same ^ net-snmp: can't find how to start it heartbeat: hw.smt=0 it starts... dunno how to use it heartbeat: hw.smt=1 it starts... dunno how to use it packetbeat: hw.smt=0 it starts... dunno how to use it packetbeat: hw.smt=1 it starts... dunno how to use it metricbeat: hw.smt=0 it starts... dunno how to use it metricbeat: hw.smt=1 it starts... dunno how to use it tor-browser: hw.smt=0 OK tor-browser: hw.smt=1 OK