GNU bug report logs - #70244
Bug in Guix? ... guix-command substitute' died unexpectedly

Previous Next

Package: guix;

Reported by: jbranso <at> dismail.de

Date: Sat, 6 Apr 2024 19:32:01 UTC

Severity: normal

Done: Andreas Enge <andreas <at> enge.fr>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Andreas Enge <andreas <at> enge.fr>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#70244: closed (Bug in Guix? ... guix-command substitute' died
 unexpectedly)
Date: Wed, 30 Apr 2025 09:14:01 +0000
[Message part 1 (text/plain, inline)]
Your message dated Wed, 30 Apr 2025 11:12:54 +0200
with message-id <aBHplo_UOAHV0cWt <at> jurong>
and subject line Close
has caused the debbugs.gnu.org bug report #70244,
regarding Bug in Guix? ... guix-command substitute' died unexpectedly
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
70244: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=70244
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: jbranso <at> dismail.de
To: "Zelphir Kaltstahl" <zelphirkaltstahl <at> posteo.de>, guix-devel <at> gnu.org,
 bug-guix <at> gnu.org
Subject: Re: Bug in Guix? ... guix-command substitute' died unexpectedly
Date: Sat, 06 Apr 2024 19:31:05 +0000
April 6, 2024 at 6:49 AM, "Zelphir Kaltstahl" <zelphirkaltstahl <at> posteo.de> wrote:



> 
> Hello Guix developers!
> 
>  
> 
> Today I ran into a problem when running 'guix pull && guix package -u':

"problems" or "bugs" are normally best sent to bug-guix <at> gnu.org, which I've just added
to this email.  :)

> 
>  
> 
> ====start====
> 
>  $ guix pull && guix package -u
> Updating channel 'guix' from Git repository at 'https://git.savannah.gnu.org/git/guix.git'...
> Authenticating channel 'guix', commits 9edb3f6 to bfc6143 (4.470 new commits)...
> Building from this channel:
>  guix https://git.savannah.gnu.org/git/guix.git bfc6143
> substitute: updating substitutes from 'https://ci.guix.gnu.org https://ci.guix.gnu.org/ '... 100.0%
> substitute: updating substitutes from 'https://ci.guix.gnu.org https://ci.guix.gnu.org/ '... 100.0%
> substitute: updating substitutes from 'https://ci.guix.gnu.org https://ci.guix.gnu.org/ '... 100.0%
>  module-import 2KiB 39KiB/s 00:00 ▕██████████████████▏ 100.0%
>  module-import-compiled 1.2MiB 2.2MiB/s 00:01 ▕██████████████████▏ 100.0%
>  compute-guix-derivation 1.4MiB/s 00:00 | 1KiB transferred
> substitute: updating substitutes from 'https://ci.guix.gnu.org https://ci.guix.gnu.org/ '... 100.0%
> substitute: updating substitutes from 'https://ci.guix.gnu.org https://ci.guix.gnu.org/ '... 100.0%
> substitute: updating substitutes from 'https://ci.guix.gnu.org https://ci.guix.gnu.org/ '... 100.0%
> substitute: updating substitutes from 'https://ci.guix.gnu.org https://ci.guix.gnu.org/ '... 100.0%
>  guile-lib-0.2.8 346KiB 828KiB/s 00:00 ▕██████████████████▏ 100.0%
>  disarchive-0.6.0 463KiB 1.06GiB/s 00:00 ▕██████████████████▏ 100.0%
>  guile-bzip2-0.1.0 55KiB 142.9MiB/s 00:00 ▕██████████████████▏ 100.0%
>  libarchive-3.6.1 489KiB 1.13GiB/s 00:00 ▕██████████████████▏ 100.0%
> substitute: updating substitutes from 'https://ci.guix.gnu.org https://ci.guix.gnu.org/ '... 100.0%
> substitute: updating substitutes from 'https://ci.guix.gnu.org https://ci.guix.gnu.org/ '... 100.0%
> substitute: updating substitutes from 'https://ci.guix.gnu.org https://ci.guix.gnu.org/ '... 100.0%
> substitute: updating substitutes from 'https://ci.guix.gnu.org https://ci.guix.gnu.org/ '... 100.0%
> substitute: updating substitutes from 'https://ci.guix.gnu.org https://ci.guix.gnu.org/ '... 100.0%
> substitute: updating substitutes from 'https://ci.guix.gnu.org https://ci.guix.gnu.org/ '... 100.0%
> substitute: updating substitutes from 'https://ci.guix.gnu.org https://ci.guix.gnu.org/ '... 100.0%
> substitute: updating substitutes from 'https://ci.guix.gnu.org https://ci.guix.gnu.org/ '... 100.0%
> substitute: updating substitutes from 'https://ci.guix.gnu.org https://ci.guix.gnu.org/ '... 100.0%
> substitute: updating substitutes from 'https://ci.guix.gnu.org https://ci.guix.gnu.org/ '... 100.0%
> substitute: updating substitutes from 'https://ci.guix.gnu.org https://ci.guix.gnu.org/ '... 100.0%
> substitute: updating substitutes from 'https://ci.guix.gnu.org https://ci.guix.gnu.org/ '... 100.0%
>  graphviz-minimal-7.0.1-doc 967KiB 1.37GiB/s 00:00 ▕██████████████████▏ 100.0%
>  dbus-1.15.8 281KiB 441.1MiB/s 00:00 ▕██████████████████▏ 100.0%
>  guix-daemon-1.4.0-18.4c94b9e 282KiB 657.0MiB/s 00:00 ▕██████████████████▏ 100.0%
>  pcre2-10.40 1.1MiB 2.45GiB/s 00:00 ▕██████████████████▏ 100.0%
>  po4a-0.69 2.0MiB 4.2MiB/s 00:00 ▕██████████████████▏ 100.0%
>  glib-2.78.0 2.7MiB 12.2MiB/s 00:00 ▕██████████████████▏ 100.0%
>  libgit2-1.7.2 711KiB 3.1MiB/s 00:00 ▕██████████████████▏ 100.0%
>  avahi-0.8 384KiB 1.9MiB/s 00:00 ▕██████████████████▏ 100.0%
>  gts-0.7.6 299KiB 1.6MiB/s 00:00 ▕██████████████████▏ 100.0%
>  guile-avahi-0.4.1 61KiB 202KiB/s 00:00 ▕██████████████████▏ 100.0%
>  graphviz-minimal-7.0.1 1.1MiB 4.7MiB/s 00:00 ▕██████████████████▏ 100.0%
>  guile-git-0.6.0 558KiB 1.00GiB/s 00:00 ▕████▏ ▏ 22.9%
>  guile-git-0.6.0 558KiB 477KiB/s 00:01 ▕██████████████████▏ 100.0%
> substitute: updating substitutes from 'https://ci.guix.gnu.org https://ci.guix.gnu.org/ '... 100.0%
> substitute: updating substitutes from 'https://bordeaux.guix.gnu.org https://bordeaux.guix.gnu.org/ '... 100.0%
> The following derivations will be built:
>  /gnu/store/n9wx8dzx4lgqr3bk56z1974ihvkak3mp-profile.drv
>  /gnu/store/1g1p5wps2z068v6lhwn95gi804k7rk3k-guix-bfc614397.drv
>  /gnu/store/0p1y1xm009bhxpkkzmp106rnrmf2bnsx-guix-manual.drv
>  /gnu/store/8ccc09hj839apww8nzc46lhm8hspqimx-guix-daemon.drv
>  /gnu/store/d376vlr1h5vi6g2cs31i6makg0as918l-guix-command.drv
>  /gnu/store/qzkq8yvqhqdjh0rpsqf9mm9fyiy8vp4f-guix-module-union.drv
>  /gnu/store/l4jwdhj236yanfxy0kz0rra35918k40w-guix-bfc614397-modules.drv
>  /gnu/store/205yj5gn8qlbxj2wrncly7fsnvr95xcm-guix-extra-modules.drv
>  /gnu/store/a8sn3438iapflzxllh90s7d739pjg3hq-guix-extra.drv
>  /gnu/store/xspva7mmpa73n1vpghwffdqm2vx11yn1-guix-core-source.drv
>  /gnu/store/51wb3javbxil7i5wiqfglaj4f1nmjj37-guix-home-modules.drv
>  /gnu/store/9xjqj0cl8vas7nwh41amjz4060ymkbsh-guix-home.drv
>  /gnu/store/3710hpp0ngcvasm29gy3zs9bmrprrix8-guix-system.drv
>  /gnu/store/w5bpj0kxcr89y44rcv48ajpn3qp1fcvj-guix-packages-base.drv
>  /gnu/store/yqd7fxgdannf7mrlg97vkwf9zdvqcj7x-guix-packages.drv
>  /gnu/store/7q5a4yg7yid4hmlp0w27pinsp8ir1skp-guix-packages-modules.drv
>  /gnu/store/hgab4ki3x41sgvyg9hiwsms5z1042pf6-guix-config-modules.drv
>  /gnu/store/6mp5ckrahr48sissqpbrlyr2g70qyfk6-guix-config-source.drv
>  /gnu/store/gha13fpry4wa5g9hz8i549bks1cfg974-config.scm.drv
>  /gnu/store/jasln9w4frx7xfkhxar36n0aglvqn6v1-guix-cli-core-modules.drv
>  /gnu/store/wnx1nn9q4w2p2vnc3cg02cknyg5j2y5j-guix-cli-core.drv
>  /gnu/store/mpy8x0dnf5jrqmy2wmlkscy07y3qb759-guix-packages-base-modules.drv
>  /gnu/store/pbfwrvd9hr8h9x29288c2fdj702x2bgi-guix-system-tests-modules.drv
>  /gnu/store/ga5iwc1kgcydf42jk1g3ijsqa7bbnn2a-guix-system-tests.drv
>  /gnu/store/phfg2smyljglc8awi79l1j9sx3z77n5z-guix-cli.drv
>  /gnu/store/px6773h1rjdp61aylds0hnmz7crhsr4j-guix-core-modules.drv
>  /gnu/store/qkjq6wjr1cvw57zzyjhmyhdlp363ida5-guix-system-modules.drv
>  /gnu/store/zr182imasckahnmpq4mp0inn2zg95y3j-guix-cli-modules.drv
>  /gnu/store/98ip2zxhcckb1ykglmn9kpsccfv39c7q-guix-misc.drv
>  /gnu/store/353qs7ly8fl847583fag85kzlgrrsf0c-inferior-script.scm.drv
>  /gnu/store/w0r5vcs7daxvmnqsy49g3qfxl12xqvj0-profile.drv
> 
> 6 items will be downloaded
> substitute: updating substitutes from 'https://ci.guix.gnu.org https://ci.guix.gnu.org/ '... 100.0%
>  guix-locale-guix 417KiB 1.4MiB/s 00:00 ▕██████████████████▏ 100.0%
>  guix-config 570KiB/s 00:00 | 4KiB transferred
>  guix-core 2.2MiB 3.6MiB/s 00:01 ▕██████████████████▏ 100.0%
>  guix-daemon-1.4.0-18.4c94b9e 261KiB 8.8MiB/s 00:00 ▕██████████████████▏ 100.0%
>  guix-locale-guix-packages 203KiB 8.9MiB/s 00:00 ▕██████████████████▏ 100.0%
>  guix-daemon.cil 3KiB 3.8MiB/s 00:00 ▕██████████████████▏ 100.0%
>  guix-translated-texinfo 1.7MiB 7.5MiB/s 00:00 ▕██████████████████▏ 100.0%
> building /gnu/store/gha13fpry4wa5g9hz8i549bks1cfg974-config.scm.drv...
> applying 7 grafts for dbus-1.15.8 ...
> applying 8 grafts for disarchive-0.6.0 ...
> applying 1 graft for guile-bzip2-0.1.0 ...
> building /gnu/store/6mp5ckrahr48sissqpbrlyr2g70qyfk6-guix-config-source.drv...
> building /gnu/store/xspva7mmpa73n1vpghwffdqm2vx11yn1-guix-core-source.drv...
> building /gnu/store/hgab4ki3x41sgvyg9hiwsms5z1042pf6-guix-config-modules.drv...
> building /gnu/store/px6773h1rjdp61aylds0hnmz7crhsr4j-guix-core-modules.drv...
> building /gnu/store/98ip2zxhcckb1ykglmn9kpsccfv39c7q-guix-misc.drv...
> applying 7 grafts for pcre2-10.40 ...
> applying 6 grafts for glib-2.78.0 ...
> applying 9 grafts for libgit2-1.7.2 ...
> applying 10 grafts for avahi-0.8 ...
> applying 5 grafts for gts-0.7.6 ...
> applying 8 grafts for guile-avahi-0.4.1 ...
> applying 19 grafts for graphviz-minimal-7.0.1 ...
> applying 1 graft for guile-git-0.6.0 ...
> building /gnu/store/0p1y1xm009bhxpkkzmp106rnrmf2bnsx-guix-manual.drv...
> building /gnu/store/a8sn3438iapflzxllh90s7d739pjg3hq-guix-extra.drv...
> building /gnu/store/205yj5gn8qlbxj2wrncly7fsnvr95xcm-guix-extra-modules.drv...
> building /gnu/store/w5bpj0kxcr89y44rcv48ajpn3qp1fcvj-guix-packages-base.drv...
> building /gnu/store/wnx1nn9q4w2p2vnc3cg02cknyg5j2y5j-guix-cli-core.drv...
> building /gnu/store/mpy8x0dnf5jrqmy2wmlkscy07y3qb759-guix-packages-base-modules.drv...
> building /gnu/store/jasln9w4frx7xfkhxar36n0aglvqn6v1-guix-cli-core-modules.drv...
> building /gnu/store/yqd7fxgdannf7mrlg97vkwf9zdvqcj7x-guix-packages.drv...
> building /gnu/store/7q5a4yg7yid4hmlp0w27pinsp8ir1skp-guix-packages-modules.drv...
> building /gnu/store/3710hpp0ngcvasm29gy3zs9bmrprrix8-guix-system.drv...
> building /gnu/store/9xjqj0cl8vas7nwh41amjz4060ymkbsh-guix-home.drv...
> building /gnu/store/qkjq6wjr1cvw57zzyjhmyhdlp363ida5-guix-system-modules.drv...
> building /gnu/store/phfg2smyljglc8awi79l1j9sx3z77n5z-guix-cli.drv...
> building /gnu/store/51wb3javbxil7i5wiqfglaj4f1nmjj37-guix-home-modules.drv...
> building /gnu/store/zr182imasckahnmpq4mp0inn2zg95y3j-guix-cli-modules.drv...
> building /gnu/store/ga5iwc1kgcydf42jk1g3ijsqa7bbnn2a-guix-system-tests.drv...
> building /gnu/store/pbfwrvd9hr8h9x29288c2fdj702x2bgi-guix-system-tests-modules.drv...
> building /gnu/store/l4jwdhj236yanfxy0kz0rra35918k40w-guix-bfc614397-modules.drv...
> building /gnu/store/qzkq8yvqhqdjh0rpsqf9mm9fyiy8vp4f-guix-module-union.drv...
> building /gnu/store/d376vlr1h5vi6g2cs31i6makg0as918l-guix-command.drv...
> building /gnu/store/8ccc09hj839apww8nzc46lhm8hspqimx-guix-daemon.drv...
> building /gnu/store/1g1p5wps2z068v6lhwn95gi804k7rk3k-guix-bfc614397.drv...
> building CA certificate bundle...
> listing Emacs sub-directories...
> building fonts directory...
> building directory of Info manuals...
> building profile with 1 package...
> building /gnu/store/353qs7ly8fl847583fag85kzlgrrsf0c-inferior-script.scm.drv...
> building package cache...
> building profile with 1 package...
> 
> News for channel 'guix'
>  GNOME updated to version 44 with a more modular desktop service
>  The GNOME Display Manager uses Wayland by default
>  The udev service also manages hardware configuration files
>  Daemon vulnerability allowing store corruption has been fixed
>  Linux-libre 4.14 removed due to end of upstream support
> 
> hint: Run `guix pull --news' to read all the news.
> 
> The following packages will be upgraded:
>  blis (dependencies or package changed)
>  emacs 29.1 → 29.3
>  font-sarasa-gothic 0.42.6 → 1.0.5
>  guile-colorized (dependencies or package changed)
>  guile-fslib (dependencies or package changed)
>  guile-hall 0.4.1 → 0.4.1-1.7558ba9
>  guile-lib 0.2.7 → 0.2.8
>  lapack (dependencies or package changed)
>  obs (dependencies or package changed)
>  okular (dependencies or package changed)
>  ruby 3.2.2 → 3.2.3
>  sbcl 2.3.7 → 2.4.0
>  schismtracker (dependencies or package changed)
>  shotcut (dependencies or package changed)
>  swi-prolog (dependencies or package changed)
>  yt-dlp (dependencies or package changed)
> 
> substitute: updating substitutes from 'https://ci.guix.gnu.org https://ci.guix.gnu.org/ '... 100.0%
> substitute: updating substitutes from 'https://bordeaux.guix.gnu.org https://bordeaux.guix.gnu.org/ '... 100.0%
> 280,2 MB will be downloaded
>  font-sarasa-gothic-1.0.5 178.4MiB 7.8MiB/s 00:23 ▕██████████████████▏ 100.0%
>  blis-0.9.0 2.1MiB 4.5MiB/s 00:00 ▕██████████████████▏ 100.0%
>  cairo-1.16.0 600KiB 3.4MiB/s 00:00 ▕██████████████████▏ 100.0%
>  cairo-1.16.0 600KiB 4.3MiB/s 00:00 ▕██████████████████▏ 100.0%
>  desktop-file-utils-0.26 43KiB 246KiB/s 00:00 ▕██████████████████▏ 100.0%
>  glib-2.78.0-bin 109KiB 6.1MiB/s 00:00 ▕██████████████████▏ 100.0%
>  glib-2.78.0-static 1.2MiB 3.0MiB/s 00:00 ▕██████████████████▏ 100.0%
>  guile-colorized-0.1 43KiB 470KiB/s 00:00 ▕██████████████████▏ 100.0%
>  glib-2.78.0-debug 11.1MiB 10.2MiB/s 00:01 ▕██████████████████▏ 100.0%
>  guile-fslib-0.2.0 100KiB 455KiB/s 00:00 ▕██████████████████▏ 100.0%
>  guile-hall-0.4.1-1.7558ba9 233KiB 1.8MiB/s 00:00 ▕██████████████████▏ 100.0%
>  harfbuzz-8.3.0 1.1MiB 4.2MiB/s 00:00 ▕██████████████████▏ 100.0%
>  lapack-3.9.0 2.8MiB 12.8MiB/s 00:00 ▕██████████████████▏ 100.0%
>  librsvg-2.56.4-doc 16KiB 159KiB/s 00:00 ▕██████████████████▏ 100.0%
>  pango-1.50.14 369KiB 1.2MiB/s 00:00 ▕██████████████████▏ 100.0%
>  poppler-22.09.0 1.4MiB 945KiB/s 00:02 ▕██████████████████▏ 100.0%
>  ruby-3.2.3 7.9MiB 255KiB/s 00:32 ▕██████████████████▏ 100.0%
>  cups-filters-1.28.15 870KiB 2.6MiB/s 00:00 ▕██████████████████▏ 100.0%
>  sbcl-2.4.0 14.3MiB 8.3MiB/s 00:02 ▕██████████████████▏ 100.0%
>  cups-2.4.7 5.2MiB 11.6MiB/s 00:00 ▕██████████████████▏ 100.0%
>  sbcl-2.4.0-doc 1.6MiB 4.4MiB/s 00:00 ▕██████████████████▏ 100.0%
>  shared-mime-info-2.3 716KiB 4.0MiB/s 00:00 ▕██████████████████▏ 100.0%
>  shared-mime-info-2.3-doc 17KiB 6.9MiB/s 00:00 ▕██████████████████▏ 100.0%
>  gdk-pixbuf-2.42.10 1.7MiB 338KiB/s 00:05 ▕██████████████████▏ 100.0%
>  swi-prolog-8.5.20 4.0MiB 624KiB/s 00:07 ▕██████████████████▏ 100.0%
>  gdk-pixbuf-2.42.10-debug 427KiB 1.4MiB/s 00:00 ▕██████████████████▏ 100.0%
>  librsvg-2.56.4 2.0MiB 7.0MiB/s 00:00 ▕██████████████████▏ 100.0%
>  wayland-1.22.0 167KiB 7.7MiB/s 00:00 ▕██████████████████▏ 100.0%
>  librsvg-2.56.4-debug 392KiB 14.4MiB/s 00:00 ▕██████████████████▏ 100.0%
>  mesa-23.3.2 34.8MiB 27.6MiB/s 00:01 ▕██████████████████▏ 100.0%
>  freeglut-3.4.0 104KiB 8.6MiB/s 00:00 ▕██████████████████▏ 100.0%
>  libwebp-1.3.2 338KiB 7.0MiB/s 00:00 ▕██████████████████▏ 100.0%
> substitute: updating substitutes from 'https://ci.guix.gnu.org https://ci.guix.gnu.org/ '... 0.0%Backtrace:
> substitute: 14 (primitive-load "/gnu/store/pj8myzp9val83x0166sb5sgkj09…")
> substitute: In guix/ui.scm:
> substitute: 2230:7 13 (run-guix . _)
> substitute: 2193:10 12 (run-guix-command _ . _)
> substitute: In ice-9/boot-9.scm:
> substitute: 1752:10 11 (with-exception-handler _ _ #:unwind? _ # _)
> substitute: 1752:10 10 (with-exception-handler _ _ #:unwind? _ # _)
> substitute: In guix/scripts/substitute.scm:
> substitute: 757:18 9 (_)
> substitute: 348:26 8 (process-query #<output: file 4> _ #:cache-urls _ #:acl _)
> substitute: In guix/substitutes.scm:
> substitute: 365:27 7 (lookup-narinfos/diverse _ _ #<procedure 7f67f31efc00 …> …)
> substitute: 322:31 6 (lookup-narinfos _ _ #:open-connection _ # _)
> substitute: 245:26 5 (fetch-narinfos _ _ #:open-connection _ # _)
> substitute: In ice-9/boot-9.scm:
> substitute: 1685:16 4 (raise-exception _ #:continuable? _)
> substitute: 1685:16 3 (raise-exception _ #:continuable? _)
> substitute: 1780:13 2 (_ #<&compound-exception components: (#<&error> #<&orig…>)
> substitute: 1685:16 1 (raise-exception _ #:continuable? _)
> substitute: 1685:16 0 (raise-exception _ #:continuable? _)
> substitute: 
> substitute: ice-9/boot-9.scm:1685:16: In procedure raise-exception:
> substitute: In procedure write_wait_fd: unimplemented
> guix package: error: `/gnu/store/pj8myzp9val83x0166sb5sgkj09j2vvj-guix-command substitute' died unexpectedly
> 
>  
> 
> ====end====
> 
>  
> 
> 'guix describe --format=channels' gives:
> 
>  
> 
> ====start====
> 
>  (list (channel
>  (name 'guix)
>  (url "https://git.savannah.gnu.org/git/guix.git" https://git.savannah.gnu.org/git/guix.git )
>  (branch "master")
>  (commit
>  "bfc614397b5f146056bda4b5a8e3a67bd1ca7b23")
>  (introduction
>  (make-channel-introduction
>  "9edb3f66fd807b096b48283debdcddccfea34bad"
>  (openpgp-fingerprint
>  "BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA")))))
> 
>  
> 
> ====end====
> 
>  
> 
> I am trying with --no-substitutes:
> 
>  
> 
> Worked without error.

so it worked, when you used --no-substitutes?  Awesome.  Problem solved then?

Thanks,

Joshua

> 
>  
> 
> Hope that helps,
> 
>  Zelphir
> 
>  -- 
> repositories: https://notabug.org/ZelphirKaltstahl
>


[Message part 3 (message/rfc822, inline)]
From: Andreas Enge <andreas <at> enge.fr>
To: 70244-done <at> debbugs.gnu.org
Subject: Close
Date: Wed, 30 Apr 2025 11:12:54 +0200
Closing, I think this is solved.

Andreas



This bug report was last modified 20 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.