Bug 14145

Summary: PPP userland/client throws core
Product: Base System Reporter: Klaus-Juergen Wolf <kjwolf>
Component: binAssignee: freebsd-bugs (Nobody) <bugs>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: 3.3-RELEASE   
Hardware: Any   
OS: Any   

Description Klaus-Juergen Wolf 1999-10-05 18:40:00 UTC
Under certain circumstances (it appears, high I/O load), PPP
userland/client unpredictably throws a core. That didn't happen
with 3.2-RELEASE and, as I remember, neither with 3.3-RC. (I have
updated the "Modem"'s firmware in the meantime, but that doesn't
appear to be the real reason, since it works under 3.2-REL like
it did before.)

Fix: 

Unknown. Brian has been informed, but I lack of the ability to supply
the data he wants.
How-To-Repeat: 
Under certain circumstances (empty cache, empty proxy), browsing
http://www.jpc.de/ has seemed to be a reliable method to produce a
PPP's core dump, while there were several I/O-intensive processes in
the background (load above 1.8). It's a site with very many objects are
to be loaded at the same time.
Comment 1 Ruslan Ermilov 1999-10-05 20:19:45 UTC
On Tue, Oct 05, 1999 at 07:37:02PM +0200, Klaus-Juergen Wolf wrote:
> 
[...]
> Under certain circumstances (it appears, high I/O load), PPP
> userland/client unpredictably throws a core. That didn't happen
> with 3.2-RELEASE and, as I remember, neither with 3.3-RC. (I have
> updated the "Modem"'s firmware in the meantime, but that doesn't
> appear to be the real reason, since it works under 3.2-REL like
> it did before.)
> 
[...]
> 	
> Unknown. Brian has been informed, but I lack of the ability to supply
> the data he wants.
> 
Yeah, this happened to me too:

Oct  5 10:28:08 relay /kernel: pid 23005 (ppp), uid 0: exited on signal 10 (core dumped)
Oct  5 20:07:28 relay /kernel: pid 77580 (ppp), uid 0: exited on signal 10 (core dumped)

I have compiled `ppp' with debug symbols, and will send a backtrace on the
next core.

Anything else, Brian?

-- 
Ruslan Ermilov		Sysadmin and DBA of the
ru@ucb.crimea.ua	United Commercial Bank,
ru@FreeBSD.org		FreeBSD committer,
+380.652.247.647	Simferopol, Ukraine

http://www.FreeBSD.org	The Power To Serve
http://www.oracle.com	Enabling The Information Age
Comment 2 Brian Somers 1999-10-06 05:07:56 UTC
[.....]
> Yeah, this happened to me too:
> 
> Oct  5 10:28:08 relay /kernel: pid 23005 (ppp), uid 0: exited on signal 10 (core dumped)
> Oct  5 20:07:28 relay /kernel: pid 77580 (ppp), uid 0: exited on signal 10 (core dumped)
> 
> I have compiled `ppp' with debug symbols, and will send a backtrace on the
> next core.
> 
> Anything else, Brian?

Some patches ?  ;^1

Seriously, I believe there's a bug in the way VJ packets are handled 
where ppp ends up scribbling over the return address on the stack.  
Once the deed has happened, there's very little information left....

What I think I really need is a way of actually reproducing the 
problem.  It's never happened to me, but it's been happening to 
people for years.

I think the only way to catch something like this is to get the 
compiler to put the function return address in read-only memory so 
that a stack-scribble will produce a core when it happens rather than 
after the fact....  Do you know if gcc is capable of doing this ?  Do 
you know of any better ways of tackling the problem ?

> -- 
> Ruslan Ermilov		Sysadmin and DBA of the
> ru@ucb.crimea.ua	United Commercial Bank,
> ru@FreeBSD.org		FreeBSD committer,
> +380.652.247.647	Simferopol, Ukraine
> 
> http://www.FreeBSD.org	The Power To Serve
> http://www.oracle.com	Enabling The Information Age

Cheers.

-- 
Brian <brian@Awfulhak.org>                        <brian@FreeBSD.org>
      <http://www.Awfulhak.org>                   <brian@OpenBSD.org>
Don't _EVER_ lose your sense of humour !          <brian@FreeBSD.org.uk>
Comment 3 Brian Somers freebsd_committer freebsd_triage 1999-10-07 08:32:27 UTC
State Changed
From-To: open->closed

Fixed in -current.  I'll MFC as soon as Klaus-Juergen confirms it's working ok. 
Comment 4 Brian Somers freebsd_committer freebsd_triage 1999-10-07 08:34:12 UTC
State Changed
From-To: closed->open

Doh!  Wrong PR !  I was thinking ``that isn't ru@'s name'' ! 
Comment 5 Brian Somers freebsd_committer freebsd_triage 1999-10-16 11:11:10 UTC
State Changed
From-To: open->closed

Fixed in -current with *lots* of help from ru. 
Will MFC soon.