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>