Ok, I think I figured out what's causing it, but I don't know how to stop it:
I caught this in the syslog before it rebooted (IP addresses have been masked out.)
Code:
Mar 7 04:52:41 udhcpc[138]: Lease of 68.xxx.xxx.xxx obtained, lease time 86400
Mar 7 04:52:41 dnsmasq[97]: read /etc/hosts - 5 addresses
Mar 7 04:52:41 dnsmasq[97]: read /etc/ethers - 3 addresses
Mar 7 04:52:41 dnsmasq[97]: reading /tmp/resolv.conf
Mar 7 04:52:41 dnsmasq[97]: using nameserver 68.yyy.yyy.yyy#53
Mar 7 04:52:41 dnsmasq[97]: using nameserver 68.yyy.yyy.yyy#53
Mar 7 04:52:41 dnsmasq[97]: using nameserver 68.yyy.yyy.yyy#53
Mar 7 04:52:41 dnsmasq[97]: using nameserver 192.zzz.zzz.zzz#53 for unqualified domains
Mar 7 04:52:41 dnsmasq[97]: using nameserver 192.zzz.zzz.zzz#53 for domain mycompany.com
Mar 7 04:52:43 pppd[342]: pppd 2.4.2 started by admin, uid 0
Mar 7 04:52:43 pppd[342]: Using interface ppp1
Mar 7 04:52:43 pppd[342]: Connect: ppp1 <--> /dev/pts/4
Mar 7 04:52:43 pptp[346]: anon log[main:pptp.c:267]: The synchronous pptp option is NOT activated
Mar 7 04:52:43 pptp[202]: anon log[ctrlp_rep:pptp_ctrl.c:251]: Sent control packet type is 7 'Outgoing-Call-Request'
Mar 7 04:52:43 pptp[202]: anon log[ctrlp_disp:pptp_ctrl.c:851]: Received Outgoing Call Reply.
Mar 7 04:52:43 pptp[202]: anon warn[ctrlp_disp:pptp_ctrl.c:863]: Unexpected(?)Outgoing Call Reply will be ignored.
Mar 7 04:52:43 dhcp client: renew IP : 68.xxx.xxx.xxx from 68.xxx.xxx.1
Mar 7 04:52:51 ntp client: Synchronizing time with time.nist.gov ...
Mar 7 04:53:16 pppd[342]: LCP: timeout sending Config-Requests
Mar 7 04:53:16 pppd[342]: Connection terminated.
Mar 7 04:53:16 pppd[342]: Using interface ppp1
Mar 7 04:53:16 pppd[342]: Connect: ppp1 <--> /dev/pts/5
It keeps repeating like this up through /dev/pts/42 when it finally runs out of memory, kills init, and reboots.
So whenever it renews my DHCP lease for the WAN, it fires off pppd again for some reason on ppp1 (my VPN connection is using ppp0).
I need to suppress this behavior, which I think is caused by the script /tmp/udhcpc, which points to /sbin/rc. I'm still trying to download the code to see what exactly it is trying to do in this "script" (besides restart dnsmasq.)