Fibers 1.0.0 has a bug in run-fibers in which peer schedulers aren't destroyed - so if you had 4 cores, 1 would be destroyed when run-fibers returned, but the other 3 would stay around. Each scheduler uses 3 file descriptors, so for machines with many cores, this resource leak adds up quickly - quickly enough that the test suite can even fail because of it. See https://github.com/wingo/fibers/issues/36. This fixes that. It should be safe to destroy the peer schedulers at the given point because the threads that could be running them are all either dead or the current thread. As of May 21, 2020, this bug still existed in the 1.0.0 (latest) release and in git master. --- a/fibers.scm 2020-05-21 18:38:06.890690154 -0500 +++ b/fibers.scm 2020-05-21 18:38:56.395686693 -0500 @@ -137,5 +137,6 @@ (%run-fibers scheduler hz finished? affinity)) (lambda () (stop-auxiliary-threads scheduler))))) + (for-each destroy-scheduler (scheduler-remote-peers scheduler)) (destroy-scheduler scheduler) (apply values (atomic-box-ref ret)))))) 7f4631fdf9ef0146f462a88236885a6037d7b'>refslogtreecommitdiff
path: root/gnu/machine/digital-ocean.scm
AgeCommit message (Expand)Author
2020-07-25Use 'formatted-message' instead of '&message' where appropriate....* gnu.scm (%try-use-modules): Use 'formatted-message' instead of '&message'. * gnu/machine/digital-ocean.scm (maybe-raise-unsupported-configuration-error): Likewise. * gnu/machine/ssh.scm (machine-check-file-system-availability): Likewise. (machine-check-building-for-appropriate-system): Likewise. (deploy-managed-host): Likewise. (maybe-raise-unsupported-configuration-error): Likewise. * gnu/packages.scm (search-patch): Likewise. * gnu/services.scm (%service-with-default-value): Likewise. (files->etc-directory): Likewise. (fold-services): Likewise. * gnu/system.scm (locale-name->definition*): Likewise. * gnu/system/mapped-devices.scm (check-device-initrd-modules): Likewise. (check-luks-device): Likewise. * guix/channels.scm (latest-channel-instance): Likewise. * guix/cve.scm (json->cve-items): Likewise. * guix/git-authenticate.scm (commit-signing-key): Likewise. (commit-authorized-keys): Likewise. (authenticate-commit): Likewise. (verify-introductory-commit): Likewise. * guix/remote.scm (remote-pipe-for-gexp): Likewise. * guix/scripts/graph.scm (assert-package): Likewise. * guix/scripts/offload.scm (private-key-from-file*): Likewise. * guix/ssh.scm (authenticate-server*): Likewise. (open-ssh-session): Likewise. (remote-inferior): Likewise. * guix/ui.scm (matching-generations): Likewise. * guix/upstream.scm (package-update): Likewise. * tests/channels.scm ("latest-channel-instances, missing introduction for 'guix'"): Catch 'formatted-message?'. ("authenticate-channel, wrong first commit signer"): Likewise. * tests/lint.scm ("patches: not found"): Adjust message string. * tests/packages.scm ("patch not found yields a run-time error"): Catch 'formatted-message?'. * guix/lint.scm (check-patch-file-names): Handle 'formatted-message?'. (check-derivation): Ditto. Ludovic Courtès
2020-02-09Update e-mail address for Jakob L. Kreuze....As requested here: <https://lists.gnu.org/archive/html/guix-devel/2020-02/msg00128.html>. * .mailmap: Add an entry for Jakob. * gnu/machine.scm, gnu/machine/digital-ocean.scm, gnu/machine/ssh.scm, gnu/packages/admin.scm, gnu/packages/i2p.scm, gnu/packages/music.scm, gnu/packages/web.scm, gnu/tests/reconfigure.scm, guix/scripts/deploy.scm, guix/scripts/system/reconfigure.scm: Update their e-mail address. Tobias Geerinckx-Rice
2019-10-22machine: digital-ocean: Rename 'enable-ipv6' to 'enable-ipv6?'....* gnu/machine/digital-ocean.scm (<digital-ocean-configuration>)[enable-ipv6]: Rename to... [enable-ipv6?]: ... this. (deploy-digital-ocean): Adjust accordingly. * doc/guix.texi (Invoking guix deploy): Adjust accordingly. Ludovic Courtès
2019-10-22machine: Implement 'digital-ocean-environment-type'....* gnu/machine/digital-ocean.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * doc/guix.texi (Invoking guix deploy): Add documentation for 'digital-ocean-configuration'. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Jakob L. Kreuze