incompatible bytecode version

  • Done
  • quality assurance status badge
Details
7 participants
  • Bengt Richter
  • ??????? ???????
  • Ludovic Courtès
  • Maxim Cournoyer
  • Tobias Geerinckx-Rice
  • Miguel Ángel Arruga Vivas
  • zimoun
Owner
unassigned
Submitted by
??????? ???????
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.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.go
failed:

;;; 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.go
failed:

;;; 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.go
failed:

;;; 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 can
I reproduce your report?

Thank you in advance.

All the best,
simon
?
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/Q0cbWVAdG9iaWFz
LmdyAAoJEA2w/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 naturally
tend to read manuals sparsely, at best.

Since the pastes vanished, how did ‘sudo guix pull’ lead to incompatible
bytecode 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 :-)), 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
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?



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 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.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 ;)

Also doesn't the ".../per-user/root/..." part in the link make you dependent
on 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 guix
systems could be a model for swarms of cooperating user-mode peers (modulo some protocol
for 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)
>
>
> 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 such
discussions. 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 # again
nothing 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 separate
bug/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 moreinfo
thanks
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.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?

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, I
re-rerun “guix environment -C guix” and directly run some “make foo” and
there some “incompatible” happens. Therefore, I re-run “./bootstrap &&
./configure”. And « days later » means that I did “guix pull” between
the 2 “guix environment”.

I do not know.


All the best,
simon
M
M
Maxim Cournoyer wrote on 21 Nov 2021 07:18
Re: bug#43960: incompatible bytecode version
(name . zimoun)(address . zimon.toutoune@gmail.com)
87ee7ac9qx.fsf_-_@gmail.com
Hello,

zimoun <zimon.toutoune@gmail.com> writes:

Toggle quote (21 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

Yes, and we haven't gotten any of that information in a year.

???????, I'll close this old report which I don't see actionable, but if
you get hit by the problem again, it'd be helpful if you could capture
the above detail and what led you to the problem.

Thanks!

Maxim
Closed
?