Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: crash when disconnecting USB device



On Sat, 21 Jun 2008 17:28:30 +0200
Matthias Drochner <M.Drochner%fz-juelich.de@localhost> wrote:

> 
> j+nbsd%2008.salmi.ch@localhost said:
> > db{0}>
> > config_deactivate(5,1,3222dca4,0,c04c11a0,1,cc22dc7c,c02eb601,c2
> > 068f00,5) at netbsd:config_deactivate+0x14
> > config_deactivate(c2068f00,5,0,0,cc22dc8c,cc22dca4,0,c1b17500,1,4)
> > at netbsd:config_deactivate+0x49
> > config_detach(c2068f00,1,c1a66c1c,c038959c,cacc7be0,c1a631b0,c1a66c1c,
> > 10,c1a631b0,c1b17500) at netbsd:config_detach+0xa1 
> 
> I don't see problems with umass devices like a memory stick.
> Also the stacktrace doesn't make much sense because
> config_deactivate() can't recurse into itself.
> So I'd suspect some memory corruption, a guess would be in the umodem
> code because this is something I can't test.
> 
> Could you put some printf()s into config_deactivate(), or single-step
> in ddb, so see what really happens?
> 
I've add sufficient similar crash problems in the past that I use
drvctl.

More precisely -- I have an EVDO CardBus card that shows up as a USB
stack -- ucom, umodem, etc., over CardBus.  Fairly frequently, the
system would crash when I removed the card.  Detaching the ohci
controllers before removal solved that.

Early this year, when I'd moved to a new machine running amd64, I got
very frequent, quite reproducible, crashes on removal regardless.  It
appeared to be a timing issue with the end of the last I/O operation
and its buffer.  I was planning on working on it a month or two ago,
but the problem has gone away.  I don't know if it's really gone or if
other things have just changed the timing so the conditions are much
rarer.


                --Steve Bellovin, http://www.cs.columbia.edu/~smb


Home | Main Index | Thread Index | Old Index