Skip to content

diffoscope consumes all memory until killed by OOM killer

Trying to run diffoscope on two builds of Mixxx on my laptop with 16 GB RAM and 4 GB swap, diffoscope consumes all memory until getting killed as I saw in htop. The binaries are 342 MB. Here is the debugging output:

> diffoscope --pdb --debug cmake_build/mixxx ~/local/bin/mixxx
2020-11-30 02:26:15 D: diffoscope.main: Starting diffoscope 154
2020-11-30 02:26:15 D: diffoscope.main: Free space in temporary directory: 7.69 GiB
2020-11-30 02:26:15 D: diffoscope.presenters.formats: Will generate the following presenter formats: text
2020-11-30 02:26:15 D: diffoscope.environ: Normalising locale, timezone, etc. Inheriting PATH of /home/be/local/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/sbin
2020-11-30 08:26:15 D: diffoscope.main: Starting comparison
2020-11-30 08:26:15 D: diffoscope.comparators: Loaded 77 comparator classes
2020-11-30 08:26:15 D: diffoscope.comparators.utils.specialize: Using elf.ElfFile for cmake_build/mixxx
2020-11-30 08:26:15 D: diffoscope.comparators.utils.specialize: Using elf.ElfFile for /home/be/local/bin/mixxx
2020-11-30 08:26:15 D: diffoscope.comparators.utils.compare: Comparing cmake_build/mixxx (ElfFile) and /home/be/local/bin/mixxx (ElfFile)
2020-11-30 08:26:15 D: diffoscope.comparators.utils.file: has_same_content(cmake_build/mixxx, /home/be/local/bin/mixxx)
2020-11-30 08:26:15 D: diffoscope.comparators.utils.command: Executing readelf --wide --file-header {}
2020-11-30 08:26:15 D: diffoscope.comparators.utils.command: Executing readelf --wide --file-header {}
2020-11-30 08:26:15 D: diffoscope.tempfiles: Created top-level temporary directory: /tmp/diffoscope_qmrq3g96
2020-11-30 08:26:15 D: diffoscope.diff: Running diff -aU7 /tmp/diffoscope_qmrq3g96/tmpofvn0w5n/fifo1 /tmp/diffoscope_qmrq3g96/tmpofvn0w5n/fifo2
2020-11-30 08:26:15 D: diffoscope.diff: diff -aU7 /tmp/diffoscope_qmrq3g96/tmpofvn0w5n/fifo1 /tmp/diffoscope_qmrq3g96/tmpofvn0w5n/fifo2: returncode 0, parsed True
2020-11-30 08:26:15 D: diffoscope.comparators.utils.command: Executing readelf --wide --program-header {}
2020-11-30 08:26:15 D: diffoscope.comparators.utils.command: Executing readelf --wide --program-header {}
2020-11-30 08:26:15 D: diffoscope.diff: Running diff -aU7 /tmp/diffoscope_qmrq3g96/tmpmul1l4_l/fifo1 /tmp/diffoscope_qmrq3g96/tmpmul1l4_l/fifo2
2020-11-30 08:26:15 D: diffoscope.diff: diff -aU7 /tmp/diffoscope_qmrq3g96/tmpmul1l4_l/fifo1 /tmp/diffoscope_qmrq3g96/tmpmul1l4_l/fifo2: returncode 0, parsed True
2020-11-30 08:26:15 D: diffoscope.comparators.utils.command: Executing readelf --wide --sections {}
2020-11-30 08:26:15 D: diffoscope.comparators.utils.command: Executing readelf --wide --sections {}
2020-11-30 08:26:15 D: diffoscope.diff: Running diff -aU7 /tmp/diffoscope_qmrq3g96/tmp7od13pf1/fifo1 /tmp/diffoscope_qmrq3g96/tmp7od13pf1/fifo2
2020-11-30 08:26:15 D: diffoscope.diff: diff -aU7 /tmp/diffoscope_qmrq3g96/tmp7od13pf1/fifo1 /tmp/diffoscope_qmrq3g96/tmp7od13pf1/fifo2: returncode 0, parsed True
2020-11-30 08:26:15 D: diffoscope.comparators.utils.command: Executing readelf --wide --symbols {}
2020-11-30 08:26:15 D: diffoscope.comparators.utils.command: Executing readelf --wide --symbols {}
2020-11-30 08:26:15 D: diffoscope.diff: Running diff -aU7 /tmp/diffoscope_qmrq3g96/tmptpzhwq62/fifo1 /tmp/diffoscope_qmrq3g96/tmptpzhwq62/fifo2
2020-11-30 08:26:16 D: diffoscope.diff: diff -aU7 /tmp/diffoscope_qmrq3g96/tmptpzhwq62/fifo1 /tmp/diffoscope_qmrq3g96/tmptpzhwq62/fifo2: returncode 0, parsed True
2020-11-30 08:26:16 D: diffoscope.comparators.utils.command: Executing readelf --wide --relocs {}
2020-11-30 08:26:16 D: diffoscope.comparators.utils.command: Executing readelf --wide --relocs {}
2020-11-30 08:26:17 D: diffoscope.diff: Running diff -aU7 /tmp/diffoscope_qmrq3g96/tmpv0na5nwq/fifo1 /tmp/diffoscope_qmrq3g96/tmpv0na5nwq/fifo2
2020-11-30 08:26:17 D: diffoscope.diff: diff -aU7 /tmp/diffoscope_qmrq3g96/tmpv0na5nwq/fifo1 /tmp/diffoscope_qmrq3g96/tmpv0na5nwq/fifo2: returncode 0, parsed True
2020-11-30 08:26:17 D: diffoscope.comparators.utils.command: Executing readelf --wide --dynamic {}
2020-11-30 08:26:17 D: diffoscope.comparators.utils.command: Executing readelf --wide --dynamic {}
2020-11-30 08:26:17 D: diffoscope.diff: Running diff -aU7 /tmp/diffoscope_qmrq3g96/tmpifvf4axq/fifo1 /tmp/diffoscope_qmrq3g96/tmpifvf4axq/fifo2
2020-11-30 08:26:17 D: diffoscope.diff: diff -aU7 /tmp/diffoscope_qmrq3g96/tmpifvf4axq/fifo1 /tmp/diffoscope_qmrq3g96/tmpifvf4axq/fifo2: returncode 1, parsed True
2020-11-30 08:26:17 D: diffoscope.comparators.utils.command: Executing readelf --wide --notes {}
2020-11-30 08:26:17 D: diffoscope.comparators.utils.command: Executing readelf --wide --notes {}
2020-11-30 08:26:17 D: diffoscope.diff: Running diff -aU7 /tmp/diffoscope_qmrq3g96/tmp944mj608/fifo1 /tmp/diffoscope_qmrq3g96/tmp944mj608/fifo2
2020-11-30 08:26:17 D: diffoscope.diff: diff -aU7 /tmp/diffoscope_qmrq3g96/tmp944mj608/fifo1 /tmp/diffoscope_qmrq3g96/tmp944mj608/fifo2: returncode 0, parsed True
2020-11-30 08:26:17 D: diffoscope.comparators.utils.command: Executing readelf --wide --version-info {}
2020-11-30 08:26:17 D: diffoscope.comparators.utils.command: Executing readelf --wide --version-info {}
2020-11-30 08:26:17 D: diffoscope.diff: Running diff -aU7 /tmp/diffoscope_qmrq3g96/tmpjw3_jg4q/fifo1 /tmp/diffoscope_qmrq3g96/tmpjw3_jg4q/fifo2
2020-11-30 08:26:17 D: diffoscope.diff: diff -aU7 /tmp/diffoscope_qmrq3g96/tmpjw3_jg4q/fifo1 /tmp/diffoscope_qmrq3g96/tmpjw3_jg4q/fifo2: returncode 0, parsed True
2020-11-30 08:26:17 D: diffoscope.comparators.utils.command: Executing readelf --wide --debug-dump=rawline {}
2020-11-30 08:26:24 D: diffoscope.comparators.utils.command: Executing readelf --wide --debug-dump=rawline {}
2020-11-30 08:26:30 D: diffoscope.diff: Running diff -aU7 /tmp/diffoscope_qmrq3g96/tmpsqfsu3tr/fifo1 /tmp/diffoscope_qmrq3g96/tmpsqfsu3tr/fifo2
2020-11-30 08:28:26 D: diffoscope.diff: diff -aU7 /tmp/diffoscope_qmrq3g96/tmpsqfsu3tr/fifo1 /tmp/diffoscope_qmrq3g96/tmpsqfsu3tr/fifo2: returncode 1, parsed True
2020-11-30 08:28:26 D: diffoscope.comparators.utils.command: Executing readelf --wide --debug-dump=info {}
fish: “diffoscope --pdb --debug cmake_…” terminated by signal SIGKILL (Forced quit)
Edited by Be Ing
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information