www.delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2022/07/01/23:21:44

X-Recipient: archive-cygwin AT delorie DOT com
X-Original-To: cygwin AT cygwin DOT com
Delivered-To: cygwin AT cygwin DOT com
DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 08A1F3857BBC
Authentication-Results: sourceware.org;
dmarc=fail (p=none dis=none) header.from=nifty.ne.jp
Authentication-Results: sourceware.org; spf=fail smtp.mailfrom=nifty.ne.jp
DKIM-Filter: OpenDKIM Filter v2.10.3 conssluserg-05.nifty.com 2623Kt7N028760
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nifty.ne.jp;
s=dec2015msa; t=1656732055;
bh=xsCzN4augBbtbQ8DXPiWWm7KlKhNL1VqYRtr3ve70sk=;
h=Date:From:To:Subject:From;
b=PmnCBBJ0voNEZCHAHrtidhCUjgBBZLdXNTAinVgI1CQOILfCzPknBFJqMOkwbeBzJ
YeMaz2ywsipxqOtMNZBqFUf1JwPxNIpE0mnAgv+Pnc0Gci4aRvJIcW81dVFpxVc8jn
c7meh4/bwpaLCzuohmf8XlHnDd+3A00ZgxD5+uZibYGGs8qTY1ew9hmzJX9ifB5sjm
HoPdogdQY2jE8ulteSOa6/vBoYm4B42tMEbyFa1X0zlH9Wu59KoBLj6jfb4rBz8uew
uNrXgXOatf05eozg2jClX+zvyktNgR7dHrRL7lN504uHBe7G88kZdvCtTB8RAvIhgZ
fif863OiFtjBQ==
X-Nifty-SrcIP: [119.150.44.95]
Date: Sat, 2 Jul 2022 12:20:56 +0900
From: Takashi Yano <takashi DOT yano AT nifty DOT ne DOT jp>
To: cygwin AT cygwin DOT com
Subject: /dev/clipboard sometimes fails to set CF_UNICODETEXT data.
Message-Id: <20220702122056.39a6c5e49c637d028694412e@nifty.ne.jp>
X-Mailer: Sylpheed 3.7.0 (GTK+ 2.24.30; i686-pc-mingw32)
Mime-Version: 1.0
X-Spam-Status: No, score=-4.6 required=5.0 tests=BAYES_00, DKIM_SIGNED,
DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,
SPF_PASS, TXREP,
T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on
server2.sourceware.org
X-BeenThere: cygwin AT cygwin DOT com
X-Mailman-Version: 2.1.29
List-Id: General Cygwin discussions and problem reports <cygwin.cygwin.com>
List-Archive: <https://cygwin.com/pipermail/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-request AT cygwin DOT com?subject=help>
List-Subscribe: <https://cygwin.com/mailman/listinfo/cygwin>,
<mailto:cygwin-request AT cygwin DOT com?subject=subscribe>
Sender: "Cygwin" <cygwin-bounces+archive-cygwin=delorie DOT com AT cygwin DOT com>

This is a multi-part message in MIME format.

--Multipart=_Sat__2_Jul_2022_12_20_56_+0900_=T0iwyttcDWjFtWL
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit

Hello,

In one of my PCs,
dd if=/dev/urandom count=10 | xxd > /dev/clipboard
sometimes fails to set CF_UNICODETEXT data.
As a result, pasting clipboard to notepad does not work.

Even in the case, cygnativeformat data is set correctly.
So, "cat /dev/clipboard" works.

This problem depends on machine very much.

My one PC with Xeon E3-1281 v3 CPU has a high probability of failure,
however, another machine with Core i7-6700K CPU does not.

I looked into this problem, and found OpenClipboard() for
CF_UNICODETEXT fails. It seems that OpenClipboard() just
after CloseClipboard() has high probability of failure.

You can see the following test case immediately stops with error.
Even with Core i7-6700K CPU machine above, the test case fails.

#include <windows.h>
#include <stdio.h>

int main()
{
	for (;;) {
		if (!OpenClipboard(0)) {
			printf("Open error.\n");
			break;
		}
		if (!EmptyClipboard()) {
			printf("Empty error.\n");
			break;
		}
		if (!CloseClipboard()) {
			printf("Cloes error.\n");
			break;
		}
	}
	return 0;
}

I also found the patch attached solves the issue.

I would appreciate any suggestion.

-- 
Takashi Yano <takashi DOT yano AT nifty DOT ne DOT jp>

--Multipart=_Sat__2_Jul_2022_12_20_56_+0900_=T0iwyttcDWjFtWL
Content-Type: application/octet-stream;
 name="0001-Cygwin-clipboard-Add-workaround-for-setting-clipboar.patch"
Content-Disposition: attachment;
 filename="0001-Cygwin-clipboard-Add-workaround-for-setting-clipboar.patch"
Content-Transfer-Encoding: base64

RnJvbSBjMzMzOGVjMWE0ZmZmOTYwMjJjOTk2NzFjNzNlZTk4NDE4NzFmNmU4IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBUYWthc2hpIFlhbm8gPHRha2FzaGkueWFub0BuaWZ0eS5uZS5q
cD4KRGF0ZTogU2F0LCAyIEp1bCAyMDIyIDEyOjA4OjUxICswOTAwClN1YmplY3Q6IFtQQVRDSF0g
Q3lnd2luOiBjbGlwYm9hcmQ6IEFkZCB3b3JrYXJvdW5kIGZvciBzZXR0aW5nIGNsaXBib2FyZAog
ZmFpbHVyZS4KCi0gT3BlbkNsaXBib2FyZCgpIGp1c3QgYWZ0ZXIgQ2xvc2VDbGlwYm9hcmQoKSBo
YXMgYSBoaWdoIHByb2JhYm9saXR5CiAgb2YgZmFpbHVyZS4gRHVlIHRvIHRoaXMsIC9kZXYvY2xp
cGJvYXJkIHNvbWV0aW1lcyBmYWlscyB0byBzZXQKICBDRl9VTklDT0RFVEVYVCBkYXRhLiBUaGlz
IHBhdGNoIGFkZCBhIHdvcmthcm91bmQgZm9yIHRoaXMgaXNzdWUuCi0tLQogd2luc3VwL2N5Z3dp
bi9maGFuZGxlcl9jbGlwYm9hcmQuY2MgfCAyMiArKysrKysrKysrKysrKysrKy0tLS0tCiAxIGZp
bGUgY2hhbmdlZCwgMTcgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg
YS93aW5zdXAvY3lnd2luL2ZoYW5kbGVyX2NsaXBib2FyZC5jYyBiL3dpbnN1cC9jeWd3aW4vZmhh
bmRsZXJfY2xpcGJvYXJkLmNjCmluZGV4IDA1ZjU0ZmZiMy4uYjBjZGY0ODVlIDEwMDY0NAotLS0g
YS93aW5zdXAvY3lnd2luL2ZoYW5kbGVyX2NsaXBib2FyZC5jYworKysgYi93aW5zdXAvY3lnd2lu
L2ZoYW5kbGVyX2NsaXBib2FyZC5jYwpAQCAtMTksNiArMTksMTggQEAgZGV0YWlscy4gKi8KICNp
bmNsdWRlICJjaGlsZF9pbmZvLmgiCiAjaW5jbHVkZSA8c3lzL2NsaXBib2FyZC5oPgogCisvKiBP
cGVuaW5nIGNsaXBib2FyZCBpbW1lZGlhdGVseSBhZnRlciBDbG9zZUNsaXBib2FyZCgpIGhhcwor
ICAgaGlnaCBwcm9iYWJpbGl0eSBvZiBmYWlsdXJlLiBUaGVyZWZvcmUgdXNlIHJldHJ5LWxvb3Au
ICovCitzdGF0aWMgaW5saW5lIGJvb2wKK29wZW5fY2xpcGJvYXJkICgpCit7CisgIGNvbnN0IGlu
dCBtYXhfcmV0cnkgPSAxMDsKKyAgZm9yIChpbnQgaSA9IDA7IGkgPCBtYXhfcmV0cnk7IGkrKykK
KyAgICBpZiAoT3BlbkNsaXBib2FyZCAoTlVMTCkpCisgICAgICByZXR1cm4gdHJ1ZTsKKyAgcmV0
dXJuIGZhbHNlOworfQorCiAvKgogICogUm9iZXJ0IENvbGxpbnM6CiAgKiBGSVhNRTogc2hvdWxk
IHdlIHVzZSBHZXRDbGlwYm9hcmRTZXF1ZW5jZU51bWJlciB0byB0ZWxsIGlmIHRoZSBjbGlwYm9h
cmQgaGFzCkBAIC0yOSw3ICs0MSw3IEBAIGZoYW5kbGVyX2Rldl9jbGlwYm9hcmQ6OmZoYW5kbGVy
X2Rldl9jbGlwYm9hcmQgKCkKICAgOiBmaGFuZGxlcl9iYXNlICgpLCBwb3MgKDApLCBtZW1idWZm
ZXIgKE5VTEwpLCBtc2l6ZSAoMCkKIHsKICAgLyogRklYTUU6IGNoZWNrIGZvciBlcnJvcnMgYW5k
IGxvb3AgdW50aWwgd2UgY2FuIG9wZW4gdGhlIGNsaXBib2FyZCAqLwotICBPcGVuQ2xpcGJvYXJk
IChOVUxMKTsKKyAgb3Blbl9jbGlwYm9hcmQgKCk7CiAgIGN5Z25hdGl2ZWZvcm1hdCA9IFJlZ2lz
dGVyQ2xpcGJvYXJkRm9ybWF0VyAoQ1lHV0lOX05BVElWRSk7CiAgIENsb3NlQ2xpcGJvYXJkICgp
OwogfQpAQCAtNTMsNyArNjUsNyBAQCBmaGFuZGxlcl9kZXZfY2xpcGJvYXJkOjpzZXRfY2xpcGJv
YXJkIChjb25zdCB2b2lkICpidWYsIHNpemVfdCBsZW4pCiB7CiAgIEhHTE9CQUwgaG1lbTsKICAg
LyogTmF0aXZlIENZR1dJTiBmb3JtYXQgKi8KLSAgaWYgKE9wZW5DbGlwYm9hcmQgKE5VTEwpKQor
ICBpZiAob3Blbl9jbGlwYm9hcmQgKCkpCiAgICAgewogICAgICAgY3lnY2JfdCAqY2xpcGJ1ZjsK
IApAQCAtOTksNyArMTExLDcgQEAgZmhhbmRsZXJfZGV2X2NsaXBib2FyZDo6c2V0X2NsaXBib2Fy
ZCAoY29uc3Qgdm9pZCAqYnVmLCBzaXplX3QgbGVuKQogICAgICAgc2V0X2Vycm5vIChFSUxTRVEp
OwogICAgICAgcmV0dXJuIC0xOwogICAgIH0KLSAgaWYgKE9wZW5DbGlwYm9hcmQgKE5VTEwpKQor
ICBpZiAob3Blbl9jbGlwYm9hcmQgKCkpCiAgICAgewogICAgICAgUFdDSEFSIGNsaXBidWY7CiAK
QEAgLTE2OCw3ICsxODAsNyBAQCBmaGFuZGxlcl9kZXZfY2xpcGJvYXJkOjpmc3RhdCAoc3RydWN0
IHN0YXQgKmJ1ZikKICAgYnVmLT5zdF9jdGltLnR2X25zZWMgPSAwTDsKICAgYnVmLT5zdF9iaXJ0
aHRpbSA9IGJ1Zi0+c3RfYXRpbSA9IGJ1Zi0+c3RfbXRpbSA9IGJ1Zi0+c3RfY3RpbTsKIAotICBp
ZiAoT3BlbkNsaXBib2FyZCAoTlVMTCkpCisgIGlmIChvcGVuX2NsaXBib2FyZCAoKSkKICAgICB7
CiAgICAgICBVSU5UIGZvcm1hdGxpc3RbMV0gPSB7IGN5Z25hdGl2ZWZvcm1hdCB9OwogICAgICAg
aW50IGZvcm1hdDsKQEAgLTIwNyw3ICsyMTksNyBAQCBmaGFuZGxlcl9kZXZfY2xpcGJvYXJkOjpy
ZWFkICh2b2lkICpwdHIsIHNpemVfdCYgbGVuKQogICBMUFZPSUQgY2JfZGF0YTsKICAgaW50IHJh
Y2g7CiAKLSAgaWYgKCFPcGVuQ2xpcGJvYXJkIChOVUxMKSkKKyAgaWYgKCFvcGVuX2NsaXBib2Fy
ZCAoKSkKICAgICB7CiAgICAgICBsZW4gPSAwOwogICAgICAgcmV0dXJuOwotLSAKMi4zNi4xCgo=

--Multipart=_Sat__2_Jul_2022_12_20_56_+0900_=T0iwyttcDWjFtWL
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline


-- 
Problem reports:      https://cygwin.com/problems.html
FAQ:                  https://cygwin.com/faq/
Documentation:        https://cygwin.com/docs.html
Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple

--Multipart=_Sat__2_Jul_2022_12_20_56_+0900_=T0iwyttcDWjFtWL--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019