> 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. [Still no DVB data being written to disk] <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); 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 (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. Cheers, Adam. _______________________________________________ linux-dvb mailing list linux-dvb@xxxxxxxxxxx http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb