| delorie.com/archives/browse.cgi | search |
| X-Recipient: | archive-cygwin AT delorie DOT com |
| DomainKey-Signature: | a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id |
| :list-unsubscribe:list-subscribe:list-archive:list-post | |
| :list-help:sender:date:from:to:subject:message-id:reply-to | |
| :references:mime-version:content-type:in-reply-to; q=dns; s= | |
| default; b=Z5Z3H76D41AZIHuIVKC2T5KoqdNRDBI1xhyLjatm1fM9mnX70HxBW | |
| JYzNrVJU0rguTnUqauDyNvNnOXQ6WhTMwv48bduQIMuvmwY8s1Ofvr9A1M6fAI+P | |
| WxQR+36NPiYE86pjmtA3GNOMQN8bzleFlejyy8fToII0gUviysjSJ4= | |
| DKIM-Signature: | v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id |
| :list-unsubscribe:list-subscribe:list-archive:list-post | |
| :list-help:sender:date:from:to:subject:message-id:reply-to | |
| :references:mime-version:content-type:in-reply-to; s=default; | |
| bh=PmasiNHGP7cUg16YEAefOsBTXcQ=; b=UZ6LjUOyvthGSddkHxlg966aTtUo | |
| HQqLQpbxWIK7ajgz3F9f9PCiaxceZc31kN2qED4p/C1iSDUTtyNcIuaA3cyvgxih | |
| 9Nk36pIAAyHrLB85K/EXDddGZ/nWpS/LexzQtbhQHO74AdDBnUGHz0N6YmML8y+y | |
| Mf6li2Bi5UcsKmY= | |
| Mailing-List: | contact cygwin-help AT cygwin DOT com; run by ezmlm |
| List-Id: | <cygwin.cygwin.com> |
| List-Subscribe: | <mailto:cygwin-subscribe AT cygwin DOT com> |
| List-Archive: | <http://sourceware.org/ml/cygwin/> |
| List-Post: | <mailto:cygwin AT cygwin DOT com> |
| List-Help: | <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs> |
| Sender: | cygwin-owner AT cygwin DOT com |
| Mail-Followup-To: | cygwin AT cygwin DOT com |
| Delivered-To: | mailing list cygwin AT cygwin DOT com |
| Authentication-Results: | sourceware.org; auth=none |
| X-Virus-Found: | No |
| X-Spam-SWARE-Status: | No, score=-96.1 required=5.0 tests=AWL,BAYES_00,GOOD_FROM_CORINNA_CYGWIN,KAM_LAZY_DOMAIN_SECURITY,RCVD_IN_PBL,RCVD_IN_SORBS_DUL,RDNS_DYNAMIC autolearn=ham version=3.3.2 spammy=H*Ad:D*ne.jp, HTo:D*ne.jp, online, sleep |
| X-HELO: | calimero.vinschen.de |
| Date: | Wed, 1 Jun 2016 16:18:20 +0200 |
| From: | Corinna Vinschen <corinna-cygwin AT cygwin DOT com> |
| To: | cygwin AT cygwin DOT com, Takashi Yano <takashi DOT yano AT nifty DOT ne DOT jp> |
| Subject: | Re: gdb pty problem [Was: emacs gud-interface is not updated after gdb command execution (maybe because of incomplete output from gdb)] |
| Message-ID: | <20160601141820.GF11431@calimero.vinschen.de> |
| Reply-To: | cygwin AT cygwin DOT com |
| Mail-Followup-To: | cygwin AT cygwin DOT com, Takashi Yano <takashi DOT yano AT nifty DOT ne DOT jp> |
| References: | <466943424 DOT 37628 DOT 394d161a-7219-415d-a659-0f774811ad2d DOT open-xchange AT email DOT 1und1 DOT de> <44459aa0-4381-2368-ab63-5dffc26f3344 AT cornell DOT edu> <e29d08b0-aaed-46ea-a4eb-960b1e462692 AT cornell DOT edu> <a50d8bef-cc9b-3b35-8812-b26360591662 AT cornell DOT edu> <20160531094115 DOT GE24015 AT calimero DOT vinschen DOT de> <34c9cf10-4930-a017-92fc-fd56171671b1 AT cornell DOT edu> |
| MIME-Version: | 1.0 |
| In-Reply-To: | <34c9cf10-4930-a017-92fc-fd56171671b1@cornell.edu> |
| User-Agent: | Mutt/1.6.1 (2016-04-27) |
--oj4kGyHlBMXGt3Le
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Hi Takashi,
can you please have a look?
Thanks,
Corinna
On Jun 1 08:51, Ken Brown wrote:
> On 5/31/2016 5:41 AM, Corinna Vinschen wrote:
> > Any chance you could bisect Cygwin to help finding the culprit?
>=20
> The culprit is
>=20
> commit 252a07b0ad3353abcd0fcd9b1b65ff977acd679e
> Author: Takashi Yano <takashi DOT yano AT nifty DOT ne DOT jp>
> Date: Fri Apr 3 13:07:35 2015 +0900
>=20
> Cygwin hangs up if several keys are typed during outputting a lot of t=
exts.
>=20
> * fhandler_tty.cc (fhandler_pty_slave::read): Change calculation of
> "readlen" not to use "bytes_in_pipe" value directly.
>=20
>=20
> Reverting that commit fixes the problem. To test, compile and run the at=
tached file.
>=20
> $ gcc gdbstc.cc
>=20
> $ ./a
> 1-inferior-tty-set /dev/pty3
> 2-gdb-set height 0
> 3-gdb-set non-stop 1
> 4-file-list-exec-source-files
> 5-file-list-exec-source-file
> 6-gdb-show prompt
> 7-stack-info-frame
> 8-thread-info
> 9-break-list
> q
> *** using gdb
> =3Dthread-group-added,id=3D"i1"
> ~"GNU gdb (GDB) (Cygwin 7.10.1-1) 7.10.1\n"
> ~"Copyright (C) 2015 Free Software Foundation, Inc.\n"
> ~"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl=
.html>\nThis is free software: you are free to change and redistribute it.\=
nThere is NO WARRANTY, to the extent permitted by law. Type \"show copying=
\"\nand \"show warranty\" for details.\n"
> ~"This GDB was configured as \"i686-pc-cygwin\".\nType \"show configurati=
on\" for configuration details."
> ~"\nFor bug reporting instructions, please see:\n"
> ~"<http://www.gnu.org/software/gdb/bugs/>.\n"
> ~"Find the GDB manual and other documentation resources online at:\n<http=
://www.gnu.org/software/gdb/documentation/>.\n"
> ~"For help, type \"help\".\n"
> ~"Type \"apropos word\" to search for commands related to \"word\".\n"
> =3Dcmd-param-changed,param=3D"auto-load safe-path",value=3D"/"
> (gdb)
> ...
>=20
> In bad cases (bug present), the program hangs and doesn't complete until =
the gdb process is killed from a different terminal. In good cases it runs=
to completion.
>=20
> Ken
> #include <stdio.h>
> #include <stdlib.h>
> #include <unistd.h>
> #include <pty.h>
> #include <string.h>
> #include <sys/wait.h>
>=20
> void get_output (int fd);
>=20
> int
> main (int argc, const char **argv)=20
> {
> int master;
> pid_t pid;
>=20
> if ((pid =3D forkpty (&master, NULL, NULL, NULL)) < 0)
> {
> perror ("forkpty");
> exit (1);
> }
> /* child */
> if (pid =3D=3D 0)=20
> {
> const char *av[100];
> // putenv ("HOME=3D/tmp");
> int i =3D 0;
> #ifdef STRACE_GDB
> av[i++] =3D "strace";
> av[i++] =3D "-o";
> av[i++] =3D "/tmp/strace.out";
> #ifdef __CYGWIN__
> av[i++] =3D "--mask=3Dall+paranoid";
> #endif
> #endif
> av[i++] =3D argv[1] ?: "gdb";
> fprintf (stderr, "*** using %s\n", av[0]);
> av[i++] =3D "-i=3Dmi";
> av[i] =3D NULL;
> execvp (av[0], (char * const *) av);
> /* shouldn't get here */
> exit (1);
> }
> /* parent */
> const char *input[20];
>=20
> int i =3D 0;
> input[i++] =3D "1-inferior-tty-set /dev/pty3\n";
> input[i++] =3D "2-gdb-set height 0\n";
> input[i++] =3D "3-gdb-set non-stop 1\n";
> input[i++] =3D "4-file-list-exec-source-files\n";
> input[i++] =3D "5-file-list-exec-source-file\n";
> input[i++] =3D "6-gdb-show prompt\n";
> input[i++] =3D "7-stack-info-frame\n";
> input[i++] =3D "8-thread-info\n";
> input[i++] =3D "9-break-list\n";
> input[i++] =3D "q\n";
> input[i] =3D NULL;
>=20
> for (int i =3D 0; input[i]; ++i)
> {
> write (master, input[i], strlen (input[i]));
> // sleep (1);
> }
> get_output (master);
> wait (NULL);
> }
>=20
> void
> get_output (int fd)
> {
> char buf[4096];
>=20
> while (1)
> {
> int nread =3D read (fd, buf, sizeof (buf));
> if (nread > 0)
> write (STDOUT_FILENO, buf, nread);
> else
> {
> printf ("No more output. nread %d\n", nread);
> break;
> }
> }
> }
>=20
>=20
> --
> Problem reports: http://cygwin.com/problems.html
> FAQ: http://cygwin.com/faq/
> Documentation: http://cygwin.com/docs.html
> Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
--=20
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Maintainer cygwin AT cygwin DOT com
Red Hat
--oj4kGyHlBMXGt3Le
Content-Type: application/pgp-signature; name="signature.asc"
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iQIcBAEBCAAGBQJXTu6sAAoJEPU2Bp2uRE+g/SIQAICUu1dTiZycE/bAmowuB8EV
dl191B/+WrZ2b3I1mFapcYSNrdFT6n6tZGvru5D99TzsfQMXTXBWXKM+haWJYkq/
Vfza1y7hTxsWN3AmVCRF63VeD7Pc2Okdm4La72grZtKozHoetNEtnozE+Qh+cYMO
FjvadVHIC92CokgKbA1DPGkRn+jI6s3WEOcUY/OQtM2rLIIBTkO2GVjaehgh8o/z
NpYa6TvROViFyjv4yoJfmA9NU3+PrIT+bbkx4rUJkpPZmhB3JkE3j/NI/cQsI3C2
hk8oXry5jgzs3S0PlZm5aAWPN7yCLLPnFmuO46n1cL8IRRjpZxEUTNMj1YmEGlSc
rVEqPxzTOFVbgteY+myhE/urDbwjzcx+nrBvPg5mTTn1zgNMdo6QKulz0WeBBBXb
JmndqWVkunzu1PW0jwIf1fGjy67MHIlfYqqD/65VjWWG2Lqx6G0T3kMrQlkOvq6B
oLPc5DEe/yFrXFBk7W9S0OvfUb7i5XI5d4boIxOw8622cPVYVfXcWMN4HpVMfk2F
7eZy/oHj8DxNST+jkSEHPiRscyJPH8Vgy1mgjLz8Db4XxkGts0+Zuq129tbAoUpI
3YA1jge7/4f/ggL5M2wOqwRl7l5Xlor1hxxEPqt1/vQ6S6Pvg+DbropUYH9grnAa
vQWkJRXywauFZdhVL1ZG
=tfU3
-----END PGP SIGNATURE-----
--oj4kGyHlBMXGt3Le--
| webmaster | delorie software privacy |
| Copyright © 2019 by DJ Delorie | Updated Jul 2019 |