diff options
| author | Aleksandr Nogikh <nogikh@google.com> | 2026-01-27 12:31:49 +0000 |
|---|---|---|
| committer | Aleksandr Nogikh <nogikh@google.com> | 2026-02-17 14:55:28 +0000 |
| commit | 72e0f1b67bdd3f89cf51e89a3c17dd4a7cb575f1 (patch) | |
| tree | c7e29b0a56ad5f81ed82f2bf47531c0d0b52812d /pkg/rpcserver | |
| parent | 21b4b9b6789f7b255eb115d3757e82652bb33eaa (diff) | |
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.
Diffstat (limited to 'pkg/rpcserver')
| -rw-r--r-- | pkg/rpcserver/rpcserver.go | 4 | ||||
| -rw-r--r-- | pkg/rpcserver/rpcserver_test.go | 14 |
2 files changed, 18 insertions, 0 deletions
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 @@ -72,6 +72,20 @@ func TestNew(t *testing.T) { }, 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)) assert.Nil(t, s.serv) }, |
