Bug 1136803

Summary: osc build --vm-type kvm instantly runs OOM
Product: [openSUSE] openSUSE Tumbleweed Reporter: Christian Boltz <suse-beta>
Component: DevelopmentAssignee: Marcus Hüwe <suse-tux>
Status: RESOLVED INVALID QA Contact: E-mail List <qa-bugs>
Severity: Normal    
Priority: P5 - None CC: daniel.mach, marco.strigl
Version: Current   
Target Milestone: ---   
Hardware: Other   
OS: Other   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: screen output

Description Christian Boltz 2019-05-29 21:01:27 UTC
Created attachment 806400 [details]
screen output

osc build --vm-type kvm instantly runs out of memory in the first seconds of booting the VM. I tested with building the apparmor package, but I'm quite sure that this happens to every package.

kvm builds for apparmor worked in the past, so the tiny amount of memory (total-vm:10648kB = 10 MB) is probably a regression. (Unfortunately I can't offer a better timeframe than "in the last months".)

The obvious workaround is --vm-memory 512 or setting build-memory = 512 in ~/.oscrc

Please change the default vm memory to a sane/working value.



Even if this bug is probably easy to reproduce, I'll attach the screen output. One of the interesting lines is probably

[    7s] [    2.625118] Out of memory: Killed process 240 (systemd-journal) total-vm:10804kB, anon-rss:612kB, file-rss:4740kB, shmem-rss:352kB
Comment 1 Marcus Hüwe 2019-06-02 18:18:15 UTC
(In reply to Christian Boltz from comment #0)
> kvm builds for apparmor worked in the past, so the tiny amount of memory
> (total-vm:10648kB = 10 MB) is probably a regression. (Unfortunately I can't
> offer a better timeframe than "in the last months".)
>
Hmm osc has no default value for the vm memory. AFAIK, the obs-build script
also has no default value (but I have to check the code again).
 
> The obvious workaround is --vm-memory 512 or setting build-memory = 512 in
> ~/.oscrc
> 
> Please change the default vm memory to a sane/working value.
> 
I'm not sure if there is a "sane default". It probably depends on the package
you are building.
Comment 2 Christian Boltz 2019-06-02 21:50:12 UTC
(In reply to Marcus Hüwe from comment #1)
> I'm not sure if there is a "sane default". It probably depends on the package
> you are building.

Agreed, but I'm also quite sure that we can agree that "OOM directly after booting the kernel" does not qualify as "sane default" ;-)

If you want a good answer, you'll probably have to check the build statistics of various packages. My selfish answer is that apparmor needs about 500 MB (interestingly more in the devel project, no idea why), so 512 MB are just enough.

Given today's RAM size, I'd say 512 MB (or maybe even 1 GB - hey, sometimes your browser {needs,eats} more ;-) is a sane default.
Comment 3 Daniel Mach 2024-03-13 13:43:39 UTC
The `build-memory` option has no default in osc.
It gets passed as --vm-memory to `build` which doesn't seem to have any default either.
It had to be a system default or something like that.

Closing because there's no osc change needed and we haven't received any similar reports lately.