From 72e0f1b67bdd3f89cf51e89a3c17dd4a7cb575f1 Mon Sep 17 00:00:00 2001 From: Aleksandr Nogikh Date: Tue, 27 Jan 2026 12:31:49 +0000 Subject: all: add a DumpMemory feature On Linux, verify that makedumpfile and the second kernel are present, then set up a kernel to be used on panic. --- pkg/rpcserver/rpcserver.go | 4 ++++ pkg/rpcserver/rpcserver_test.go | 14 ++++++++++++++ 2 files changed, 18 insertions(+) (limited to 'pkg/rpcserver') diff --git a/pkg/rpcserver/rpcserver.go b/pkg/rpcserver/rpcserver.go index 04c5d877f..385c0350d 100644 --- a/pkg/rpcserver/rpcserver.go +++ b/pkg/rpcserver/rpcserver.go @@ -162,6 +162,9 @@ func New(cfg *RemoteConfig) (Server, error) { if !cfg.Experimental.RemoteCover { features &= ^flatrpc.FeatureExtraCoverage } + if !cfg.MemoryDump { + features &= ^flatrpc.FeatureMemoryDump + } return newImpl(&Config{ Config: vminfo.Config{ Target: cfg.Target, @@ -170,6 +173,7 @@ func New(cfg *RemoteConfig) (Server, error) { Syscalls: cfg.Syscalls, Debug: cfg.Debug, Cover: cfg.Cover, + MemoryDump: cfg.MemoryDump, Sandbox: sandbox, SandboxArg: cfg.SandboxArg, }, diff --git a/pkg/rpcserver/rpcserver_test.go b/pkg/rpcserver/rpcserver_test.go index 429b275ac..86dddcf76 100644 --- a/pkg/rpcserver/rpcserver_test.go +++ b/pkg/rpcserver/rpcserver_test.go @@ -70,6 +70,20 @@ func TestNew(t *testing.T) { } return &cfg }, + expectedServCheck: func(srv Server) { + s := srv.(*server) + assert.Equal(t, s.cfg.Config.Features, + flatrpc.AllFeatures&(^flatrpc.FeatureExtraCoverage)&(^flatrpc.FeatureMemoryDump)) + assert.Nil(t, s.serv) + }, + }, + { + name: "memory dump enabled", + modifyCfg: func() *mgrconfig.Config { + cfg := defaultCfg + cfg.MemoryDump = true + return &cfg + }, expectedServCheck: func(srv Server) { s := srv.(*server) assert.Equal(t, s.cfg.Config.Features, flatrpc.AllFeatures&(^flatrpc.FeatureExtraCoverage)) -- cgit mrf-deployment