canonical / canonical/multipass
[qemu] multipassd crashes if qemu crashes on startup
- Dominant language
- C++
- Stars
- 9.2k
- Forks
- 829
- Avg merge
- 3d 2h
- Merged PRs (30d)
- 45
Description
Helping a user on IRC, we discovered that if `qemu` crashes before all of the signal & slots have been connected, then `multipassd` will crash. Here is a snippet of the user's log:
```
mar 31 18:42:00 t540p multipassd[164898]: QProcess: Destroyed while process ("qemu-system-x86_64") is still running.
mar 31 18:42:00 t540p multipassd[164898]: process error occurred Crashed program: qemu-system-x86_64; error: Process crashed
mar 31 18:42:00 t540p multipassd[164898]: error: program: qemu-system-x86_64; error: Process crashed
mar 31 18:42:00 t540p multipassd[164898]: QObject::connect(multipass::Process, Unknown): invalid null parameter
mar 31 18:42:00 t540p multipassd[164898]: QObject::connect(multipass::Process, Unknown): invalid null parameter
mar 31 18:42:00 t540p multipassd[164898]: QObject::connect(multipass::Process, Unknown): invalid null parameter
mar 31 18:42:00 t540p multipassd[164898]: QObject::connect(multipass::Process, Unknown): invalid null parameter
mar 31 18:42:00 t540p multipassd[164898]: QObject::connect(multipass::Process, Unknown): invalid null parameter
mar 31 18:42:00 t540p multipassd[164898]: QObject::connect(multipass::Process, Unknown): invalid null parameter
```
Contributor guide
Research direction
Start by reproducing the QEMU startup crash and tracing the signal/slot connections created before the process exits, using the supplied log as the failure symptom. Done means multipassd remains running and reports the QEMU startup failure instead of crashing; locate and run the relevant regression coverage once identified.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100