#11617: sending any large string at all to the gp PARI pexpect interface fails
--------------------------+-------------------------------------------------
   Reporter:  was         |          Owner:  was       
       Type:  defect      |         Status:  new       
   Priority:  critical    |      Milestone:  sage-4.7.2
  Component:  interfaces  |       Keywords:            
Work_issues:              |       Upstream:  N/A       
   Reviewer:              |         Author:            
     Merged:              |   Dependencies:            
--------------------------+-------------------------------------------------
Description changed by was:

Old description:

> In Sage-4.7 (on Linux and OS X), we have:
>
> {{{
> sage: '***' in gp.eval('a='+str(range(10^3)))
> False
> sage: '***' in gp.eval('a='+str(range(10^4)))
> False
> sage: '***' in gp.eval('a='+str(range(10^5)))
> False
> sage: '***' in gp.eval('a='+str(range(10^6)))
> True
> }}}
>
> The "***" appearing in the output means that an error occurs.  Looking
> further we find:
>
> {{{
> sage: print gp.eval('a='+str(range(10^6)))
>   ***   [...] at: read("/scratch/wstei
>   ***             ^--------------------
>   ***   in function read: read("/scratch/wstei
> ...
>   *** read: error opening input file:
> `/scratch/wstein/sage//temp/mod.math.washington.edu/17446//interface//tmp17449'.
> }}}
> Shockingly, looking at the file we are reading it we find that it
> contains:
> {{{
> sage: !more
> /scratch/wstein/sage//temp/mod.math.washington.edu/17446//interface//tmp17449
> read("/scratch/wstein/sage//temp/mod.math.washington.edu/17446//interface//tmp17449")
> }}}
>
> So, instead of writing the long string we are supposed to read in, the
> file contains a single line asking to read in itself!

New description:

 In Sage-4.7 (on Linux and OS X), we have:

 {{{
 sage: '***' in gp.eval('a='+str(range(10^3)))
 False
 sage: '***' in gp.eval('a='+str(range(10^4)))
 False
 sage: '***' in gp.eval('a='+str(range(10^5)))
 False
 sage: '***' in gp.eval('a='+str(range(10^6)))
 True
 }}}

 The "***" appearing in the output means that an error occurs.  Looking
 further we find:

 {{{
 sage: print gp.eval('a='+str(range(10^6)))
   ***   [...] at: read("/scratch/wstei
   ***             ^--------------------
   ***   in function read: read("/scratch/wstei
 ...
   *** read: error opening input file:
 
`/scratch/wstein/sage//temp/mod.math.washington.edu/17446//interface//tmp17449'.
 }}}
 Shockingly, looking at the file we are reading it we find that it
 contains:
 {{{
 sage: !more
 /scratch/wstein/sage//temp/mod.math.washington.edu/17446//interface//tmp17449
 
read("/scratch/wstein/sage//temp/mod.math.washington.edu/17446//interface//tmp17449")
 }}}

 So, instead of writing the long string we are supposed to read in, the
 file contains a single line asking to read in itself!

 NOTE: This bug was originally observed by Zhibin Liang.

--

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/11617#comment:1>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sage-trac?hl=en.

Reply via email to