[ some more info cut+pasted ]
upstream has 8 MB for 2.8 and older, and 4 MB for 2.9 and newer machine types.
qemu-kvm traditionally has 16 MB (for rhel6 compatibility). It should have followed upstream and use 4MB too for 2.9+ (aka rhel-7.4+) machine types (and keep the 16M for the older ones).
Didn't happen for some reason, thats why the assert() can still be triggered unless cirrus memory is explicitly set to 4 MB.
I don't feel like touching it this late in the RHEL-7.5 cycle.
I think we should take care to fix this when we add the next machine type to qemu-kvm, on the next rebase. When I remember plans correctly (no more rebases in 7.x) this means for RHEL-8 ...
OK, we got a new 7.6 machine type, so we can fix this for 7.6.
Fix included in qemu-kvm-rhev-2.12.0-4.el7
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.