Re: The Links/Links2/ELinks browsers are unusable on Debian GNU/Hurd

Fabienne Ducroquet <[email protected]>
Newsgroups gmane.linux.debian.ports.hurd,gmane.comp.web.links,gmane.comp.web.links.list
Organization ENS
Message-ID <[email protected]>
On Sat, 15 Dec 2007 22:36:21 +0200, Kalle Olavi Niemitalo <[email protected]>
wrote:
> 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:
> -icrnl -ixon -icanon -iexten -echo isig tostop.  And also the
> following, which may already be the default: -ignbrk -brkint
> -parmrk -istrip -inlcr -igncr opost -echonl cs8 min=1 time=0.

   If I run ELinks on an xterm and then check the modes of that
terminal I get:
speed 38400 baud; rows 28; columns 84;
intr = ^C; quit = <undef>; erase = ^?; kill = ^U; eof = ^D; eol = <undef>;
eol2 = <undef>; start = ^Q; stop = ^S; susp = ^Z; dsusp = ^Y; rprnt = ^R;
werase = ^W; lnext = ^V; flush = ^O; status = ^E; min = 1; time = 0;
-parenb -parodd cs8 -hupcl -cstopb cread -clocal -crtscts
-ignbrk brkint ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl -ixon -ixoff
-iuclc -ixany imaxbel
opost -olcuc onlcr
isig icanon iexten echo echoe echok -echonl -noflsh -tostop -echoprt echoctl
echoke
  They are not correctly set then ...

> 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.

   ... but the tcetattr call succeeds: when the breakpoint at setraw is
reached, the output of stty -F /dev/ttyp1 -a is the same as above, but
after the execution of the line 242:
if (tcetattr(fd, TCSANOW, &t)) return -1;
it is:
speed 38400 baud; rows 28; columns 84;
intr = ^C; quit = <undef>; erase = ^?; kill = ^U; eof = ^D; eol = <undef>;
eol2 = <undef>; start = ^Q; stop = ^S; susp = ^Z; dsusp = ^Y; rprnt = ^R;
werase = ^W; lnext = ^V; flush = ^O; status = ^E; min = 1; time = 0;
-parenb -parodd cs8 -hupcl -cstopb cread -clocal -crtscts
-ignbrk -brkint ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff
-iuclc -ixany imaxbel
opost -olcuc onlcr
isig -icanon -iexten -echo echoe echok -echonl -noflsh tostop -echoprt echoctl
echoke

    I've found that the function free_itrm is called later and it unsets
these modes.  It is called by select_loop line 305 while i = 7 and n = 1.

> ELinks catches SIGINT and translates it to an event internally.
> It's odd though that it doesn't handle the event immediately.

    Indeed, I don't know if it catches it.

> Please show the value of *ditrm, especially ditrm->blocked.

   Just before the execution of free_itrm:
$2 = {in = {std = 0, sock = 1, ctl = 0, queue = {data = 0x8187e10 "", len = 0}}, 
  out = {std = 1, sock = 7, queue = {data = 0x8187e80 "", len = 0}}, timer = 0x0, 
  t = {c_iflag = 8454, c_oflag = 3, c_cflag = 2816, c_lflag = 1487, 
    c_cc = "\004ÿÿ\177\027\025\022\b\003ÿ\032\031\021\023\026\017\001\000\005\b", 
    __ispeed = 38400, __ospeed = 38400}, mouse_h = 0x0, 
  orig_title = 0x8192720 "xterm", blocked = 0, altscreen = 1, touched_title = 1, 
  remote = 0}
and after the execution of free_itrm ditrm==NULL.

> Does execution ever reach in_kbd?

No.

> 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.

    That does not seem to work with Hurd/GNU-Mach, but that reminds me
that sometimes when I start ELinks I have the error:
ERROR at interlink.c:329: The call to connect() failed: 1073741873
(Cannot assign requested address)
but I haven't found how to reproduce that.

-- 
Fabienne


-- 
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.