Skip site navigation (1)Skip section navigation (2)
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>