gnu: guile-fibers: Add patch to fix resource leak.

guile-fibers@1.0.0 has a resource leak where run-fibers will only destroy one
scheduler, but it creates as many as there are cpu cores by default (see
https://github.com/wingo/fibers/issues/36).  This causes the tests to fail on
systems with many cores, and can cause guile to crash under certain
circumstances.  This fixes that resource leak.  At present neither git master
nor the latest release has fixed this yet.

* gnu/packages/patches/guile-fibers-destroy-peer-schedulers.patch: New patch.
* gnu/local.mk: Add it to the list of patches.
* gnu/packages/guile-xyz.scm (guile-fibers): Use it.
This commit is contained in:
Caleb Ristvedt 2020-05-21 20:30:58 -05:00
parent 50ea3135e0
commit 9af90aafdf
No known key found for this signature in database
GPG key ID: C166AA495F7F189C
3 changed files with 29 additions and 1 deletions

View file

@ -523,7 +523,10 @@ Unix-style DSV format and RFC 4180 format.")
(("#:use-module \\(fibers\\)")
(string-append "#:use-module (fibers)\n"
"#:use-module (ice-9 threads)\n")))
#t))))
#t))
(patches
;; fixes a resource leak that causes crashes in the tests
(search-patches "guile-fibers-destroy-peer-schedulers.patch"))))
(build-system gnu-build-system)
(arguments
'(;; The code uses 'scm_t_uint64' et al., which are deprecated in 3.0.