From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Linas Vepstas Newsgroups: gmane.lisp.guile.bugs Subject: bug#26616: guile-2.2 par-for-each hangs for large lists Date: Sat, 22 Apr 2017 19:32:39 -0500 Message-ID: Reply-To: linasvepstas@gmail.com NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: multipart/alternative; boundary=001a1148881eff943c054dcaa183 X-Trace: blaine.gmane.org 1492907652 12272 195.159.176.226 (23 Apr 2017 00:34:12 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sun, 23 Apr 2017 00:34:12 +0000 (UTC) To: 26616@debbugs.gnu.org Original-X-From: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Sun Apr 23 02:34:07 2017 Return-path: Envelope-to: guile-bugs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d25Ta-00030h-8R for guile-bugs@m.gmane.org; Sun, 23 Apr 2017 02:34:06 +0200 Original-Received: from localhost ([::1]:37394 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1d25Te-0000PN-3B for guile-bugs@m.gmane.org; Sat, 22 Apr 2017 20:34:10 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:44236) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1d25TX-0000PI-29 for bug-guile@gnu.org; Sat, 22 Apr 2017 20:34:04 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1d25TW-0007Eg-64 for bug-guile@gnu.org; Sat, 22 Apr 2017 20:34:03 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:36744) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1d25TW-0007Ec-1x for bug-guile@gnu.org; Sat, 22 Apr 2017 20:34:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1d25TV-0002u5-QA for bug-guile@gnu.org; Sat, 22 Apr 2017 20:34:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Linas Vepstas Original-Sender: "Debbugs-submit" Resent-CC: bug-guile@gnu.org Resent-Date: Sun, 23 Apr 2017 00:34:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 26616 X-GNU-PR-Package: guile X-GNU-PR-Keywords: X-Debbugs-Original-To: bug-guile@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.149290759211083 (code B ref -1); Sun, 23 Apr 2017 00:34:01 +0000 Original-Received: (at submit) by debbugs.gnu.org; 23 Apr 2017 00:33:12 +0000 Original-Received: from localhost ([127.0.0.1]:34939 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d25Si-0002se-5z for submit@debbugs.gnu.org; Sat, 22 Apr 2017 20:33:12 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:53126) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d25Sg-0002sL-Ox for submit@debbugs.gnu.org; Sat, 22 Apr 2017 20:33:11 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1d25Sa-00075D-7i for submit@debbugs.gnu.org; Sat, 22 Apr 2017 20:33:05 -0400 Original-Received: from lists.gnu.org ([2001:4830:134:3::11]:47935) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1d25Sa-000757-3p for submit@debbugs.gnu.org; Sat, 22 Apr 2017 20:33:04 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:44097) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1d25SY-0000NP-RU for bug-guile@gnu.org; Sat, 22 Apr 2017 20:33:03 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1d25SX-00074l-Lp for bug-guile@gnu.org; Sat, 22 Apr 2017 20:33:02 -0400 Original-Received: from mail-qk0-x22f.google.com ([2607:f8b0:400d:c09::22f]:33176) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1d25SX-00074X-GN for bug-guile@gnu.org; Sat, 22 Apr 2017 20:33:01 -0400 Original-Received: by mail-qk0-x22f.google.com with SMTP id h123so9483606qke.0 for ; Sat, 22 Apr 2017 17:33:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:reply-to:from:date:message-id:subject:to; bh=1V0J/7FYZq9ShYrRh3tFLSiJ8/1wO71Mkwh3ZYtMnsU=; b=Qcby+gTMMrHjmeY2QKcL2iIqmZOWssYcGCVM9MCASFM4F4FurFZkMOMPK/oglNbLDY qvsdJ/ZJka6aJVEVfOPe6ZfkGiRp0SK7DtMcwLzOPZ3WiBmeGUbEXrNhI7/8lDyFmq/4 Py5L8TMTvKbQ/gGmOMiaVHSmVd9z3U2b7DWrppXwrxLcbeW+NlkESbUdsKgiB4BEddq9 AHGrJtbV9bzPK1svb09Gs4aRDlV8HYGGMN0kbXePLDqErgThbx6iMiU8Jl94Z0nZUaxF KGRVVZ5Ke+jfnPiZ4gAnv785dwoxUQ0BdkjIOzohWPTKx9c2rOYEjY/HO9eFl3VYUFQr 5Zug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:reply-to:from:date:message-id :subject:to; bh=1V0J/7FYZq9ShYrRh3tFLSiJ8/1wO71Mkwh3ZYtMnsU=; b=dZWJbMLi9JWs/XJ59c9sCTK1wEfa2J8GYULUvQc2c4KCnkaOhSMtkOcSmk4tNqOU3q NSJ8EyzdMEwn2y+iLksDAWwqomAmeRkE0z2i0nNRACdR3SENTUf4cCsXY73+xrtQMySd Lsc6dCa+8dz5eJGmF2oPe2Mql1aPUBJOttfJMSgiUbRAMwhXsv2THX5LHubJC8zj1L3d DjIAdIx3TYlviJUejLup1d4zuiS+6kES/156Swsr5Hp/dWVnSvTKaAZvGG1kg6bIWUMZ ccmt8ymPPp10c0zG8EwrodPg+k7Y3HRg0klZj29sKpwVMMg4M21v9WyrJWjcSIAL0k5c 1eng== X-Gm-Message-State: AN3rC/45OoEHrvOBnEQcxKb3PXrZkhpbOh4WmizhjhF7cPBswcAARxbp utWfi7pYi6Pr3L03VFfxaiwXonyroZ5k X-Received: by 10.55.64.65 with SMTP id n62mr20290313qka.185.1492907580165; Sat, 22 Apr 2017 17:33:00 -0700 (PDT) Original-Received: by 10.12.144.142 with HTTP; Sat, 22 Apr 2017 17:32:39 -0700 (PDT) X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-guile@gnu.org List-Id: "Bug reports for GUILE, GNU's Ubiquitous Extension Language" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Original-Sender: "bug-guile" Xref: news.gmane.org gmane.lisp.guile.bugs:8778 Archived-At: --001a1148881eff943c054dcaa183 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable The following spins, burning about 250% cpu time, for large lists; it works fine for smaller lists. This is for a recent version of guile from git: guile -v guile (GNU Guile) 2.1.5.19-7e9395 will retry with newer guile shortly. On fresh guile: (use-modules (srfi srfi-1)) (define al (list-tabulate 100000 values)) (define foo 0) (par-for-each (lambda (x) (set! foo (+ x foo))) al) ^CERROR: In procedure scm-error: ERROR: User interrupt Entering a new prompt. Type `,bt' for a backtrace or `,q' to continue. scheme@(guile-user) [1]> ,bt In ice-9/threads.scm: 289:22 5 (loop _) In ice-9/futures.scm: 265:11 4 (touch #) 243:14 3 (work) In unknown file: 2 (wait-condition-variable #t) While executing meta-command: ERROR: In procedure cdr: Wrong type argument in position 1 (expecting pair): () scheme@(guile-user) [1]> The above is after interrupting after an hour or so of accumulated CPU time. Again, shorter lists (e.g. 10K long) work fine. My production lists are about 400K to 2M in size. --linas --001a1148881eff943c054dcaa183 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable

The following spins, burning about 250% cpu = time, for large lists; it works fine for smaller lists.=C2=A0=C2=A0 This is= for a recent version of guile from git:=C2=A0

guile -v
guile (G= NU Guile) 2.1.5.19-7e9395

will retry with newer guile shortly.=

On fresh guile:

(use-modules (srf= i srfi-1))
(define al (list-tabulate 100000 values))
(define foo 0)(par-for-each (lambda (x) (set! foo (+ x foo))) al)

^CERROR: In pr= ocedure scm-error:
ERROR: User interrupt

Entering a new prompt.= =C2=A0 Type `,bt' for a backtrace or `,q' to continue.
scheme@(g= uile-user) [1]> ,bt
In ice-9/threads.scm:
=C2=A0=C2=A0 289:22=C2= =A0 5 (loop _)
In ice-9/futures.scm:
=C2=A0=C2=A0 265:11=C2=A0 4 (tou= ch #<future 55e1984d3400 started #<procedure 55e198659f60 a=E2=80=A6&= gt;)
=C2=A0=C2=A0 243:14=C2=A0 3 (work)
In unknown file:
=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 2 (wait-condition-varia= ble #t)
While executing meta-command:
ERROR: In procedure cdr: Wrong = type argument in position 1 (expecting pair): ()
scheme@(guile-user) [1]= >

The above is after interrupting after an hour or so = of accumulated CPU time.

Again, shorter lists (e.g. 10K = long) work fine. My production lists are about 400K to 2M in size.

<= /div>
--linas
--001a1148881eff943c054dcaa183--