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

Intermittent failure in replcompletions test #10875

Closed
tkelman opened this issue Apr 18, 2015 · 8 comments
Closed

Intermittent failure in replcompletions test #10875

tkelman opened this issue Apr 18, 2015 · 8 comments
Labels
bug Indicates an unexpected problem or unintended behavior test This change adds or pertains to unit tests

Comments

@tkelman
Copy link
Contributor

tkelman commented Apr 18, 2015

ERROR: LoadError: LoadError: test failed: (0:-1 == 17:21)
 in expression: r == endof(s) - 4:endof(s)
 in anonymous at task.jl:1388
while loading replcompletions.jl, in expression starting on line 358
while loading /tmp/julia/share/julia/test/runtests.jl, in expression starting on line 3

from https://travis-ci.org/JuliaLang/julia/jobs/59003679, commit 3abc13e on 64 bit Linux

other occurrences:
http://buildbot.e.ip.saba.us:8010/builders/build_ubuntu12.04-x86/builds/1176/steps/shell_2/logs/stdio
http://buildbot.e.ip.saba.us:8010/builders/build_ubuntu14.04-x86/builds/1118/steps/shell_2/logs/stdio
https://ci.appveyor.com/project/StefanKarpinski/julia/build/1.0.3896/job/riq6yjykne09kt02
http://buildbot.e.ip.saba.us:8010/builders/build_ubuntu14.04-x64/builds/1166/steps/shell_2/logs/stdio
https://ci.appveyor.com/project/StefanKarpinski/julia/build/1.0.3906/job/vjlfoq2r2stpb3dn
https://ci.appveyor.com/project/StefanKarpinski/julia/build/1.0.3917/job/egkj811th386i2lo
https://ci.appveyor.com/project/StefanKarpinski/julia/build/1.0.3919/job/ows2ywtlbq36o2yd
https://ci.appveyor.com/project/StefanKarpinski/julia/build/1.0.3920/job/oo3t5vlxqdns34a4
http://buildbot.e.ip.saba.us:8010/builders/build_ubuntu12.04-x86/builds/1178/steps/shell_2/logs/stdio
http://buildbot.e.ip.saba.us:8010/builders/build_ubuntu12.04-x86/builds/1181/steps/shell_2/logs/stdio
https://ci.appveyor.com/project/StefanKarpinski/julia/build/1.0.3924/job/1av04y9419v0tjcc
https://travis-ci.org/JuliaLang/julia/jobs/59102646
https://ci.appveyor.com/project/StefanKarpinski/julia/build/1.0.3939/job/4n4h7uyvyt2xdb7s
https://ci.appveyor.com/project/StefanKarpinski/julia/build/1.0.3941/job/y8mcyorudtpb7x99

(I think you get the point)

@tkelman tkelman added the test This change adds or pertains to unit tests label Apr 18, 2015
@mbauman
Copy link
Member

mbauman commented Apr 18, 2015

I first saw this when testing the tupopocalypse branch on my Mac on c3bbbb3, but I couldn't reproduce it. Was that the first sighting? Perhaps I should have said something then.

@tkelman
Copy link
Contributor Author

tkelman commented Apr 21, 2015

Found a reduced set of tests for this (also on win32), and it looks like whatever's causing this is probably the same underlying bug as what's causing the other two new failures since the tuple merge. Type comparison to Array{Any,1}.

I added println(Base.shell_parse(s,true)) between these two lines

c,r = test_scomplete(s)
@test r == endof(s)-4:endof(s)

and I get the following:

julia> Base.runtests(["core","lineedit","replcompletions"], 1)
     * core                 in  12.22 seconds
     * lineedit             in   2.84 seconds
     * replcompletions     exception on 1: ERROR: LoadError: TypeError: shell_parse: in typeassert, expected Array{Any,1}, got Array{Any,1}
 in shell_parse at string.jl:1174
 in anonymous at replcompletions.jl:368
 in open at iostream.jl:111
 in anonymous at replcompletions.jl:365
 in anonymous at no file:364
 in runtests at D:\cygwin64\home\Tony\julia32\usr\share\julia\test\testdefs.jl:77
 in anonymous at multi.jl:626
 in run_work_thunk at multi.jl:587
 in remotecall_fetch at multi.jl:675
 in anonymous at task.jl:1386
while loading replcompletions.jl, in expression starting on line 358
ERROR: LoadError: LoadError: TypeError: shell_parse: in typeassert, expected Array{Any,1}, got Array{Any,1}
 in shell_parse at string.jl:1174
 in anonymous at replcompletions.jl:368
 in open at iostream.jl:111
 in anonymous at replcompletions.jl:365
 in anonymous at no file:364
 in runtests at D:\cygwin64\home\Tony\julia32\usr\share\julia\test\testdefs.jl:77
 in anonymous at multi.jl:626
 in run_work_thunk at multi.jl:587
 in remotecall_fetch at multi.jl:675
 in anonymous at task.jl:1386
while loading replcompletions.jl, in expression starting on line 358
while loading D:\cygwin64\home\Tony\julia32\usr\share\julia\test\runtests.jl, in expression starting on line 3

ERROR: A test has failed. Please submit a bug report (https://github.com/JuliaLang/julia/issues)
including error messages above and the output of versioninfo():
Julia Version 0.4.0-dev+4388
Commit 2a81411* (2015-04-20 15:23 UTC)
Platform Info:
  System: Windows (i686-w64-mingw32)
  CPU: Intel(R) Core(TM) i7-2630QM CPU @ 2.00GHz
  WORD_SIZE: 32
  BLAS: libopenblas (DYNAMIC_ARCH NO_AFFINITY Nehalem)
  LAPACK: libopenblas
  LIBM: libopenlibm
  LLVM: libLLVM-3.3

 in error at error.jl:19
 in runtests at interactiveutil.jl:400

@JeffBezanson I wonder if maybe SimpleVector is getting mixed up with Array{Any,1} internally somehow?

@JeffBezanson
Copy link
Member

7ec501d is a possible fix.

@tkelman
Copy link
Contributor Author

tkelman commented Apr 22, 2015

@JeffBezanson
Copy link
Member

The failures we've seen seem to indicate at least two bugs. @vtjnash & I fixed a definite bug in the type cache, but there have also been assertion failures that seem more like memory corruption. The failure described in this issue could be a third bug.

@JeffBezanson JeffBezanson added the bug Indicates an unexpected problem or unintended behavior label Apr 23, 2015
@JeffBezanson
Copy link
Member

@vtjnash I checked the ordering of entries in Array's cache. Everything is fine on startup, and then after running core.jl there are many pairs of mis-ordered entries. I tried using only object_id and never dt->uid in typekey_compare and the problem went away. I'm not totally sure why this happens. I don't believe a uid ever changes.

@tkelman
Copy link
Contributor Author

tkelman commented Apr 23, 2015

my 32 bit dockerfile running at commit 5e99f74 reproduces this on my machine, if there's anything you want me to try

JeffBezanson added a commit that referenced this issue Apr 24, 2015
- add a linearly-searched part of the type cache for more difficult types
- assign UIDs earlier so they can't change after cache insertion
@tkelman
Copy link
Contributor Author

tkelman commented Apr 24, 2015

let's call this tentatively fixed by b993658 and reopen if it happens again

@tkelman tkelman closed this as completed Apr 24, 2015
JeffBezanson added a commit that referenced this issue Apr 27, 2015
- add a linearly-searched part of the type cache for more difficult types
- assign UIDs earlier so they can't change after cache insertion
mbauman pushed a commit to mbauman/julia that referenced this issue Jun 6, 2015
…0875)

- add a linearly-searched part of the type cache for more difficult types
- assign UIDs earlier so they can't change after cache insertion
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 test This change adds or pertains to unit tests
Projects
None yet
Development

No branches or pull requests

3 participants