From: James Cameron <james.cameron@hp.com>
To: linux-ppp@vger.kernel.org
Subject: CVS 20040201, "Terminating on signal 2" loop
Date: Thu, 01 Jan 2004 22:53:59 +0000 [thread overview]
Message-ID: <20040101225359.GA31516@hp.com> (raw)
I was just giving PPP in CVS a test run, started a connection through a
pty, which established normally, and then pressed Control/C. pppd then
reported "Terminating on signal 2." 10376 times and segfaulted.
Quite reproducible. So I did an strace and looked at the source. On
receipt of a SIGINT from Control/C, term() calls kill_my_pg() to signal the
process group.
It appears that despite kill_my_pg() calling sigaction() to ignore the
signal being resent to the process group, the kernel sends pppd a SIGINT
again.
667 --- SIGINT (Interrupt) @ 0 (0) ---
667 time([1072996209]) = 1072996209
667 getpid() = 667
667 rt_sigaction(SIGPIPE, {0x4013ebe0, [], SA_RESTORER, 0x40094498},
{SIG_IGN}
, 8) = 0
667 send(3, "<30>Jan 2 09:30:09 pppd[667]: T"..., 55, 0) = 55
667 rt_sigaction(SIGPIPE, {SIG_IGN}, NULL, 8) = 0
667 write(2, "Terminating on signal 2.", 24) = 24
667 write(2, "\n", 1) = 1
667 rt_sigaction(SIGINT, {SIG_IGN}, {0x8050290, [HUP INT USR2 TERM
CHLD], SA_R
ESTORER, 0x40094498}, 8) = 0
667 kill(0, SIGINT) = 0
667 rt_sigaction(SIGINT, {0x8050290, [HUP INT USR2 TERM CHLD],
SA_RESTORER, 0x
40094498}, NULL, 8) = 0
667 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
667 --- SIGINT (Interrupt) @ 0 (0) ---
[...]
667 --- SIGINT (Interrupt) @ 0 (0) ---
667 --- SIGSEGV (Segmentation fault) @ 0 (0) ---
667 --- SIGSEGV (Segmentation fault) @ 0 (0) ---
667 +++ killed by SIGSEGV +++
Kernel is 2.4.23 from Debian sources, with MPPE patch applied from PPP
CVS. The connection was using MPPE, but I doubt that relates. Pentium
266MHz test machine.
If I try running under gdb, Control/C stops the program so gdb can take
over, and "continue" results in normal disconnection and exit.
Anyone know the cause? It seems pppd is doing the right thing, but I
don't recall whether sigaction() has immediate effect or not.
--
James Cameron http://quozl.netrek.org/
HP Open Source, Volunteer http://opensource.hp.com/
PPTP Client Project, Release Engineer http://pptpclient.sourceforge.net/
reply other threads:[~2004-01-01 22:53 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20040101225359.GA31516@hp.com \
--to=james.cameron@hp.com \
--cc=linux-ppp@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.