incompatible bytecode version

OpenSubmitted by Дмитрий Поляков.
Details
6 participants
  • Bengt Richter
  • Дмитрий Поляков
  • Ludovic Courtès
  • Tobias Geerinckx-Rice
  • Miguel Ángel Arruga Vivas
  • zimoun
Owner
unassigned
Severity
normal
Д
Д
Дмитрий Поляков wrote on 12 Oct 2020 14:54
(address . bug-guix@gnu.org)
CAAxPsTEsKy3RsLB0qM-P2FxsYSXEOFG7REP-t5DA1DNmFiE=tQ@mail.gmail.com
;;; In procedure load-thunk-from-memory: incompatible bytecode version
;;; WARNING: loading compiled file/run/current-system/profile/lib/guile/3.0/site-ccache/gnu/packages/mtools.gofailed:
;;; In procedure load-thunk-from-memory: incompatible bytecode version
;;; WARNING: loading compiled file/gnu/store/kn4sqrhnbklqii9ac0xbljkhwg3p2g1m-guix-module-union/lib/guile/3.0/site-ccache/guix.gofailed:
;;; In procedure load-thunk-from-memory: incompatible bytecode version
;;; WARNING: loading compiled file/run/current-system/profile/lib/guile/3.0/site-ccache/guix.go failed:
;;; In procedure load-thunk-from-memory: incompatible bytecode version
;;; WARNING: loading compiled file/gnu/store/kn4sqrhnbklqii9ac0xbljkhwg3p2g1m-guix-module-union/lib/guile/3.0/site-ccache/guix/monad-repl.gofailed:
;;; In procedure load-thunk-from-memory: incompatible bytecode version
;;; WARNING: loading compiled file/run/current-system/profile/lib/guile/3.0/site-ccache/guix/monad-repl.gofailed:
;;; In procedure load-thunk-from-memory: incompatible bytecode version
Backtrace:
19 (_ #<procedure 7f562e23f6c0 at ice-9/eval.scm:330:13 ()> …)
18 (_ #<procedure 7f562e23f3e0 at ice-9/eval.scm:330:13 ()> …)
In ice-9/eval.scm:
191:27 17 (_ #(#(#<directory (guix store) 7f5643a77000> #<pr…>) …))
196:35 16 (_ #(#(#(#<directory (guix store) 7f5643a77000> …) #) #))
298:34 15 (_ #(#(#(#<directory (guix channels) 7f563d5da140>) …) …))
In ice-9/boot-9.scm:
2806:4 14 (save-module-excursion _)
152:2 13 (with-fluid* _ _ _)
In unknown file:
12 (primitive-load "/gnu/store/72dq02lisz4w74iphp4a8agjsp0…")
In ice-9/eval.scm:
626:19 11 (_ #<directory (build-self) 7f563c4778c0>)
293:34 10 (_ #<directory (build-self) 7f563c4778c0>)
293:34 9 (_ #(#(#<directory (gnu packages) 7f563f504640>) "gu…" …))
619:8 8 (_ #(#(#(#<directory (gnu packages) 7f563f504640>) …) #))
626:19 7 (_ #(#(#(#<directory (gnu packages) 7f563f504640>) …) #))
293:34 6 (_ #(#(#(#<directory (guix memoization) 7f5643…> …) …) …))
In ice-9/boot-9.scm:
1731:15 5 (with-exception-handler #<procedure 7f56238671b0 at ic…> …)
In ice-9/eval.scm:
619:8 4 (_ #(#(#(#<directory (gnu packages) 7f563f504640> #)) #))
626:19 3 (_ #(#(#(#<directory (gnu packages) 7f563f504640> #)) #))
In unknown file:
2 (load-compiled/vm "/home/lil/.config/guix/current/lib/g…")
In ice-9/boot-9.scm:
1669:16 1 (raise-exception _ #:continuable? _)
1669:16 0 (raise-exception _ #:continuable? _)

ice-9/boot-9.scm:1669:16: In procedure raise-exception:
In procedure load-thunk-from-memory: incompatible bytecode version
Attachment: file
Z
Z
zimoun wrote on 12 Oct 2020 17:29
(name . Дмитрий Поляков)(address . liltechdude@gmail.com)(address . 43960@debbugs.gnu.org)
CAJ3okZ09hE+4uZHhxhJaa4jpgQ6t2KvCvFYj-2sqC1BXGcLv3Q@mail.gmail.com
Dear,
Could you please provide more information on what you did? Or how canI reproduce your report?
Thank you in advance.
All the best,simon
Д
Д
Дмитрий Поляков wrote on 12 Oct 2020 18:07
(address . 43960@debbugs.gnu.org)
CAAxPsTFE9A_YBGbvMAgEpJz=mXMbZM66C-Q6HfMCop0RdvsMFg@mail.gmail.com
T
T
Tobias Geerinckx-Rice wrote on 12 Oct 2020 19:53
(name . Дмитрий Поляков)(address . liltechdude@gmail.com)
878scbib5u.fsf@nckx
Дмитрий Поляков 写道:
Toggle quote (4 lines)> When I type with sudo:> lil@guix ~> $ sudo guix pull
Never run ‘guix pull’ with sudo!
Why is explained in the manual (3.7 After System Installation). While guix could detect and warn about it (and I'm sure that's already been proposed) you should always read the manual before typing commands.
Please run (and post the output of):
$ type guix $ ls -l ~/.config/guix/current $ sudo rm ~/.config/guix/current $ /run/current-system/profile/bin/guix pull $ hash guix $ type guix
This should print
guix is /home/nckx/.config/guix/current/bin/guix
If so, the following command will reconfigure your system using your guix, not root's guix:
$ sudo guix system reconfigure /etc/config.scm
Kind regards,
T G-R
-----BEGIN PGP SIGNATURE-----
iIMEARYKACsWIQT12iAyS4c9C3o4dnINsP+IT1VteQUCX4SX/Q0cbWVAdG9iaWFzLmdyAAoJEA2w/4hPVW15Y+gBAKZ73c17i1+f285bTBoQiu5ufbz2uD8UjBJQnLk/zNaRAQCuiFB7kXHPcmCFuLHkzStZvEi/Sp8WxSe07hnc54EyCA===rmdU-----END PGP SIGNATURE-----
L
L
Ludovic Courtès wrote on 15 Oct 2020 09:53
(name . Tobias Geerinckx-Rice)(address . me@tobias.gr)
87pn5jc4bt.fsf@gnu.org
Hi,
Tobias Geerinckx-Rice <me@tobias.gr> skribis:
Toggle quote (11 lines)> Дмитрий Поляков 写道:>> When I type with sudo:>> lil@guix ~>> $ sudo guix pull>> Never run ‘guix pull’ with sudo!>> Why is explained in the manual (3.7 After System Installation). While> guix could detect and warn about it (and I'm sure that's already been> proposed) you should always read the manual before typing commands.
I don’t think it’s a reasonable response: it’s a fact that we naturallytend to read manuals sparsely, at best.
Since the pastes vanished, how did ‘sudo guix pull’ lead to incompatiblebytecode warnings?
Thanks,Ludo’.
Z
Z
zimoun wrote on 15 Oct 2020 11:47
(name . Ludovic Courtès)(address . ludo@gnu.org)
86zh4n253h.fsf@gmail.com
Hi,
On Thu, 15 Oct 2020 at 09:53, Ludovic Courtès <ludo@gnu.org> wrote:
Toggle quote (6 lines)> I don’t think it’s a reasonable response: it’s a fact that we naturally> tend to read manuals sparsely, at best.>> Since the pastes vanished, how did ‘sudo guix pull’ lead to incompatible> bytecode warnings?
If I remember correctly (which is neither a reasonable response :-)), itshould highly come from the user config. And the investigation needsmore information, e.g., as Tobias asks: the output of:
$ type guix $ ls -l ~/.config/guix/current $ sudo rm ~/.config/guix/current $ /run/current-system/profile/bin/guix pull $ hash guix $ type guix
All the best,simon
B
B
Bengt Richter wrote on 15 Oct 2020 15:52
(name . zimoun)(address . zimon.toutoune@gmail.com)
20201015135249.GA2949@LionPure
On +2020-10-15 11:47:30 +0200, zimoun wrote:
Toggle quote (25 lines)> Hi,> > On Thu, 15 Oct 2020 at 09:53, Ludovic Courtès <ludo@gnu.org> wrote:> > > I don’t think it’s a reasonable response: it’s a fact that we naturally> > tend to read manuals sparsely, at best.> >> > Since the pastes vanished, how did ‘sudo guix pull’ lead to incompatible> > bytecode warnings?> > If I remember correctly (which is neither a reasonable response :-)), it> should highly come from the user config. And the investigation needs> more information, e.g., as Tobias asks: the output of:> > $ type guix> $ ls -l ~/.config/guix/current> $ sudo rm ~/.config/guix/current> $ /run/current-system/profile/bin/guix pull> $ hash guix> $ type guix> > All the best,> simon>
If there is a left-over from old manual installation advice like
Toggle snippet (3 lines)/usr/local/bin/guix: symbolic link to /var/guix/profiles/per-user/root/current-guix/bin/guix
could it interfere in any way with the above, or subsequent operation?
-- Regards,Bengt Richter
Z
Z
zimoun wrote on 15 Oct 2020 15:56
(name . Bengt Richter)(address . bokr@bokr.com)
CAJ3okZ2chcK-J9Bn0+Mxjtyd4U9e6439kL9hYLPo8Mn4JY9ztw@mail.gmail.com
Hi Bengt,
On Thu, 15 Oct 2020 at 15:53, Bengt Richter <bokr@bokr.com> wrote:
Toggle quote (7 lines)> If there is a left-over from old manual installation advice like> --8<---------------cut here---------------start------------->8---> /usr/local/bin/guix:> symbolic link to /var/guix/profiles/per-user/root/current-guix/bin/guix> --8<---------------cut here---------------end--------------->8---> could it interfere in any way with the above, or subsequent operation?
You mean the step #6 from the manual [1], right?
1: https://guix.gnu.org/devel/manual/en/guix.html#Binary-Installation

All the best,simon
B
B
Bengt Richter wrote on 15 Oct 2020 18:39
(name . zimoun)(address . zimon.toutoune@gmail.com)
20201015163923.GA4601@LionPure
Hi Simon,
On +2020-10-15 15:56:41 +0200, zimoun wrote:
Toggle quote (14 lines)> Hi Bengt,> > On Thu, 15 Oct 2020 at 15:53, Bengt Richter <bokr@bokr.com> wrote:> > > If there is a left-over from old manual installation advice like> > --8<---------------cut here---------------start------------->8---> > /usr/local/bin/guix:> > symbolic link to /var/guix/profiles/per-user/root/current-guix/bin/guix> > --8<---------------cut here---------------end--------------->8---> > could it interfere in any way with the above, or subsequent operation?> > You mean the step #6 from the manual [1], right?>
Yes. I didn't realize it was still there -- I may mis-remember some discussiondeprecating the use of /usr/local/* to affect the namespace seen when typing guix whatever.(vs putting needed info in ~/.bash_profile or ~/.profile)
I.e., even though the target is /var/guix/... it is not by way of ~/.guix-profile unlessthat's been put first in the path via ~/.bash_profile.
But /usr/local/bin is typically on a default PATH, so could you not accidentally see thewrong guix (rather than a more informative file-not-found) if the enviroment was notstraight-forwardly inherited from a normal login? (e.g. emacs subshell pts? Haven't checked ;)
Also doesn't the ".../per-user/root/..." part in the link make you dependenton the result of _sudo_ guix pull, not plain guix pull? (or are they equivalent somehow?)
IDK, but I really don't like typing "sudo guix ..." any better than "sudo firefox" or "sudo python"or "sudo <anything I can't completely predict what files condition the outputs or where they go>"
I hope we can get to 100%-user-mode guix. Maybe offloading to containerized guixsystems could be a model for swarms of cooperating user-mode peers (modulo some protocolfor synchronizing versions identified by guix describe) for distributed challenges,and normal usage would run guix with a localhost swarm providing the guix user-mode-daemons ;)
Toggle quote (6 lines)> 1: https://guix.gnu.org/devel/manual/en/guix.html#Binary-Installation> > > All the best,> simon
Sorry if this is only illustrating my noob misconceptions :)
-- Regards,Bengt Richter
Z
Z
zimoun wrote on 19 Oct 2020 19:01
(name . Bengt Richter)(address . bokr@bokr.com)
87o8kyf8uz.fsf@gmail.com
Dear,
On Thu, 15 Oct 2020 at 18:39, Bengt Richter <bokr@bokr.com> wrote:
Toggle quote (9 lines)>> On Thu, 15 Oct 2020 at 15:53, Bengt Richter <bokr@bokr.com> wrote:>> >> > If there is a left-over from old manual installation advice like>> > --8<---------------cut here---------------start------------->8--->> > /usr/local/bin/guix:>> > symbolic link to /var/guix/profiles/per-user/root/current-guix/bin/guix>> > --8<---------------cut here---------------end--------------->8--->> > could it interfere in any way with the above, or subsequent operation?
I do not think it interferes.

Toggle quote (5 lines)> Yes. I didn't realize it was still there -- I may mis-remember some discussion> deprecating the use of /usr/local/* to affect the namespace seen when typing> guix whatever.> (vs putting needed info in ~/.bash_profile or ~/.profile)
I am not sure to understand what you mean. I should have missed suchdiscussions. Do you have pointers?

Toggle quote (11 lines)> I.e., even though the target is /var/guix/... it is not by way of> ~/.guix-profile unless> that's been put first in the path via ~/.bash_profile.>> But /usr/local/bin is typically on a default PATH, so could you not> accidentally see the> wrong guix (rather than a more informative file-not-found) if the enviroment> was not> straight-forwardly inherited from a normal login? (e.g. emacs subshell pts?> Haven't checked ;)
I am sorry, I do not understand your point. On Debian, fresh user:
Toggle snippet (28 lines)$ ls -a. .. .bash_logout .bashrc .profile$ which guix/usr/local/bin/guix$ guix pull[..]hint: Consider setting the necessary environment variables by running:
GUIX_PROFILE="/home/kikoo/.config/guix/current" . "$GUIX_PROFILE/etc/profile"
Alternately, see `guix package --search-paths -p "/home/kikoo/.config/guix/current"'.

hint: Run `guix pull --news' to read all the news.
hint: After setting `PATH', run `hash guix' to make sure your shell refers to`/home/kikoo/.config/guix/current/bin/guix'.
$ guix pull # againnothing to be done
hint: Run `guix pull --news' to read all the news.
hint: After setting `PATH', run `hash guix' to make sure your shell refers to`/home/kikoo/.config/guix/current/bin/guix'.
Is your point that:
guix install hello
will install ’hello’ from the Guix at version of ’/usr/local/bin/guix’?Well, if you see improvements in this area, please open a separatebug/whishlist report.

All the best,simon
Z
Z
zimoun wrote on 21 Oct 2020 19:29
tags 43960 moreinfo
(address . control@debbugs.gnu.org)
874kmnfpx3.fsf@gmail.com
tags 43960 moreinfothanks
M
M
Miguel Ángel Arruga Vivas wrote on 25 Oct 2020 23:33
Re: bug#43960:
(name . zimoun)(address . zimon.toutoune@gmail.com)
87h7qiorzj.fsf@gmail.com
Hi,
I'm hitting this while testing some patches too.
[env]$ make check-system TESTS=encrypted-root-and-boot-os[...]successfully built /gnu/store/32qhcfz3amwq9zisqnagdvrlpl3lr82a-guix-system-tests-modules.drvbuilding /gnu/store/dsq1i6hfhqnx25gsa5m00q9a7d1vshql-module-import-compiled.drv...[ 1/88] Loading './gnu/build/accounts.scm'...[ 2/88] Loading './gnu/build/file-systems.scm'...;;; WARNING: loading compiled file /gnu/store/y1gzzlm1da2i5j60nws3iqrgnck6bhnn-guix-1.1.0-30.875c01f/lib/guile/3.0/site-ccache/guix/records.go failed:;;; In procedure load-thunk-from-memory: incompatible bytecode version;;; WARNING: loading compiled file /gnu/store/y1gzzlm1da2i5j60nws3iqrgnck6bhnn-guix-1.1.0-30.875c01f/lib/guile/3.0/site-ccache/guix/combinators.go failed:[...]
It compiles the modules afterwards (my test fails too, but it shouldn'tbe related to this).
How could I check what's happenning?
Happy hacking!Miguel
Z
Z
zimoun wrote on 26 Oct 2020 16:06
(name . Miguel Ángel Arruga Vivas)(address . rosen644835@gmail.com)
864kmh58ms.fsf@gmail.com
Hi,
On Sun, 25 Oct 2020 at 23:33, Miguel Ángel Arruga Vivas <rosen644835@gmail.com> wrote:
Toggle quote (2 lines)> I'm hitting this while testing some patches too.
Well, I do not know if it is related to the initial bug.

Toggle quote (16 lines)> [env]$ make check-system TESTS=encrypted-root-and-boot-os> [...]> successfully built /gnu/store/32qhcfz3amwq9zisqnagdvrlpl3lr82a-guix-system-tests-modules.drv> building /gnu/store/dsq1i6hfhqnx25gsa5m00q9a7d1vshql-module-import-compiled.drv...> [ 1/88] Loading './gnu/build/accounts.scm'...> [ 2/88] Loading './gnu/build/file-systems.scm'...> ;;; WARNING: loading compiled file /gnu/store/y1gzzlm1da2i5j60nws3iqrgnck6bhnn-guix-1.1.0-30.875c01f/lib/guile/3.0/site-ccache/guix/records.go failed:> ;;; In procedure load-thunk-from-memory: incompatible bytecode version> ;;; WARNING: loading compiled file /gnu/store/y1gzzlm1da2i5j60nws3iqrgnck6bhnn-guix-1.1.0-30.875c01f/lib/guile/3.0/site-ccache/guix/combinators.go failed:> [...]>> It compiles the modules afterwards (my test fails too, but it shouldn't> be related to this).>> How could I check what's happenning?
Sometimes, I have remarked that “guix environment -C guix” then“./bootstrap && ./configure” and “make” plus some tweaks; days later, Ire-rerun “guix environment -C guix” and directly run some “make foo” andthere some “incompatible” happens. Therefore, I re-run “./bootstrap &&./configure”. And « days later » means that I did “guix pull” betweenthe 2 “guix environment”.
I do not know.

All the best,simon
?