Enhance ORM by nri

What type of PR is this?
Features: enhance ORM by NRI
What this PR does / why we need it:
Issue: https://github.com/kubewharf/katalyst-core/issues/430
Proposal: https://github.com/kubewharf/katalyst-core/pull/525
Test case: todo

/cc @luomingmeng @csfldf
I found an existing data race in SysAdvisor and fixed it by adding a lock to the BaseServer:
https://github.com/kubewharf/katalyst-core/actions/runs/9693687133/job/26752828044?pr=553
2024-06-27T08:38:52.5595198Z I0627 08:38:48.347947   43294 advisor.go:139] "[katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/resource/memory.(*memoryResourceAdvisor).Run] wait to list containers"
2024-06-27T08:38:52.5597546Z ==================
2024-06-27T08:38:52.5598032Z WARNING: DATA RACE
2024-06-27T08:38:52.5598598Z Read at 0x00c000d08660 by goroutine 87:
2024-06-27T08:38:52.5600416Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*baseServer).Stop()
2024-06-27T08:38:52.5603206Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server/base_server.go:189 +0x17e
2024-06-27T08:38:52.5605828Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*cpuServer).Stop()
2024-06-27T08:38:52.5607502Z       <autogenerated>:1 +0x44
2024-06-27T08:38:52.5609189Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*qrmServerWrapper).Run()
2024-06-27T08:38:52.5611728Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server/server.go:95 +0x35e
2024-06-27T08:38:52.5614012Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware.(*QoSAwarePlugin).Run.func3()
2024-06-27T08:38:52.5617127Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/qos_aware.go:126 +0x67
2024-06-27T08:38:52.5618269Z
2024-06-27T08:38:52.5618576Z Previous write at 0x00c000d08660 by goroutine 104:
2024-06-27T08:38:52.5620528Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*cpuServer).RegisterAdvisorServer()
2024-06-27T08:38:52.5623363Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server/cpu_server.go:70 +0x86
2024-06-27T08:38:52.5625960Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*baseServer).serve()
2024-06-27T08:38:52.5628905Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server/base_server.go:158 +0x9b4
2024-06-27T08:38:52.5631433Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*baseServer).Start.func1()
2024-06-27T08:38:52.5634202Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server/base_server.go:116 +0x15b
2024-06-27T08:38:52.5635998Z   k8s.io/apimachinery/pkg/util/wait.ConditionFunc.WithContext.func1()
2024-06-27T08:38:52.5637746Z       /root/go/pkg/mod/k8s.io/apimachinery@v0.24.6/pkg/util/wait/wait.go:220 +0x30
2024-06-27T08:38:52.5639256Z   k8s.io/apimachinery/pkg/util/wait.runConditionWithCrashProtectionWithContext()
2024-06-27T08:38:52.5640943Z       /root/go/pkg/mod/k8s.io/apimachinery@v0.24.6/pkg/util/wait/wait.go:233 +0x7b
2024-06-27T08:38:52.5642063Z   k8s.io/apimachinery/pkg/util/wait.poll()
2024-06-27T08:38:52.5643376Z       /root/go/pkg/mod/k8s.io/apimachinery@v0.24.6/pkg/util/wait/wait.go:580 +0x57
2024-06-27T08:38:52.5644678Z   k8s.io/apimachinery/pkg/util/wait.PollImmediateUntilWithContext()
2024-06-27T08:38:52.5646070Z       /root/go/pkg/mod/k8s.io/apimachinery@v0.24.6/pkg/util/wait/wait.go:545 +0x59
2024-06-27T08:38:52.5647393Z   k8s.io/apimachinery/pkg/util/wait.PollImmediateUntil()
2024-06-27T08:38:52.5648797Z       /root/go/pkg/mod/k8s.io/apimachinery@v0.24.6/pkg/util/wait/wait.go:536 +0x9e
2024-06-27T08:38:52.5650728Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*baseServer).Start.func2()
2024-06-27T08:38:52.5653290Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server/base_server.go:114 +0x4c
2024-06-27T08:38:52.5654469Z
2024-06-27T08:38:52.5654858Z Goroutine 87 (running) created at:
2024-06-27T08:38:52.5656312Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware.(*QoSAwarePlugin).Run()
2024-06-27T08:38:52.5658861Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/qos_aware.go:126 +0x29b
2024-06-27T08:38:52.5660944Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware.TestQoSAwarePlugin.func5()
2024-06-27T08:38:52.5663379Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/qos_aware_test.go:125 +0x67
2024-06-27T08:38:52.5664558Z
2024-06-27T08:38:52.5664789Z Goroutine 104 (running) created at:
2024-06-27T08:38:52.5666528Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*baseServer).Start()
2024-06-27T08:38:52.5736541Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server/base_server.go:114 +0x2a5
2024-06-27T08:38:52.5739143Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*cpuServer).Start()
2024-06-27T08:38:52.5740588Z       <autogenerated>:1 +0x44
2024-06-27T08:38:52.5742306Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*qrmServerWrapper).Run.func1.1()
2024-06-27T08:38:52.5745006Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server/server.go:83 +0x174
2024-06-27T08:38:52.5746815Z   k8s.io/apimachinery/pkg/util/wait.ConditionFunc.WithContext.func1()
2024-06-27T08:38:52.5748589Z       /root/go/pkg/mod/k8s.io/apimachinery@v0.24.6/pkg/util/wait/wait.go:220 +0x30
2024-06-27T08:38:52.5750220Z   k8s.io/apimachinery/pkg/util/wait.runConditionWithCrashProtectionWithContext()
2024-06-27T08:38:52.5752002Z       /root/go/pkg/mod/k8s.io/apimachinery@v0.24.6/pkg/util/wait/wait.go:233 +0x7b
2024-06-27T08:38:52.5753155Z   k8s.io/apimachinery/pkg/util/wait.poll()
2024-06-27T08:38:52.5754503Z       /root/go/pkg/mod/k8s.io/apimachinery@v0.24.6/pkg/util/wait/wait.go:580 +0x57
2024-06-27T08:38:52.5755877Z   k8s.io/apimachinery/pkg/util/wait.PollImmediateUntilWithContext()
2024-06-27T08:38:52.5757597Z       /root/go/pkg/mod/k8s.io/apimachinery@v0.24.6/pkg/util/wait/wait.go:545 +0x59
2024-06-27T08:38:52.5759093Z   k8s.io/apimachinery/pkg/util/wait.PollImmediateUntil()
2024-06-27T08:38:52.5760476Z       /root/go/pkg/mod/k8s.io/apimachinery@v0.24.6/pkg/util/wait/wait.go:536 +0x9e
2024-06-27T08:38:52.5762503Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*qrmServerWrapper).Run.func1()
2024-06-27T08:38:52.5771753Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server/server.go:81 +0xdb
2024-06-27T08:38:52.5774182Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*qrmServerWrapper).Run.func2()
2024-06-27T08:38:52.5776757Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server/server.go:90 +0x58
2024-06-27T08:38:52.5778169Z ==================
2024-06-27T08:38:52.5778630Z ==================
2024-06-27T08:38:52.5779095Z WARNING: DATA RACE
2024-06-27T08:38:52.5779635Z Read at 0x00c000534190 by goroutine 87:
2024-06-27T08:38:52.5780425Z   google.golang.org/grpc.(*Server).Stop()
2024-06-27T08:38:52.5781660Z       /root/go/pkg/mod/google.golang.org/grpc@v1.57.1/server.go:1821 +0x53
2024-06-27T08:38:52.5783635Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*baseServer).Stop()
2024-06-27T08:38:52.5786278Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server/base_server.go:190 +0x1c6
2024-06-27T08:38:52.5788739Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*cpuServer).Stop()
2024-06-27T08:38:52.5790144Z       <autogenerated>:1 +0x44
2024-06-27T08:38:52.5791767Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*qrmServerWrapper).Run()
2024-06-27T08:38:52.5794555Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server/server.go:95 +0x35e
2024-06-27T08:38:52.5796923Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware.(*QoSAwarePlugin).Run.func3()
2024-06-27T08:38:52.5872488Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/qos_aware.go:126 +0x67
2024-06-27T08:38:52.5873620Z
2024-06-27T08:38:52.5873946Z Previous write at 0x00c000534190 by goroutine 104:
2024-06-27T08:38:52.5874779Z   google.golang.org/grpc.NewServer()
2024-06-27T08:38:52.5875966Z       /root/go/pkg/mod/google.golang.org/grpc@v1.57.1/server.go:623 +0x2c7
2024-06-27T08:38:52.5878186Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*cpuServer).RegisterAdvisorServer()
2024-06-27T08:38:52.5881043Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server/cpu_server.go:68 +0x44
2024-06-27T08:38:52.5883391Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*baseServer).serve()
2024-06-27T08:38:52.5886061Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server/base_server.go:158 +0x9b4
2024-06-27T08:38:52.5888657Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*baseServer).Start.func1()
2024-06-27T08:38:52.5891345Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server/base_server.go:116 +0x15b
2024-06-27T08:38:52.5893168Z   k8s.io/apimachinery/pkg/util/wait.ConditionFunc.WithContext.func1()
2024-06-27T08:38:52.5894797Z       /root/go/pkg/mod/k8s.io/apimachinery@v0.24.6/pkg/util/wait/wait.go:220 +0x30
2024-06-27T08:38:52.5896397Z   k8s.io/apimachinery/pkg/util/wait.runConditionWithCrashProtectionWithContext()
2024-06-27T08:38:52.5898581Z       /root/go/pkg/mod/k8s.io/apimachinery@v0.24.6/pkg/util/wait/wait.go:233 +0x7b
2024-06-27T08:38:52.5899705Z   k8s.io/apimachinery/pkg/util/wait.poll()
2024-06-27T08:38:52.5900974Z       /root/go/pkg/mod/k8s.io/apimachinery@v0.24.6/pkg/util/wait/wait.go:580 +0x57
2024-06-27T08:38:52.5902365Z   k8s.io/apimachinery/pkg/util/wait.PollImmediateUntilWithContext()
2024-06-27T08:38:52.5904068Z       /root/go/pkg/mod/k8s.io/apimachinery@v0.24.6/pkg/util/wait/wait.go:545 +0x59
2024-06-27T08:38:52.5905457Z   k8s.io/apimachinery/pkg/util/wait.PollImmediateUntil()
2024-06-27T08:38:52.5907247Z       /root/go/pkg/mod/k8s.io/apimachinery@v0.24.6/pkg/util/wait/wait.go:536 +0x9e
2024-06-27T08:38:52.5909516Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*baseServer).Start.func2()
2024-06-27T08:38:52.5912385Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server/base_server.go:114 +0x4c
2024-06-27T08:38:52.5913727Z
2024-06-27T08:38:52.5913993Z Goroutine 87 (running) created at:
2024-06-27T08:38:52.5915639Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware.(*QoSAwarePlugin).Run()
2024-06-27T08:38:52.5918427Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/qos_aware.go:126 +0x29b
2024-06-27T08:38:52.5920533Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware.TestQoSAwarePlugin.func5()
2024-06-27T08:38:52.5922829Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/qos_aware_test.go:125 +0x67
2024-06-27T08:38:52.5923900Z
2024-06-27T08:38:52.5924116Z Goroutine 104 (running) created at:
2024-06-27T08:38:52.5925487Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*baseServer).Start()
2024-06-27T08:38:52.5927862Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server/base_server.go:114 +0x2a5
2024-06-27T08:38:52.5929957Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*cpuServer).Start()
2024-06-27T08:38:52.5931154Z       <autogenerated>:1 +0x44
2024-06-27T08:38:52.5932594Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*qrmServerWrapper).Run.func1.1()
2024-06-27T08:38:52.5935028Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server/server.go:83 +0x174
2024-06-27T08:38:52.5936679Z   k8s.io/apimachinery/pkg/util/wait.ConditionFunc.WithContext.func1()
2024-06-27T08:38:52.5938378Z       /root/go/pkg/mod/k8s.io/apimachinery@v0.24.6/pkg/util/wait/wait.go:220 +0x30
2024-06-27T08:38:52.5939847Z   k8s.io/apimachinery/pkg/util/wait.runConditionWithCrashProtectionWithContext()
2024-06-27T08:38:52.5941504Z       /root/go/pkg/mod/k8s.io/apimachinery@v0.24.6/pkg/util/wait/wait.go:233 +0x7b
2024-06-27T08:38:52.5942652Z   k8s.io/apimachinery/pkg/util/wait.poll()
2024-06-27T08:38:52.5944018Z       /root/go/pkg/mod/k8s.io/apimachinery@v0.24.6/pkg/util/wait/wait.go:580 +0x57
2024-06-27T08:38:52.5945446Z   k8s.io/apimachinery/pkg/util/wait.PollImmediateUntilWithContext()
2024-06-27T08:38:52.5946886Z       /root/go/pkg/mod/k8s.io/apimachinery@v0.24.6/pkg/util/wait/wait.go:545 +0x59
2024-06-27T08:38:52.5948371Z   k8s.io/apimachinery/pkg/util/wait.PollImmediateUntil()
2024-06-27T08:38:52.5949886Z       /root/go/pkg/mod/k8s.io/apimachinery@v0.24.6/pkg/util/wait/wait.go:536 +0x9e
2024-06-27T08:38:52.5952166Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*qrmServerWrapper).Run.func1()
2024-06-27T08:38:52.6001152Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server/server.go:81 +0xdb
2024-06-27T08:38:52.6003389Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*qrmServerWrapper).Run.func2()
2024-06-27T08:38:52.6005844Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server/server.go:90 +0x58
2024-06-27T08:38:52.6032792Z ==================
2024-06-27T08:38:52.6033500Z ==================
2024-06-27T08:38:52.6033959Z WARNING: DATA RACE
2024-06-27T08:38:52.6034641Z Read at 0x00c0004262b0 by goroutine 87:
2024-06-27T08:38:52.6035485Z   sync/atomic.LoadInt32()
2024-06-27T08:38:52.6036726Z       /opt/hostedtoolcache/go/1.18.10/x64/src/runtime/race_amd64.s:200 +0xb
2024-06-27T08:38:52.6038033Z   sync/atomic.LoadUint32()
2024-06-27T08:38:52.6038985Z       <autogenerated>:1 +0x16
2024-06-27T08:38:52.6039822Z   google.golang.org/grpc/internal/grpcsync.(*Event).Fire()
2024-06-27T08:38:52.6041462Z       /root/go/pkg/mod/google.golang.org/grpc@v1.57.1/internal/grpcsync/event.go:40 +0x6a
2024-06-27T08:38:52.6042629Z   google.golang.org/grpc.(*Server).Stop()
2024-06-27T08:38:52.6043874Z       /root/go/pkg/mod/google.golang.org/grpc@v1.57.1/server.go:1821 +0x67
2024-06-27T08:38:52.6045791Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*baseServer).Stop()
2024-06-27T08:38:52.6048598Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server/base_server.go:190 +0x1c6
2024-06-27T08:38:52.6050863Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*cpuServer).Stop()
2024-06-27T08:38:52.6052224Z       <autogenerated>:1 +0x44
2024-06-27T08:38:52.6053794Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*qrmServerWrapper).Run()
2024-06-27T08:38:52.6068177Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server/server.go:95 +0x35e
2024-06-27T08:38:52.6070514Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware.(*QoSAwarePlugin).Run.func3()
2024-06-27T08:38:52.6073317Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/qos_aware.go:126 +0x67
2024-06-27T08:38:52.6074436Z
2024-06-27T08:38:52.6074777Z Previous write at 0x00c0004262b0 by goroutine 104:
2024-06-27T08:38:52.6075745Z   google.golang.org/grpc/internal/grpcsync.NewEvent()
2024-06-27T08:38:52.6077352Z       /root/go/pkg/mod/google.golang.org/grpc@v1.57.1/internal/grpcsync/event.go:60 +0x173
2024-06-27T08:38:52.6079069Z   google.golang.org/grpc.NewServer()
2024-06-27T08:38:52.6080184Z       /root/go/pkg/mod/google.golang.org/grpc@v1.57.1/server.go:628 +0x468
2024-06-27T08:38:52.6082299Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*cpuServer).RegisterAdvisorServer()
2024-06-27T08:38:52.6084731Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server/cpu_server.go:68 +0x44
2024-06-27T08:38:52.6086825Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*baseServer).serve()
2024-06-27T08:38:52.6089240Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server/base_server.go:158 +0x9b4
2024-06-27T08:38:52.6091424Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*baseServer).Start.func1()
2024-06-27T08:38:52.6093972Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server/base_server.go:116 +0x15b
2024-06-27T08:38:52.6095655Z   k8s.io/apimachinery/pkg/util/wait.ConditionFunc.WithContext.func1()
2024-06-27T08:38:52.6097267Z       /root/go/pkg/mod/k8s.io/apimachinery@v0.24.6/pkg/util/wait/wait.go:220 +0x30
2024-06-27T08:38:52.6098764Z   k8s.io/apimachinery/pkg/util/wait.runConditionWithCrashProtectionWithContext()
2024-06-27T08:38:52.6313153Z       /root/go/pkg/mod/k8s.io/apimachinery@v0.24.6/pkg/util/wait/wait.go:233 +0x7b
2024-06-27T08:38:52.6314180Z   k8s.io/apimachinery/pkg/util/wait.poll()
2024-06-27T08:38:52.6315310Z       /root/go/pkg/mod/k8s.io/apimachinery@v0.24.6/pkg/util/wait/wait.go:580 +0x57
2024-06-27T08:38:52.6316506Z   k8s.io/apimachinery/pkg/util/wait.PollImmediateUntilWithContext()
2024-06-27T08:38:52.6317980Z       /root/go/pkg/mod/k8s.io/apimachinery@v0.24.6/pkg/util/wait/wait.go:545 +0x59
2024-06-27T08:38:52.6319062Z   k8s.io/apimachinery/pkg/util/wait.PollImmediateUntil()
2024-06-27T08:38:52.6320286Z       /root/go/pkg/mod/k8s.io/apimachinery@v0.24.6/pkg/util/wait/wait.go:536 +0x9e
2024-06-27T08:38:52.6322163Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*baseServer).Start.func2()
2024-06-27T08:38:52.6324423Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server/base_server.go:114 +0x4c
2024-06-27T08:38:52.6325674Z
2024-06-27T08:38:52.6325886Z Goroutine 87 (running) created at:
2024-06-27T08:38:52.6327313Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware.(*QoSAwarePlugin).Run()
2024-06-27T08:38:52.6329399Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/qos_aware.go:126 +0x29b
2024-06-27T08:38:52.6331592Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware.TestQoSAwarePlugin.func5()
2024-06-27T08:38:52.6334182Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/qos_aware_test.go:125 +0x67
2024-06-27T08:38:52.6335419Z
2024-06-27T08:38:52.6335664Z Goroutine 104 (running) created at:
2024-06-27T08:38:52.6337420Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*baseServer).Start()
2024-06-27T08:38:52.6340246Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server/base_server.go:114 +0x2a5
2024-06-27T08:38:52.6342338Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*cpuServer).Start()
2024-06-27T08:38:52.6343543Z       <autogenerated>:1 +0x44
2024-06-27T08:38:52.6344966Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*qrmServerWrapper).Run.func1.1()
2024-06-27T08:38:52.6347276Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server/server.go:83 +0x174
2024-06-27T08:38:52.6348825Z   k8s.io/apimachinery/pkg/util/wait.ConditionFunc.WithContext.func1()
2024-06-27T08:38:52.6369797Z       /root/go/pkg/mod/k8s.io/apimachinery@v0.24.6/pkg/util/wait/wait.go:220 +0x30
2024-06-27T08:38:52.6371392Z   k8s.io/apimachinery/pkg/util/wait.runConditionWithCrashProtectionWithContext()
2024-06-27T08:38:52.6396083Z       /root/go/pkg/mod/k8s.io/apimachinery@v0.24.6/pkg/util/wait/wait.go:233 +0x7b
2024-06-27T08:38:52.6397714Z   k8s.io/apimachinery/pkg/util/wait.poll()
2024-06-27T08:38:52.6399126Z       /root/go/pkg/mod/k8s.io/apimachinery@v0.24.6/pkg/util/wait/wait.go:580 +0x57
2024-06-27T08:38:52.6400572Z   k8s.io/apimachinery/pkg/util/wait.PollImmediateUntilWithContext()
2024-06-27T08:38:52.6402096Z       /root/go/pkg/mod/k8s.io/apimachinery@v0.24.6/pkg/util/wait/wait.go:545 +0x59
2024-06-27T08:38:52.6403238Z   k8s.io/apimachinery/pkg/util/wait.PollImmediateUntil()
2024-06-27T08:38:52.6404431Z       /root/go/pkg/mod/k8s.io/apimachinery@v0.24.6/pkg/util/wait/wait.go:536 +0x9e
2024-06-27T08:38:52.6406319Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*qrmServerWrapper).Run.func1()
2024-06-27T08:38:52.6409161Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server/server.go:81 +0xdb
2024-06-27T08:38:52.6411367Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*qrmServerWrapper).Run.func2()
2024-06-27T08:38:52.6419832Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server/server.go:90 +0x58
2024-06-27T08:38:52.6421101Z ==================
2024-06-27T08:38:52.6421546Z ==================
2024-06-27T08:38:52.6421954Z WARNING: DATA RACE
2024-06-27T08:38:52.6422390Z Write at 0x00c0004262a0 by goroutine 87:
2024-06-27T08:38:52.6422996Z   sync/atomic.StoreInt32()
2024-06-27T08:38:52.6424010Z       /opt/hostedtoolcache/go/1.18.10/x64/src/runtime/race_amd64.s:229 +0xb
2024-06-27T08:38:52.6424947Z   sync/atomic.StoreInt32()
2024-06-27T08:38:52.6425570Z       <autogenerated>:1 +0x1a
2024-06-27T08:38:52.6426116Z   sync.(*Once).doSlow()
2024-06-27T08:38:52.6427172Z       /opt/hostedtoolcache/go/1.18.10/x64/src/sync/once.go:68 +0x101
2024-06-27T08:38:52.6428112Z   sync.(*Once).Do()
2024-06-27T08:38:52.6429007Z       /opt/hostedtoolcache/go/1.18.10/x64/src/sync/once.go:59 +0x46
2024-06-27T08:38:52.6430111Z   google.golang.org/grpc/internal/grpcsync.(*Event).Fire()
2024-06-27T08:38:52.6431616Z       /root/go/pkg/mod/google.golang.org/grpc@v1.57.1/internal/grpcsync/event.go:40 +0x6a
2024-06-27T08:38:52.6432795Z   google.golang.org/grpc.(*Server).Stop()
2024-06-27T08:38:52.6434149Z       /root/go/pkg/mod/google.golang.org/grpc@v1.57.1/server.go:1821 +0x67
2024-06-27T08:38:52.6436229Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*baseServer).Stop()
2024-06-27T08:38:52.6438968Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server/base_server.go:190 +0x1c6
2024-06-27T08:38:52.6441285Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*cpuServer).Stop()
2024-06-27T08:38:52.6442691Z       <autogenerated>:1 +0x44
2024-06-27T08:38:52.6444262Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*qrmServerWrapper).Run()
2024-06-27T08:38:52.6446771Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server/server.go:95 +0x35e
2024-06-27T08:38:52.6449196Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware.(*QoSAwarePlugin).Run.func3()
2024-06-27T08:38:52.6452416Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/qos_aware.go:126 +0x67
2024-06-27T08:38:52.6453499Z
2024-06-27T08:38:52.6453791Z Previous write at 0x00c0004262a0 by goroutine 104:
2024-06-27T08:38:52.6454711Z   google.golang.org/grpc/internal/grpcsync.NewEvent()
2024-06-27T08:38:52.6456180Z       /root/go/pkg/mod/google.golang.org/grpc@v1.57.1/internal/grpcsync/event.go:60 +0x173
2024-06-27T08:38:52.6457512Z   google.golang.org/grpc.NewServer()
2024-06-27T08:38:52.6458731Z       /root/go/pkg/mod/google.golang.org/grpc@v1.57.1/server.go:628 +0x468
2024-06-27T08:38:52.6460801Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*cpuServer).RegisterAdvisorServer()
2024-06-27T08:38:52.6463519Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server/cpu_server.go:68 +0x44
2024-06-27T08:38:52.6466012Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*baseServer).serve()
2024-06-27T08:38:52.6468798Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server/base_server.go:158 +0x9b4
2024-06-27T08:38:52.6471203Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*baseServer).Start.func1()
2024-06-27T08:38:52.6554767Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server/base_server.go:116 +0x15b
2024-06-27T08:38:52.6556691Z   k8s.io/apimachinery/pkg/util/wait.ConditionFunc.WithContext.func1()
2024-06-27T08:38:52.6558611Z       /root/go/pkg/mod/k8s.io/apimachinery@v0.24.6/pkg/util/wait/wait.go:220 +0x30
2024-06-27T08:38:52.6560158Z   k8s.io/apimachinery/pkg/util/wait.runConditionWithCrashProtectionWithContext()
2024-06-27T08:38:52.6561951Z       /root/go/pkg/mod/k8s.io/apimachinery@v0.24.6/pkg/util/wait/wait.go:233 +0x7b
2024-06-27T08:38:52.6563160Z   k8s.io/apimachinery/pkg/util/wait.poll()
2024-06-27T08:38:52.6564513Z       /root/go/pkg/mod/k8s.io/apimachinery@v0.24.6/pkg/util/wait/wait.go:580 +0x57
2024-06-27T08:38:52.6565978Z   k8s.io/apimachinery/pkg/util/wait.PollImmediateUntilWithContext()
2024-06-27T08:38:52.6567766Z       /root/go/pkg/mod/k8s.io/apimachinery@v0.24.6/pkg/util/wait/wait.go:545 +0x59
2024-06-27T08:38:52.6569017Z   k8s.io/apimachinery/pkg/util/wait.PollImmediateUntil()
2024-06-27T08:38:52.6570307Z       /root/go/pkg/mod/k8s.io/apimachinery@v0.24.6/pkg/util/wait/wait.go:536 +0x9e
2024-06-27T08:38:52.6572298Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*baseServer).Start.func2()
2024-06-27T08:38:52.6575205Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server/base_server.go:114 +0x4c
2024-06-27T08:38:52.6576374Z
2024-06-27T08:38:52.6576619Z Goroutine 87 (running) created at:
2024-06-27T08:38:52.6578144Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware.(*QoSAwarePlugin).Run()
2024-06-27T08:38:52.6580376Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/qos_aware.go:126 +0x29b
2024-06-27T08:38:52.6582805Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware.TestQoSAwarePlugin.func5()
2024-06-27T08:38:52.6585303Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/qos_aware_test.go:125 +0x67
2024-06-27T08:38:52.6586475Z
2024-06-27T08:38:52.6586723Z Goroutine 104 (running) created at:
2024-06-27T08:38:52.6588435Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*baseServer).Start()
2024-06-27T08:38:52.6590905Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server/base_server.go:114 +0x2a5
2024-06-27T08:38:52.6593144Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*cpuServer).Start()
2024-06-27T08:38:52.6594547Z       <autogenerated>:1 +0x44
2024-06-27T08:38:52.6596199Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*qrmServerWrapper).Run.func1.1()
2024-06-27T08:38:52.6599024Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server/server.go:83 +0x174
2024-06-27T08:38:52.6600782Z   k8s.io/apimachinery/pkg/util/wait.ConditionFunc.WithContext.func1()
2024-06-27T08:38:52.6602384Z       /root/go/pkg/mod/k8s.io/apimachinery@v0.24.6/pkg/util/wait/wait.go:220 +0x30
2024-06-27T08:38:52.6603947Z   k8s.io/apimachinery/pkg/util/wait.runConditionWithCrashProtectionWithContext()
2024-06-27T08:38:52.6605712Z       /root/go/pkg/mod/k8s.io/apimachinery@v0.24.6/pkg/util/wait/wait.go:233 +0x7b
2024-06-27T08:38:52.6608440Z   k8s.io/apimachinery/pkg/util/wait.poll()
2024-06-27T08:38:52.6609869Z       /root/go/pkg/mod/k8s.io/apimachinery@v0.24.6/pkg/util/wait/wait.go:580 +0x57
2024-06-27T08:38:52.6611271Z   k8s.io/apimachinery/pkg/util/wait.PollImmediateUntilWithContext()
2024-06-27T08:38:52.6612858Z       /root/go/pkg/mod/k8s.io/apimachinery@v0.24.6/pkg/util/wait/wait.go:545 +0x59
2024-06-27T08:38:52.6614626Z   k8s.io/apimachinery/pkg/util/wait.PollImmediateUntil()
2024-06-27T08:38:52.6618403Z       /root/go/pkg/mod/k8s.io/apimachinery@v0.24.6/pkg/util/wait/wait.go:536 +0x9e
2024-06-27T08:38:52.6620834Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*qrmServerWrapper).Run.func1()
2024-06-27T08:38:52.6623958Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server/server.go:81 +0xdb
2024-06-27T08:38:52.6626927Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*qrmServerWrapper).Run.func2()
2024-06-27T08:38:52.6630640Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server/server.go:90 +0x58
2024-06-27T08:38:52.6632242Z ==================
2024-06-27T08:38:52.6632686Z ==================
2024-06-27T08:38:52.6633222Z WARNING: DATA RACE
2024-06-27T08:38:52.6633947Z Read at 0x00c0004262a8 by goroutine 87:
2024-06-27T08:38:52.6634999Z   google.golang.org/grpc/internal/grpcsync.(*Event).Fire.func1()
2024-06-27T08:38:52.6637169Z       /root/go/pkg/mod/google.golang.org/grpc@v1.57.1/internal/grpcsync/event.go:42 +0x52
2024-06-27T08:38:52.6638594Z   sync.(*Once).doSlow()
2024-06-27T08:38:52.6639632Z       /opt/hostedtoolcache/go/1.18.10/x64/src/sync/once.go:68 +0x101
2024-06-27T08:38:52.6640838Z   sync.(*Once).Do()
2024-06-27T08:38:52.6642000Z       /opt/hostedtoolcache/go/1.18.10/x64/src/sync/once.go:59 +0x46
2024-06-27T08:38:52.6643405Z   google.golang.org/grpc/internal/grpcsync.(*Event).Fire()
2024-06-27T08:38:52.6645303Z       /root/go/pkg/mod/google.golang.org/grpc@v1.57.1/internal/grpcsync/event.go:40 +0x6a
2024-06-27T08:38:52.6646839Z   google.golang.org/grpc.(*Server).Stop()
2024-06-27T08:38:52.6648511Z       /root/go/pkg/mod/google.golang.org/grpc@v1.57.1/server.go:1821 +0x67
2024-06-27T08:38:52.6650956Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*baseServer).Stop()
2024-06-27T08:38:52.6654196Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server/base_server.go:190 +0x1c6
2024-06-27T08:38:52.6657602Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*cpuServer).Stop()
2024-06-27T08:38:52.6659455Z       <autogenerated>:1 +0x44
2024-06-27T08:38:52.6661454Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*qrmServerWrapper).Run()
2024-06-27T08:38:52.6664759Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server/server.go:95 +0x35e
2024-06-27T08:38:52.6667898Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware.(*QoSAwarePlugin).Run.func3()
2024-06-27T08:38:52.6693054Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/qos_aware.go:126 +0x67
2024-06-27T08:38:52.6694115Z
2024-06-27T08:38:52.6694425Z Previous write at 0x00c0004262a8 by goroutine 104:
2024-06-27T08:38:52.6695328Z   google.golang.org/grpc/internal/grpcsync.NewEvent()
2024-06-27T08:38:52.6696737Z       /root/go/pkg/mod/google.golang.org/grpc@v1.57.1/internal/grpcsync/event.go:60 +0x173
2024-06-27T08:38:52.6698047Z   google.golang.org/grpc.NewServer()
2024-06-27T08:38:52.6699190Z       /root/go/pkg/mod/google.golang.org/grpc@v1.57.1/server.go:628 +0x468
2024-06-27T08:38:52.6701230Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*cpuServer).RegisterAdvisorServer()
2024-06-27T08:38:52.6703779Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server/cpu_server.go:68 +0x44
2024-06-27T08:38:52.6705887Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*baseServer).serve()
2024-06-27T08:38:52.6708774Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server/base_server.go:158 +0x9b4
2024-06-27T08:38:52.6711479Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*baseServer).Start.func1()
2024-06-27T08:38:52.6719260Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server/base_server.go:116 +0x15b
2024-06-27T08:38:52.6721153Z   k8s.io/apimachinery/pkg/util/wait.ConditionFunc.WithContext.func1()
2024-06-27T08:38:52.6722762Z       /root/go/pkg/mod/k8s.io/apimachinery@v0.24.6/pkg/util/wait/wait.go:220 +0x30
2024-06-27T08:38:52.6724409Z   k8s.io/apimachinery/pkg/util/wait.runConditionWithCrashProtectionWithContext()
2024-06-27T08:38:52.6726267Z       /root/go/pkg/mod/k8s.io/apimachinery@v0.24.6/pkg/util/wait/wait.go:233 +0x7b
2024-06-27T08:38:52.6727798Z   k8s.io/apimachinery/pkg/util/wait.poll()
2024-06-27T08:38:52.6729355Z       /root/go/pkg/mod/k8s.io/apimachinery@v0.24.6/pkg/util/wait/wait.go:580 +0x57
2024-06-27T08:38:52.6730873Z   k8s.io/apimachinery/pkg/util/wait.PollImmediateUntilWithContext()
2024-06-27T08:38:52.6732579Z       /root/go/pkg/mod/k8s.io/apimachinery@v0.24.6/pkg/util/wait/wait.go:545 +0x59
2024-06-27T08:38:52.6733938Z   k8s.io/apimachinery/pkg/util/wait.PollImmediateUntil()
2024-06-27T08:38:52.6735404Z       /root/go/pkg/mod/k8s.io/apimachinery@v0.24.6/pkg/util/wait/wait.go:536 +0x9e
2024-06-27T08:38:52.6737731Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*baseServer).Start.func2()
2024-06-27T08:38:52.6740451Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server/base_server.go:114 +0x4c
2024-06-27T08:38:52.6741701Z
2024-06-27T08:38:52.6741941Z Goroutine 87 (running) created at:
2024-06-27T08:38:52.6743484Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware.(*QoSAwarePlugin).Run()
2024-06-27T08:38:52.6745970Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/qos_aware.go:126 +0x29b
2024-06-27T08:38:52.6776990Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware.TestQoSAwarePlugin.func5()
2024-06-27T08:38:52.6779563Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/qos_aware_test.go:125 +0x67
2024-06-27T08:38:52.6780603Z
2024-06-27T08:38:52.6781042Z Goroutine 104 (running) created at:
2024-06-27T08:38:52.6782799Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*baseServer).Start()
2024-06-27T08:38:52.6785546Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server/base_server.go:114 +0x2a5
2024-06-27T08:38:52.6816043Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*cpuServer).Start()
2024-06-27T08:38:52.6817943Z       <autogenerated>:1 +0x44
2024-06-27T08:38:52.6819919Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*qrmServerWrapper).Run.func1.1()
2024-06-27T08:38:52.6822859Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server/server.go:83 +0x174
2024-06-27T08:38:52.6824793Z   k8s.io/apimachinery/pkg/util/wait.ConditionFunc.WithContext.func1()
2024-06-27T08:38:52.6826553Z       /root/go/pkg/mod/k8s.io/apimachinery@v0.24.6/pkg/util/wait/wait.go:220 +0x30
2024-06-27T08:38:52.6828414Z   k8s.io/apimachinery/pkg/util/wait.runConditionWithCrashProtectionWithContext()
2024-06-27T08:38:52.6830415Z       /root/go/pkg/mod/k8s.io/apimachinery@v0.24.6/pkg/util/wait/wait.go:233 +0x7b
2024-06-27T08:38:52.6854439Z   k8s.io/apimachinery/pkg/util/wait.poll()
2024-06-27T08:38:52.6855776Z       /root/go/pkg/mod/k8s.io/apimachinery@v0.24.6/pkg/util/wait/wait.go:580 +0x57
2024-06-27T08:38:52.6876785Z   k8s.io/apimachinery/pkg/util/wait.PollImmediateUntilWithContext()
2024-06-27T08:38:52.6878657Z       /root/go/pkg/mod/k8s.io/apimachinery@v0.24.6/pkg/util/wait/wait.go:545 +0x59
2024-06-27T08:38:52.6879983Z   k8s.io/apimachinery/pkg/util/wait.PollImmediateUntil()
2024-06-27T08:38:52.6881458Z       /root/go/pkg/mod/k8s.io/apimachinery@v0.24.6/pkg/util/wait/wait.go:536 +0x9e
2024-06-27T08:38:52.6883784Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*qrmServerWrapper).Run.func1()
2024-06-27T08:38:52.6886239Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server/server.go:81 +0xdb
2024-06-27T08:38:52.6888709Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*qrmServerWrapper).Run.func2()
2024-06-27T08:38:52.6891340Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server/server.go:90 +0x58
2024-06-27T08:38:52.6892602Z ==================
2024-06-27T08:38:52.6893027Z ==================
2024-06-27T08:38:52.6893491Z WARNING: DATA RACE
2024-06-27T08:38:52.6894008Z Read at 0x00c0005341a0 by goroutine 87:
2024-06-27T08:38:52.6894637Z   sync/atomic.LoadInt32()
2024-06-27T08:38:52.6895707Z       /opt/hostedtoolcache/go/1.18.10/x64/src/runtime/race_amd64.s:200 +0xb
2024-06-27T08:38:52.6896670Z   sync/atomic.LoadUint32()
2024-06-27T08:38:52.6897384Z       <autogenerated>:1 +0x16
2024-06-27T08:38:52.6898099Z   google.golang.org/grpc.(*Server).Stop()
2024-06-27T08:38:52.6899323Z       /root/go/pkg/mod/google.golang.org/grpc@v1.57.1/server.go:1828 +0xea
2024-06-27T08:38:52.6901362Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*baseServer).Stop()
2024-06-27T08:38:52.6904095Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server/base_server.go:190 +0x1c6
2024-06-27T08:38:52.6906560Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*cpuServer).Stop()
2024-06-27T08:38:52.6908174Z       <autogenerated>:1 +0x44
2024-06-27T08:38:52.7077987Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*qrmServerWrapper).Run()
2024-06-27T08:38:52.7081434Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server/server.go:95 +0x35e
2024-06-27T08:38:52.7083858Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware.(*QoSAwarePlugin).Run.func3()
2024-06-27T08:38:52.7086397Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/qos_aware.go:126 +0x67
2024-06-27T08:38:52.7087918Z
2024-06-27T08:38:52.7088251Z Previous write at 0x00c0005341a0 by goroutine 104:
2024-06-27T08:38:52.7089235Z   google.golang.org/grpc.NewServer()
2024-06-27T08:38:52.7090525Z       /root/go/pkg/mod/google.golang.org/grpc@v1.57.1/server.go:623 +0x2c7
2024-06-27T08:38:52.7092753Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*cpuServer).RegisterAdvisorServer()
2024-06-27T08:38:52.7095641Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server/cpu_server.go:68 +0x44
2024-06-27T08:38:52.7098243Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*baseServer).serve()
2024-06-27T08:38:52.7100968Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server/base_server.go:158 +0x9b4
2024-06-27T08:38:52.7103509Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*baseServer).Start.func1()
2024-06-27T08:38:52.7106348Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server/base_server.go:116 +0x15b
2024-06-27T08:38:52.7108400Z   k8s.io/apimachinery/pkg/util/wait.ConditionFunc.WithContext.func1()
2024-06-27T08:38:52.7110027Z       /root/go/pkg/mod/k8s.io/apimachinery@v0.24.6/pkg/util/wait/wait.go:220 +0x30
2024-06-27T08:38:52.7111724Z   k8s.io/apimachinery/pkg/util/wait.runConditionWithCrashProtectionWithContext()
2024-06-27T08:38:52.7113573Z       /root/go/pkg/mod/k8s.io/apimachinery@v0.24.6/pkg/util/wait/wait.go:233 +0x7b
2024-06-27T08:38:52.7114747Z   k8s.io/apimachinery/pkg/util/wait.poll()
2024-06-27T08:38:52.7116063Z       /root/go/pkg/mod/k8s.io/apimachinery@v0.24.6/pkg/util/wait/wait.go:580 +0x57
2024-06-27T08:38:52.7179527Z   k8s.io/apimachinery/pkg/util/wait.PollImmediateUntilWithContext()
2024-06-27T08:38:52.7181295Z       /root/go/pkg/mod/k8s.io/apimachinery@v0.24.6/pkg/util/wait/wait.go:545 +0x59
2024-06-27T08:38:52.7182521Z   k8s.io/apimachinery/pkg/util/wait.PollImmediateUntil()
2024-06-27T08:38:52.7183953Z       /root/go/pkg/mod/k8s.io/apimachinery@v0.24.6/pkg/util/wait/wait.go:536 +0x9e
2024-06-27T08:38:52.7186001Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*baseServer).Start.func2()
2024-06-27T08:38:52.7188840Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server/base_server.go:114 +0x4c
2024-06-27T08:38:52.7190111Z
2024-06-27T08:38:52.7190353Z Goroutine 87 (running) created at:
2024-06-27T08:38:52.7191830Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware.(*QoSAwarePlugin).Run()
2024-06-27T08:38:52.7194494Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/qos_aware.go:126 +0x29b
2024-06-27T08:38:52.7196877Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware.TestQoSAwarePlugin.func5()
2024-06-27T08:38:52.7199693Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/qos_aware_test.go:125 +0x67
2024-06-27T08:38:52.7200906Z
2024-06-27T08:38:52.7201164Z Goroutine 104 (running) created at:
2024-06-27T08:38:52.7202815Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*baseServer).Start()
2024-06-27T08:38:52.7205500Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server/base_server.go:114 +0x2a5
2024-06-27T08:38:52.7207923Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*cpuServer).Start()
2024-06-27T08:38:52.7209283Z       <autogenerated>:1 +0x44
2024-06-27T08:38:52.7210829Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*qrmServerWrapper).Run.func1.1()
2024-06-27T08:38:52.7213489Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server/server.go:83 +0x174
2024-06-27T08:38:52.7215295Z   k8s.io/apimachinery/pkg/util/wait.ConditionFunc.WithContext.func1()
2024-06-27T08:38:52.7216880Z       /root/go/pkg/mod/k8s.io/apimachinery@v0.24.6/pkg/util/wait/wait.go:220 +0x30
2024-06-27T08:38:52.7258093Z   k8s.io/apimachinery/pkg/util/wait.runConditionWithCrashProtectionWithContext()
2024-06-27T08:38:52.7260071Z       /root/go/pkg/mod/k8s.io/apimachinery@v0.24.6/pkg/util/wait/wait.go:233 +0x7b
2024-06-27T08:38:52.7261235Z   k8s.io/apimachinery/pkg/util/wait.poll()
2024-06-27T08:38:52.7262523Z       /root/go/pkg/mod/k8s.io/apimachinery@v0.24.6/pkg/util/wait/wait.go:580 +0x57
2024-06-27T08:38:52.7263931Z   k8s.io/apimachinery/pkg/util/wait.PollImmediateUntilWithContext()
2024-06-27T08:38:52.7265355Z       /root/go/pkg/mod/k8s.io/apimachinery@v0.24.6/pkg/util/wait/wait.go:545 +0x59
2024-06-27T08:38:52.7266560Z   k8s.io/apimachinery/pkg/util/wait.PollImmediateUntil()
2024-06-27T08:38:52.7268074Z       /root/go/pkg/mod/k8s.io/apimachinery@v0.24.6/pkg/util/wait/wait.go:536 +0x9e
2024-06-27T08:38:52.7270178Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*qrmServerWrapper).Run.func1()
2024-06-27T08:38:52.7272822Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server/server.go:81 +0xdb
2024-06-27T08:38:52.7275121Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*qrmServerWrapper).Run.func2()
2024-06-27T08:38:52.7277968Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server/server.go:90 +0x58
2024-06-27T08:38:52.7319121Z ==================
2024-06-27T08:38:52.7319581Z ==================
2024-06-27T08:38:52.7320066Z WARNING: DATA RACE
2024-06-27T08:38:52.7320635Z Read at 0x00c0005341c0 by goroutine 87:
2024-06-27T08:38:52.7321515Z   google.golang.org/grpc.(*Server).Stop.func2()
2024-06-27T08:38:52.7322902Z       /root/go/pkg/mod/google.golang.org/grpc@v1.57.1/server.go:1828 +0x39
2024-06-27T08:38:52.7323967Z   sync.(*Once).doSlow()
2024-06-27T08:38:52.7325176Z       /opt/hostedtoolcache/go/1.18.10/x64/src/sync/once.go:68 +0x101
2024-06-27T08:38:52.7326140Z   sync.(*Once).Do()
2024-06-27T08:38:52.7327244Z       /opt/hostedtoolcache/go/1.18.10/x64/src/sync/once.go:59 +0x46
2024-06-27T08:38:52.7328227Z   google.golang.org/grpc.(*Server).Stop()
2024-06-27T08:38:52.7329472Z       /root/go/pkg/mod/google.golang.org/grpc@v1.57.1/server.go:1828 +0xea
2024-06-27T08:38:52.7331493Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*baseServer).Stop()
2024-06-27T08:38:52.7334177Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server/base_server.go:190 +0x1c6
2024-06-27T08:38:52.7336665Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*cpuServer).Stop()
2024-06-27T08:38:52.7338208Z       <autogenerated>:1 +0x44
2024-06-27T08:38:52.7339830Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*qrmServerWrapper).Run()
2024-06-27T08:38:52.7342518Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server/server.go:95 +0x35e
2024-06-27T08:38:52.7344967Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware.(*QoSAwarePlugin).Run.func3()
2024-06-27T08:38:52.7347713Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/qos_aware.go:126 +0x67
2024-06-27T08:38:52.7348858Z
2024-06-27T08:38:52.7349206Z Previous write at 0x00c0005341c0 by goroutine 104:
2024-06-27T08:38:52.7350336Z   google.golang.org/grpc.NewServer()
2024-06-27T08:38:52.7351487Z       /root/go/pkg/mod/google.golang.org/grpc@v1.57.1/server.go:623 +0x2c7
2024-06-27T08:38:52.7353670Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*cpuServer).RegisterAdvisorServer()
2024-06-27T08:38:52.7356531Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server/cpu_server.go:68 +0x44
2024-06-27T08:38:52.7359032Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*baseServer).serve()
2024-06-27T08:38:52.7361720Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server/base_server.go:158 +0x9b4
2024-06-27T08:38:52.7364367Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*baseServer).Start.func1()
2024-06-27T08:38:52.7367430Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server/base_server.go:116 +0x15b
2024-06-27T08:38:52.7369379Z   k8s.io/apimachinery/pkg/util/wait.ConditionFunc.WithContext.func1()
2024-06-27T08:38:52.7371036Z       /root/go/pkg/mod/k8s.io/apimachinery@v0.24.6/pkg/util/wait/wait.go:220 +0x30
2024-06-27T08:38:52.7372675Z   k8s.io/apimachinery/pkg/util/wait.runConditionWithCrashProtectionWithContext()
2024-06-27T08:38:52.7374476Z       /root/go/pkg/mod/k8s.io/apimachinery@v0.24.6/pkg/util/wait/wait.go:233 +0x7b
2024-06-27T08:38:52.7375603Z   k8s.io/apimachinery/pkg/util/wait.poll()
2024-06-27T08:38:52.7376930Z       /root/go/pkg/mod/k8s.io/apimachinery@v0.24.6/pkg/util/wait/wait.go:580 +0x57
2024-06-27T08:38:52.7378471Z   k8s.io/apimachinery/pkg/util/wait.PollImmediateUntilWithContext()
2024-06-27T08:38:52.7420057Z       /root/go/pkg/mod/k8s.io/apimachinery@v0.24.6/pkg/util/wait/wait.go:545 +0x59
2024-06-27T08:38:52.7421412Z   k8s.io/apimachinery/pkg/util/wait.PollImmediateUntil()
2024-06-27T08:38:52.7422908Z       /root/go/pkg/mod/k8s.io/apimachinery@v0.24.6/pkg/util/wait/wait.go:536 +0x9e
2024-06-27T08:38:52.7425138Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*baseServer).Start.func2()
2024-06-27T08:38:52.7428106Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server/base_server.go:114 +0x4c
2024-06-27T08:38:52.7429385Z
2024-06-27T08:38:52.7429649Z Goroutine 87 (running) created at:
2024-06-27T08:38:52.7431119Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware.(*QoSAwarePlugin).Run()
2024-06-27T08:38:52.7433690Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/qos_aware.go:126 +0x29b
2024-06-27T08:38:52.7435946Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware.TestQoSAwarePlugin.func5()
2024-06-27T08:38:52.7438722Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/qos_aware_test.go:125 +0x67
2024-06-27T08:38:52.7439850Z
2024-06-27T08:38:52.7440094Z Goroutine 104 (running) created at:
2024-06-27T08:38:52.7441795Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*baseServer).Start()
2024-06-27T08:38:52.7444469Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server/base_server.go:114 +0x2a5
2024-06-27T08:38:52.7446861Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*cpuServer).Start()
2024-06-27T08:38:52.7448336Z       <autogenerated>:1 +0x44
2024-06-27T08:38:52.7449985Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*qrmServerWrapper).Run.func1.1()
2024-06-27T08:38:52.7452600Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server/server.go:83 +0x174
2024-06-27T08:38:52.7454381Z   k8s.io/apimachinery/pkg/util/wait.ConditionFunc.WithContext.func1()
2024-06-27T08:38:52.7455935Z       /root/go/pkg/mod/k8s.io/apimachinery@v0.24.6/pkg/util/wait/wait.go:220 +0x30
2024-06-27T08:38:52.7457613Z   k8s.io/apimachinery/pkg/util/wait.runConditionWithCrashProtectionWithContext()
2024-06-27T08:38:52.7459254Z       /root/go/pkg/mod/k8s.io/apimachinery@v0.24.6/pkg/util/wait/wait.go:233 +0x7b
2024-06-27T08:38:52.7460293Z   k8s.io/apimachinery/pkg/util/wait.poll()
2024-06-27T08:38:52.7461491Z       /root/go/pkg/mod/k8s.io/apimachinery@v0.24.6/pkg/util/wait/wait.go:580 +0x57
2024-06-27T08:38:52.7462741Z   k8s.io/apimachinery/pkg/util/wait.PollImmediateUntilWithContext()
2024-06-27T08:38:52.7464292Z       /root/go/pkg/mod/k8s.io/apimachinery@v0.24.6/pkg/util/wait/wait.go:545 +0x59
2024-06-27T08:38:52.7465556Z   k8s.io/apimachinery/pkg/util/wait.PollImmediateUntil()
2024-06-27T08:38:52.7467019Z       /root/go/pkg/mod/k8s.io/apimachinery@v0.24.6/pkg/util/wait/wait.go:536 +0x9e
2024-06-27T08:38:52.7469572Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*qrmServerWrapper).Run.func1()
2024-06-27T08:38:52.7472461Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server/server.go:81 +0xdb
2024-06-27T08:38:52.7475000Z   github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server.(*qrmServerWrapper).Run.func2()
2024-06-27T08:38:52.7477845Z       /runner/_work/katalyst-core/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware/server/server.go:90 +0x58
2024-06-27T08:38:52.7479230Z ==================
2024-06-27T08:38:52.7617689Z I0627 08:38:48.349903   43294 base_server.go:130] [qosaware-server] cpu-server is ready
2024-06-27T08:38:52.7619253Z I0627 08:38:48.349957   43294 server.go:87] [qosaware-server] cpu-server started
2024-06-27T08:38:52.7621982Z I0627 08:38:48.351488   43294 generic.go:451] serve headroom-reporter-plugin successfully on /tmp/plugindir-TestQoSAwarePlugin2858954964/headroom-reporter-plugin.sock
2024-06-27T08:38:52.7625342Z I0627 08:38:48.357748   43294 generic.go:312] successfully started to serve headroom-reporter-plugin on [/tmp/plugindir-TestQoSAwarePlugin2858954964/headroom-reporter-plugin.sock]
2024-06-27T08:38:52.7628984Z I0627 08:38:48.357845   43294 generic.go:328] stop to serve headroom-reporter-plugin on [/tmp/plugindir-TestQoSAwarePlugin2858954964/headroom-reporter-plugin.sock]
2024-06-27T08:38:52.7631176Z I0627 08:38:48.351543   43294 base_server.go:191] [qosaware-server] cpu-server stopped
2024-06-27T08:38:52.7632950Z I0627 08:38:48.358231   43294 generic.go:346] stop plugin headroom-reporter-plugin successfully
2024-06-27T08:38:52.7635021Z I0627 08:38:48.358323   43294 generic.go:180] plugin headroom-reporter-plugin stopped, return from start goroutine
2024-06-27T08:38:52.7637374Z I0627 08:38:48.353739   43294 base_server.go:165] [qosaware-server] cpu-server exit successfully
2024-06-27T08:38:52.7639053Z I0627 08:38:48.358435   43294 base_server.go:121] [qosaware-server] cpu-server exited
2024-06-27T08:38:52.7641810Z I0627 08:38:48.358574   43294 generic.go:399] GRPC Server for headroom-reporter-plugin at socket: /tmp/plugindir-TestQoSAwarePlugin2858954964/headroom-reporter-plugin.sock stops serving
2024-06-27T08:38:52.7644499Z I0627 08:38:48.400381   43294 base_server.go:191] [qosaware-server] memory-server stopped
2024-06-27T08:38:52.7646270Z I0627 08:38:48.400550   43294 base_server.go:165] [qosaware-server] memory-server exit successfully
2024-06-27T08:38:52.7648123Z I0627 08:38:48.400593   43294 base_server.go:121] [qosaware-server] memory-server exited
2024-06-27T08:38:52.7653941Z W0627 08:38:48.401482   43294 logging.go:59] [core] [Channel #3 SubChannel #18] grpc: addrConn.createTransport failed to connect to {Addr: "/tmp/socketdir-TestQoSAwarePlugin4089007040-memory_plugin.sock", ServerName: "%2Ftmp%2Fsocketdir-TestQoSAwarePlugin4089007040-memory_plugin.sock", }. Err: connection error: desc = "transport: Error while dialing: dial unix /tmp/socketdir-TestQoSAwarePlugin4089007040-memory_plugin.sock: connect: no such file or directory"
2024-06-27T08:38:52.7661725Z W0627 08:38:49.208600   43294 logging.go:59] [core] [Channel #1 SubChannel #2] grpc: addrConn.createTransport failed to connect to {Addr: "/run/containerd/containerd.sock", ServerName: "%2Frun%2Fcontainerd%2Fcontainerd.sock", }. Err: connection error: desc = "transport: Error while dialing: dial unix /run/containerd/containerd.sock: connect: no such file or directory"
2024-06-27T08:38:52.7665443Z coverage: 4.4% of statements in ./...
2024-06-27T08:38:52.7666116Z Found 7 data race(s)
2024-06-27T08:38:52.7667405Z FAIL	github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/plugin/qosaware	2.116s


Rework 'setup complete' handling to allow users to create a custom Intent.

Notes:

I've marked a couple of methods in ParticleDeviceSetupLibrary as deprecated. These should be removed completely at some point in the future.
This change probably removes the need for the broadcast when device setup is complete, but I haven't removed it yet to avoid breaking users who currently rely on it.

Hey, thanks for the contribution!  I really like the idea of optionally firing a dev-defined Intent at the end of the setup process, especially as an alternative to passing in an Activity class reference. (That wasn't one of my finer moments in API design...)
Could this be based around a PendingIntent instead?  That would provide the same functionality but even more flexibility.

One last thing: have you signed the CLA?  --> https://goo.gl/FJiZP0

What advantage do you see in using PendingIntents? Aren't they only really applicable if you're passing an Intent to another application (eg. NotificationManager)?

re: PendingIntent, they're nice because they can be used to start activities, start services, fire broadcasts, whatever.  The SDK doesn't have to care, it just has to call .send().
However, after considering it further, let's stick with Intent.  The great majority of SDK users won't need the flexibility, and those who do want it will be able to (ultimately) get the behavior they want by listening for the ACTION_DEVICE_SETUP_COMPLETE broadcast.

Looks like you've addressed all the feedback.  As soon as you've signed the CLA (mentioned above), this looks good to merge!

Awesome, should be able to do that in the next day or so hopefully. (Just waiting for my company to give me the OK.)

I've just submitted the CLA - let me know if you need me to do anything else.

Merged!  Thanks again for the great patch.

No worries, thank you.
Do you have plans to release a new version of the library with this change soon?

I've got an important bug to fix that should get shipped soon, and this is a nice enhancement...  I could probably do a release this weekend.
In the short term, if you want to create app builds with these updates, you can just make a build of the setup lib and refer to it locally in your build.gradle: https://goo.gl/2xSAUz
HTH

Hey @jensck, do you have any updates on that release?

@charleskorn done!  Pull down 0.3.7!

Awesome, thanks.


createArguments offset off-by-one?

It needs to start at 1, but the `array bind argument` test starts at 2.

This isn't a bug if we also bind the correct number. I'm pretty sure the core intentionally starts array parameters at n+1 where n is the total number of arguments in the query including array arguments pre-inlining.

Ah, that would make sense of the numbers. And yes they're still bound correctly. I'll remove from 1.0, but it would be nice to clean this up eventually so long as it doesn't complicate the compiler too much.


ADO Pwn Request

Fixes #164 Adds support for finding Arbitrary Code Execution from Untrusted Code Changes to Azure Devops(what can be detected from workflow file)

Can you please update documentation with Best , Bad examples and also small caveat section that false positive is likely given that static analysis of solely the pipeline file is not enough to confirm exploitability. Maybe take even screenshots of the ADO UI in the best vs bad. To show really how it would be bad


Suggestions for improvement

Hello and thank you for working on this!
I tried to use it in my webapp and decided that it was too limited for my use case, but I would like to mention my issues for you in case it can help you improve the package :)
This is just a quick write down. If I have misunderstood something, or you don't agree with it, feel free to ignore it. Also feel free to close this issue whenever you want.

[ ] The web app manifest should also link to the original SVG. The SVG is the best logo to use if the client supports SVG.
[ ] The original SVG logo should be minified using something like SVGO.
[x] The web app manifest should specify purpose: "any" on images that are not maskable .
[ ] The package should be able to generate monochrome icons for the web app manifest.
[ ] When generating maskable icons, you should be able to choose which background color is used (currently it is white). Apparently possible, but not documented.
[x] IMO you don't need an ico file in the minimal-2023 preset when you can serve a png file instead. It is very well supported.
[ ] You should be able to specify different icons for the any, maskable, and monochrome purposes. If you want your icon to look really well, you sometimes need to change it in a way that is incompatible with the other purposes.
[x] The package  should be integrated better with Vite. I don't want to manually add the manifest and HTML tags, I want it to either be completely automatic, or be implemented as virtual modules that return html which I can insert in the code. (being solved in #https://github.com/vite-pwa/vite-plugin-pwa/pull/621)
[x] I don't want the generated images to be pasted into the same folder as the original logo. That folder is for source files, anything that is generated should be in a temporary folder, or should only be in the final build output. (being solved in #https://github.com/vite-pwa/vite-plugin-pwa/pull/621)
[ ] Consider adding a minimal-standard preset. I think Apple's approach to logos is really bad, they shouldn't need custom images when they can just read the images in the manifest. I would prefer a preset that does not have any images or tags which are custom designed only for a single company or device.
[ ] #35

This package is not a bundler, the images should be in the same place, you generate the images once. You can move the generated images where you want using releative paths in the config file (iirc there is some issue about this).
The package exposes an api, you can use it if you want some advance features.
The cli is very limited but you can use a custom conf file and include all icons you want, including monochrome and custom bg color.
You can also create a custom preset and use it via config file.
There is a PR in pwa plugin repo for pwa assets generation, check the pr page there.
Read the assets generation entry in the pwa docs, there are some hints for your questions.

The cli is very limited but you can use a custom conf file and include all icons you want, including monochrome and custom bg color.
You can also create a custom preset and use it via config file.
Read the assets generation entry in the pwa docs, there are some hints for your questions.

I was using the config file and I read through all the documentation I could find, and did not find anything about monochrome icons and custom background colors. Maybe some more comprehensive documentation would have helped here.
Searching through the docs again, I see that you mention once that background color can be customized, but I cannot find any documentation on how to do it.

The web app manifest should specify purpose: "any" on images that are not maskable .

There is no need since the any is the default value: https://developer.mozilla.org/en-US/docs/Web/Manifest/icons

IMO you don't need an ico file in the minimal-2023 preset when you can serve a png file instead. It is very well supported.

You don't need png files, using an svg should work in any modern browser: check https://dev.to/masakudamatsu/favicon-nightmare-how-to-maintain-sanity-3al7

The web app manifest should also link to the original SVG. The SVG is the best logo to use if the client supports SVG.

Why? Not all browsers support SVG.

You can add the favicon you want since this package will not add anything to your html pages, you can generate any png image with any resolution and add the corresponding link to the html head (the CLI should log the corresponding head entry, maybe requires some review in the html module for sizes).
Anyway, the browser will just download the ico or the svg not both, whatever favicon format it supports.

The web app manifest should also link to the original SVG. The SVG is the best logo to use if the client supports SVG.

Why? Not all browsers support SVG.

SVG files are typically much smaller compared to PNG files, so browsers can use less data to get the icon. This is especially true if it needs to download several different PNG sizes.
SVG files also allow the browser to display the logo exactly as it was intended, whereas trying to resize a PNG to a specific size will always result in some amount of blurring. The usual way to deal with this is to download PNGs that are much larger than needed and downsize them. This minimises the blurring effect but means you have to download much more data than necessary.
I know that not all browsers support SVG images, which is why the web app manifest has PNGs. I am just saying that you should have both SVG and PNG, so that browsers can choose to use the SVG if they support it.

You can contribute adding more presets here if existing ones don't meet your needs, PR welcome.


Disable "you died" trigger.

Not really an issue but I can't figure out where the tts trigger "You Died" is stored, as I want to disable it.

This is because you added it in your cactbot/user/raidboss.js file.  If you open that file up, you can remove it.
It's an example trigger, so you likely got it if you copied cactbot/user/raidboss-example.js into cactbot/user/raidboss.js directly.

If this is about a sound that pops after you die and than repeats until you get up than I have the same problem after I've updated cactbot to the newest version. I've never created a cactbot/user/raidboss.js file or never used cactbot/user/raidboss-example.js to copy anything from there yet I have this sound. Please help.

What is in your cactbot/user/ folder?

jobs-example
oopsyraidsy-example
raidboss-example
README

There are two places that cactbot looks for a user folder.  If your plugin folder is in ACT/OverlayPlugin/addons (for example), then it will look in ACT/OverlayPlugin/cactbot/user.  Additionally, if you link to some somedir/cactbot/ui/raidboss/raidboss.html and that cactbot directory is different than the ACT/OverlayPlugin/cactbot directory, it will also look local to the html file in somedir/cactbot/user.
Do you happen to have two user directories?
YOU DIED is only in raidboss-example.js, and should only appears on screen if it's been somehow injected into a raidboss.js file.  https://github.com/quisquous/cactbot/blob/66bf0729ab5eae8f5b970cfb39506300d495b6c8/user/raidboss-example.js#L102

Installing the newest version somehow resolved the problem. Thanks for your support.

Glad you got it sorted!


Consider using generic attributes on latest preview C# 10

Describe the feature
[ValueObject(typeof(int))]

to be
[ValueObject<int>]

References
https://docs.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-10#generic-attributes
https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/proposals/csharp-10.0/generic-attributes

That's a great idea - thank you! I'm assuming we can conditionally compile/generate these?

@SteveDunn The feature for generic attributes has been moved to C# 11: https://docs.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-11#generic-attributes If not delayed again, we'll see this in November 2022.
The easiest implementation would be by inheriting from the existing ValueObjectAttribute.
The new attribute wouldn't have the underlyingType parameter in the constructor, but therefore the generic type.
The constructor of the new generic attribute would simply call the base constructor.
If the code generator takes inheritence into account, it wouldn't matter in the end if it is the one or the other attribute.

Release in 3.0.3 and available if you target net7.0


Feature Request: Find reference among modified code

When you have added additional lines to the code base, the lines numbers get thrown off. It would be an awesome feature if the application tried to identify the desired line within the last committed version of the file from the repo. If this isn't already a feature, I'd be happy to put a bounty on it.
Thanks,
Justin

No, this isn't a feature yet.  Good idea though!  Marking as enhancement for future work.
Thanks for the input.


Not working "Foreign Data wrappers configurator" whith tds_fdw

Description
Not working "Foreign Data wrappers configurator" whith tds_fdw

DBeaver Version
24.1.4
Operating System
Windows 10 Pro x64
Database and driver
PostgreSQL 16.3 on x86_64-alt-linux-gnu(10.3) and MSSQL Server 16 on Windows 10 Pro (64-bit)
Steps to reproduce
screenshots
Additional context
No response

thanks for the report


Improve C++ CFG analysis

One of the project examples in the repository is dng_sdk (https://android.googlesource.com/platform/external/dng_sdk/+/refs/heads/master/)
dng_sdk  is a C++ library and the current reachability extraction is sub-optimal on this example. An example is that the ParseIFD function is not part of the callgraph :https://android.googlesource.com/platform/external/dng_sdk/+/refs/heads/master/source/dng_info.cpp#1971
A problem is that CFG extraction at the IR level with C++ programs is hard. For example, the call to ParseIFD function here :https://android.googlesource.com/platform/external/dng_sdk/+/refs/heads/master/source/dng_info.cpp#1971 is not included in the graph.
The above line is called in the LLVM IR as follows:
Early in the LLVM IR function
 %this1 = load %class.dng_info*, %class.dng_info** %this.addr, align 8
 ....
 ....
 ....
// Get "this" object
  %43 = bitcast %class.dng_info* %this1 to void (%class.dng_info*, %class.dng_host*, %class.dng_stream*, %class.dng_exif*, %class.dng_shared*, %class.dng_ifd*, i64, i64, i32)***, !dbg !4560

// Load the VTable
  %vtable32 = load void (%class.dng_info*, %class.dng_host*, %class.dng_stream*, %class.dng_exif*, %class.dng_shared*, %class.dng_ifd*, i64, i64, i32)**,
                   void (%class.dng_info*, %class.dng_host*, %class.dng_stream*, %class.dng_exif*, %class.dng_shared*, %class.dng_ifd*, i64, i64, i32)*** %43,
                   align 8, !dbg !4560

// Load virtual function from VTable
  %vfn33 = getelementptr inbounds void (%class.dng_info*, %class.dng_host*, %class.dng_stream*, %class.dng_exif*, %class.dng_shared*, %class.dng_ifd*, i64, i64, i32)*,
  							      void (%class.dng_info*, %class.dng_host*, %class.dng_stream*, %class.dng_exif*, %class.dng_shared*, %class.dng_ifd*, i64, i64, i32)** %vtable32,
  							      i64 8, !dbg !4560

// Load the actual function pointer
  %44 = load void (%class.dng_info*, %class.dng_host*, %class.dng_stream*, %class.dng_exif*, %class.dng_shared*, %class.dng_ifd*, i64, i64, i32)*,
             void (%class.dng_info*, %class.dng_host*, %class.dng_stream*, %class.dng_exif*, %class.dng_shared*, %class.dng_ifd*, i64, i64, i32)** %vfn33,
             align 8, !dbg !4560

  %45 = ptrtoint void (%class.dng_info*, %class.dng_host*, %class.dng_stream*, %class.dng_exif*, %class.dng_shared*, %class.dng_ifd*, i64, i64, i32)* %44 to i64, !dbg !4560
  call void @__sanitizer_cov_trace_pc_indir(i64 %45), !dbg !4560

// Call the function
    call void %44(%class.dng_info* nonnull dereferenceable(332) %this1,
                %class.dng_host* nonnull align 8 dereferenceable(54) %38,
                %class.dng_stream* nonnull align 8 dereferenceable(104) %39,
                %class.dng_exif* %call24,
                %class.dng_shared* %call26,
                %class.dng_ifd* %call29,
                i64 %add,
                i64 %42,
                i32 0) #11, !dbg !4560

This means, we should be able to identify the target function from looking at the type of the this pointer and then also the index in the vtable. In this case, this is dng_info and index 8.
Am not entirely sure how to extract the vtables, but, it looks like debug information can help. First, to identify the class in the metadata:
!1749 = distinct !DICompositeType(tag: DW_TAG_class_type, name: "dng_info", file: !1750, line: 39, size: 2688, flags: DIFlagTypePassByReference | DIFlagNonTrivial, elements: !1751, vtableHolder: !1749)

Then correlate the scope 1749 and virtualIndex: 8 to get the ParseIFD function:
!1920 = !DISubprogram(name: "ParseIFD", linkageName: "_ZN8dng_info8ParseIFDER8dng_hostR10dng_streamP8dng_exifP10dng_sharedP7dng_ifdmlj", scope: !1749, file: !1750, line: 114, type: !1921, scopeLine: 114, containingType: !1749, virtualIndex: 8, flags: DIFlagProtected | DIFlagPrototyped, spFlags: DISPFlagVirtual)

Actually, the entire vtable is specified as a global variable in the LLVM IR module, namely:
	[15 x i8*] [i8* null,
				i8* bitcast ({ i8*, i8* }* @_ZTI8dng_info to i8*),
				i8* bitcast (void (%class.dng_info*)* @_ZN8dng_infoD1Ev to i8*),
				i8* bitcast (void (%class.dng_info*)* @_ZN8dng_infoD0Ev to i8*),
				i8* bitcast (void (%class.dng_info*, %class.dng_host*, %class.dng_stream*)* @_ZN8dng_info5ParseER8dng_hostR10dng_stream to i8*),
				i8* bitcast (void (%class.dng_info*, %class.dng_host*)* @_ZN8dng_info9PostParseER8dng_host to i8*),
				i8* bitcast (i1 (%class.dng_info*)* @_ZN8dng_info10IsValidDNGEv to i8*),
				i8* bitcast (void (%class.dng_info*)* @_ZN8dng_info13ValidateMagicEv to i8*),
				i8* bitcast (void (%class.dng_info*, %class.dng_host*, %class.dng_stream*, %class.dng_exif*, %class.dng_shared*, %class.dng_ifd*, i32, i32, i32, i32, i64, i64)* @_ZN8dng_info8ParseTagER8dng_hostR10dng_streamP8dng_exifP10dng_sharedP7dng_ifdjjjjml to i8*),
				i8* bitcast (i1 (%class.dng_info*, %class.dng_stream*, i64, i64)* @_ZN8dng_info11ValidateIFDER10dng_streamml to i8*),
				i8* bitcast (void (%class.dng_info*, %class.dng_host*, %class.dng_stream*, %class.dng_exif*, %class.dng_shared*, %class.dng_ifd*, i64, i64, i32)* @_ZN8dng_info8ParseIFDER8dng_hostR10dng_streamP8dng_exifP10dng_sharedP7dng_ifdmlj to i8*),
				i8* bitcast (i1 (%class.dng_info*, %class.dng_host*, %class.dng_stream*, i64, i64, i64, i64, i64, i32)* @_ZN8dng_info17ParseMakerNoteIFDER8dng_hostR10dng_streammmlmmj to i8*),
				i8* bitcast (void (%class.dng_info*, %class.dng_host*, %class.dng_stream*, i32, i64, i64, i64, i64)* @_ZN8dng_info14ParseMakerNoteER8dng_hostR10dng_streamjmlmm to i8*),
				i8* bitcast (void (%class.dng_info*, %class.dng_host*, %class.dng_stream*, i64, i64, i64)* @_ZN8dng_info20ParseSonyPrivateDataER8dng_hostR10dng_streammmm to i8*),
				i8* bitcast (void (%class.dng_info*, %class.dng_host*, %class.dng_stream*)* @_ZN8dng_info19ParseDNGPrivateDataER8dng_hostR10dng_stream to i8*)] },

This makes it a whole lot easier. Notice that _ZTV8dng_info is "vtable for dng_infowhen demangled. For easy index calculation use the index from thegep` instruction above and discount the first two elements in the vtable. This is great because we don't have to rely on debug symbols or anything like that - we simply need to identify:

identify a call is a vtable call
traceback to capture the struct/class type
identify the index in the vtable
find the relevant global variable representing the vtable
get the funciton pointer.

We may have to do more in terms of capturing all implementations of a virtual function - let's deal with that afterwards.

Am not sure if we can always relying on global variables being called "v table for ..." or if we should do some analysis of on the constructor methods of each type
The reason we should skip the first two elements in a given vtable global variable is because the constructors for the given type will load the vtable at the 2nd index and store it in the new object. I am not sure if this is an absolute rule or if it varies, however, in the (few) examples I have looked at this is always true. If not, an option is to look at the constructor code for a given type and see which index a given vtable is used in the GEP instruction that assigns the vtable for the given object..

Handling of VTable calls is now supported to an extend by Inspector::extractVTableIndirectCall https://github.com/ossf/fuzz-introspector/blob/4b8fad3521216561dfa637cb7143fc58018172a8/llvm/lib/Transforms/Inspector/Inspector.cpp#L445
However, there is a limitation here which is we may not get the exact right class when extracting the target class, but rather a parent class. For example, the callgraph for: https://github.com/ossf/fuzz-introspector/blob/main/examples/cpp-simple-example-1/fuzzer.cpp
looks as follows:
0 LLVMFuzzerTestOneInput [function] [call site]
  1 operator new(unsigned long) [call site]
  1 C::C() [function] [call site]
    2 B::B() [function] [call site]
  1 B::bar() [function] [call site]

whereas the true callgraph is:
0 LLVMFuzzerTestOneInput [function] [call site]
  1 operator new(unsigned long) [call site]
  1 C::C() [function] [call site]
    2 B::B() [function] [call site]
  1 C::bar() [function] [call site]

This is not a trivial problem to solve at the IR level.
One way of potentially identifying this is backtracking on the LLVM IR to identify the constructor used to create a given object. We should be able to do this by looking at calls to new.


Gutter not working properly with diferent column sizes

[x] This is not a v0.x issue.
[x] I have searched the issues of this repository and believe that this is not a duplicate.

Expected Behavior 🤔

When there are nested Grids Gutters should cancel each other but the outer most gutter
Current Behavior 😯

In some specific nested grid scenarios gutter is apparently messing with the size of its father container and thus messing with the spacing between items. I tried to investigate but couldn't find a reason to this.
Steps to Reproduce 🕹

Link: https://codesandbox.io/embed/lucid-archimedes-r4s1w

Create a column Grid
On each item, create a new row Grid
Create some combinations of items taking different number of columns
Some combinations messes up with the gutter to the next item (is as if the father container is ignoring the negative margin of its child and just taking the space as if there was no negative margin)

Context 🔦

I was trying to create a personalized Grid for my use case (as my design system only allows 2 sizes of gutters), when I was creating some examples in my storybook I saw this bug, but couldn't find a way to solve it (couldn't even explain why it is happening).
If this is somehow an expected behavior I apologize, but I find it quite peculiar.
Your Environment 🌎

Tech
Version

Material-UI
v3.9.3

React
v16.8.3

Browser
Firefox Developer Edition version: 69.0b7

TypeScript
not yet

Updated reproduction with v4: https://codesandbox.io/s/heuristic-newton-px8cu. It seems to be an issue with the text content.


Don't showing more than 4 child elements

Notice that when I put more than 4 elements, the directive simply ignore the "excess".
See here: http://plnkr.co/edit/BcGEhsLSoFxhgDLzon26
So what is going wrong? Please, can you help me?

You have to rebuild the CSS file accordingly as to support as many buttons as needed. See the docs for the way to do it properly. Let me know if you need further help.

Really thanks a lot, but in a cenario that intends to be more dinamic as possible, how I could do these adjusts dinamically?

Being it tied to a css stylesheet there is no way to recompile it on the fly, as far as I know. You could sort of replicate the logic behind the scss to work in the JavaScript and calculate the positions dynamically but in the end i am quite sure that the cost in term of work and performance would just not be justified.
My suggestion: simply to define a sensible maximum amount of buttons your layout can support (I hardly see anyone needing more than 7-8 buttons, let alone have sufficient real estate for them in the page), choose an effect and make a custom build as explained in the docs linked above.
You'll end up with some lines of potentially unused CSS but it will probably affect next to zero your overall performance and your layout will support a variable amount of buttons from 0 to n without any problem.

I've decided to solve the problem as you have said, that is define sensibly the maximum amount of buttons. But by the Docs that you've sent me, I changed just the property "$number-of-child-buttons" to "5" instead "4 !default" and I rebuilt the SASS file to generate CSS. Sadly, I think isn't just that.
Please, can you help me? Best regards.

Check this Plunkr.
I generated the css form a scss file like the my-custom.scss you see in the Plunkr, which is simply:
$number-of-child-buttons: 6;
$effects-slidein: false;
$effects-slidein-spring: false;
$effects-fountain: false;
@import "../bower_components/ng-mfb/mfb/src/mfb.scss";

You just need to tell your task runner to compile this my-custom.scss file and it will generate the appropriate code in your own css.

Yeah yeah, I've managed it yesterday but thanks a lot.

$number-of-child-buttons: 6; works fine. thanks


iOS 15 support

There are some changes to the Core Bluetooth API.
CBService
unowned(unsafe) var peripheral: CBPeripheral { get }

CBCharacteristic
unowned(unsafe) var service: CBService { get }

CBDescriptor
unowned(unsafe) var characteristic: CBCharacteristic { get }
iOS 15.X

CBService
weak var peripheral: CBPeripheral? { get }

CBCharacteristic
weak var service: CBService? { get }

CBDescriptor
weak var characteristic: CBCharacteristic? { get }

The changes are detailed describe here in this issue
Solution:
Made below classes' convenience init(…) methods optional convenience init?(…) and only initialize if pass in params required properties(service, characteristic, descriptors) are not deallocated.
RxBluetoothKit

- Characteristic.swift
- Descriptor.swift

Example
    convenience init?(descriptor: CBDescriptor, peripheral: Peripheral) {

        guard let _characteristic = descriptor.characteristic, let _service = _characteristic.service else {
            return nil
        }

        let service = Service(peripheral: peripheral, service: _service)
        let characteristic = Characteristic(characteristic: _characteristic, service: service)
        self.init(descriptor: descriptor, characteristic: characteristic)
    }

Caller sites have been always guard strogeRefeance therefore, added an extra guard  for those that are optionally initializable.
Test
Test cases are update and force unwrapped for those optional initializable objects.
Other improvement
Fixed deprecated method signature warnings.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Thank you very much @chamira-at for this PR. A dependency of my project depends on this to unblock me for using the latest Swift version. Looking forward for @robnadin 's review.

Likewise @CSolanaM  ! Friendly nudge @robnadin  ;)

Likewise @CSolanaM ! Friendly nudge @robnadin ;)

Unfortunately I don't have write access so I'm not able to perform a full review, just thought I'd add my $0.02 to the changes 🙃

@minixT friendly nudge! Is there any chance you could have a look at this PR?

can you please have a look on this PR ?

@monikamsc Can you please help us reviewing this PR?

Hi 👋🏽,
Can someone with write access have a look at on this PR and approves it :).
It has been sometime and this PR is really critical for many projects.
Really appreciate your guys hard work and Thank you 🙏🏼

Hello,
Will this be released at some point?

Is there anything I can do to help get this merged in?

Hello @mpiechocki
Can you merge this, please?


feat: add a default message for empty group fields

Is your feature request related to a problem? Please describe.
For empty group members, mentors and assignments, the group page needs to have some default message:

Mentors: There are no mentors in the group, click "+ Add Mentors" button to add mentors.
Members: There are no members in the group, click "+ Add Member" button to add members.
Assignments: There are no assignments in the group, click "+ Add Assignments" button to start an assignment.

Additional context
The assignment section should not show the table for empty data.
Are you working on this? (Yes/No)
No

How about an approach like this?
Before-

After-

Also I think removing the table might be a bad idea(when no assignments) , cause it gives a brief description of how the assignments will be once the user creates them.

Hey @VaibhavUpreti , If this issue is still open I want to work on this, can you assign it to me.

@thejaysharma the PR for the issue is under review, kindly checkout other open and unassigned issues, thanks!

is the issue still under the review?


Arduino Due board hangs

MicroPython v1.8.3-88-gf98bb2d on 2016-09-01; Arduino Due with SAM3X8E
Type "help()" for more information.
>>> a=bytearray(30500)
>>> b=bytearray(100)
>>> b=bytearray(100)
>>> b=bytearray(100)

The application hangs on the last bytearray() and no prompt is received.

Skip for now.


Trace enabled subgraphs lag behind the head

I'm not sure if this is a bug.
I did some intensive testing with different OpenEthereum versions and Parity nodes to compare results and find the best combination to index subgraphs that require the traces feature. Currently every subgraph that needs traces usually lags some blocks behind, catches up to be 0 blocks behind and falls back behind again.
Interestingly every subgraph that is connected to the same Ethereum node lags behind the exact same number of blocks. When I distribute them across different Ethereum nodes each one of them lags behind, the same amount as all other subgraphs on the same Ethereum node, but a different number of blocks from subgraphs on other Ethereum nodes.
Additionally subgraphs that do not require traces are always current, that means they are showing no lag. I tried with 3 different Ethereum nodes, one of them being Quiknode which runs Parity 2.5.13 with EIP-1898 support patched in. The other two are running OpenEthereum 3.1-RC1.
To verify you can add subgraphs that require traces and subgraphs that do not require traces to one indexer which is connected to a traces enabled Ethereum node. Once they are fully synced you will see the described behavior.
Subgraphs should not fall back up to 12 blocks before they are syncing back up to the head. They should stay current.

This might be coincidence but there exists a command line flag for OpenEtheruem to set the number of blocks that the Ethereum node will allow to fall back behind the current head before it switches to syncing mode to catch up again. The default is set to --max-round-blocks-to-import=12 which is the highest lack that I so far observed before the subgraphs sync back up to head in a split second.

Hi @czarly! Sorry about the delay on this. Subgraphs using traces appear to be indexing properly, so closing this issue, please do re-open if you are still seeing this problem!


Ability to retry child workflow tasks from parent workflow

Problem:
We cannot re-run a child workflow task from a parent workflow.
Description
Often times a parent workflow will only have 3 tasks.  The child workflow will have up to 20 or more tasks.
When the child workflow fails at task 19 we are only able to restart the child workflow at task 20. This will not continue the Parent workflow at task2.
Why are our workflows structured like this?  Often times we need to slightly alter some logic for sensor based workflow calls vs manual based workflow calls.  The child workflow allows the code to be reused in both parent workflows for sensor and manual runs.
Why do we want to rerun?  Sometimes network errors lead to remote ssh runners failing.  Rerunning from the parent task1 would do all the earlier steps and duplicate work.
Stackstorm has the ability to restart a workflow from a specific task using the syntax st2 execution re-run <execution-id> --tasks <task_name>
https://docs.stackstorm.com/orquesta/operations.html#re-running-workflow-execution-from-task-s
Proposed UI solution:
allow ability to re-run child workflow tasks like so
st2 execution re-run <execution-id> --tasks <task_name>.<child_task_name>
Developer Notes
My initial research led me to this section of code and a possible solution
https://github.com/StackStorm/st2/blob/d61b563c418f0f82f339a67053df421c8bbbc6c1/st2common/st2common/services/workflows.py#L505
1.tasks = split task on dot
2. find tasks[0] task in workflow
3. if tasks[1] exists then set this task as running and recurse into this function using tasks[1] and workflow from tasks[0] if it is a workflow

@m4dcoder what do you think about this proposal?

@guzzijones @armab +1 on the proposal. Just be sure to catch the edge case.  Take this workflow https://github.com/StackStorm/orquesta/blob/master/orquesta/tests/fixtures/workflows/native/split.yaml for example, there are exactly two separate instances for the branch task4->task5->task6->task7. In the proposal, if this workflow is the sub workflow, just make sure the child task name knows how to identify which branch to re-run.


Segmentation fault due to uninitialized mj_pose_service_node_ while launching franka_sim.launch.py

Issue
Environment Setup:

ROS Distribution: ROS 2 Humble
Operating System: Ubuntu 22.04.4 LTS
Libfranka: 0.9.2
Mujoco: 3.1.3

Description
I encountered a segmentation fault error while launching franka_sim.launch.py. After investigating based on the logs, I found that there was a null reference in this conditional statement. It seems that mj_pose_service_node_ did not initialize before calling mj_pose_service_node_->hasUpdates(), which leads to the segmentation fault.
Logs
ros2 launch franka_bringup franka_sim.launch.py
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [robot_state_publisher-1]: process started with pid [816571]
[INFO] [joint_state_publisher-2]: process started with pid [816573]
[INFO] [franka_control2_node-3]: process started with pid [816575]
[INFO] [spawner-4]: process started with pid [816577]
[INFO] [rviz2-5]: process started with pid [816579]
[robot_state_publisher-1] [INFO] [1719599712.170395662] [robot_state_publisher]: got segment panda_hand
[robot_state_publisher-1] [INFO] [1719599712.170445887] [robot_state_publisher]: got segment panda_hand_tcp
[robot_state_publisher-1] [INFO] [1719599712.170450620] [robot_state_publisher]: got segment panda_leftfinger
[robot_state_publisher-1] [INFO] [1719599712.170453523] [robot_state_publisher]: got segment panda_link0
[robot_state_publisher-1] [INFO] [1719599712.170456073] [robot_state_publisher]: got segment panda_link1
[robot_state_publisher-1] [INFO] [1719599712.170458346] [robot_state_publisher]: got segment panda_link2
[robot_state_publisher-1] [INFO] [1719599712.170460630] [robot_state_publisher]: got segment panda_link3
[robot_state_publisher-1] [INFO] [1719599712.170462949] [robot_state_publisher]: got segment panda_link4
[robot_state_publisher-1] [INFO] [1719599712.170465194] [robot_state_publisher]: got segment panda_link5
[robot_state_publisher-1] [INFO] [1719599712.170467431] [robot_state_publisher]: got segment panda_link6
[robot_state_publisher-1] [INFO] [1719599712.170469700] [robot_state_publisher]: got segment panda_link7
[robot_state_publisher-1] [INFO] [1719599712.170472090] [robot_state_publisher]: got segment panda_link8
[robot_state_publisher-1] [INFO] [1719599712.170474393] [robot_state_publisher]: got segment panda_rightfinger
[franka_control2_node-3] [WARN] [1719599712.176108674] [controller_manager]: [Deprecated] Passing the robot description parameter directly to the control_manager node is deprecated. Use '~/robot_description' topic from 'robot_state_publisher' instead.
[franka_control2_node-3] text not specified in the mj_yaml tag
[franka_control2_node-3] [INFO] [1719599712.176310807] [resource_manager]: Loading hardware 'FrankaMujocoHardwareInterface'
[franka_control2_node-3] [INFO] [1719599712.184769504] [resource_manager]: Initialize hardware 'FrankaMujocoHardwareInterface'
[franka_control2_node-3] [INFO] [1719599712.184851736] [FrankaMujocoMultiHardwareInterface]: Initial checks all passed
[joint_state_publisher-2] [INFO] [1719599712.411248883] [joint_state_publisher]: Waiting for robot_description to be published on the robot_description topic...
[rviz2-5] [INFO] [1719599712.478287069] [rviz2]: Stereo is NOT SUPPORTED
[rviz2-5] [INFO] [1719599712.478394712] [rviz2]: OpenGl version: 4.6 (GLSL 4.6)
[rviz2-5] [INFO] [1719599712.493141498] [rviz2]: Stereo is NOT SUPPORTED
[franka_control2_node-3] [INFO] [1719599712.722204765] [panda_gripper_sim_node]: Started gripper sim
[franka_control2_node-3] [INFO] [1719599712.722521040] [resource_manager]: Successful initialization of hardware 'FrankaMujocoHardwareInterface'
[franka_control2_node-3] [INFO] [1719599712.722595423] [resource_manager]: 'configure' hardware 'FrankaMujocoHardwareInterface'
[franka_control2_node-3] [INFO] [1719599712.722601096] [resource_manager]: Successful 'configure' of hardware 'FrankaMujocoHardwareInterface'
[franka_control2_node-3] [INFO] [1719599712.722608398] [resource_manager]: 'activate' hardware 'FrankaMujocoHardwareInterface'
[franka_control2_node-3] [INFO] [1719599712.722612493] [FrankaMujocoMultiHardwareInterface]: Started
[franka_control2_node-3] [INFO] [1719599712.722615834] [resource_manager]: Successful 'activate' of hardware 'FrankaMujocoHardwareInterface'
[franka_control2_node-3] [INFO] [1719599712.724859987] [controller_manager]: franka_control2_node
[franka_control2_node-3] [INFO] [1719599712.724879452] [controller_manager]: update rate is 1000 Hz
[franka_control2_node-3] [INFO] [1719599712.724976211] [controller_manager]: RT kernel is recommended for better performance
[franka_control2_node-3] Stack trace (most recent call last) in thread 816775:
[franka_control2_node-3] #8    Object "", at 0xffffffffffffffff, in
[franka_control2_node-3] #7    Source "../sysdeps/unix/sysv/linux/x86_64/clone3.S", line 81, in __clone3 [0x7f4c3532684f]
[franka_control2_node-3] #6    Source "./nptl/pthread_create.c", line 442, in start_thread [0x7f4c35294ac2]
[franka_control2_node-3] #5    Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30", at 0x7f4c356dc252, in
[franka_control2_node-3] #4    Object "/home/sharma/Documents/thesis/code_ws/build/franka_control2/franka_control2_node", at 0x62b41ac221d2, in main::{lambda()#1}::operator()() const
[franka_control2_node-3] #3    Object "/opt/ros/humble/lib/libcontroller_manager.so", at 0x7f4c35b807a4, in controller_manager::ControllerManager::write(rclcpp::Time const&, rclcpp::Duration const&)
[franka_control2_node-3] #2    Object "/opt/ros/humble/lib/libhardware_interface.so", at 0x7f4c355af9ac, in hardware_interface::ResourceManager::write(rclcpp::Time const&, rclcpp::Duration const&)
[franka_control2_node-3] #1    Object "/opt/ros/humble/lib/libhardware_interface.so", at 0x7f4c355ccf3f, in hardware_interface::System::write(rclcpp::Time const&, rclcpp::Duration const&)
[franka_control2_node-3] #0    Object "/home/sharma/Documents/thesis/code_ws/build/franka_hardware/libfranka_hardware.so", at 0x7f4c2e493065, in franka_hardware::FrankaMujocoMultiHardwareInterface::write(rclcpp::Time const&, rclcpp::Duration const&)
[franka_control2_node-3] Segmentation fault (Address not mapped to object [0x380])
[ERROR] [franka_control2_node-3]: process has died [pid 816575, exit code -11, cmd '/home/sharma/Documents/thesis/code_ws/install/franka_control2/lib/franka_control2/franka_control2_node --ros-args --params-file /tmp/launch_params_xlir758c --params-file /home/sharma/Documents/thesis/code_ws/install/franka_bringup/share/franka_bringup/config/sim_controllers.yaml -r joint_states:=franka/joint_states'].
[INFO] [launch]: process[franka_control2_node-3] was required: shutting down launched system
[INFO] [rviz2-5]: sending signal 'SIGINT' to process[rviz2-5]
[INFO] [spawner-4]: sending signal 'SIGINT' to process[spawner-4]
[INFO] [joint_state_publisher-2]: sending signal 'SIGINT' to process[joint_state_publisher-2]
[INFO] [robot_state_publisher-1]: sending signal 'SIGINT' to process[robot_state_publisher-1]
[rviz2-5] [INFO] [1719599712.849927856] [rclcpp]: signal_handler(signum=2)
[robot_state_publisher-1] [INFO] [1719599712.851182912] [rclcpp]: signal_handler(signum=2)
[INFO] [robot_state_publisher-1]: process has finished cleanly [pid 816571]
[INFO] [joint_state_publisher-2]: process has finished cleanly [pid 816573]
[INFO] [rviz2-5]: process has finished cleanly [pid 816579]
[ERROR] [spawner-4]: process[spawner-4] failed to terminate '5' seconds after receiving 'SIGINT', escalating to 'SIGTERM'
[INFO] [spawner-4]: sending signal 'SIGTERM' to process[spawner-4]
[ERROR] [spawner-4]: process has died [pid 816577, exit code -15, cmd '/opt/ros/humble/lib/controller_manager/spawner joint_state_broadcaster --ros-args'].

After investigating based on the logs, I found that there was a null reference in this conditional statement. It seems that mj_pose_service_node_ did not initialize before calling mj_pose_service_node_->hasUpdates(), which leads to the segmentation fault.
Work-around

Pass mj_yaml in the robot_description

robot_description = Command(
        [
            FindExecutable(name="xacro"),
            " ",
            franka_xacro_file,
            " arm_id:=panda",
            " hand:=",
            load_gripper,
            " scene_xml:=",
            scene_xml,
            " mj_yaml:=",
            mj_yaml,
        ]
    )

Modify this  conditional statement to if(mj_pose_service_node_ && mj_pose_service_node_->hasUpdates()).

I am not sure whether these two workarounds can be a potential solution to fix the error. It needs more investigation. I would appreciate your thoughts and any guidance on this issue.


please tell me how to use mariadb

I want to use the mariadb query 'select *from table'
[dbo]. is required for it to work.
There is no database setting mapping found for 'MySql.Data.MySqlClient.MySqlConnection'
let me use mariadb...

This usually happens if you call an operation but has missed calling the initializer in the first place. Can you please check if the calls to the MySqlBootstrap.Initialize() method has ever been took place.

Sorry..
even if applied (MySqlBootstrap.Initialize() method)
It's still popping up.
{"There is no database setting mapping found for 'MySqlConnector.MySqlConnection'. Make sure to install the correct extension library and call the bootstrapper method. You can also visit the library's installation page (http://repodb.net/tutorial/installation)."}

It sounds an outlier to me, and what is difficult is the fact that we only have the MySQL environment and not the MariaDB environment for testing. I had personally tested it there and everything works fine. The only thing that I can replicate this is when I missed calling the initialization method. Can you share me your code instead?
Note: Good if you can share a RepoDb stack trace or some information if you had debugged it already.

it's solved thank you