Re: The Links/Links2/ELinks browsers are unusable on Debian GNU/Hurd
Kalle Olavi Niemitalo <[email protected]> Sat, 15 Dec 2007 22:36:21 +0200
| Newsgroups | gmane.comp.web.links,gmane.linux.debian.ports.hurd,gmane.comp.web.links.list |
|---|---|
| Message-ID | <[email protected]> |
--===============1597137770== Content-type: multipart/signed; boundary="=-=-="; micalg=pgp-sha1; protocol="application/pgp-signature" --=-=-= Content-Transfer-Encoding: quoted-printable Fabienne Ducroquet <[email protected]> writes: > [ E-Mail sent to [email protected], CC'ed to > [email protected] and [email protected] ] I saw this on elinks-dev. > In text mode they all three have the same behaviour: any key hit > is literally displayed on the screen, beginning at the position where > the cursor is (e.g. if I hit a letter it is displayed on the screen, if > I hit the right arrow ^[[C is printed on the screen ...), with a few > exceptions: This suggests ELinks has failed to disable echoing at the terminal. Please verify this by looking up the tty that ELinks is using and checking the modes with a command like this: stty -F /dev/pts/1 -a ELinks should have enabled and disabled tty modes as follows: =2Dicrnl -ixon -icanon -iexten -echo isig tostop. And also the following, which may already be the default: -ignbrk -brkint =2Dparmrk -istrip -inlcr -igncr opost -echonl cs8 min=3D1 time=3D0. If ELinks fails to set the modes, put a breakpoint at src/terminal/kbd.c (setraw) and see whether execution gets there and whether the tcsetattr call succeeds and has the intended effect. It may help if you use "set inferior-tty" in GDB to give ELinks a tty different from the one where you run GDB; then you can check the modes of that tty while ELinks is frozen. Perhaps run a "sleep 99999" on that tty so the shell won't try to read From=20it while ELinks is using it. > - in the hurd console ^\ kills the program (shouldn't that produce a > core dump too? I have limit CORE unlimited), but ^C does not work, ELinks catches SIGINT and translates it to an event internally. It's odd though that it doesn't handle the event immediately. Please show the value of *ditrm, especially ditrm->blocked. Does execution ever reach in_kbd? > Should not this error "Cannot access memory at address 0x0" > produce a segfault? No, probably GCC has merely generated code that uses the stack in a way that GDB cannot understand. Recompile without optimization and then you should see the real values in the debugger. > PS: If you have the same problem than me, don't forget to verify that > the socket created in ~/.links or ~/.links2 or ~/.elinks has been > deleted after you have killed one of these programs, without that the > next time you launch it it will try to connect to a master instance > which does not exist through this socket and hang. It doesn't hang here, on Linux 2.6. Instead, in connect_to_af_unix, connect fails with ECONNREFUSED, and ELinks retries that a few times and gives up. --=-=-= Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) iD8DBQFHZDrMHm9IGt60eMgRAlwRAJ99Cnxt46ImvexOS+N87UyYB6wHGwCbBc28 DSg/7Fcybc+i5qa1gjJp/tI= =hfMm -----END PGP SIGNATURE----- --=-=-=-- --===============1597137770== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ elinks-dev mailing list [email protected] http://linuxfromscratch.org/mailman/listinfo/elinks-dev --===============1597137770==--