Re: dvbstream reliability issues?

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

 



On Friday 21 March 2008 09:52:01 Nico Sabbi wrote:
> On Friday 21 March 2008 01:54:13 Adam Nielsen wrote:
> > > I use it for hours, even forgetting that it's recording,
> > > without segfaults.
> > > Try to run it under gdb (after having compiled it with -g) and
> > > see with "bt" where it segfaults, or bugs can't be fixed
> >
> > What's your reception like?  This particular card (DVico Fusion
> > HDTV) seems to be somewhat less sensitive compared to my other
> > cards, and I think getting corrupted data coming in is what
> > breaks dvbstream.  The recording itself is full of blips as if
> > the reception is quite bad.
> >
> > When the recording just stops (no crash) gdb doesn't seem to
> > reveal anything amazing:
> >
> > <Ctrl+C>
> > Program received signal SIGINT, Interrupt.
> > 0xffffe410 in __kernel_vsyscall ()
> > (gdb) bt
> > #0  0xffffe410 in __kernel_vsyscall ()
> > #1  0xb7ebf77b in poll () from /lib/libc.so.6
> > #2  0x0804aeeb in main (argc=12, argv=0xbfe38484) at
> > dvbstream.c:1516 (gdb) fr 2
> > #2  0x0804aeeb in main (argc=12, argv=0xbfe38484) at
> > dvbstream.c:1516 1516            poll(pfds,1,500);
> > (gdb) cont
> > Continuing.
>
> poll() is used because the dvr device is opened in O_NONBLOCK mode,
> that can be replaced with the usual blocking mode (although if it
> makes a difference it's probably an indicator of a bug in the
> driver)
>
> > If I kill dvbstream and reload it then all is fine, so it seems
> > that maybe the card loses sync with the signal, and either
> > dvbstream needs to retune the card, or perhaps the kernel driver
> > should do that automatically.
> >
> > When it crashes it looks like this:
> >
> >
> > Program received signal SIGSEGV, Segmentation fault.
> > 0xb7ee153c in memcpy () from /lib/libc.so.6
> > (gdb) bt
> > #0  0xb7ee153c in memcpy () from /lib/libc.so.6
> > #1  0x08049714 in collect_section (section=0x815bef0, pusi=<value
> >      optimized out>, buf=0x3ffff59e <Address 0x3ffff59e out of
> > bounds>, len=3221135360) at dvbstream.c:579
> > #2  0x0804b21b in main (argc=12, argv=0xbffe8084) at
> > dvbstream.c:683
>
> len is so big?? this must be an actual bug
>
> > (gdb) fr 1
> > #1  0x08049714 in collect_section (section=0x815bef0, pusi=<value
> >      optimized out>, buf=0x3ffff59e <Address 0x3ffff59e out of
> > bounds>, len=3221135360) at dvbstream.c:579
> > 579       memcpy(&(section->buf[section->pos]), buf, len);
> >
> > (gdb) fr 2
> > #2  0x0804b21b in main (argc=12, argv=0xbffe8084) at
> > dvbstream.c:683 683       skip = collect_section(&(pmt->section),
> > pusi, b, l);
> >
> >
> > It looks like the default CFLAGS do some optimisation - let me
> > know if you need me to recompile it without this.
>
> fortunately a peaceful easter of coding is coming :)
>
should be fixed in cvs

_______________________________________________
linux-dvb mailing list
linux-dvb@xxxxxxxxxxx
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

[Index of Archives]     [Linux Media]     [Video 4 Linux]     [Asterisk]     [Samba]     [Xorg]     [Xfree86]     [Linux USB]

  Powered by Linux