From debbugs-submit-bounces@debbugs.gnu.org Thu Jun 25 19:47:39 2020 Received: (at submit) by debbugs.gnu.org; 25 Jun 2020 23:47:39 +0000 Received: from localhost ([127.0.0.1]:41496 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jobal-0008Qe-91 for submit@debbugs.gnu.org; Thu, 25 Jun 2020 19:47:39 -0400 Received: from lists.gnu.org ([209.51.188.17]:40448) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jobah-0008QT-Rh for submit@debbugs.gnu.org; Thu, 25 Jun 2020 19:47:38 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:53734) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jobah-0000xl-JG for bug-guix@gnu.org; Thu, 25 Jun 2020 19:47:35 -0400 Received: from lepiller.eu ([2a00:5884:8208::1]:56736) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jobaf-0004t7-1l for bug-guix@gnu.org; Thu, 25 Jun 2020 19:47:35 -0400 Received: from lepiller.eu (localhost [127.0.0.1]) by lepiller.eu (OpenSMTPD) with ESMTP id bb1621c0 for ; Thu, 25 Jun 2020 23:47:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=lepiller.eu; h=date:from :to:subject:message-id:mime-version:content-type; s=dkim; bh=JCI w7jK9K9FzcOCn6zRAeXUqdDea8zHuOSepDvULUIs=; b=WSj4GiGhQqeryN4hYco FGtS6HkHMFPiPjNQNcO2zJ0weqewxHSvQfbiyXlDo83EgFQKDmEJefoHHZORql2f v5nezt31gXmt2E0wb+0ip6DQ0tGWvQTUj+hSUd+kVR6Rr2bwc8wFrnPKv4TWedQu wM9puPzVgvOJMFxsQK6mS8YRPuFckd0Ew/885LNlDRNCYFUEw9rNdzReCzz12pL3 2UUDXAIUoaj1SaN6pBMcqYPTh6q3bp5uzCMY49+KJjhCPoHacdO4uxwKvs7xectk vfFJslkXBdmRR5AGdiWtRs40XlCe/9+JIVBRGMOxO8ahT2z+qHp/H+Xim4WAFHTk h1A== Received: by lepiller.eu (OpenSMTPD) with ESMTPSA id 4f314929 (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO) for ; Thu, 25 Jun 2020 23:47:25 +0000 (UTC) Date: Fri, 26 Jun 2020 01:47:12 +0200 From: Julien Lepiller To: bug-guix@gnu.org Subject: hidden derivation build with inferiors Message-ID: <20200626014712.5620ac06@tachikoma.lepiller.eu> X-Mailer: Claws Mail 3.17.5 (GTK+ 2.24.32; x86_64-unknown-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="MP_/f4vWrYXsFRYouiRD0trNdQ_" Received-SPF: none client-ip=2a00:5884:8208::1; envelope-from=julien@lepiller.eu; helo=lepiller.eu X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --MP_/f4vWrYXsFRYouiRD0trNdQ_ Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Disposition: inline Hi, someone (kernel-help) on IRC today was having issues using an inferior kernel with their os configuration and reported that guix was "hanging". It turns out that guix was actually building the kernel in the background, but did not report anything to the user. kernel-help was kind enough to share their config, and I can confirm that guix is building the kernel, but doesn't tell anything. I was able to track this done to a call to operating-system-derivation, which is supposed to return the path to a .drv file. I did not expect it to have to build anything, since it's only computing a derivation name. Using the attached operating system declaration, defining it as "os", you can see that calling ((operating-system-derivation os) (open-connection)) "hangs" with no message, and a build user is building the kernel (unless you already have the kernel built). Note that the build process continues even if you interrupt that procedure, and only stops after you exit guix repl entirely. Going one step further, operating-system-derivation calls fold-services (which is fine), then service-value (which is also fine) and calls that value with the store, which builds the kernel without saying anything. That value comes from the root service type, system-service-type and its system-derivation procedure. With some pk, I was able to find that mapm/accumulate-builds was the culprit, but I don't know how to investigate further. --MP_/f4vWrYXsFRYouiRD0trNdQ_ Content-Type: text/x-scheme Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=test-inferior.scm (use-modules (gnu) (guix channels) (srfi srfi-1) (guix inferior) (gnu packages linux) (srfi srfi-1) (ice-9 match) (guix packages) (gnu packages gnome)) (use-service-modules desktop networking ssh xorg) (define kernel-inferior-channel ;; This is the old revision from which ;; we will obtain our desired kernel version. (list (channel (name 'guix) (url "https://git.savannah.gnu.org/git/guix.git") (commit "4f33bf5709a77a98f3d0330e45753d54675239ff")))) (define linux-libre-4.19-inferior (first (lookup-inferior-packages (inferior-for-channels kernel-inferior-channel) "linux-libre" "4.19.129"))) (define-public gnome-minimal (package (inherit gnome) (name "gnome-minimal") (propagated-inputs (remove (match-lambda ((name _) (member name '("baobab" "cheese" "eog" "epiphany" "evince" "file-roller" "gedit" "gnome-boxes" "gnome-calculator" "gnome-calendar" "gnome-characters" "gnome-clocks" "gnome-contacts" "gnome-disk-utility" "gnome-font-viewer" "gnome-maps" "gnome-weather" "simple-scan" "totem" "gnome-default-applications")))) (package-propagated-inputs gnome))))) (operating-system (locale "en_US.utf8") (kernel linux-libre-4.19-inferior) (timezone "America/Chicago") (keyboard-layout (keyboard-layout "us")) (host-name "t430") (users (cons* (user-account (name "brettg") (comment "Redacted") (group "users") (home-directory "/home/redacted") (supplementary-groups '("wheel" "netdev" "audio" "video"))) %base-user-accounts)) (packages (append (list (specification->package "nss-certs")) %base-packages)) (services (append (list (service gnome-desktop-service-type (gnome-desktop-configuration (inherit config) (gnome gnome-minimal))) (service openssh-service-type) (set-xorg-configuration (xorg-configuration (keyboard-layout keyboard-layout)))) %desktop-services)) (bootloader (bootloader-configuration (bootloader grub-efi-bootloader) (target "/boot/efi") (keyboard-layout keyboard-layout))) (swap-devices (list "/dev/sda2")) (file-systems (cons* (file-system (mount-point "/boot/efi") (device (uuid "0721-45AE" 'fat32)) (type "vfat")) (file-system (mount-point "/") (device (uuid "ce05e959-56a7-4520-ad73-556c82861537" 'ext4)) (type "ext4")) %base-file-systems))) --MP_/f4vWrYXsFRYouiRD0trNdQ_--