-
-
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
GetClipboardData() fails on buildkite windows CI #46981
Comments
Cannot be reproduced with
What is the Windows version of our CI? |
During the build we print |
The windows version is |
Update: #46981 (comment)
Is this error related to the version of julia? |
Is it because we are running Windows inside a VM? |
Can you try downloading the |
I can confirm that this issue can be reproduced on Win Srv 2022 by using the buildkite upload. |
Fascinating! So there's some difference in what we built.... could it be that we're linking against a slightly different windows runtime library, or something like that? |
Win10 Pro x64 + dccf331Libdl.dllist()
Win Srv 2022 x64 + dccf331Libdl.dllist()
$ diff -u Win10.txt WinSrv2022.txt
--- Win10.txt 2022-10-05 10:47:28.954767400 +0800
+++ WinSrv2022.txt 2022-10-05 10:48:43.546736400 +0800
@@ -6,6 +6,7 @@
C:\WINDOWS\SYSTEM32\UMPDC.dll
C:\WINDOWS\SYSTEM32\USERENV.dll
C:\WINDOWS\SYSTEM32\WINMM.dll
+C:\WINDOWS\SYSTEM32\apphelp.dll
C:\WINDOWS\SYSTEM32\dbghelp.dll
C:\WINDOWS\SYSTEM32\ntdll.dll
C:\WINDOWS\SYSTEM32\powrprof.dll
@@ -21,7 +22,6 @@
C:\WINDOWS\System32\SHELL32.dll
C:\WINDOWS\System32\USER32.dll
C:\WINDOWS\System32\WS2_32.dll
-C:\WINDOWS\System32\bcrypt.dll
C:\WINDOWS\System32\bcryptPrimitives.dll
C:\WINDOWS\System32\combase.dll
C:\WINDOWS\System32\gdi32full.dll |
I hypothesize that the buildkite build links against some libraries, whereas the non-buildkite build does not. Can you run |
Some bad news: I tested 1.8.2 and 1.6.7 and they both throw errors (on Win srv). This is strange, because I tested 1.8.2 earlier and it worked fine. I have another guess, maybe we did something wrong, but win 10 doesn't throw an error.
|
So sounds like you can reproduce this on windows server, even with the official binaries? So does that mean that this comment was incorrect? |
Yes. After restarting the server, I can still reproduce the issue with official x64 binaries 1.0.5, 1.6.7, 1.8.2 and 1.8.2-x86.
Yes, although at the moment I still don't know why it didn't report an error when I tried it before. |
I tried python, and after emptying the clipboard, trying to get the clipboard again results in an error. # pip install pywin32
import win32clipboard
import win32con
def setClip(s):
win32clipboard.OpenClipboard()
win32clipboard.SetClipboardData(win32con.CF_UNICODETEXT, s)
win32clipboard.CloseClipboard()
def emptyClip():
win32clipboard.OpenClipboard()
win32clipboard.EmptyClipboard()
win32clipboard.CloseClipboard()
def getUnicode():
win32clipboard.OpenClipboard()
data = None
try:
data = win32clipboard.GetClipboardData(win32con.CF_UNICODETEXT)
finally:
win32clipboard.CloseClipboard()
return data
setClip('test')
assert 'test' == getUnicode()
emptyClip()
getUnicode()
getUnicode() Win 10 and Win server both give the same output:
So maybe throwing an error is a normal behavior? If so, we just need to check if the data is available before getting the clipboard data, and return the empty string or |
This clipboard test in InteractiveUtils is failing with the following error:
Manually running this on one of the new buildkite workers, I can confirm that clearing the clipboard and then attempting to get the clipboard throws an error, rather than returning an empty string:
The text was updated successfully, but these errors were encountered: