unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* gnu/services/shepherd.scm:90:2: In procedure allocate-struct: Wrong type argument in position 2: 5
@ 2017-09-29 11:21 Huang, Ying
  2017-09-29 11:53 ` Andy Wingo
  2017-09-29 11:58 ` Efraim Flashner
  0 siblings, 2 replies; 11+ messages in thread
From: Huang, Ying @ 2017-09-29 11:21 UTC (permalink / raw)
  To: guix-devel

Hi, All,

I use the guix git.  After not upgrade the code for quite some time
(several months?), today after `git pull`, `guix environment guix`
report the following error.  How to deal with it?

Backtrace:
In ice-9/boot-9.scm:
   230:29 19 (map1 _)
   230:29 18 (map1 _)
   230:29 17 (map1 _)
   230:29 16 (map1 _)
   230:29 15 (map1 _)
   230:29 14 (map1 _)
   230:29 13 (map1 _)
   230:29 12 (map1 _)
   230:29 11 (map1 _)
   230:29 10 (map1 _)
   230:29  9 (map1 (((gnu packages firmware)) ((gnu services)) ((gnu services shepherd)) …))
   230:29  8 (map1 (((gnu services)) ((gnu services shepherd)) ((gnu services base)) (#) …))
   230:17  7 (map1 (((gnu services shepherd)) ((gnu services base)) ((gnu bootloader)) # …))
  2792:17  6 (resolve-interface (gnu services shepherd) #:select _ #:hide _ #:prefix _ # _ …)
  2718:10  5 (_ (gnu services shepherd) _ _ #:ensure _)
  2986:16  4 (try-module-autoload _ _)
   2316:4  3 (save-module-excursion #<procedure 673cd50 at ice-9/boot-9.scm:2987:17 ()>)
  3006:22  2 (_)
In unknown file:
           1 (primitive-load-path "gnu/services/shepherd" #<procedure 6b514a0 at ice-9/boo…>)
In gnu/services/shepherd.scm:
     90:2  0 (_)

gnu/services/shepherd.scm:90:2: gnu/services/shepherd.scm:90:2: In procedure allocate-struct: Wrong type argument in position 2: 5

Best Regards,
Huang, Ying

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: gnu/services/shepherd.scm:90:2: In procedure allocate-struct: Wrong type argument in position 2: 5
  2017-09-29 11:21 gnu/services/shepherd.scm:90:2: In procedure allocate-struct: Wrong type argument in position 2: 5 Huang, Ying
@ 2017-09-29 11:53 ` Andy Wingo
  2017-09-29 12:09   ` Huang, Ying
  2017-09-29 11:58 ` Efraim Flashner
  1 sibling, 1 reply; 11+ messages in thread
From: Andy Wingo @ 2017-09-29 11:53 UTC (permalink / raw)
  To: Huang, Ying; +Cc: guix-devel

On Fri 29 Sep 2017 13:21, "Huang, Ying" <huang_ying_caritas@163.com> writes:

> I use the guix git.  After not upgrade the code for quite some time
> (several months?), today after `git pull`, `guix environment guix`
> report the following error.  How to deal with it?

Remove .go files from your git checkout.  A change in Scheme files
caused a change in layout of objects, but some bits were baked into .go
files, and we are missing the ability to know when .go files need to be
rebuilt.  To work around this, remove .go files from your checkout.

Andy

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: gnu/services/shepherd.scm:90:2: In procedure allocate-struct: Wrong type argument in position 2: 5
  2017-09-29 11:21 gnu/services/shepherd.scm:90:2: In procedure allocate-struct: Wrong type argument in position 2: 5 Huang, Ying
  2017-09-29 11:53 ` Andy Wingo
@ 2017-09-29 11:58 ` Efraim Flashner
  2017-09-29 12:10   ` Huang, Ying
  1 sibling, 1 reply; 11+ messages in thread
From: Efraim Flashner @ 2017-09-29 11:58 UTC (permalink / raw)
  To: Huang, Ying; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 1917 bytes --]

On Fri, Sep 29, 2017 at 07:21:27PM +0800, Huang, Ying wrote:
> Hi, All,
> 
> I use the guix git.  After not upgrade the code for quite some time
> (several months?), today after `git pull`, `guix environment guix`
> report the following error.  How to deal with it?
> 
> Backtrace:
> In ice-9/boot-9.scm:
>    230:29 19 (map1 _)
>    230:29 18 (map1 _)
>    230:29 17 (map1 _)
>    230:29 16 (map1 _)
>    230:29 15 (map1 _)
>    230:29 14 (map1 _)
>    230:29 13 (map1 _)
>    230:29 12 (map1 _)
>    230:29 11 (map1 _)
>    230:29 10 (map1 _)
>    230:29  9 (map1 (((gnu packages firmware)) ((gnu services)) ((gnu services shepherd)) …))
>    230:29  8 (map1 (((gnu services)) ((gnu services shepherd)) ((gnu services base)) (#) …))
>    230:17  7 (map1 (((gnu services shepherd)) ((gnu services base)) ((gnu bootloader)) # …))
>   2792:17  6 (resolve-interface (gnu services shepherd) #:select _ #:hide _ #:prefix _ # _ …)
>   2718:10  5 (_ (gnu services shepherd) _ _ #:ensure _)
>   2986:16  4 (try-module-autoload _ _)
>    2316:4  3 (save-module-excursion #<procedure 673cd50 at ice-9/boot-9.scm:2987:17 ()>)
>   3006:22  2 (_)
> In unknown file:
>            1 (primitive-load-path "gnu/services/shepherd" #<procedure 6b514a0 at ice-9/boo…>)
> In gnu/services/shepherd.scm:
>      90:2  0 (_)
> 
> gnu/services/shepherd.scm:90:2: gnu/services/shepherd.scm:90:2: In procedure allocate-struct: Wrong type argument in position 2: 5
> 
> Best Regards,
> Huang, Ying
> 

you're in need of a 'make clean'.  If you don't want to have to rebuild
everything, then 'rm -- gnu/*go gnu/s*/*go gnu/tests/*go' should take
care of all of the affected modules.

-- 
Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: gnu/services/shepherd.scm:90:2: In procedure allocate-struct: Wrong type argument in position 2: 5
  2017-09-29 11:53 ` Andy Wingo
@ 2017-09-29 12:09   ` Huang, Ying
  0 siblings, 0 replies; 11+ messages in thread
From: Huang, Ying @ 2017-09-29 12:09 UTC (permalink / raw)
  To: Andy Wingo; +Cc: guix-devel

Andy Wingo <wingo@igalia.com> writes:

> On Fri 29 Sep 2017 13:21, "Huang, Ying" <huang_ying_caritas@163.com> writes:
>
>> I use the guix git.  After not upgrade the code for quite some time
>> (several months?), today after `git pull`, `guix environment guix`
>> report the following error.  How to deal with it?
>
> Remove .go files from your git checkout.  A change in Scheme files
> caused a change in layout of objects, but some bits were baked into .go
> files, and we are missing the ability to know when .go files need to be
> rebuilt.  To work around this, remove .go files from your checkout.

It works!  Thanks a lot for your help!

Best Regards,
Huang, Ying

> Andy

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: gnu/services/shepherd.scm:90:2: In procedure allocate-struct: Wrong type argument in position 2: 5
  2017-09-29 11:58 ` Efraim Flashner
@ 2017-09-29 12:10   ` Huang, Ying
  2017-09-29 13:06     ` Maxim Cournoyer
  0 siblings, 1 reply; 11+ messages in thread
From: Huang, Ying @ 2017-09-29 12:10 UTC (permalink / raw)
  To: Efraim Flashner; +Cc: guix-devel

Efraim Flashner <efraim@flashner.co.il> writes:

> On Fri, Sep 29, 2017 at 07:21:27PM +0800, Huang, Ying wrote:
>> Hi, All,
>> 
>> I use the guix git.  After not upgrade the code for quite some time
>> (several months?), today after `git pull`, `guix environment guix`
>> report the following error.  How to deal with it?
>> 
>> Backtrace:
>> In ice-9/boot-9.scm:
>>    230:29 19 (map1 _)
>>    230:29 18 (map1 _)
>>    230:29 17 (map1 _)
>>    230:29 16 (map1 _)
>>    230:29 15 (map1 _)
>>    230:29 14 (map1 _)
>>    230:29 13 (map1 _)
>>    230:29 12 (map1 _)
>>    230:29 11 (map1 _)
>>    230:29 10 (map1 _)
>>    230:29  9 (map1 (((gnu packages firmware)) ((gnu services)) ((gnu services shepherd)) …))
>>    230:29  8 (map1 (((gnu services)) ((gnu services shepherd)) ((gnu services base)) (#) …))
>>    230:17  7 (map1 (((gnu services shepherd)) ((gnu services base)) ((gnu bootloader)) # …))
>>   2792:17  6 (resolve-interface (gnu services shepherd) #:select _ #:hide _ #:prefix _ # _ …)
>>   2718:10  5 (_ (gnu services shepherd) _ _ #:ensure _)
>>   2986:16  4 (try-module-autoload _ _)
>>    2316:4  3 (save-module-excursion #<procedure 673cd50 at ice-9/boot-9.scm:2987:17 ()>)
>>   3006:22  2 (_)
>> In unknown file:
>>            1 (primitive-load-path "gnu/services/shepherd" #<procedure 6b514a0 at ice-9/boo…>)
>> In gnu/services/shepherd.scm:
>>      90:2  0 (_)
>> 
>> gnu/services/shepherd.scm:90:2: gnu/services/shepherd.scm:90:2: In procedure allocate-struct: Wrong type argument in position 2: 5
>> 
>> Best Regards,
>> Huang, Ying
>> 
>
> you're in need of a 'make clean'.  If you don't want to have to rebuild
> everything, then 'rm -- gnu/*go gnu/s*/*go gnu/tests/*go' should take
> care of all of the affected modules.

Thanks a lot for your help!

Best Regards,
Huang, Ying

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: gnu/services/shepherd.scm:90:2: In procedure allocate-struct: Wrong type argument in position 2: 5
  2017-09-29 12:10   ` Huang, Ying
@ 2017-09-29 13:06     ` Maxim Cournoyer
  2017-10-03  9:16       ` Oleg Pykhalov
  0 siblings, 1 reply; 11+ messages in thread
From: Maxim Cournoyer @ 2017-09-29 13:06 UTC (permalink / raw)
  To: Huang, Ying; +Cc: guix-devel

> Efraim Flashner <efraim@flashner.co.il> writes:
>
>> On Fri, Sep 29, 2017 at 07:21:27PM +0800, Huang, Ying wrote:
>>> Hi, All,
>>> 
>>> I use the guix git.  After not upgrade the code for quite some time
>>> (several months?), today after `git pull`, `guix environment guix`
>>> report the following error.  How to deal with it?
>>> 
>>> Backtrace:
>>> In ice-9/boot-9.scm:
>>>    230:29 19 (map1 _)
>>>    230:29 18 (map1 _)
>>>    230:29 17 (map1 _)
>>>    230:29 16 (map1 _)
>>>    230:29 15 (map1 _)
>>>    230:29 14 (map1 _)
>>>    230:29 13 (map1 _)
>>>    230:29 12 (map1 _)
>>>    230:29 11 (map1 _)
>>>    230:29 10 (map1 _)
>>>    230:29  9 (map1 (((gnu packages firmware)) ((gnu services)) ((gnu services shepherd)) …))
>>>    230:29  8 (map1 (((gnu services)) ((gnu services shepherd)) ((gnu services base)) (#) …))
>>>    230:17  7 (map1 (((gnu services shepherd)) ((gnu services base)) ((gnu bootloader)) # …))
>>>   2792:17  6 (resolve-interface (gnu services shepherd) #:select _ #:hide _ #:prefix _ # _ …)
>>>   2718:10  5 (_ (gnu services shepherd) _ _ #:ensure _)
>>>   2986:16  4 (try-module-autoload _ _)
>>>    2316:4  3 (save-module-excursion #<procedure 673cd50 at ice-9/boot-9.scm:2987:17 ()>)
>>>   3006:22  2 (_)
>>> In unknown file:
>>>            1 (primitive-load-path "gnu/services/shepherd" #<procedure 6b514a0 at ice-9/boo…>)
>>> In gnu/services/shepherd.scm:
>>>      90:2  0 (_)
>>> 
>>> gnu/services/shepherd.scm:90:2: gnu/services/shepherd.scm:90:2: In procedure allocate-struct: Wrong type argument in position 2: 5
>>> 
>>> Best Regards,
>>> Huang, Ying
>>> 
>> you're in need of a 'make clean'.  If you don't want to have to rebuild
>> everything, then 'rm -- gnu/*go gnu/s*/*go gnu/tests/*go' should take
>> care of all of the affected modules.

For the reference, there already is a "clean-go" target that
accomplishes just that, so you could run "make clean-go" the next time
you are faced with a similar error.

Maxim

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: gnu/services/shepherd.scm:90:2: In procedure allocate-struct: Wrong type argument in position 2: 5
  2017-09-29 13:06     ` Maxim Cournoyer
@ 2017-10-03  9:16       ` Oleg Pykhalov
  2017-10-04 13:50         ` Maxim Cournoyer
  0 siblings, 1 reply; 11+ messages in thread
From: Oleg Pykhalov @ 2017-10-03  9:16 UTC (permalink / raw)
  To: Maxim Cournoyer; +Cc: guix-devel

Maxim Cournoyer <maxim.cournoyer@gmail.com> writes:

>> Efraim Flashner <efraim@flashner.co.il> writes:
>>
>>> On Fri, Sep 29, 2017 at 07:21:27PM +0800, Huang, Ying wrote:

[...]

>>> you're in need of a 'make clean'.  If you don't want to have to rebuild
>>> everything, then 'rm -- gnu/*go gnu/s*/*go gnu/tests/*go' should take
>>> care of all of the affected modules.
>
> For the reference, there already is a "clean-go" target that
> accomplishes just that, so you could run "make clean-go" the next time
> you are faced with a similar error.

A bit of info from my experience writing cgit-service-type and 'cgit test':

$ rm gnu/services/version-control.go gnu/services/web.go rm -f gnu/*.go gnu/s*/*g.o

Even `make clean-go' in guix checkout directory didn't help.  So, random
thought did the job:

$ for x in $(find ~/.cache/ -type f -name '*.go' | grep test); do rm $x; done

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: gnu/services/shepherd.scm:90:2: In procedure allocate-struct: Wrong type argument in position 2: 5
  2017-10-03  9:16       ` Oleg Pykhalov
@ 2017-10-04 13:50         ` Maxim Cournoyer
  2017-10-05  0:00           ` Oleg Pykhalov
  2017-10-06 17:07           ` Oleg Pykhalov
  0 siblings, 2 replies; 11+ messages in thread
From: Maxim Cournoyer @ 2017-10-04 13:50 UTC (permalink / raw)
  To: Oleg Pykhalov; +Cc: guix-devel

Oleg Pykhalov <go.wigust@gmail.com> writes:

> Maxim Cournoyer <maxim.cournoyer@gmail.com> writes:
>
>>> Efraim Flashner <efraim@flashner.co.il> writes:
>>>
>>>> On Fri, Sep 29, 2017 at 07:21:27PM +0800, Huang, Ying wrote:
>
> [...]
>
>>>> you're in need of a 'make clean'.  If you don't want to have to rebuild
>>>> everything, then 'rm -- gnu/*go gnu/s*/*go gnu/tests/*go' should take
>>>> care of all of the affected modules.
>>
>> For the reference, there already is a "clean-go" target that
>> accomplishes just that, so you could run "make clean-go" the next time
>> you are faced with a similar error.
>
> A bit of info from my experience writing cgit-service-type and 'cgit test':
>
> $ rm gnu/services/version-control.go gnu/services/web.go rm -f gnu/*.go gnu/s*/*g.o
>
> Even `make clean-go' in guix checkout directory didn't help.  So, random
> thought did the job:
>
> $ for x in $(find ~/.cache/ -type f -name '*.go' | grep test); do rm $x; done

There shouldn't be any auto-compilation going on with Guix unless you are
using Emacs-Guix. This has been fixed in a recent commit[1] but will only
appear in the next release.

In the mean time you could define the following in your ~/.emacs:
--8<---------------cut here---------------start------------->8---
(setq guix-guile-program '("guile" "--no-auto-compile"))
--8<---------------cut here---------------end--------------->8---

Maxim


[1]  https://notabug.org/alezost/emacs-guix/issues/2

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: gnu/services/shepherd.scm:90:2: In procedure allocate-struct: Wrong type argument in position 2: 5
  2017-10-04 13:50         ` Maxim Cournoyer
@ 2017-10-05  0:00           ` Oleg Pykhalov
  2017-10-06 17:07           ` Oleg Pykhalov
  1 sibling, 0 replies; 11+ messages in thread
From: Oleg Pykhalov @ 2017-10-05  0:00 UTC (permalink / raw)
  To: Maxim Cournoyer; +Cc: guix-devel

Hello Maxim,

Maxim Cournoyer <maxim.cournoyer@gmail.com> writes:

> Oleg Pykhalov <go.wigust@gmail.com> writes:
>
>> Maxim Cournoyer <maxim.cournoyer@gmail.com> writes:
>>
>>>> Efraim Flashner <efraim@flashner.co.il> writes:
>>>>
>>>>> On Fri, Sep 29, 2017 at 07:21:27PM +0800, Huang, Ying wrote:
>>
>> [...]
>>
>>>>> you're in need of a 'make clean'.  If you don't want to have to rebuild
>>>>> everything, then 'rm -- gnu/*go gnu/s*/*go gnu/tests/*go' should take
>>>>> care of all of the affected modules.
>>>
>>> For the reference, there already is a "clean-go" target that
>>> accomplishes just that, so you could run "make clean-go" the next time
>>> you are faced with a similar error.
>>
>> A bit of info from my experience writing cgit-service-type and 'cgit test':
>>
>> $ rm gnu/services/version-control.go gnu/services/web.go rm -f gnu/*.go gnu/s*/*g.o
>>
>> Even `make clean-go' in guix checkout directory didn't help.  So, random
>> thought did the job:
>>
>> $ for x in $(find ~/.cache/ -type f -name '*.go' | grep test); do rm $x; done
>
> There shouldn't be any auto-compilation going on with Guix unless you are
> using Emacs-Guix. This has been fixed in a recent commit[1] but will only
> appear in the next release.
>
> In the mean time you could define the following in your ~/.emacs:
>
> (setq guix-guile-program '("guile" "--no-auto-compile"))

Thanks.  But I already have this definition before this talk:

    (setq guix-guile-program '("/home/natsu/src/guix/pre-inst-env"
                                   "guile" "--no-auto-compile"))

> [1]  https://notabug.org/alezost/emacs-guix/issues/2

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: gnu/services/shepherd.scm:90:2: In procedure allocate-struct: Wrong type argument in position 2: 5
  2017-10-04 13:50         ` Maxim Cournoyer
  2017-10-05  0:00           ` Oleg Pykhalov
@ 2017-10-06 17:07           ` Oleg Pykhalov
  2017-10-07  1:10             ` Maxim Cournoyer
  1 sibling, 1 reply; 11+ messages in thread
From: Oleg Pykhalov @ 2017-10-06 17:07 UTC (permalink / raw)
  To: Maxim Cournoyer; +Cc: guix-devel

Maxim Cournoyer <maxim.cournoyer@gmail.com> writes:

> There shouldn't be any auto-compilation going on with Guix unless you are
> using Emacs-Guix. This has been fixed in a recent commit[1] but will only
> appear in the next release.
>
> In the mean time you could define the following in your ~/.emacs:
>
> (setq guix-guile-program '("guile" "--no-auto-compile"))
>
> Maxim
>
> [1]  https://notabug.org/alezost/emacs-guix/issues/2

I think that auto-compilation come from (run-geiser) which doesn't care
about guix-guile-program.  I use it to have a
(geiser-edit-symbol-at-point) and for object definition in echo area.

To disable it I think need to do something with
(geiser-guile--parameters).

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: gnu/services/shepherd.scm:90:2: In procedure allocate-struct: Wrong type argument in position 2: 5
  2017-10-06 17:07           ` Oleg Pykhalov
@ 2017-10-07  1:10             ` Maxim Cournoyer
  0 siblings, 0 replies; 11+ messages in thread
From: Maxim Cournoyer @ 2017-10-07  1:10 UTC (permalink / raw)
  To: Oleg Pykhalov; +Cc: guix-devel

Oleg Pykhalov <go.wigust@gmail.com> writes:

> Maxim Cournoyer <maxim.cournoyer@gmail.com> writes:
>
>> There shouldn't be any auto-compilation going on with Guix unless you are
>> using Emacs-Guix. This has been fixed in a recent commit[1] but will only
>> appear in the next release.
>>
>> In the mean time you could define the following in your ~/.emacs:
>>
>> (setq guix-guile-program '("guile" "--no-auto-compile"))
>>
>> Maxim
>>
>> [1]  https://notabug.org/alezost/emacs-guix/issues/2
>
> I think that auto-compilation come from (run-geiser) which doesn't care
> about guix-guile-program.  I use it to have a
> (geiser-edit-symbol-at-point) and for object definition in echo area.
>
> To disable it I think need to do something with
> (geiser-guile--parameters).

I think that to configure the guile command line for the Geiser REPL you
would use:

(setq geiser-guile-binary '("guile" "--no-auto-compile"))

Credits to Alex Kost for bringing to my attention that this variable
could be defined as list the same way as `guix-guile-program'.

Maxim

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2017-10-07  1:10 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-09-29 11:21 gnu/services/shepherd.scm:90:2: In procedure allocate-struct: Wrong type argument in position 2: 5 Huang, Ying
2017-09-29 11:53 ` Andy Wingo
2017-09-29 12:09   ` Huang, Ying
2017-09-29 11:58 ` Efraim Flashner
2017-09-29 12:10   ` Huang, Ying
2017-09-29 13:06     ` Maxim Cournoyer
2017-10-03  9:16       ` Oleg Pykhalov
2017-10-04 13:50         ` Maxim Cournoyer
2017-10-05  0:00           ` Oleg Pykhalov
2017-10-06 17:07           ` Oleg Pykhalov
2017-10-07  1:10             ` Maxim Cournoyer

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).