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

stdlib/Profile test failure (no samples collected) #29880

Closed
c42f opened this issue Nov 1, 2018 · 2 comments · Fixed by #32933
Closed

stdlib/Profile test failure (no samples collected) #29880

c42f opened this issue Nov 1, 2018 · 2 comments · Fixed by #32933
Labels
test This change adds or pertains to unit tests

Comments

@c42f
Copy link
Member

c42f commented Nov 1, 2018

I just got an odd failure in the Profiler tests on the 32 bit windows CI build at https://ci.appveyor.com/project/JuliaLang/julia/builds/19962353/job/bfcenk6qrxfyjgis . I don't see how this could be related to the PR in question (#29878) so I'm opening a new issue.

Some relevant snippets from the build log:

┌ Warning: There were no samples collected. Run your program longer (perhaps by
│ running it multiple times), or adjust the delay between samples with
│ `Profile.init()`.
└ @ Profile C:\projects\julia\usr\share\julia\stdlib\v1.1\Profile\src\Profile.jl:659
┌ Warning: There were no samples collected. Run your program longer (perhaps by
│ running it multiple times), or adjust the delay between samples with
│ `Profile.init()`.
└ @ Profile C:\projects\julia\usr\share\julia\stdlib\v1.1\Profile\src\Profile.jl:659

[ ... ]

Some tests did not pass: 3 passed, 2 failed, 1 errored, 0 broken.Profile: Test Failed at C:\projects\julia\julia-\share\julia\stdlib\v1.1\Profile\test\runtests.jl:34
  Expression: !(isempty(str))
Stacktrace:
 [1] record(::Test.DefaultTestSet, ::Test.Fail) at C:\projects\julia\usr\share\julia\stdlib\v1.1\Test\src\Test.jl:745
 [2] (::getfield(Main, Symbol("##42#48")))() at C:\projects\julia\julia-\share\julia\test\runtests.jl:237
 [3] cd(::getfield(Main, Symbol("##42#48")), ::String) at .\file.jl:85
 [4] top-level scope at none:0
 [5] include at .\boot.jl:317 [inlined]
 [6] include_relative(::Module, ::String) at .\loading.jl:1038
 [7] include(::Module, ::String) at .\sysimg.jl:29
 [8] exec_options(::Base.JLOptions) at .\client.jl:231
 [9] _start() at .\client.jl:425
Profile: Test Failed at C:\projects\julia\julia-\share\julia\stdlib\v1.1\Profile\test\runtests.jl:41
  Expression: !(isempty(String(take!(iobuf))))
Stacktrace:
 [1] record(::Test.DefaultTestSet, ::Test.Fail) at C:\projects\julia\usr\share\julia\stdlib\v1.1\Test\src\Test.jl:745
 [2] (::getfield(Main, Symbol("##42#48")))() at C:\projects\julia\julia-\share\julia\test\runtests.jl:237
 [3] cd(::getfield(Main, Symbol("##42#48")), ::String) at .\file.jl:85
 [4] top-level scope at none:0
 [5] include at .\boot.jl:317 [inlined]
 [6] include_relative(::Module, ::String) at .\loading.jl:1038
 [7] include(::Module, ::String) at .\sysimg.jl:29
 [8] exec_options(::Base.JLOptions) at .\client.jl:231
 [9] _start() at .\client.jl:425
Profile: Error During Test at C:\projects\julia\julia-\share\julia\test\testdefs.jl:19
  Got exception outside of a @test
  LoadError: ArgumentError: reducing over an empty collection is not allowed
  Stacktrace:
   [1] _empty_reduce_error() at .\reduce.jl:216
   [2] reduce_empty(::Function, ::Type) at .\reduce.jl:226
   [3] mapreduce_empty(::typeof(identity), ::Function, ::Type) at .\reduce.jl:251
   [4] _mapreduce(::typeof(identity), ::typeof(max), ::IndexLinear, ::Array{Int32,1}) at .\reduce.jl:305
   [5] _mapreduce_dim at .\reducedim.jl:305 [inlined]
   [6] #mapreduce#535 at .\reducedim.jl:301 [inlined]
   [7] mapreduce at .\reducedim.jl:301 [inlined]
   [8] _maximum at .\reducedim.jl:650 [inlined]
   [9] _maximum at .\reducedim.jl:649 [inlined]
   [10] #maximum#541 at .\reducedim.jl:645 [inlined]
   [11] maximum at .\reducedim.jl:645 [inlined]
   [12] print_flat(::Base.GenericIOBuffer{Array{UInt8,1}}, ::Array{Base.StackTraces.StackFrame,1}, ::Array{Int32,1}, ::Int32, ::Profile.ProfileFormat) at C:\projects\julia\usr\share\julia\stdlib\v1.1\Profile\src\Profile.jl:398
   [13] flat(::Base.GenericIOBuffer{Array{UInt8,1}}, ::Array{UInt64,1}, ::Dict{UInt64,Array{Base.StackTraces.StackFrame,1}}, ::Int32, ::Profile.ProfileFormat) at C:\projects\julia\usr\share\julia\stdlib\v1.1\Profile\src\Profile.jl:368
   [14] print(::Base.GenericIOBuffer{Array{UInt8,1}}, ::Array{UInt32,1}, ::Dict{UInt64,Array{Base.StackTraces.StackFrame,1}}, ::Profile.ProfileFormat, ::Symbol) at C:\projects\julia\usr\share\julia\stdlib\v1.1\Profile\src\Profile.jl:149
   [15] (::getfield(Profile, Symbol("#kw##print")))(::NamedTuple{(:format, :sortedby),Tuple{Symbol,Symbol}}, ::typeof(Profile.print), ::Base.GenericIOBuffer{Array{UInt8,1}}) at C:\projects\julia\usr\share\julia\stdlib\v1.1\Profile\src\Profile.jl:134
   [16] top-level scope at C:\projects\julia\julia-\share\julia\stdlib\v1.1\Profile\test\runtests.jl:43
   [17] include at .\boot.jl:317 [inlined]
   [18] include_relative(::Module, ::String) at .\loading.jl:1038
   [19] include at .\sysimg.jl:29 [inlined]
   [20] include(::String) at C:\projects\julia\julia-\share\julia\test\testdefs.jl:13
   [21] top-level scope at C:\projects\julia\julia-\share\julia\test\testdefs.jl:22
   [22] top-level scope at C:\projects\julia\usr\share\julia\stdlib\v1.1\Test\src\Test.jl:1083
   [23] top-level scope at C:\projects\julia\julia-\share\julia\test\testdefs.jl:21
   [24] top-level scope at util.jl:289
   [25] top-level scope at C:\projects\julia\julia-\share\julia\test\testdefs.jl:19
   [26] eval at .\boot.jl:319 [inlined]
   [27] #runtests#3(::UInt128, ::Function, ::String, ::String, ::Bool) at C:\projects\julia\julia-\share\julia\test\testdefs.jl:25
   [28] #runtests at .\none:0 [inlined] (repeats 2 times)
   [29] (::getfield(Distributed, Symbol("##112#114")){Distributed.CallMsg{:call_fetch}})() at C:\projects\julia\usr\share\julia\stdlib\v1.1\Distributed\src\process_messages.jl:269
   [30] run_work_thunk(::getfield(Distributed, Symbol("##112#114")){Distributed.CallMsg{:call_fetch}}, ::Bool) at C:\projects\julia\usr\share\julia\stdlib\v1.1\Distributed\src\process_messages.jl:56
   [31] macro expansion at C:\projects\julia\usr\share\julia\stdlib\v1.1\Distributed\src\process_messages.jl:269 [inlined]
   [32] (::getfield(Distributed, Symbol("##111#113")){Distributed.CallMsg{:call_fetch},Distributed.MsgHeader,Sockets.TCPSocket})() at .\task.jl:259
  in expression starting at C:\projects\julia\julia-\share\julia\stdlib\v1.1\Profile\test\runtests.jl:27
@c42f c42f added test This change adds or pertains to unit tests ci Continuous integration labels Nov 1, 2018
@tkf
Copy link
Member

tkf commented Nov 21, 2018

@c42f c42f added system:windows Affects only Windows system:32-bit Affects only 32-bit systems labels Dec 9, 2018
@colbec
Copy link

colbec commented Feb 20, 2019

FWIW I just saw this, once in two make testall runs. Since it is outside the WIN and 32 bit labels it might be new information. If you need a gist or open new issue I can do that.
Using:

Julia Version 1.2.0-DEV.356
Commit 66341a3806 (2019-02-19 22:12 UTC)
Platform Info:
  OS: Linux (x86_64-suse-linux)
  CPU: Intel(R) Core(TM) i5-4460  CPU @ 3.20GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-6.0.1 (ORCJIT, haswell)

@c42f c42f changed the title stdlib/Profile test failure (no samples collected) on win32 CI stdlib/Profile test failure (no samples collected) Feb 20, 2019
@vtjnash vtjnash removed system:32-bit Affects only 32-bit systems ci Continuous integration system:windows Affects only Windows labels Aug 16, 2019
vtjnash added a commit that referenced this issue Aug 16, 2019
When d7a90c0 was added,
it potentially reduced the sleep timeout to zero
if we took a snapshot right away, unintentionally
ensuring we did not have any samples inside Julia!

fix #29880 and add a test for the empty printing case
vtjnash added a commit that referenced this issue Aug 17, 2019
When d7a90c0 was added,
it potentially reduced the sleep timeout to zero
if we took a snapshot right away, unintentionally
ensuring we did not have any samples inside Julia!

fix #29880 and add a test for the empty printing case
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
test This change adds or pertains to unit tests
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants