quinnj / Dates.jl

[DEPRECATED] Date/DateTime Implementation for the Julia Language; Successor to Datetime.jl
Other
8 stars 9 forks source link

[PkgEval] Dates may have a testing issue on Julia 0.3 (2014-09-28) #22

Open IainNZ opened 10 years ago

IainNZ commented 10 years ago

PackageEvaluator.jl is a script that runs nightly. It attempts to load all Julia packages and run their tests (if available) on both the stable version of Julia (0.3) and the nightly build of the unstable version (0.4). The results of this script are used to generate a package listing enhanced with testing results.

On Julia 0.3

Tests pass. means that PackageEvaluator found the tests for your package, executed them, and they all passed.

Tests fail, but package loads. means that PackageEvaluator found the tests for your package, executed them, and they didn't pass. However, trying to load your package with using worked.

This issue was filed because your testing status became worse. No additional issues will be filed if your package remains in this state, and no issue will be filed if it improves. If you'd like to opt-out of these status-change messages, reply to this message saying you'd like to and @IainNZ will add an exception. If you'd like to discuss PackageEvaluator.jl please file an issue at the repository. For example, your package may be untestable on the test machine due to a dependency - an exception can be added.

Test log:

>>> 'Pkg.add("Dates")' log
INFO: Installing Dates v0.3.1
INFO: Package database updated
INFO: METADATA is out-of-date a you may not have the latest version of Dates
INFO: Use `Pkg.update()` to get the latest versions of your packages

>>> 'using Dates' log
Julia Version 0.3.1
Commit c03f413* (2014-09-21 21:30 UTC)
Platform Info:
  System: Linux (x86_64-unknown-linux-gnu)
  CPU: Intel(R) Xeon(R) CPU E5-2650 0 @ 2.00GHz
  WORD_SIZE: 64
  BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY Sandybridge)
  LAPACK: libopenblas
  LIBM: libopenlibm
  LLVM: libLLVM-3.3

>>> test log

signal (11): Segmentation fault
unknown function (ip: 549153830)
unknown function (ip: 549153395)
jl_gc_collect at /home/idunning/julia03/usr/bin/../lib/libjulia.so (unknown line)
allocobj at /home/idunning/julia03/usr/bin/../lib/libjulia.so (unknown line)
jl_alloc_tuple_uninit at /home/idunning/julia03/usr/bin/../lib/libjulia.so (unknown line)
unknown function (ip: 548722512)
unknown function (ip: 548724173)
unknown function (ip: 548727845)
unknown function (ip: 548728950)
jl_subtype at /home/idunning/julia03/usr/bin/../lib/libjulia.so (unknown line)
unknown function (ip: 548775301)
unknown function (ip: 548776494)
unknown function (ip: 548780532)
unknown function (ip: 548782577)
jl_apply_generic at /home/idunning/julia03/usr/bin/../lib/libjulia.so (unknown line)
anonymous at test.jl:62
do_test at test.jl:37
test_all_combos at /home/idunning/pkgtest/.julia/v0.3/Dates/test/ranges.jl:45
jlcall_test_all_combos;21502 at  (unknown line)
jl_apply_generic at /home/idunning/julia03/usr/bin/../lib/libjulia.so (unknown line)
unknown function (ip: 549069064)
unknown function (ip: 549065337)
unknown function (ip: 549131838)
unknown function (ip: 549134512)
jl_load at /home/idunning/julia03/usr/bin/../lib/libjulia.so (unknown line)
include at ./boot.jl:245
jl_apply_generic at /home/idunning/julia03/usr/bin/../lib/libjulia.so (unknown line)
include_from_node1 at ./loading.jl:128
jl_apply_generic at /home/idunning/julia03/usr/bin/../lib/libjulia.so (unknown line)
unknown function (ip: 549069064)
unknown function (ip: 549065337)
unknown function (ip: 549131838)
unknown function (ip: 549134512)
jl_load at /home/idunning/julia03/usr/bin/../lib/libjulia.so (unknown line)
include at ./boot.jl:245
jl_apply_generic at /home/idunning/julia03/usr/bin/../lib/libjulia.so (unknown line)
include_from_node1 at loading.jl:128
jl_apply_generic at /home/idunning/julia03/usr/bin/../lib/libjulia.so (unknown line)
process_options at ./client.jl:285
_start at ./client.jl:354
_start_3B_1712 at /home/idunning/julia03/usr/bin/../lib/julia/sys.so (unknown line)
jl_apply_generic at /home/idunning/julia03/usr/bin/../lib/libjulia.so (unknown line)
unknown function (ip: 4200466)
julia_trampoline at /home/idunning/julia03/usr/bin/../lib/libjulia.so (unknown line)
unknown function (ip: 4199453)
__libc_start_main at /usr/lib/libc.so.6 (unknown line)
unknown function (ip: 4199507)
unknown function (ip: 0)

INFO: Testing Dates
================================[ ERROR: Dates ]================================

failed process: Process(`/home/idunning/julia03/usr/bin/julia /home/idunning/pkgtest/.julia/v0.3/Dates/test/runtests.jl`, ProcessSignaled(11)) [0]

================================================================================
INFO: No packages to install, update or remove
ERROR: Dates had test errors
 in error at error.jl:21
 in test at pkg/entry.jl:715
 in anonymous at pkg/dir.jl:28
 in cd at ./file.jl:20
 in cd at pkg/dir.jl:28
 in test at pkg.jl:67
 in process_options at ./client.jl:213
 in _start at ./client.jl:354
 in _start_3B_1712 at /home/idunning/julia03/usr/bin/../lib/julia/sys.so

>>> end of log
IainNZ commented 10 years ago

I filed this because it basically means there are still random segfaults with this pacakge even on Julia 0.3.1 - something about this package triggers them that I don't really see in any other package. @JeffBezanson, if you are feeling like digging around in memory, running this until it fails could be fun.

IainNZ commented 10 years ago

I just ran the tests 8 times on my OSX machine though, with no issues, so ¯(ツ)

IainNZ commented 10 years ago

... and 8 times on the test machine, no issues... Maybe there is something only triggered by running it in PkgEval

IainNZ commented 10 years ago

so I ran it on the testing machine like so:

for i = 1:100
  @show i
  @time run(`timeout 300s ./julia -e 'Pkg.test("Dates")'`)
end

and the following happened

[idunning@che julia03]$ ./julia tester.jl
i => 1
INFO: Testing Dates
INFO: Dates tests passed
INFO: No packages to install, update or remove
elapsed time: 25.481404997 seconds (686340 bytes allocated)
i => 2
INFO: Testing Dates
INFO: Dates tests passed
INFO: No packages to install, update or remove
elapsed time: 25.306174062 seconds (2048 bytes allocated)
i => 3
INFO: Testing Dates

signal (15): Terminated

signal (15): Terminated
syscall at /usr/lib/libc.so.6 (unknown line)
unknown function (ip: -1248907776)
unknown function (ip: -1248851714)
uv__epoll_wait at /home/idunning/julia03/usr/bin/../lib/libjulia.so (unknown line)
jl_apply_generic at /home/idunning/julia03/usr/bin/../lib/libjulia.so (unknown line)
uv__io_poll at /home/idunning/julia03/usr/bin/../lib/libjulia.so (unknown line)
uv_run at /home/idunning/julia03/usr/bin/../lib/libjulia.so (unknown line)
abstract_call_gf at ./inference.jl:704
jl_apply_generic at /home/idunning/julia03/usr/bin/../lib/libjulia.so (unknown line)
abstract_call at ./inference.jl:819
jl_apply_generic at /home/idunning/julia03/usr/bin/../lib/libjulia.so (unknown line)
abstract_eval_call at ./inference.jl:903
abstract_eval at ./inference.jl:935
jl_apply_generic at /home/idunning/julia03/usr/bin/../lib/libjulia.so (unknown line)
process_events at ./stream.jl:537
abstract_eval_arg at ./inference.jl:866
jl_apply_generic at /home/idunning/julia03/usr/bin/../lib/libjulia.so (unknown line)
wait at ./task.jl:273
....
unknown function (ip: 4200466)
julia_trampoline at /home/idunning/julia03/usr/bin/../lib/libjulia.so (unknown line)
unknown function (ip: 4199453)
__libc_start_main at /usr/lib/libc.so.6 (unknown line)
unknown function (ip: 4199507)
unknown function (ip: 0)
ERROR: failed process: Process(`timeout 300s ./julia -e 'Pkg.test("Dates")'`, ProcessExited(124)) [124]
 in pipeline_error at process.jl:502
 in anonymous at no file:3
 in include at ./boot.jl:245
 in include_from_node1 at loading.jl:128
 in process_options at ./client.jl:285
 in _start at ./client.jl:354
 in _start_3B_1712 at /home/idunning/julia03/usr/bin/../lib/julia/sys.so
while loading /home/idunning/julia03/tester.jl, in expression starting on line 1

So not the same error, but a sign something is wrong. It isn't always the 3rd iteration, but it was the 3rd iteration twice in a row. On another time it was the 6th...

quinnj commented 10 years ago

Thanks for digging into this @IainNZ. I've been a little slammed and haven't been able to really dig in myself since the end of the summer. I would appreciate some help if anyone is willing to dig in. The test in question has been disable in Base to prevent travis segfaults. As far as I can tell, the offending method is here.