Bug 116927 - pppd Segmentation fault, adsl dial on demand does not work
Summary: pppd Segmentation fault, adsl dial on demand does not work
Alias: None
Product: Red Hat Enterprise Linux 3
Classification: Red Hat
Component: ppp   
(Show other bugs)
Version: 3.0
Hardware: i686
OS: Linux
Target Milestone: ---
Assignee: Thomas Woerner
QA Contact: Jay Turner
Depends On:
TreeView+ depends on / blocked
Reported: 2004-02-26 14:42 UTC by Uwe Beck
Modified: 2015-01-08 00:07 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2004-09-02 02:41:12 UTC
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)
debug with Segmentations fault (1.18 KB, application/x-tar)
2004-02-26 14:44 UTC, Uwe Beck
no flags Details
gdb protokoll (1.32 KB, application/x-tar)
2004-03-01 20:05 UTC, Uwe Beck
no flags Details
messages to gdb (2.29 KB, application/x-tar)
2004-03-01 20:06 UTC, Uwe Beck
no flags Details
messages pppd core dumps (161 bytes, application/x-tar)
2004-03-03 01:07 UTC, Uwe Beck
no flags Details
core files (1) pppd (679.75 KB, application/x-tar)
2004-03-03 01:13 UTC, Uwe Beck
no flags Details
core file (2) pppd (793.44 KB, application/x-tar)
2004-03-03 01:14 UTC, Uwe Beck
no flags Details

External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2004:276 normal SHIPPED_LIVE Updated ppp package 2004-09-01 04:00:00 UTC

Description Uwe Beck 2004-02-26 14:42:43 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; de-AT; rv:1.4) Gecko/20030922

Description of problem:
There is a Segmentations fault from pppd if you want use asdl with the
Dial on Demand option.

Please have a look at bug #114875 at:

2. Dial on Demand do not work


After ifup starts the script "/sbin/adsl-connect" can not create the

adsl-connect: ADSL connection lost; attempting re-connection.

Debuging /sbin/adsl-connect with set -x (with help from Lars Herrmann,

/sbin/adsl-connect: line 317:  3493 "      $SETSID $PPPD pty

/sbin/adsl-connect: line 317:  3493 Segmentation fault      $SETSID
+ test -x /etc/ppp/adsl-lost
+ /usr/bin/logger -t adsl-connect -p daemon.notice 'ADSL connection
lost; attempting re-connection.'

For more details see attachment "adsl-connect-debug.txt.gz".

In "adsl-connect-debug.txt.gz" you find the Segmentations fault. I
think it comes from pppd or?

Version-Release number of selected component (if applicable):
ppp-2.4.1-14 together with rp-pppoe-3.5-4

How reproducible:

Steps to Reproduce:
1.configure adsl with dial on demand
2.ifup interface

Actual Results:  the pppd can not start, Segmentation fault, unable to
use adsl with dial on demand option

Expected Results:  works correct

Additional info:

Comment 1 Uwe Beck 2004-02-26 14:44:41 UTC
Created attachment 98073 [details]
debug with Segmentations fault

Comment 2 Uwe Beck 2004-03-01 20:04:17 UTC
/sbin/adsl-connect: line 317:  3487 Segmentation fault      $SETSID
+ test -x /etc/ppp/adsl-lost
+ /usr/bin/logger -t adsl-connect -p daemon.notice 'ADSL connection
lost; attempting re-connection.'
+ sleep 5

The pppd never starts from adsl-connect if DEMAND=yes. So I can only
debug with this parameter in ifcfg-ppp0

# Please read /usr/share/doc/initscripts-*/sysconfig.txt
# for the documentation of these parameters.

In attach gdb.txt.gz you see what I do and the results from gdb.
Attach messages.gdb.gz contains the messages to the pppd pids.

I see the return code 1 and I ask me if there is a problem in
syncronisation between pppd and pppoe? The SYNCHRONOUS=yes option
create on error per packet but you need two modules from unsupported
kernel for use it. I do not use SYNCHRONOUS=yes at this time.

I hope it helps.

Comment 3 Uwe Beck 2004-03-01 20:05:24 UTC
Created attachment 98168 [details]
gdb protokoll

Comment 4 Uwe Beck 2004-03-01 20:06:15 UTC
Created attachment 98169 [details]
messages to gdb

Comment 5 Uwe Beck 2004-03-03 01:07:57 UTC
Created attachment 98227 [details]
messages pppd core dumps

Comment 6 Uwe Beck 2004-03-03 01:13:14 UTC
Created attachment 98228 [details]
core files (1) pppd

Comment 7 Uwe Beck 2004-03-03 01:14:06 UTC
Created attachment 98229 [details]
core file (2) pppd

Comment 8 Bastien Nocera 2004-03-09 14:05:25 UTC
Decoded backtrace from the core dumps:
Core was generated by `/usr/sbin/pppd pty /usr/sbin/pppoe -p
/var/run/pppoe-adsl.pid.pppoe -I eth1 -T'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /lib/libpam.so.0...done.
Loaded symbols for /lib/libpam.so.0
Reading symbols from /lib/libdl.so.2...done.
Loaded symbols for /lib/libdl.so.2
Reading symbols from /lib/libutil.so.1...done.
Loaded symbols for /lib/libutil.so.1
Reading symbols from /lib/libcrypt.so.1...done.
Loaded symbols for /lib/libcrypt.so.1
Reading symbols from /lib/tls/libc.so.6...done.
Loaded symbols for /lib/tls/libc.so.6
Reading symbols from /lib/ld-linux.so.2...done.
Loaded symbols for /lib/ld-linux.so.2
Reading symbols from /lib/libnss_files.so.2...done.
Loaded symbols for /lib/libnss_files.so.2
#0  0xb74dbd33 in strlen () from /lib/tls/libc.so.6
(gdb) bt
#0  0xb74dbd33 in strlen () from /lib/tls/libc.so.6
#1  0x0805eddb in vslprintf (buf=0xbfffed94 "\004\005`�����\f}_�*",
buflen=987, fmt=0x806f5c5 " option", args=0xbffff18c "") at utils.c:364
#2  0x0805db50 in option_error (fmt=0x0) at options.c:1000
#3  0x0805df6b in number_option (str=0xbffffce7 "yes",
valp=0xb75818a0, base=0) at options.c:1294
#4  0x0805df90 in int_option (str=0x0, valp=0x0) at options.c:1314
#5  0x0805d2f8 in process_option (opt=0x8073858, cmd=0xb75818a0
"\002", argv=0xbffff38c) at options.c:631
#6  0x0805c89e in parse_args (argc=8, argv=0xbffff38c) at options.c:319
#7  0x0804d4c6 in main (argc=42, argv=0xbffff304) at main.c:294

Comment 9 Uwe Beck 2004-03-28 20:46:06 UTC
There are different versions for ppp in RHEL3.

# strings lib/modules/2.4.21-9.0.1.EL/kernel/drivers/net/ppp_generic.o
| grep version
Kernelmodules are "PPP generic driver version 2.4.2"

The RPM ppp which contains the pppd is version 2.4.1.
# rpm -qa ppp
You see it also in the SRPM.

I build a new ppp RPM based on ppp version 2.4.2 self.

If I use the pppd version 2.4.2 with Dial on Demand I see in
Mar 16 09:50:33 adsl01 pppd[15407]: invalid numeric parameter 'yes'
for idle option

Please see the decoded backtrace from the core dumps:

#3  0x0805df6b in number_option (str=0xbffffce7 "yes",

pppd version 2.4.2 do not crash with the false "idle yes" parameter,
but dial on demand can not start. This is a bug in rp-pppoe RPM.

I think, it is a good idee to build a new ppp RPM based on ppp version
2.4.2. I use this version with ADSL and FlatRate (break after 24
hours) since 14 days and it works without any errors.

Comment 11 Uwe Beck 2004-07-11 21:59:40 UTC
I test ppp-2.4.1-14.1.i386.rpm and rp-pppoe-3.5-4.1.i386.rpm together.
The false option "idle=yes" do not come longer from rp-pppoe and so
Dial on Demand can work.
The last two reconnects after 24 hours shows now errors with a minimum
on actions in if-down.local and if-up.local.

Let me see, what are the results in two weeks with squid traffic and
VPN-IPSec during the reconnets.


Comment 12 Uwe Beck 2004-07-24 18:31:50 UTC
With this patch the pppd not longer crashs if there is an invalid
parameter like "idle=yes".
This was the reason for this bugreport.
You can close this bug.

Additional infomation:
The pppd works without errors for 13 days with an minimum on actions
in if-down.local and if-up.local.
Now I put all my actions in if-down.local and if-up.local (Th Jul 22
The result was, the same errors I reported in Bug #116921 during
reconnect adsl. pppd do not wait correct for the script return.
I will put more informations in Bug #116921 soon.


Comment 13 Jay Turner 2004-08-27 14:40:34 UTC
Closing out this issue based on feedback from the original reporter.

Comment 14 Jay Turner 2004-09-02 02:41:12 UTC
An errata has been issued which should help the problem 
described in this bug report. This report is therefore being 
closed with a resolution of ERRATA. For more information
on the solution and/or where to find the updated files, 
please follow the link below. You may reopen this bug report 
if the solution does not work for you.


Note You need to log in before you can comment on or make changes to this bug.