Date: 04 Jun 1998 23:36:09 +0200 From: dag-erli@ifi.uio.no (Dag-Erling Coidan =?iso-8859-1?Q?Sm=F8rgrav?= ) To: current@FreeBSD.ORG Subject: Strange ppp behaviour Message-ID: <xzpiumg97ee.fsf@hrotti.ifi.uio.no>
next in thread | raw e-mail | index | archive | help
FreeBSD niobe.ewox.org 3.0-CURRENT FreeBSD 3.0-CURRENT #1: Thu Jun 4 10:55:29 CEST 1998 finrod@niobe.ewox.org:/usr/src/sys/compile/niobe i386
(this is the same machine that used to run 2.2.6-STABLE under the name
valinor.ewox.org)
I have had strange problems with ppp (segmenation faults, to be
precise). I checked out an older version (31/05/1998) which exhibited
the same symptoms: ppp <label> dials, then segfaults as it changes
from dialing mode to login mode. The problems disappeared when I
rewrote my ppp.conf file.
Here are the log messages from three consecutive attempts:
Jun 4 22:31:18 niobe ppp[866]: Phase: Using interface: tun0
Jun 4 22:31:18 niobe ppp[866]: Phase: deflink: Created in closed state
Jun 4 22:31:18 niobe ppp[866]: Phase: bundle: Establish
Jun 4 22:31:18 niobe ppp[866]: Phase: deflink: closed -> opening
Jun 4 22:31:18 niobe ppp[866]: Phase: PPP Started (interactive mode).
Jun 4 22:31:18 niobe ppp[866]: Phase: deflink: Connected!
Jun 4 22:31:18 niobe ppp[866]: Phase: deflink: opening -> dial
Jun 4 22:31:18 niobe ppp[866]: Phase: Phone: 22596790
Jun 4 22:31:34 niobe ppp[866]: Phase: deflink: dial -> login
Jun 4 22:32:21 niobe ppp[870]: Phase: Using interface: tun0
Jun 4 22:32:21 niobe ppp[870]: Phase: deflink: Created in closed state
Jun 4 22:32:21 niobe ppp[870]: Phase: bundle: Establish
Jun 4 22:32:21 niobe ppp[870]: Phase: deflink: closed -> opening
Jun 4 22:32:21 niobe ppp[870]: Phase: PPP Started (interactive mode).
Jun 4 22:32:21 niobe ppp[870]: Phase: deflink: Connected!
Jun 4 22:32:21 niobe ppp[870]: Phase: deflink: opening -> dial
Jun 4 22:32:21 niobe ppp[870]: Phase: Phone: 22596790
Jun 4 22:32:37 niobe ppp[870]: Phase: deflink: dial -> login
Here's what gdb says about the core dump (had to recompile ppp with
-ggdb to get this - is there any option to the standard makefiles
which prevents install from stripping binaries? -DNOSTRIP ostl)
GDB is free software and you are welcome to distribute copies of it
under certain conditions; type "show copying" to see the conditions.
There is absolutely no warranty for GDB; type "show warranty" for details.
GDB 4.16 (i386-unknown-freebsd),
Copyright 1996 Free Software Foundation, Inc...
Core was generated by `ppp'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /usr/libexec/ld.so...done.
Reading symbols from /usr/lib/aout/libutil.so.2.2...done.
Reading symbols from /usr/lib/aout/libz.so.2.0...done.
Reading symbols from /usr/lib/aout/libcrypt.so.2.0...done.
Reading symbols from /usr/lib/aout/libc.so.3.1...done.
Reading symbols from /usr/lib/libalias.so.2.5...done.
#0 0x7255 in chat_UpdateSet (d=0x4a01c, r=0xefbfdb48, w=0xefbfdac8,
e=0xefbfda48, n=0xefbfda44) at /usr/src/usr.sbin/ppp/chat.c:207
207 needcr = c->state == CHAT_SEND && *c->argptr != '!';
(gdb) l
202 * c->argptr now temporarily points into c->script (via c->argv)
203 * If it's an expect-send-expect sequence, we've just got the correct
204 * portion of that sequence.
205 */
206
207 needcr = c->state == CHAT_SEND && *c->argptr != '!';
208
209 /* We leave room for a potential HDLC header in the target string */
210 ExpandString(c, c->argptr, c->exp + 2, sizeof c->exp - 2, needcr);
211
(gdb) bt
#0 0x7255 in chat_UpdateSet (d=0x4a01c, r=0xefbfdb48, w=0xefbfdac8,
e=0xefbfda48, n=0xefbfda44) at /usr/src/usr.sbin/ppp/chat.c:207
#1 0xe6bf in datalink_UpdateSet (d=0x4a000, r=0xefbfdb48, w=0xefbfdac8,
e=0xefbfda48, n=0xefbfda44) at /usr/src/usr.sbin/ppp/datalink.c:264
#2 0x2d46 in bundle_UpdateSet (d=0x2f18c, r=0xefbfdb48, w=0xefbfdac8,
e=0xefbfda48, n=0xefbfda44) at /usr/src/usr.sbin/ppp/bundle.c:486
#3 0x1d0b9 in DoLoop (bundle=0x2f18c) at /usr/src/usr.sbin/ppp/main.c:451
#4 0x1cf71 in main (argc=2, argv=0xefbfdcf4)
at /usr/src/usr.sbin/ppp/main.c:432
(gdb) i args
d = (struct descriptor *) 0x4a01c
r = (fd_set *) 0xefbfdb48
w = (fd_set *) 0xefbfdac8
e = (fd_set *) 0xefbfda48
n = (int *) 0xefbfda44
(gdb) quit
The contents of ppp.conf and ppp.linkup follow (yes, I know ppp.conf
is slightly bogus, but it worked fine on 2.2.6 and on 3.0-SNAP from
1998-02-22):
(ppp.conf)
default:
set device /dev/cuaa0
set speed 115200
set ctsrts on
disable lqr
deny lqr
set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \"\" ATZ OK-AT-OK \\dATDT\\T TIMEOUT 40 CONNECT"
alias enable yes
usit:
allow users finrod dagsm
set phone 22596790
accept pap
set authname undiclosed
set authkey undisclosed
set login "TIMEOUT 5 name:-\\r-name:"
set timeout 600
set openmode active
dial
(ppp.linkup)
MYADDR:
delete ALL
add 0 0 HISADDR
I rewrote ppp.conf from scratch (or rather, from a recent version of
ppp.conf.sample):
default:
allow user finrod
alias enable yes
set log Phase Chat Connect Carrier LCP IPCP CCP tun command
set device /dev/cuaa0
set speed 115200
set ctsrts on
deny lqr
set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \"\" AT OK-AT-OK ATE1Q0 OK \\dATDT\\T TIMEOUT 40 CONNECT"
usit:
set phone 22596790
accept pap
set login
set authname undisclosed
set authkey undisclosed
set timeout 120
set ifaddr 0 0
dial
--
Noone else has a .sig like this one.
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?xzpiumg97ee.fsf>
