I believe bitcoin-qt does a memory violation because it buffering the tx before saving it in datadir, so i bypass this by using bitcoind which save directly the blocks in datadir. Thank you for the tip.
There's no difference in Bitcoin-qt and bitcoind's internal working, Bitcoin-qt basically has bitcoind running in the background controlled with GUI elements.
The suggestions was based on the lingering issue of Bitcoin-qt freezing during heavy script verifications that may have been a flag for the system to kill it.
Talking about buffering, for UTXO set;
If you didn't set a custom dbbatchsize, it'll write from dbcache to datadir in 16MiB batches.
If your dbcache is high, you can experiment with higher size like
dbbatchsize=1073741824 for 1GiB batches.
bitcoind crashed too after 217MiB downloaded and there is nothing mentioned in journalctl! So i'm going to install an older version of bitcoin core.
You probably deduced this already, but in that case, it has something to do with the normal IBD process, not just an issue with bitcoin-qt.
But since there's no logs provided, people can only do guesswork.
Do you have any other settings in your bitcoin.conf file that can cause instability depending on the hardware?
e.g.: par, dbcache, dbbatchsize, etc. / your machine's specs.
Also (
since this mostly an isolated case), consider a hardware issue, try stress-testing your machine's RAM, CPU, HDD.