Re: Regression since 2.6.25 kernel: Crash of userspace program leaves DVB device unusable

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

 



On Mon, 2009-01-19 at 13:37 +1000, Brendon Higgins wrote:
> Hi,
> 
> I wrote to linux-dvb (2009-01-03 12:00 pm):
> > I've been coming up against a problem that seems to be with the DVB drivers
> > that occurs when a program using them, usually VDR in my case, terminates
> > uncleanly (segfault, general protection fault). Linux 2.6.25 doesn't have
> > this problem, but 2.6.26, 2.6.27, and 2.6.28 do, though 2.6.28 manifests
> > slightly differently to the others. I'll focus on what 2.6.28 does. I have
> > a DViCO FusionHDTV DVB-T Plus, running on an amd64 Debian Testing (mostly)
> > dual-core machine.
> >
> > After VDR crashes it attemps to restart itself. This was fine on 2.6.25,
> > but on later kernels the crash seems to leave the device in some unusable
> > state, where no program can subsequently use it - the device files
> > (/dev/dvb) no longer exist. (In 2.6.2[67], the files existed, but accessing
> > /dev/dvb/adapter0/dvr0 resulted in "No such device".) I had figured out
> > that in order to get the device working again it is necessary to "rmmod
> > cx88_dvb cx8802; modprobe cx88_dvb". This worked in 2.6.2[67] without
> > trouble, but in 2.6.28, it's as if the cx88_dvb module gets lost somehow.
> > It doesn't appear in lsmod, however:
> > phi:~# modprobe cx88_dvb
> > FATAL: Error inserting cx88_dvb
> > (/lib/modules/2.6.28/kernel/drivers/media/video/cx88/cx88-dvb.ko): No such
> > device
> > phi:~# rmmod cx88_dvb cx8802
> > ERROR: Module cx88_dvb does not exist in /proc/modules
> > phi:~# modprobe cx88_dvb
> >
> > Note that probing it works only *after* cx8802 was unloaded. As before, now
> > the device is accessible.
> >
> > So it seems something is wrong in the cx8802 module. Something is not being
> > cleaned up after a userspace program crashes while using it, leaving the
> > DVB system in a broken state.
> >
> > I'd very much like this to not be the case, since on my system a VDR crash
> > is somewhat inevitable, and the automatic restart *was* very handy, back in
> > 2.6.25.
> 
> Deafening silence. Does nobody have a clue?

Well, you have the clues actually; they're in your log files.

At the time of the crash, what shows up in dmesg, /var/log/messages, and
any log that VDR creates?  

Since modprobe after the crash failed with -ENODEV ["...cx88-dvb.ko): No
such device], a quick grep through cx88-dvb.c in the source shows that
that can only happen in a few places.  It should be easy to spot in the
logs.  Adding an

	options cx88_dvb debug=1

line to /etc/modprobe.conf would make things easier to see in the logs
as well.

Also what is the source of your cx88 driver: Debian Testing or the
v4l-dvb repo?


> Or care?

The issue is usually not one of caring, but one of having
time, the specific hardware, and ability to reporduce the problem.

Regards,
Andy


>  I just noticed I posted 
> to the linux-dvb list which has been deprecated, so I'm quoting it here in 
> its entirety in case relevent people missed it. Is there anything else I can 
> do?
> 
> Peace,
> Brendon

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux