Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tuple not displaying properly in REPL #7434

Closed
wheineman opened this issue Jun 27, 2014 · 19 comments
Closed

Tuple not displaying properly in REPL #7434

wheineman opened this issue Jun 27, 2014 · 19 comments
Labels
bug Indicates an unexpected problem or unintended behavior system:windows Affects only Windows

Comments

@wheineman
Copy link

$ julia
               _
   _       _ _(_)_     |  A fresh approach to technical computing
  (_)     | (_) (_)    |  Documentation: http://docs.julialang.org
   _ _   _| |_  __ _   |  Type "help()" to list help topics
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 0.3.0-prerelease+3908 (2014-06-26 23:41 UTC)
 _/ |\__'_|_|_|\__'_|  |  Commit 8f99257 (0 days old master)
|__/                   |  x86_64-w64-mingw32

julia> x = tuple(1,2,3)
(1,2,0)

julia> x
(1,2,0)

julia> x[3]
3

julia>
julia> versioninfo()
Julia Version 0.3.0-prerelease+3908
Commit 8f99257 (2014-06-26 23:41 UTC)
Platform Info:
  System: Windows (x86_64-w64-mingw32)
  CPU: Intel(R) Core(TM) i7-4600M CPU @ 2.90GHz
  WORD_SIZE: 64
  BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY)
  LAPACK: libopenblas
  LIBM: libopenlibm

julia>
@quinnj
Copy link
Member

quinnj commented Jun 27, 2014

Can you post the output of versioninfo()?

@jiahao jiahao added the windows label Jun 27, 2014
@adamkapor
Copy link

I'm having the same problem. This is only on my windows machine, not on the mac.

julia> versioninfo()
Julia Version 0.3.0-prerelease+3907
Commit ac807db (2014-06-26 17:32 UTC)
Platform Info:
  System: Windows (x86_64-w64-mingw32)
  CPU: Intel(R) Core(TM) i7-3930K CPU @ 3.20GHz
  WORD_SIZE: 64
  BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY)
  LAPACK: libopenblas
  LIBM: libopenlibm

@adamkapor
Copy link

               _
   _       _ _(_)_     |  A fresh approach to technical computing
  (_)     | (_) (_)    |  Documentation: http://docs.julialang.org
   _ _   _| |_  __ _   |  Type "help()" to list help topics
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 0.3.0-prerelease+3907 (2014-06-26 17:32 UTC)
 _/ |\__'_|_|_|\__'_|  |  Commit ac807db (0 days old master)
|__/                   |  x86_64-w64-mingw32

julia> b=(1,2,3)
(1,2,0)

julia> b=(1,2,3,4)
(1,2,0,0)

julia> print(b)
(1,2,3,4)
julia> show(b)
(1,2,3,4)
julia> b
(1,2,0,0)

@quinnj
Copy link
Member

quinnj commented Jun 27, 2014

I see this at the REPL, but not in IJulia. @stevengj, any ideas?

@mbauman
Copy link
Member

mbauman commented Jun 27, 2014

Looks like this is architecture-specific, too. I don't see it on my Sandy Bridge Xeon E31235 (x86_64-w64-mingw32).

@stevengj
Copy link
Member

I can't reproduce on MacOS in either the REPL or IJulia.

Note that both the REPL and IJulia use the same writemime(io, "text/plain", x) to get their display text for tuples, so I don't see why there would be a difference. Are you sure they are running the same Julia version?

@quinnj
Copy link
Member

quinnj commented Jul 2, 2014

Hmmm, I can't seem to reproduce with show, writemime, etc. What am I missing here?

julia> writemime(STDOUT,MIME("text/plain"),(1,1,1))
(1,1,1)
julia> show(STDOUT,(1,1,1))
(1,1,1)
julia> writemime(STDOUT,MIME("text/plain"),(1,1,1))
(1,1,1)
julia> (1,1,1)
(1,1,0)

@wheineman
Copy link
Author

I suspect this is Windows REPL only, and maybe only Windows REPL only on certain architectures. I see it on my Haswell machines.

@ihnorton
Copy link
Member

@Keno @vtjnash this appears to be architecture-specific.

Using latest win64 nightly:

  • not present on Westmere (Xeon E5620)
  • present on Ivy Bridge (i7-3940XM)

Using recent win32, and 0.2.1

  • not present on Ivy Bridge

@Keno Keno self-assigned this Aug 4, 2014
@Keno
Copy link
Member

Keno commented Aug 23, 2014

Tried with LLVM 3.5 (I can reproduce with 3.3) and the problem went away. So I'm gonna assume this is fixed in 3.5 and not try to track this down.

@Keno Keno removed their assignment Aug 23, 2014
@KrisKusano
Copy link

Looks like this one is pretty closed down, but I can reproduce this in the newest 0.3.0 version (Intel i7-4700MQ, Haswell, Windows 7 64).

julia> a = (1, 5, 9)
(1,5,0)

julia> a[end]
9

julia> versioninfo()
Julia Version 0.3.0
Commit 7681878 (2014-08-20 20:43 UTC)
Platform Info:
  System: Windows (x86_64-w64-mingw32)
  CPU: Intel(R) Core(TM) i7-4700MQ CPU @ 2.40GHz
  WORD_SIZE: 64
  BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY Haswell)
  LAPACK: libopenblas
  LIBM: libopenlibm
  LLVM: libLLVM-3.3

@iamed2
Copy link
Contributor

iamed2 commented Sep 4, 2014

I was able to reproduce with generic but not specialized display().

julia> b = (1,2,3)
(1,2,0)

julia> display(b)
(1,2,0)

julia> display(Base.Multimedia.displays[1], b)
(1,2,3)
julia> display(Base.Multimedia.displays[2], b)
(1,2,3)

Note: displays[2] corresponds to the REPL display used in the first two examples.

@nalimilan
Copy link
Member

This keeps being reported. Maybe worth looking for a fix? Or do you want to switch to LLVM 3.5 for 0.3.1 (risky...)?

@DumpsterDoofus
Copy link

I observed this too, using Ivy Bridge Intel Core i5-3550 on 64-bit Windows 7 on Julia 0.3.0 64-bit. Glad to hear it isn't affecting the actual computations, although it was a bit amusing when I first noticed it.

@tkelman
Copy link
Contributor

tkelman commented Sep 18, 2014

There are test failures on win64 with LLVM 3.5.0, so I don't think this display problem is worth switching for just yet.

@IainNZ
Copy link
Member

IainNZ commented Feb 10, 2015

@adijkstra
Copy link

I also still have this issue in 0.3.5

julia> A = (1,2,3)
(1,2,0)

julia> A
(1,2,0)

julia> versioninfo()
Julia Version 0.3.5
Commit a05f87b* (2015-01-08 22:33 UTC)
Platform Info:
System: Windows (x86_64-w64-mingw32)
CPU: Intel(R) Core(TM) i3-3220 CPU @ 3.30GHz
WORD_SIZE: 64
BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY Sandybridge)
LAPACK: libopenblas
LIBM: libopenlibm
LLVM: libLLVM-3.3

@pao
Copy link
Member

pao commented Apr 23, 2015

@adijkstra, that is expected; we are unlikely to be updating the LLVM dependency to 3.5 or later, where the problem is fixed, in the 0.3.x series of Julia releases due to extensive changes in LLVM's APIs. Note from your versioninfo() output that your build is using LLVM 3.3.

@tkelman
Copy link
Contributor

tkelman commented Jun 4, 2015

Given that it's looking like we'll also have to stay on LLVM 3.3 for Julia 0.4.0, would it be worth digging into exactly where in the show pipeline this happens? I unfortunately don't have reliable access to a machine where this happens.

vtjnash added a commit that referenced this issue Sep 17, 2015
it seems that the llvm 3.3 return type legalizer may not be properly
handling large types. this is more efficient anyways.

fixes #8932, should fix #12163, probably fixes #7434

(cherry picked from commit 13c83db)
vtjnash added a commit that referenced this issue Sep 17, 2015
it seems that the llvm 3.3 return type legalizer may not be properly
handling large types. this is more efficient anyways.

fixes #8932, should fix #12163, probably fixes #7434

(cherry picked from commit 13c83db)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Indicates an unexpected problem or unintended behavior system:windows Affects only Windows
Projects
None yet
Development

No branches or pull requests