Comparing fails with `RuntimeError: can't start new thread`
When trying to compare files with try.diffoscope.org, I get this:
Whoops! An error occurred when comparing your files
WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
Traceback (most recent call last):
File "/srv/diffoscope/diffoscope/main.py", line 766, in main
sys.exit(run_diffoscope(parsed_args))
File "/srv/diffoscope/diffoscope/main.py", line 717, in run_diffoscope
difference = compare_root_paths(path1, path2)
File "/srv/diffoscope/diffoscope/comparators/utils/compare.py", line 69, in compare_root_paths
difference = compare_files(file1, file2)
File "/srv/diffoscope/diffoscope/comparators/utils/compare.py", line 149, in compare_files
return file1.compare(file2, source)
File "/srv/diffoscope/diffoscope/comparators/utils/file.py", line 515, in compare
difference = self._compare_using_details(other, source)
File "/srv/diffoscope/diffoscope/comparators/utils/file.py", line 450, in _compare_using_details
details.extend(
File "/srv/diffoscope/diffoscope/comparators/utils/container.py", line 197, in compare_pair
difference = compare_files(
File "/srv/diffoscope/diffoscope/comparators/utils/compare.py", line 149, in compare_files
return file1.compare(file2, source)
File "/srv/diffoscope/diffoscope/comparators/utils/file.py", line 515, in compare
difference = self._compare_using_details(other, source)
File "/srv/diffoscope/diffoscope/comparators/utils/file.py", line 416, in _compare_using_details
details.extend(self.compare_details(other, source))
File "/srv/diffoscope/diffoscope/comparators/tar.py", line 39, in compare_details
Difference.from_text_readers(
File "/srv/diffoscope/diffoscope/difference.py", line 258, in from_text_readers
return Difference.from_feeder(
File "/srv/diffoscope/diffoscope/difference.py", line 214, in from_feeder
unified_diff = diff(feeder1, feeder2)
File "/srv/diffoscope/diffoscope/diff.py", line 334, in diff
with FIFOFeeder(feeder1, fifo1_path) as fifo1, FIFOFeeder(
File "/srv/diffoscope/diffoscope/diff.py", line 220, in __enter__
self.start()
File "/usr/lib/python3.10/threading.py", line 935, in start
_start_new_thread(self._bootstrap, ())
RuntimeError: can't start new thread
{"msg": "", "total": 286721, "current": 286721}
{"msg": "", "total": 286721, "current": 286721}
# Profiling output for: /srv/diffoscope/bin/diffoscope --status-fd=2 --html output.html --text output.txt --profile=- a/libvchan-xen-deb11_4.1.8.orig.tar.gz b/libvchan-xen-deb12_4.1.8.orig.tar.gz
## command (total time: 0.006s)
0.006s 2 calls gzip
0.000s 1 call cmp (internal)
## container_extract (total time: 0.007s)
0.007s 2 calls diffoscope.comparators.gzip.GzipContainer
## has_same_content_as (total time: 0.000s)
0.000s 1 call abc.TarFile
0.000s 1 call abc.GzipFile
## main (total time: 0.000s)
0.000s 1 call cleanup
## open_archive (total time: 0.000s)
0.000s 2 calls diffoscope.comparators.gzip.GzipContainer
## recognizes (total time: 0.023s)
0.021s 84 calls diffoscope.comparators.binary.FilesystemFile
0.002s 114 calls diffoscope.comparators.utils.archive.ArchiveMember
0.001s 82 calls abc.GzipFile
## specialize (total time: 0.004s)
0.004s 2 calls specialize