Date: Fri, 23 Oct 2009 17:32:32 +0400 From: pluknet <pluknet@gmail.com> To: Alexander Best <alexbestms@math.uni-muenster.de> Cc: Antony Mawer <lists@mawer.org>, freebsd-hackers@freebsd.org Subject: Re: help needed to fix contrib/ee crash/exit when receiving SIGWINCH Message-ID: <a31046fc0910230632j437a6199ub9a3d10eb3fd8de2@mail.gmail.com> In-Reply-To: <permail-2009102313261880e26a0b00002711-a_best01@message-id.uni-muenster.de> References: <a31046fc0910230534h3420e57aw6b855219361f9dd7@mail.gmail.com> <permail-2009102313261880e26a0b00002711-a_best01@message-id.uni-muenster.de>
next in thread | previous in thread | raw e-mail | index | archive | help
2009/10/23 Alexander Best <alexbestms@math.uni-muenster.de>: > pluknet schrieb am 2009-10-23: >> 2009/10/23 Alexander Best <alexbestms@math.uni-muenster.de>: >> > Gary Jennejohn schrieb am 2009-10-23: >> >> On Fri, 23 Oct 2009 12:58:43 +0400 >> >> pluknet <pluknet@gmail.com> wrote: > >> >> > 2009/10/23 Antony Mawer <lists@mawer.org>: >> >> > > On Fri, Oct 23, 2009 at 1:35 PM, Alexander Best >> >> > > <alexbestms@math.uni-muenster.de> wrote: >> >> > >> hi everyone, > >> >> > >> together with hugh mahon (the author of ee) i've been trying >> >> > >> to >> >> > >> fix a nasty >> >> > >> bug in ee. for some reason ee exits (not crashes) and leaves >> >> > >> the >> >> > >> console >> >> > >> corrupted when receiving SIGWINCH (`killall -SIGWINCH ee` >> >> > >> should >> >> > >> exit all >> >> > >> running ee instances). > >> >> > > I noticed this the other day when working on a new 8.0-RC1 >> >> > > system... >> >> > > in my case I was using putty (Windows ssh client) to access >> >> > > the >> >> > > system >> >> > > and maximised the window I had ee running in, and noticed ee >> >> > > just >> >> > > dumped me straight to the prompt. > >> >> > > I am wondering if this has anything to do with the new tty >> >> > > subsystem >> >> > > in 8.0, as this wasn't a problem I've experienced before under >> >> > > 7.x... > > >> >> > No, that's a regression appeared in (FreeBSD'ish? version of) ee >> >> > 1.5.0. > > >> >> SIGWINCH is handled in new_curse.c, but it's not being >> >> compiled/linked. > >> >> --- >> >> Gary Jennejohn > >> > i think that file is only used on systems which have >> > termio.h/sgtty.h and ee >> > doesn't get linked against ncurses. on those systems (linux e.g.) >> > new_curse.c >> > is used to handle certain things which ncurses takes care under >> > freebsd. > >> > this is under freebsd: > >> > `make`: >> > Neither termio.h or sgtty.h are on this system! >> > Relying on local curses implementation. >> > Generating make.local >> > make -f make.local >> > cc ee.c -o ee -ggdb -DDIAG -DHAS_UNISTD -DHAS_STDARG -DHAS_STDLIB >> > -DHAS_CTYPE >> > -DHAS_SYS_IOCTL -DHAS_SYS_WAIT =A0 -DSLCT_HDR >> > -DTERMCAP=3D"\"/usr/share/misc/termcap\"" -lcursesw > >> > `ldd ee`: >> > libncursesw.so.8 =3D> /lib/libncursesw.so.8 (0x2809b000) >> > libc.so.7 =3D> /lib/libc.so.7 (0x280e9000) > > >> [Probably already mentioned.] > >> btw, ee compiled under fbsd with new_curse.c >> (and not linked with curses/cursesw) goes fine with SIGWINCH. > >> --- Makefile.old =A0 =A0 =A0 =A02009-10-23 16:13:45.000000000 +0400 >> +++ Makefile =A0 =A02009-10-23 16:30:03.000000000 +0400 >> @@ -3,15 +3,14 @@ >> =A0.PATH: ${.CURDIR}/../../contrib/ee > >> =A0CFLAGS+=3D -DHAS_NCURSES -DHAS_UNISTD -DHAS_STDARG -DHAS_STDLIB \ >> - =A0 =A0 =A0 =A0-DHAS_SYS_WAIT >> + =A0 =A0 =A0 =A0-DHAS_SYS_WAIT -DCAP -DNCURSE > >> =A0PROG=3D =A0ee >> +SRCS=3D =A0ee.c new_curse.c >> =A0LINKS=3D ${BINDIR}/ee ${BINDIR}/ree ${BINDIR}/ee ${BINDIR}/edit >> =A0MLINKS=3D =A0 =A0 =A0 =A0ee.1 ree.1 ee.1 edit.1 >> -DPADD=3D ${LIBNCURSES} >> -LDADD=3D -lncurses > >> -WARNS?=3D =A0 =A0 =A0 =A02 >> +WARNS?=3D =A0 =A0 =A0 =A00 > >> =A0NLS=3D =A0 en_US.US-ASCII fr_FR.ISO8859-1 de_DE.ISO8859-1 >> =A0pl_PL.ISO8859-2 \ >> =A0 =A0 =A0 =A0 uk_UA.KOI8-U ru_RU.KOI8-R hu_HU.ISO8859-2 > >> $ ldd ./ee >> ./ee: >> =A0 =A0 =A0 =A0 libc.so.6 =3D> /lib/libc.so.6 (0x2808a000) > >> (yes, it's FreeBSD 6.x). > > won't work under CURRENT i'm afraid: > > Warning: Object directory not changed from original /usr/src/usr.bin/ee > cc =A0-O2 -fno-strict-aliasing -pipe -march=3Dnative -DHAS_NCURSES -DHAS_= UNISTD > -DHAS_STDARG -DHAS_STDLIB =A0-DHAS_SYS_WAIT -DCAP -DNCURSE -std=3Dgnu99 > -fstack-protector -Wno-pointer-sign -c > /usr/src/usr.bin/ee/../../contrib/ee/ee.c > In file included from /usr/src/usr.bin/ee/../../contrib/ee/ee.c:68: > /usr/src/usr.bin/ee/../../contrib/ee/new_curse.h:47:19: error: sgtty.h: N= o > such file or directory > *** Error code 1 > > Stop in /usr/src/usr.bin/ee. > > here's the entry in ObsoleteFiles.inc: > > # 20080725: sgtty.h removed > OLD_FILES+=3Dusr/include/sgtty.h > > alex > Ah, OK. Just a stupid and not-tested guess. --=20 wbr, pluknet
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?a31046fc0910230632j437a6199ub9a3d10eb3fd8de2>