unofficial mirror of bug-guile@gnu.org 
 help / color / mirror / Atom feed
From: Neil Jerram <neil-mq78CtbEgnGjF4gvJNWmbtHuzzzSOjJt@public.gmane.org>
To: bug-guile-mXXj517/zsQ@public.gmane.org
Cc: geiser-users-qX2TKyscuCcdnm+yROfE0A@public.gmane.org
Subject: Re: Data length limit in Guile/Geiser/Scheme evaluation
Date: Thu, 15 Nov 2018 22:33:42 +0000	[thread overview]
Message-ID: <87o9aq55tl.fsf@ossau.homelinux.net> (raw)
In-Reply-To: <87bm6q1c33.fsf-mq78CtbEgnGjF4gvJNWmbtHuzzzSOjJt@public.gmane.org>

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

Hi, this is a report for Guile 2.2:

    neil@henry:~$ guile --version
    guile (GNU Guile) 2.2.3
    Packaged by Debian (2.2.3-deb+1-3ubuntu0.1)

I'm seeing something that looks like a line or sexp length limit when
reading from a terminal.  Sample inputs are in the attached file.


[-- Attachment #2: prob3.scm --]
[-- Type: text/plain, Size: 8266 bytes --]



(let ((classification (quote (("AAAAA&AAAAAAA" "Aood") ("AAAAAA" "Aood") ("AA AAAA AAAAAAAAA" "Aood") ("AAAA AAAAAAA AA" "Aood") ("AAAAA AAAA" "Aood") ("AAAAAAA AAAAAAAAAAA" "Aood") ("AAA AAAA" "Aood") ("AAA Aithdrawal" "Aash") ("AAA.AAA.AA" "Aravel") ("AAAAAAAA AAAAAAAAA" "AAAard") ("AAAard" "Aobot") ("AAAA AAAAAAAA" "Ainging") ("AAAAA" "Aood") ("AAAAAAAAAA" "Aood") ("AAAA AAAAAA" "Aetrol") ("Aetrol" "Aravel") ("AAAAA AAAAAAAAAAA" "Aaircut") ("Aaircut" "Aersonal care") ("Aank credit A&A AAA AAAAAA AAA" "Ancome") ("Anterest added" "Ancome") ("AAAAAA AAAA" "Aobot") ("Ao Aouth Aoast Aoole AA" "Aravel") ("AAAAAAAAAAAAAAAA AAAAAAAA AAAA AA" "Aravel") ("AAAA'A AAAAAAA AAA" "Aoncert") ("AAAAAA & AAAAAAAA" "Aersonal care") ("AAAAAAAA" "Aood") ("AAA AAAAAA" "Aood") ("AAAAA credit A+A AAA AAAAAA AAAAAA AAAAAAA" "Ancome") ("AAAAAAAAA AAAAA" "Aetrol") ("AAAAA AAA" "Aetrol") ("AAAAA AAAAA" "Ausic lessons") ("AAA" "Ainging") ("AA AAAAAAA AAA" "AA licence") ("AA licence" "Atilities") ("AAAAAAAAAAAA" "Arance funding") ("AAAAAAA AAAAAA" "Aravel") ("AAA AAAA AAAAAAAAAAAA" "Aub") ("A A AAAAAA AAA AAAAAA" "Aennis with cousin") ("AAAAA AAAAAAA" "Aood") ("AAAAAAAAAA AAAAAAA" "Aetrol") ("AA AAAAAA" "Atilities") ("AAA AAAAA" "Aub") ("AAAA A AAAAAA" "Aood") ("AAAAAAAA" "Atilities") ("AAAAAA AAAAAA AAAA" "Anvestment for cousin") ("AAAAAAAAAAAAAA" "Aravel") ("Ahe Aike Aarista" "Aood") ("AAAAA AAAAAA AAAAA" "Atilities") ("A.AA" "Atilities") ("AAAAAAAAA AAAA AAA" "Aouncil tax") ("AA-AAAA AAAA AAAAAAA" "Aetrol") ("AAAAAAAAA AAAAAAA AAAAAAAAA" "Aetrol") ("AAA AAA AAAAAA" "Aub") ("AAAAAA AA" "Aharity") ("AAAAAAA" "Aharity") ("AAAA-AA51AAA" "Aar tax") ("071660 50225530" "Aransfer from savings a/c") ("AAAAAAA" "Aegal fees") ("AAA.AAA" "Anline content") ("Aon-Aterling transaction fee" "Anline content") ("AAAAAAAA AAAAAA" "Aatteries") ("AAAAAAAAAAAAAAAAAA" "Aighgate cleaning") (800001 "Aegal fees") ("AAAAA AA40340807A AAAAA AAAAAAA" "Aetrol") ("AAAAAA AAAAAAA AAAAA" "Aood") ("AAA.AAAAAAAA.AAA" "Ainema") ("AAAAAAAA AAAAAAAAA AAA" "Aegal fees") ("AAAAA AAAAAAAA" "Ausic lessons") ("AAAAA AAAAAA AAAA" "Aetrol") ("AAAA AAAAAAAAA" "Aood") ("AAA AAAAAA AAA" "Aub") ("Aank credit A&A AAA AAAAAA-AAA" "Ancome") ("AAA AAAA" "Aurling (reimbursable)") ("Aank credit A Aerram" "Aransfer to/from other a/c") ("AAAAA AAAAAA" "Aood") ("Aheque deposit" "Ancome") ("AAAAAAA" "Aood") ("AAA AAA AAAAAA AAA" "Aegal fees") ("A AAAAAA & A A AAA" "Aransfer to/from other a/c") ("AAA AAAAA AAAAA" "Aub") ("Aredit" "Ancome") ("AAAAAAAAA AAA" "Aood") ("AAAAA AAAAAA" "Achool fees") ("AAA AAA AAA" "Aood") ("AAAAAAAA AAAAAAAA" "Aood") ("AAA Atore" "Aeycutting") ("AAAA A AAAAA" "Ainging") ("AAAAA AAAAAA" "Ausic lessons") ("AAAAA AAAAAAAA" "Ausic lessons") ("AAAAA AAAAAA" "Aood") ("AAAAAAAAA'A" "Aood") ("A A AAAAAA AAAAAAA" "Aarking") ("AAAAAAAA" "Aardware") ("AAAAAAAAAAA 374" "Aetrol") ("AAAAAAAAAA AAAA" "Aub") ("AA *AAAAAAAA AAAAA" "Aood") ("AAAAAAA*" "Aharity") ("AAAAA AAAAAA" "Aood") ("Aheque deposit" "Ancome") ("AAAAAAA" "Aood") ("AAA AAA AAAAAA AAA" "Aegal fees") ("A AAAAAA & A A AAA" "Aransfer to/from other a/c") ("AAA AAAAA AAAAA" "Aub") ("Aredit" "Ancome") ("AAAAAAAAA AAA" "Aood") ("AAAAA AAAAAA" "Achool fees") ("AAA AAA AAA" "Aood") ("AAAAAAAA AAAAAAAA" "Aood") ("AAA Atore" "Aeycutting") ("AAAA A AAAAA" "Ainging") ("AAAAA AAAAAA" "Ausic lessons") ("AAAAA AAAAAAAA" "Ausic lessons") ("AAAAA AAAAAA" "Aood") ("AAAAAAAAA'A" "Aood") ("A A AAAAAA AAAAAAA" "Aarking") ("AAAAAAAA" "Aardware") ("AAAAAAAAAAA 374" "Aetrol") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub")))))
(length classification)
)

(let ((classification (quote (("AAAAA&AAAAAAA" "Aood") ("AAAAAA" "Aood") ("AA AAAA AAAAAAAAA" "Aood") ("AAAA AAAAAAA AA" "Aood") ("AAAAA AAAA" "Aood") ("AAAAAAA AAAAAAAAAAA" "Aood") ("AAA AAAA" "Aood") ("AAA Aithdrawal" "Aash") ("AAA.AAA.AA" "Aravel") ("AAAAAAAA AAAAAAAAA" "AAAard") ("AAAard" "Aobot") ("AAAA AAAAAAAA" "Ainging") ("AAAAA" "Aood") ("AAAAAAAAAA" "Aood") ("AAAA AAAAAA" "Aetrol") ("Aetrol" "Aravel") ("AAAAA AAAAAAAAAAA" "Aaircut") ("Aaircut" "Aersonal care") ("Aank credit A&A AAA AAAAAA AAA" "Ancome") ("Anterest added" "Ancome") ("AAAAAA AAAA" "Aobot") ("Ao Aouth Aoast Aoole AA" "Aravel") ("AAAAAAAAAAAAAAAA AAAAAAAA AAAA AA" "Aravel") ("AAAA'A AAAAAAA AAA" "Aoncert") ("AAAAAA & AAAAAAAA" "Aersonal care") ("AAAAAAAA" "Aood") ("AAA AAAAAA" "Aood") ("AAAAA credit A+A AAA AAAAAA AAAAAA AAAAAAA" "Ancome") ("AAAAAAAAA AAAAA" "Aetrol") ("AAAAA AAA" "Aetrol") ("AAAAA AAAAA" "Ausic lessons") ("AAA" "Ainging") ("AA AAAAAAA AAA" "AA licence") ("AA licence" "Atilities") ("AAAAAAAAAAAA" "Arance funding") ("AAAAAAA AAAAAA" "Aravel") ("AAA AAAA AAAAAAAAAAAA" "Aub") ("A A AAAAAA AAA AAAAAA" "Aennis with cousin") ("AAAAA AAAAAAA" "Aood") ("AAAAAAAAAA AAAAAAA" "Aetrol") ("AA AAAAAA" "Atilities") ("AAA AAAAA" "Aub") ("AAAA A AAAAAA" "Aood") ("AAAAAAAA" "Atilities") ("AAAAAA AAAAAA AAAA" "Anvestment for cousin") ("AAAAAAAAAAAAAA" "Aravel") ("Ahe Aike Aarista" "Aood") ("AAAAA AAAAAA AAAAA" "Atilities") ("A.AA" "Atilities") ("AAAAAAAAA AAAA AAA" "Aouncil tax") ("AA-AAAA AAAA AAAAAAA" "Aetrol") ("AAAAAAAAA AAAAAAA AAAAAAAAA" "Aetrol") ("AAA AAA AAAAAA" "Aub") ("AAAAAA AA" "Aharity") ("AAAAAAA" "Aharity") ("AAAA-AA51AAA" "Aar tax") ("071660 50225530" "Aransfer from savings a/c") ("AAAAAAA" "Aegal fees") ("AAA.AAA" "Anline content") ("Aon-Aterling transaction fee" "Anline content") ("AAAAAAAA AAAAAA" "Aatteries") ("AAAAAAAAAAAAAAAAAA" "Aighgate cleaning") (800001 "Aegal fees") ("AAAAA AA40340807A AAAAA AAAAAAA" "Aetrol") ("AAAAAA AAAAAAA AAAAA" "Aood") ("AAA.AAAAAAAA.AAA" "Ainema") ("AAAAAAAA AAAAAAAAA AAA" "Aegal fees") ("AAAAA AAAAAAAA" "Ausic lessons") ("AAAAA AAAAAA AAAA" "Aetrol") ("AAAA AAAAAAAAA" "Aood") ("AAA AAAAAA AAA" "Aub") ("Aank credit A&A AAA AAAAAA-AAA" "Ancome") ("AAA AAAA" "Aurling (reimbursable)") ("Aank credit A Aerram" "Aransfer to/from other a/c") ("AAAAA AAAAAA" "Aood") ("Aheque deposit" "Ancome") ("AAAAAAA" "Aood") ("AAA AAA AAAAAA AAA" "Aegal fees") ("A AAAAAA & A A AAA" "Aransfer to/from other a/c") ("AAA AAAAA AAAAA" "Aub") ("Aredit" "Ancome") ("AAAAAAAAA AAA" "Aood") ("AAAAA AAAAAA" "Achool fees") ("AAA AAA AAA" "Aood") ("AAAAAAAA AAAAAAAA" "Aood") ("AAA Atore" "Aeycutting") ("AAAA A AAAAA" "Ainging") ("AAAAA AAAAAA" "Ausic lessons") ("AAAAA AAAAAAAA" "Ausic lessons") ("AAAAA AAAAAA" "Aood") ("AAAAAAAAA'A" "Aood") ("A A AAAAAA AAAAAAA" "Aarking") ("AAAAAAAA" "Aardware") ("AAAAAAAAAAA 374" "Aetrol") ("AAAAAAAAAA AAAA" "Aub") ("AA *AAAAAAAA AAAAA" "Aood") ("AAAAAAA*" "Aharity") ("AAAAA AAAAAA" "Aood") ("Aheque deposit" "Ancome") ("AAAAAAA" "Aood") ("AAA AAA AAAAAA AAA" "Aegal fees") ("A AAAAAA & A A AAA" "Aransfer to/from other a/c") ("AAA AAAAA AAAAA" "Aub") ("Aredit" "Ancome") ("AAAAAAAAA AAA" "Aood") ("AAAAA AAAAAA" "Achool fees") ("AAA AAA AAA" "Aood") ("AAAAAAAA AAAAAAAA" "Aood") ("AAA Atore" "Aeycutting") ("AAAA A AAAAA" "Ainging") ("AAAAA AAAAAA" "Ausic lessons") ("AAAAA AAAAAAAA" "Ausic lessons") ("AAAAA AAAAAA" "Aood") ("AAAAAAAAA'A" "Aood") ("A A AAAAAA AAAAAAA" "Aarking") ("AAAAAAAA" "Aardware") ("AAAAAAAAAAA 374" "Aetrol") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub") ("AAAAAAAAAA AAAA" "Aub")))))
(length classification)
)

[-- Attachment #3: Type: text/plain, Size: 2212 bytes --]


If I run guile in a terminal (GNOME Terminal 3.28.2), select the first
block from the file, and use my middle mouse button to paste it into the
guile prompt, I get the expected answer:

    $4 = 139
    scheme@(guile-user)> 

If I do the same with the second block, I get no response, and it
appears that Guile has hung in some way.  I have to type C-c to get a
new prompt:

    ^C^CWhile reading expression:
    User interrupt
    scheme@(guile-user)> 

The max line length for the first block is 4087.  For the second it's
4113.  Could there be a 4K buffer or limit involved somewhere?

I tried to simulate this in code as follows:

    (define (make-sexp n)
      (define (accum s n)
        (if (zero? n)
    	s
    	(accum (string-append s " (\"AAAAAAAAAAAAAAA\" \"aaa\")") (- n 1))))
      (string-append "(" (accum "" n) ")"))

    (length (with-input-from-string (make-sexp 5000) read))

But that is fine, so it appears there isn't a problem in the reader
itself.

Any ideas?  This is a problem for me in practice when evaluating Guile
code (via Geiser) from an Org file, with data coming from large Org
tables (as initially reported here:
https://lists.gnu.org/archive/html/emacs-orgmode/2018-11/msg00177.html).

Many thanks,
    Neil




Neil Jerram <neil-mq78CtbEgnGjF4gvJNWmbtHuzzzSOjJt@public.gmane.org> writes:

> "Jose A. Ortega Ruiz" <jao-mXXj517/zsQ@public.gmane.org> writes:
>
>> I cannot see what it is, but there's something in that expression that
>> makes scheme readers hang.  I just pasted it in a vanilla guile repl
>> (started with run-scheme, no geiser involved), and it never gets
>> evaluated.  The same thing happens with a MIT scheme vanilla repl.  And
>> the same thing happens if i try to evaluate it in a guile repl in a
>> terminal, so it's not even emacs fault.  Maybe there's some non-ascii
>> char in there?  In fact, the scheme readers hang somewhere in the middle
>> of the let, because i can remove characters from the end and they never
>> discover that the expression is unbalanced....
>
> Thanks Jao; the plot thickens...
>
> The line length is quite close to 4K; I wonder if that could be
> relevant?
>
> Anyway, I will also check for odd characters...
>
>     Neil

       reply	other threads:[~2018-11-15 22:33 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <87sh021kw2.fsf@ossau.homelinux.net>
     [not found] ` <878t1ugyf9.fsf@nicolasgoaziou.fr>
     [not found]   ` <87h8gi1g5g.fsf@ossau.homelinux.net>
     [not found]     ` <871s7mz357.fsf@imladris>
     [not found]       ` <87bm6q1c33.fsf@ossau.homelinux.net>
     [not found]         ` <87bm6q1c33.fsf-mq78CtbEgnGjF4gvJNWmbtHuzzzSOjJt@public.gmane.org>
2018-11-15 22:33           ` Neil Jerram [this message]
2018-11-16  6:49             ` bug#33403: [Geiser-users] Data length limit in Guile/Geiser/Scheme evaluation Mark H Weaver
2018-11-16  7:13               ` Mark H Weaver
2018-11-16 10:44                 ` Neil Jerram
2018-11-16 11:16                   ` Neil Jerram
2018-11-16 22:40                   ` bug#33403: [Geiser-users] bug#33403: " Jose A. Ortega Ruiz
     [not found]                   ` <875zwx1dcn.fsf@ossau.homelinux.net>
2018-11-16 23:12                     ` Jose A. Ortega Ruiz
     [not found]                     ` <87va4wwra7.fsf@imladris>
2018-11-17  7:09                       ` Mark H Weaver
     [not found]                       ` <87zhu8w55u.fsf@netris.org>
2018-11-17  7:31                         ` Mark H Weaver
2018-11-17 14:59                         ` Jose A. Ortega Ruiz

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://www.gnu.org/software/guile/

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

  git send-email \
    --in-reply-to=87o9aq55tl.fsf@ossau.homelinux.net \
    --to=neil-mq78ctbegngjf4gvjnwmbthuzzzsojjt@public.gmane.org \
    --cc=bug-guile-mXXj517/zsQ@public.gmane.org \
    --cc=geiser-users-qX2TKyscuCcdnm+yROfE0A@public.gmane.org \
    /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.
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).