help needed to fix contrib/ee crash/exit when receiving SIGWINCH
alexbestms at math.uni-muenster.de
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 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
> >>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
> >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 thatsmathematics.com
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/libc.so.7
0x281a4048 in write () from /lib/libc.so.7
0x281a4049 in write () from /lib/libc.so.7
0x281a404e in write () from /lib/libc.so.7
0x281a404f in write () from /lib/libc.so.7
0x281a4055 in write () from /lib/libc.so.7
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