Bug 5695

Summary: pppd hangs after disconnect on tty_set_ldisc when sch_htb used
Product: Networking Reporter: MagMike (magmike)
Component: OtherAssignee: Arnaldo Carvalho de Melo (acme)
Status: REJECTED INSUFFICIENT_DATA    
Severity: normal CC: bunk
Priority: P2    
Hardware: i386   
OS: Linux   
Kernel Version: 2.6.14.3 Subsystem:
Regression: --- Bisected commit-id:

Description MagMike 2005-12-02 13:45:56 UTC
Software Environment: 
SMP linux kernel + linux-2.6.13-mppe-mppc-1.3 patch
PoPToP v1.1.4-b4, 
pppd version 2.4.2b3 (mppe patch).
#lsmod
Module                  Size  Used by
cls_u32                 8580  22
sch_sfq                 6016  22
sch_htb                17280  22
ppp_deflate             6016  0
zlib_deflate           22936  1 ppp_deflate
zlib_inflate           18304  1 ppp_deflate
bsd_comp                6528  0
8021q                  19080  0
e1000                 105268  0
sha1                    3328  343
arc4                    2688  343
ppp_mppe_mppc          15876  343
ppp_async              10240  178
crc_ccitt               2816  1 ppp_async
ppp_generic            27412  716 ppp_deflate,bsd_comp,ppp_mppe_mppc,ppp_async
slhc                    7040  1 ppp_generic

Problem Description:
When i load  sch_htb, some of pppd processes hang after disconnecting on 
executing 
ioctl(8, TIOCSETD
(i run strace -p  <pppd_pid>)

'ps -l' shows tty_set_ldisc in WCHAN for this process

vmstat's "context switches" have a huge value - 50000 when 2 pppd hangs.

hanged pppd try exit after unsuccessfull user's authorization. so it does not 
bring self ppp interface up and not apply any "tc qdisc" to it.

tc qdisc applyed on ip-up when ppp is UP and IP assigned to interface. on ip-
down i make 'tc qdisc del dev PPPD_IFACE root'. 

when no sch_* modules loaded and tc not used all works fine.

Steps to reproduce:
pppd hangs sometimes. my server accept more then 11000 pptp connections for 1 
day. an i had near 20 hanged pppd.

PS sorry for my ugly english :(
Comment 1 Andrew Morton 2006-01-19 02:49:06 UTC

Begin forwarded message:

Date: Fri, 2 Dec 2005 13:53:04 -0800
From: bugme-daemon@bugzilla.kernel.org
To: bugme-new@lists.osdl.org
Subject: [Bugme-new] [Bug 5695] New: pppd hangs after disconnect on tty_set_ldisc when sch_htb used


http://bugzilla.kernel.org/show_bug.cgi?id=5695

           Summary: pppd hangs after disconnect on tty_set_ldisc when
                    sch_htb used
    Kernel Version: 2.6.14.3
            Status: NEW
          Severity: normal
             Owner: other_modules@kernel-bugs.osdl.org
         Submitter: magmike@gmail.com


Software Environment: 
SMP linux kernel + linux-2.6.13-mppe-mppc-1.3 patch
PoPToP v1.1.4-b4, 
pppd version 2.4.2b3 (mppe patch).
#lsmod
Module                  Size  Used by
cls_u32                 8580  22
sch_sfq                 6016  22
sch_htb                17280  22
ppp_deflate             6016  0
zlib_deflate           22936  1 ppp_deflate
zlib_inflate           18304  1 ppp_deflate
bsd_comp                6528  0
8021q                  19080  0
e1000                 105268  0
sha1                    3328  343
arc4                    2688  343
ppp_mppe_mppc          15876  343
ppp_async              10240  178
crc_ccitt               2816  1 ppp_async
ppp_generic            27412  716 ppp_deflate,bsd_comp,ppp_mppe_mppc,ppp_async
slhc                    7040  1 ppp_generic

Problem Description:
When i load  sch_htb, some of pppd processes hang after disconnecting on 
executing 
ioctl(8, TIOCSETD
(i run strace -p  <pppd_pid>)

'ps -l' shows tty_set_ldisc in WCHAN for this process

vmstat's "context switches" have a huge value - 50000 when 2 pppd hangs.

hanged pppd try exit after unsuccessfull user's authorization. so it does not 
bring self ppp interface up and not apply any "tc qdisc" to it.

tc qdisc applyed on ip-up when ppp is UP and IP assigned to interface. on ip-
down i make 'tc qdisc del dev PPPD_IFACE root'. 

when no sch_* modules loaded and tc not used all works fine.

Steps to reproduce:
pppd hangs sometimes. my server accept more then 11000 pptp connections for 1 
day. an i had near 20 hanged pppd.

PS sorry for my ugly english :(

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.

Comment 2 Patrick McHardy 2006-01-19 03:06:12 UTC
Andrew Morton wrote:
> 
> Begin forwarded message:
> 
> Date: Fri, 2 Dec 2005 13:53:04 -0800
> From: bugme-daemon@bugzilla.kernel.org
> To: bugme-new@lists.osdl.org
> Subject: [Bugme-new] [Bug 5695] New: pppd hangs after disconnect on tty_set_ldisc when sch_htb used
> 
> Software Environment: 
> SMP linux kernel + linux-2.6.13-mppe-mppc-1.3 patch
> 
> Problem Description:
> When i load  sch_htb, some of pppd processes hang after disconnecting on 
> executing 
> ioctl(8, TIOCSETD
> (i run strace -p  <pppd_pid>)
> 
> 'ps -l' shows tty_set_ldisc in WCHAN for this process

I doubt this is really related to HTB. 2.6.15 includes MPPE, can
you reproduce it with a vanilla kernel without any patches?

Comment 3 Adrian Bunk 2006-04-19 10:09:14 UTC
Is this issue still present in kernel 2.6.16?
Comment 4 Adrian Bunk 2006-08-05 04:20:22 UTC
Please reopen this bug if it's still present in kernel 2.6.17.
Comment 5 Alexandr Tukachev 2008-08-29 04:26:53 UTC
all the same at 2.6.25.4
pppd 2.4.4

sch_htb not used... but tbf.