-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
Failiure in misc on master #15341
Comments
Is this reproducible? Can this be reproduced with single process test or single test? |
Reproducible on
|
Hmm, for one thing it seems that the error reporting for Can you try to run @show ccall((:OpenClipboard, "user32"), stdcall, Cint, (Ptr{Void},), C_NULL)
e = Libc.GetLastError()
@show e
@show FormatMessage(e) ? |
julia> @show ccall((:OpenClipboard, "user32"), stdcall, Cint, (Ptr{Void},), C_NULL)
ccall((:OpenClipboard,"user32"),Cint,(Ptr{Void},),C_NULL,$(Expr(:stdcall))) = 1
1
julia> e = Libc.GetLastError()
0x000001e7
julia> @show e
e = 0x000001e7
0x000001e7
julia> @show FormatMessage(e)
ERROR: UndefVarError: FormatMessage not defined
in eval(::Module, ::Any) at .\boot.jl:267 |
Ooops replace the |
Really?.... |
julia> @show ccall((:OpenClipboard, "user32"), stdcall, Cint, (Ptr{Void},), C_NULL)
ccall((:OpenClipboard,"user32"),Cint,(Ptr{Void},),C_NULL,$(Expr(:stdcall))) = 1
1
julia> e = Libc.GetLastError()
0x0000007f
julia> @show e
e = 0x0000007f
0x0000007f
julia> @show Libc.FormatMessage(e)
Libc.FormatMessage(e) = "The specified procedure could not be found. "
"The specified procedure could not be found. Excuse the previous messup! |
Well, you still need to call the function. Maybe f() = ccall((:OpenClipboard, "user32"), stdcall, Cint, (Ptr{Void},), C_NULL)
@code_llvm f()
@code_native f() ? I don't really see why this issue is threading specific though..... |
julia> f() = ccall((:OpenClipboard, "user32"), stdcall, Cint, (Ptr{Void},), C_NULL)
f (generic function with 1 method)
julia> @code_llvm f()
; Function Attrs: uwtable
define i32 @julia_f_1536() #0 {
top:
%0 = call x86_stdcallcc i32 inttoptr (i64 140734516732800 to i32 (i8*)*)(i8* null)
ret i32 %0
}
julia> @code_native f()
.text
Filename: none
Source line: 0
pushq %rbp
movq %rsp, %rbp
Source line: 1
subq $32, %rsp
movabsq $OpenClipboard, %rax
xorl %ecx, %ecx
callq *%rax
addq $32, %rsp
popq %rbp
retq Absolutely no idea either. That is the only change I have in my |
Is there a difference if you run output the llvm and native code for the non-threading version? |
Hmmm, not limited to threading. Disabled threading and tested just julia> Base.runtests("misc")
* misc ERROR: LoadError: LoadError: SystemError: OpenClipboard: No error
[inlined code] from .\promotion.jl:185
in clipboard(::ASCIIString) at .\interactiveutil.jl:132
[inlined code] from K:\julia\usr\share\julia\test\misc.jl:384
in anonymous at .\no file:4294967295
in include(::UTF8String) at .\boot.jl:264
in include_from_node1(::UTF8String) at .\loading.jl:417
[inlined code] from .\util.jl:179
in runtests(::UTF8String) at K:\julia\usr\share\julia\test\testdefs.jl:7
in run_work_thunk(::Base.##247#248{##16#24,Tuple{UTF8String}}, ::Bool) at .\multi.jl:714
in remotecall_fetch(::Any, ::LocalProcess, ::UTF8String, ::Vararg{UTF8String}) at .\multi.jl:787
in remotecall_fetch(::Any, ::Int64, ::UTF8String, ::Vararg{UTF8String}) at .\multi.jl:803
[inlined code] from K:\julia\usr\share\julia\test\runtests.jl:36
in (::##15#23{Array{Any,1}})() at .\task.jl:431
while loading K:\julia\usr\share\julia\test\misc.jl, in expression starting on line 382
in remotecall_fetch(::Any, ::LocalProcess, ::UTF8String, ::Vararg{UTF8String}) at .\multi.jl:788
in remotecall_fetch(::Any, ::Int64, ::UTF8String, ::Vararg{UTF8String}) at .\multi.jl:803
[inlined code] from K:\julia\usr\share\julia\test\runtests.jl:36
in (::##15#23{Array{Any,1}})() at .\task.jl:431
in sync_end() at .\task.jl:397
[inlined code] from .\task.jl:406
in (::##11#19)() at K:\julia\usr\share\julia\test\runtests.jl:31
in cd(::##11#19, ::ASCIIString) at .\file.jl:58
in include(::ASCIIString) at .\boot.jl:264
in include_from_node1(::UTF8String) at .\loading.jl:417
in process_options(::Base.JLOptions) at .\client.jl:262
in _start() at .\client.jl:318
while loading K:\julia\usr\share\julia\test\runtests.jl, in expression starting on line 13
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.5.0-dev+2985
Commit d8ec4a7* (2016-03-03 01:09 UTC)
Platform Info:
System: Windows (x86_64-w64-mingw32)
CPU: Intel(R) Core(TM) i7-3770K CPU @ 3.50GHz
WORD_SIZE: 64
BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY Sandybridge)
LAPACK: libopenblas64_
LIBM: libopenlibm
LLVM: libLLVM-3.7.1
in error(::ASCIIString) at .\error.jl:21
in runtests(::ASCIIString, ::Int64) at .\interactiveutil.jl:420
in runtests(::ASCIIString) at .\interactiveutil.jl:409
in eval(::Module, ::Any) at .\boot.jl:267 julia> f() = ccall((:OpenClipboard, "user32"), stdcall, Cint, (Ptr{Void},), C_NULL)
f (generic function with 1 method)
julia> @code_llvm f()
; Function Attrs: uwtable
define i32 @julia_f_1404() #0 {
top:
%0 = call x86_stdcallcc i32 inttoptr (i64 140734516732800 to i32 (i8*)*)(i8* null)
ret i32 %0
}
julia> @code_native f()
.text
Filename: none
Source line: 0
pushq %rbp
movq %rsp, %rbp
Source line: 1
subq $32, %rsp
movabsq $OpenClipboard, %rax
xorl %ecx, %ecx
callq *%rax
addq $32, %rsp
popq %rbp
retq
julia> Going to run all tests again. See if the misc tests only pass under no threading and run all. |
This time it failed with threading disabled and all tests ran. So it is intermittently passing. |
Could #15033 have possibly affected this? OT: cygwin keeps on failing with: |
Maybe, can you bisect? What windows version are you on? I haven't seen this but I've been using windows 10 lately. |
I am on windows 10. Not sure what is causing it. Will start a bisect in the morning. |
The cygwin issue might be if you're running in a clone that wasn't downloaded by cygwin's git. Some of the new ACL permissions stuff in cygwin works differently for cygwin's git vs mingw git. |
It was that it wasn't Cygwin's git thanks! I did the bisect and I am going to do it again just to be sure but bisect gives:
I will redo bisect just in case. |
If it's an intermittent failure, you may need to run the misc test 5 |
I did it properly and got an amusing result:
Will continue tomorrow with including the misc tests manually. |
d'oh, should've seen that coming! whoops |
Maybe those clipboard tests are just too problematic and should be disabled entirely? |
Maybe. Worth figuring out why they're so problematic though. |
My guess is that it's an interactive feature that's likely to be unsupported on pure server systems. |
Does apple even have a "pure server" variant of os x any more? Their man page for pbcopy didn't indicate any obvious restrictions. And this issue is on Windows, still not clear why me and appveyor see different behavior than @Mike43110 |
don't be fooled by the pretty gui, underneath it is still unix. it's not hard to make it fail, all you need is an account without a running quartz server:
|
Ah. Sure would've been useful for the man page to mention that. |
So I guess we should check for a running quartz server before running these tests? |
marking as a windows error handling bug since it is printing the wrong error code. |
Possibly related to #15117 where the wrong error was being reported? |
stale |
Make.user
containsJULIA_THREADS=1
.Tests pass fine with threading disabled.
The text was updated successfully, but these errors were encountered: