help needed to fix contrib/ee crash/exit when receiving SIGWINCH

Alexander Best alexbestms at
Fri Oct 23 10:36:38 UTC 2009

Nate Eldredge schrieb am 2009-10-23:
> On Fri, 23 Oct 2009, Antony Mawer wrote:

> >On Fri, Oct 23, 2009 at 1:35 PM, Alexander Best
> ><alexbestms at> 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.

> Seems a good start might be to compile ncurses with -g, link ee
> against it, put a breakpoint on the SIGWINCH handler, and start
> single stepping...

> --

> Nate Eldredge
> nate at

it seems ncurses registers a standard libc function with SIGWINCH. i started
gdb, loaded ee and did "handle SIGWINCH stop"

when i do "run" and issue a SIGWINCH to ee this is the output:

Program received signal SIGWINCH, Window size changed.
0x281a4063 in read () from /lib/

(gdb) nexti
0x281a4048 in write () from /lib/
(gdb) nexti
0x281a4049 in write () from /lib/
(gdb) nexti
0x281a404e in write () from /lib/
(gdb) nexti
0x281a404f in write () from /lib/
(gdb) nexti
0x281a4055 in write () from /lib/
(gdb) nexti

Program exited normally.

so i guess ee calls some ncurses function right at the beginning. that ncurses
function registers a new function to be called upon SIGWINCH (maybe exit(3)).


More information about the freebsd-hackers mailing list