stellarium builds die because of too low address space to process a 5MiB
.po file (po/CMakeLists.txt runs lconvert -i X.po -o X.qm. Qt's loadPO()
slurps the whole file): lines.append(dev.readLine().trimmed());
In Qt 6.11, QIODevice::readLineInto() (qtbase/src/corelib/io/qiodevice.cpp) does:
"""
line->resize(qsizetype(qMin(maxSize, 1 + readBytes + d->buffer.chunkSize())));
...
line->resize(readBytes);
"""
The buffer is never released.
chunkSize() is 32767, so every line allocates exactly 32768 bytes, and the final
shrink resize() keeps that capacity (Qt's QByteArray::resize() documents
"never shrinks capacity; use squeeze()").
trimmed() then returns *this (nothing left to trim) — a shared copy — so the
32 KiB block is retained in "lines" forever.
The ~5MiB file will use over 4GiB of memory to process. Qt5 is okay because that
built the same stellarium version on 32 bit systems successfully before.
I am not sure where to report it upstream, so I bring it up here.