canonical / canonical/multipass

One VM running out of RAM clogged Multipass

Open
#4,385 4 comments 0 reactions 0 assignees View on GitHub
jira needs-info
Dominant language
C++
Stars
9.2k
Forks
828
Avg merge
3d 1h
Merged PRs (30d)
44

Description

**Describe the bug**

As per title.

![Image](https://github.com/user-attachments/assets/8530d8a8-7a7d-417f-8238-d0560cf78c5b)

**To Reproduce**
How, and what happened?
1. `multipass launch ...`
2. Do something nasty inside the VM that exhausts the RAM
3. Observe the Multipass GUI freezing, the CLI not working

**Expected behavior**
My host system should be totally unperturbed if something nasty happens inside a VM.

**Logs**

```
sep 22 17:29:27 bardor multipassd[3090]: Executing 'wall The system is going down for poweroff now'
sep 22 17:29:59 bardor multipassd[3090]: Could not broadcast shutdown message in VM: failed to obtain exit status for remote process 'wall The system is going down for poweroff now': timed out after 5000 ms
sep 22 17:29:59 bardor multipassd[3090]: Dropping cached SSH session
sep 22 17:29:59 bardor multipassd[3090]: QMP: {"timestamp": {"seconds": 1758554999, "microseconds": 768175}, "event": "POWERDOWN"}
sep 22 17:29:59 bardor multipassd[3090]: VM powering down
sep 22 17:29:59 bardor multipassd[3090]: QMP: {"return": {}}
sep 22 17:30:21 bardor multipassd[3090]: QMP: {"timestamp": {"seconds": 1758555021, "microseconds": 503089}, "event": "RTC_CHANGE", "data": {"offset": 0, "qom-path": "/machine/unattached/device[4]/rtc"}}
sep 22 17:34:59 bardor multipassd[3090]: SSH session disconnected
sep 22 17:34:59 bardor multipassd[3090]: Caching new SSH session
sep 22 17:35:04 bardor multipassd[3090]: QMP: {"timestamp": {"seconds": 1758555228, "microseconds": 504395}, "event": "RTC_CHANGE", "data": {"offset": 0, "qom-path": "/machine/unattached/device[4]/rtc"}}
sep 22 17:35:05 bardor multipassd[3090]: SSH session disconnected
sep 22 17:35:05 bardor multipassd[3090]: Caching new SSH session
sep 22 17:35:10 bardor multipassd[3090]: SSH session disconnected
sep 22 17:35:10 bardor multipassd[3090]: Caching new SSH session
sep 22 17:35:15 bardor multipassd[3090]: SSH session disconnected
sep 22 17:35:15 bardor multipassd[3090]: Caching new SSH session
sep 22 17:35:20 bardor multipassd[3090]: SSH session disconnected
sep 22 17:35:20 bardor multipassd[3090]: Caching new SSH session
sep 22 17:35:25 bardor multipassd[3090]: SSH session disconnected
sep 22 17:35:25 bardor multipassd[3090]: Caching new SSH session
sep 22 17:35:30 bardor multipassd[3090]: SSH session disconnected
sep 22 17:35:30 bardor multipassd[3090]: Caching new SSH session
sep 22 17:35:36 bardor multipassd[3090]: SSH session disconnected
sep 22 17:35:36 bardor multipassd[3090]: Caching new SSH session
sep 22 17:35:41 bardor multipassd[3090]: fetch manifest periodically
sep 22 17:35:41 bardor multipassd[3090]: SSH session disconnected
sep 22 17:35:41 bardor multipassd[3090]: Caching new SSH session
...
sep 22 17:37:13 bardor multipassd[3090]: SSH session disconnected
sep 22 17:37:13 bardor multipassd[3090]: Caching new SSH session
sep 22 17:41:20 bardor multipassd[3090]: QMP: {"timestamp": {"seconds": 1758555680, "microseconds": 509188}, "event": "RTC_CHANGE", "data": {"offset": 0, "qom-path": "/machine/unattached/device[4]/rtc"}}
sep 22 17:44:47 bardor multipassd[3090]: QMP: {"timestamp": {"seconds": 1758555887, "microseconds": 535864}, "event": "RTC_CHANGE", "data": {"offset": 0, "qom-path": "/machine/unattached/device[4]/rtc"}}
sep 22 17:50:45 bardor multipassd[3090]: fetch manifest periodically
sep 22 17:50:59 bardor multipassd[3090]: SSH session disconnected: [ssh proc] failed to open session channel: 'Socket error: Connection reset by peer'
```

**Additional info**
- OS: Ubuntu 25.04
- CPU architecture or model: amd64
- `multipass version`

```
multipass 1.17.0-dev.456+gcb628d61
multipassd 1.17.0-dev.456+gcb628d61
```

- `multipass info`

```
multipass info
Name: rock-dev
State: Stopped
Snapshots: 0
IPv4: --
Release: --
Image hash: 834af9cd766d (Ubuntu 24.04 LTS)
CPU(s): --
Load: --
Disk usage: --
Memory usage: --
Mounts: --
```

- `multipass get local.driver` `qemu`

**Additional context**
Add any other context about the problem here.

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the failure with `multipass launch ...` using the QEMU driver and an instance that exhausts its RAM. Inspect how `multipassd`, the GUI, and CLI behave during the incident; done means the host, GUI, and CLI remain responsive when the VM runs out of memory.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
infrastructure
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.