unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
From: ludo@gnu.org (Ludovic Courtès)
To: Ricardo Wurmus <rekado@elephly.net>
Cc: Andy Wingo <wingo@igalia.com>, help-guix@gnu.org, 27476@debbugs.gnu.org
Subject: bug#27476: guix pull fails on powerful server
Date: Mon, 30 Apr 2018 23:19:42 +0200	[thread overview]
Message-ID: <87h8nstms1.fsf@gnu.org> (raw)
In-Reply-To: <878tfi9x15.fsf@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Tue, 07 Nov 2017 11:57:10 +0100")

ludo@gnu.org (Ludovic Courtès) skribis:

> I can’t reproduce this with current Guile ‘stable-2.2’, following Andy’s
> weak-table rewrite¹, so this might have been a weak-table bug showing up
> under memory pressure.

With Guile 2.2.3 a similar program triggers a crash very quickly:

--8<---------------cut here---------------start------------->8---
$ cat ../guile-debugging/syntax-parms.scm 
(use-modules (ice-9 threads)
             (srfi srfi-1)
             (guix monads)
             (guix store)
             (system base compile))

(compile #f)                                      ;load modules

(define threads
  (unfold (lambda (x) (> x 100))
          (lambda (x)
            (call-with-new-thread
             (lambda ()
               (while #t
                 (compile
                  '(mlet %store-monad ((x y))
                     (mbegin %store-monad
                       (return x)
                       (return y)))
                  #:env (current-module)
                  #:from 'scheme
                  #:to 'tree-il)))))
          1+
          0))

(for-each join-thread threads)
$ guile --version
guile (GNU Guile) 2.2.3
Copyright (C) 2017 Free Software Foundation, Inc.

License LGPLv3+: GNU LGPL 3 or later <http://gnu.org/licenses/lgpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
$ guile ../guile-debugging/syntax-parms.scm 
In ice-9/psyntax.scm:
  2338:44 19 (expand-let _ _ _ #f _ #<procedure build-let (src ids vars val-exps body-exp)> _ _ _)
  1679:45 18 (parse _ _ _ _ _ _ _)
In ice-9/boot-9.scm:
   222:17 17 (map1 ("-" "1dff1b83541ce327" "-" "2ad70"))
In ice-9/psyntax.scm:
  1679:45 16 (parse _ _ _ _ _ _ _)
In ice-9/boot-9.scm:
   222:17 15 (map1 ((#(ribcage () () ()) #(ribcage () () ()) #(ribcage #(unused-value) #((m-1dff1b83541ce327-29a7a top)) #("l-1dff1b83541ce327-2bce9")) #(ribcage () () ()) # …)))
In ice-9/psyntax.scm:
  1484:23 14 (_ _ _)
In ice-9/boot-9.scm:
   222:29 13 (map1 _)
   222:17 12 (map1 ("-" "2bd28"))
In ice-9/psyntax.scm:
  1789:11 11 (lp _ ())
  1679:45 10 (parse _ _ _ _ _ _ _)
In ice-9/boot-9.scm:
   222:17  9 (map1 ((expand-1dff1b83541ce327-2bd31) (#<tree-il (lambda ((name . expand)) (lambda-case (((body) #f #f #f () (body-1dff1b83541ce327-2bd35)) (call (lambda () (…>) …))
In ice-9/psyntax.scm:
  1679:45  8 (parse _ _ _ _ _ _ _)
In ice-9/boot-9.scm:
   222:17  7 (map1 ((m-1dff1b83541ce327-2bcf4 top)))
In ice-9/psyntax.scm:
  1484:23  6 (_ _ _)
In ice-9/boot-9.scm:
   222:17  5 (map1 (#<syntax %store-monad>))
In ice-9/psyntax.scm:
  1407:23  4 (_ _)
  1317:39  3 (syntax-type y (shift #(ribcage #(e) #((top)) #("l-680b775fb37a463-1343")) #(ribcage () () ()) #(ribcage #(xx) #((top)) #("l-680b775fb37a463-1340")) #(ribcage …)) # …)
   916:15  2 (resolve-identifier y (#<syntax >>=> #<syntax (#<syntax mval> #<syntax mproc0>)>) (shift #(ribcage #(e) #((top)) #("l-680b775fb37a463-1343")) #(ribcage () () #) …) …)
   833:21  1 (id-var-name y _ _)
    669:4  0 (search y (() #(ribcage () () ()) #(ribcage () () ()) #(ribcage () () ()) #(ribcage () () ())) (top) (hygiene guile-user))
ice-9/psyntax.scm:669:4: In procedure search:
In procedure vector-ref: Wrong type argument in position 1 (expecting vector): ()
In ice-9/boot-9.scm:
   222:29 19 (map1 _)
   222:17 18 (map1 (#f))
In ice-9/psyntax.scm:
  1789:11 17 (lp _ ())
  1679:45 16 (parse _ _ _ _ _ _ _)
In ice-9/boot-9.scm:
   222:17 15 (map1 (() (m-1dff1b83541ce327-8f24e top)))
In ice-9/psyntax.scm:
  1679:45 14 (parse _ _ _ _ _ _ _)
In ice-9/boot-9.scm:
   222:17 13 (map1 ((m-1dff1b83541ce327-8fe71 top) shift #(ribcage #(e) #((top)) #("l-680b775fb37a463-1343")) #(ribcage () () ()) #(ribcage #(xx) #((top)) #("l-680b775fb3…")) #))
In ice-9/psyntax.scm:
  1409:12 12 (expand-expr _ _ _ (shift #(ribcage #(e) #((top)) #("l-680b775fb37a463-1343")) #(ribcage () () ()) #(ribcage #(xx) #((top)) #("l-680b775fb37a463-1340")) #(# # …)) # …)
  2054:19 11 (_ _ _ (m-1dff1b83541ce327-8fe71 top) ())
In ice-9/boot-9.scm:
   222:17 10 (map1 (#<syntax identifier?> (#<syntax syntax> #<syntax id>)))
In ice-9/psyntax.scm:
  1409:12  9 (_ _)
  1789:11  8 (lp _ (#(ribcage () () ()) #(ribcage #(x) #((m-1dff1b83541ce327-8f383 top)) #("l-1dff1b83541ce327-8f40b")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage # …) …))
  1679:45  7 (parse _ _ _ _ _ _ _)
In ice-9/boot-9.scm:
   222:17  6 (map1 (#(ribcage #(x) #((m-1dff1b83541ce327-8f383 top)) #("l-1dff1b83541ce327-8f40b")) #(ribcage () () ()) shift #(ribcage #(monad body) #((top) (top)) #("…" …)) …))
In ice-9/psyntax.scm:
  2702:67  5 (_ tmp-1dff1b83541ce327-8fa7a _ _)
 2646:111  4 (gen-clause #<tree-il (lexical tmp tmp-1dff1b83541ce327-8db88)> () (#(ribcage () () ()) #(ribcage #(x) #((m-1dff1b83541ce327-8f383 top)) #("l-1dff1b83541ce3…")) …) …)
  2607:69  3 (build-dispatch-call (("8fa7c" . 0)) "1dff1b83541ce327" #<tree-il (lexical tmp tmp-1dff1b83541ce327-8e71d)> #((m-1dff1b83541ce327-8f383 top)) (#f #f () (#) #<tr…> …))
In ice-9/boot-9.scm:
   222:17  2 (map1 ("8fa7c"))
In ice-9/psyntax.scm:
  2004:10  1 (gen-var _)
In unknown file:
           0 (symbol->string "8fa7c")
ERROR: In procedure symbol->string:
In procedure symbol->string: Wrong type argument in position 1 (expecting symbol): "8fa7c"
--8<---------------cut here---------------end--------------->8---

Ludo’.

  parent reply	other threads:[~2018-04-30 21:20 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <87h8vvp1q7.fsf@elephly.net>
2017-09-22 14:10 ` bug#27476: guix pull fails on powerful server Ludovic Courtès
2017-09-25  7:27   ` Andy Wingo
2017-09-25 13:03     ` Ludovic Courtès
     [not found]     ` <87a81jj5gg.fsf@gnu.org>
2017-09-25 14:02       ` Ricardo Wurmus
2017-09-30  7:59         ` Ricardo Wurmus
     [not found]         ` <87shf44ny0.fsf@elephly.net>
2017-10-03 20:29           ` Marius Bakke
     [not found]           ` <87a818dlgz.fsf@fastmail.com>
2017-10-04 13:15             ` Ricardo Wurmus
2017-10-04 15:09           ` Clément Lassieur
     [not found]           ` <87o9pnt0ei.fsf@lassieur.org>
2017-10-04 16:17             ` Ricardo Wurmus
2017-10-07 15:11           ` Ludovic Courtès
     [not found]           ` <87po9zj8lt.fsf@gnu.org>
2017-10-10  7:17             ` Ricardo Wurmus
     [not found]             ` <878tgjmpz6.fsf@elephly.net>
2017-10-10 11:32               ` Ludovic Courtès
2017-10-12 13:37           ` Ludovic Courtès
     [not found]           ` <877ew0o5br.fsf@gnu.org>
2017-10-13 20:29             ` Ricardo Wurmus
2017-10-13 21:04             ` Ricardo Wurmus
2017-10-13 21:10               ` Ricardo Wurmus
2017-11-07 10:57           ` Ludovic Courtès
     [not found]           ` <878tfi9x15.fsf@gnu.org>
2018-04-30 21:19             ` Ludovic Courtès [this message]
2018-04-30 21:39               ` bug#27476: libguile/memoize.c is not thread safe, so syntax parameter expansion is not thread-safe Ludovic Courtès
2018-05-09  8:41                 ` Andy Wingo
2018-05-09  9:23                   ` Ludovic Courtès
2018-05-09 10:18                     ` Andy Wingo
2019-02-06 14:48                       ` Ludovic Courtès
2019-02-06 16:14                         ` Andy Wingo
2019-02-06 22:09                           ` Ludovic Courtès
2019-01-29 10:07               ` bug#27476: guix pull fails on powerful server Ricardo Wurmus
2017-09-25  8:43 ` Clément Lassieur

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87h8nstms1.fsf@gnu.org \
    --to=ludo@gnu.org \
    --cc=27476@debbugs.gnu.org \
    --cc=help-guix@gnu.org \
    --cc=rekado@elephly.net \
    --cc=wingo@igalia.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).