Project

General

Profile

Bug #251

tvheadend segmentation fault upon automatic discovery

Added by Itai Bar-Haim - over 14 years ago. Updated over 12 years ago.

Status:
Invalid
Priority:
High
Assignee:
Category:
DVB
Target version:
Start date:
Due date:
% Done:

0%

Estimated time:
Found in version:
unknown
Affected Versions:

Description

Log:

[INFO]:dvb: Found adapter /dev/dvb/adapter0 (Siano Mobile Digital MDTV Receiver) via USB (480 Mbit/s)
[DEBUG]:dvb: Add service "_dev_dvb_adapter0_Siano_Mobile_Digital_MDTV_Receiver538000000_0020" on "Harashut Hashnia: 538,000 kHz"
[DEBUG]:dvb: Add service "_dev_dvb_adapter0_Siano_Mobile_Digital_MDTV_Receiver538000000_0003" on "Harashut Hashnia: 538,000 kHz"
[DEBUG]:dvb: Add service "_dev_dvb_adapter0_Siano_Mobile_Digital_MDTV_Receiver538000000_0002" on "Harashut Hashnia: 538,000 kHz"
[DEBUG]:dvb: Add service "_dev_dvb_adapter0_Siano_Mobile_Digital_MDTV_Receiver538000000_0005" on "Harashut Hashnia: 538,000 kHz"
[DEBUG]:dvb: Add service "_dev_dvb_adapter0_Siano_Mobile_Digital_MDTV_Receiver538000000_0004" on "Harashut Hashnia: 538,000 kHz"
[DEBUG]:dvb: Add service "_dev_dvb_adapter0_Siano_Mobile_Digital_MDTV_Receiver538000000_0015" on "Harashut Hashnia: 538,000 kHz"
[DEBUG]:dvb: Add service "_dev_dvb_adapter0_Siano_Mobile_Digital_MDTV_Receiver538000000_0001" on "Harashut Hashnia: 538,000 kHz"
[DEBUG]:dvb: "/dev/dvb/adapter0" tuning to "Harashut Hashnia: 538,000 kHz" (Initial autoscan)
[WARNING]:dvr: Output directory for video recording is not yet configured. Defaulting to to "/home/itaibh/Videos". This can be changed from the web user interface.
[INFO]:CSA: Using SSE2 128bit parallel descrambling
[NOTICE]:START: HTS Tvheadend version 2.11 started, running as PID:20398 UID:1000 GID:1000, settings located in '/home/itaibh/.hts/tvheadend'
[DEBUG]:AVAHI: Adding service 'Tvheadend'
[INFO]:AVAHI: Service 'Tvheadend' successfully established.
[DEBUG]:dvb: "Harashut Hashnia: 538,000 kHz" on adapter "Siano Mobile Digital MDTV Receiver", status changed to Bursty FEC
[DEBUG]:dvb: "Harashut Hashnia: 538,000 kHz" on adapter "Siano Mobile Digital MDTV Receiver", status changed to Constant FEC
[DEBUG]:dvb: "Harashut Hashnia: 538,000 kHz" on adapter "Siano Mobile Digital MDTV Receiver", status changed to No signal
[DEBUG]:dvb: "Harashut Hashnia: 538,000 kHz" on adapter "Siano Mobile Digital MDTV Receiver", status changed to Constant FEC
[DEBUG]:dvb: "Harashut Hashnia: 538,000 kHz" on adapter "Siano Mobile Digital MDTV Receiver", status changed to No signal
[DEBUG]:dvb: "Harashut Hashnia: 538,000 kHz" on adapter "Siano Mobile Digital MDTV Receiver", status changed to Constant FEC
[NOTICE]:dvb: New mux "14,227 kHz" created by automatic mux discovery
Segmentation fault


Files

utils.c (7.79 KB) utils.c dhead 666, 2011-08-07 02:44
dvbsnoop.20120105.0029.log (166 KB) dvbsnoop.20120105.0029.log dhead 666, 2012-01-05 00:59

History

#1

Updated by Andreas Smas over 14 years ago

This is way to little info. I need a GDB backtrace

#2

Updated by Itai Bar-Haim - about 14 years ago

itaibh@itaibh-desktop:~/tvheadend/build.Linux$ gdb tvheadend
GNU gdb (GDB) 7.1-ubuntu
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/&gt;...
Reading symbols from /home/itaibh/tvheadend/build.Linux/tvheadend...done.
(gdb) run
Starting program: /home/itaibh/tvheadend/build.Linux/tvheadend
[Thread debugging using libthread_db enabled]
[New Thread 0x7ffff60dc710 (LWP 2616)]
[New Thread 0x7ffff58db710 (LWP 2617)]
[New Thread 0x7ffff50da710 (LWP 2618)]
[INFO]:dvb: Found adapter /dev/dvb/adapter0 (Siano Mobile Digital MDTV Receiver) via USB (480 Mbit/s)
tcp_server: epoll_wait: Interrupted system call
[New Thread 0x7ffff48d9710 (LWP 2620)]
tcp_server: epoll_wait: Interrupted system call
[New Thread 0x7fffeffff710 (LWP 2623)]
tcp_server: epoll_wait: Interrupted system call
tcp_server: epoll_wait: Interrupted system call
tcp_server: epoll_wait: Interrupted system call
tcp_server: epoll_wait: Interrupted system call
tcp_server: epoll_wait: Interrupted system call
tcp_server: epoll_wait: Interrupted system call
tcp_server: epoll_wait: Interrupted system call
tcp_server: epoll_wait: Interrupted system call
tcp_server: epoll_wait: Interrupted system call
tcp_server: epoll_wait: Interrupted system call
tcp_server: epoll_wait: Interrupted system call
tcp_server: epoll_wait: Interrupted system call
tcp_server: epoll_wait: Interrupted system call
tcp_server: epoll_wait: Interrupted system call
tcp_server: epoll_wait: Interrupted system call
tcp_server: epoll_wait: Interrupted system call
tcp_server: epoll_wait: Interrupted system call
tcp_server: epoll_wait: Interrupted system call
tcp_server: epoll_wait: Interrupted system call
tcp_server: epoll_wait: Interrupted system call
tcp_server: epoll_wait: Interrupted system call
tcp_server: epoll_wait: Interrupted system call
tcp_server: epoll_wait: Interrupted system call
tcp_server: epoll_wait: Interrupted system call
tcp_server: epoll_wait: Interrupted system call
tcp_server: epoll_wait: Interrupted system call
tcp_server: epoll_wait: Interrupted system call
[New Thread 0x7fffeddd3710 (LWP 2624)]
tcp_server: epoll_wait: Interrupted system call
[INFO]:dvr: Creating new configuration _
[WARNING]:dvr: Output directory for video recording is not yet configured for DVR configuration "". Defaulting to to "/home/itaibh/Videos". This can be changed from the web user interface.
[INFO]:CSA: Using SSE2 128bit parallel descrambling
[New Thread 0x7fffed5d2710 (LWP 2625)]
tcp_server: epoll_wait: Interrupted system call
[NOTICE]:START: HTS Tvheadend version SVN-r5512 started, running as PID:2613 UID:1000 GID:1000, settings located in '/home/itaibh/.hts/tvheadend'
[INFO]:AVAHI: Service 'Tvheadend' successfully established.
[NOTICE]:dvb: New mux "14,227 kHz" created by automatic mux discovery

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffeffff710 (LWP 2623)]
0x00007ffff6bda052 in ?? () from /lib/libc.so.6
(gdb) bt
#0 0x00007ffff6bda052 in ?? () from /lib/libc.so.6
#1 0x00007ffff6bd9d76 in strdup () from /lib/libc.so.6
#2 0x000000000041d45b in htsmsg_add_str (msg=<value optimized out>,
name=<value optimized out>, str=0x0)
at /home/itaibh/tvheadend/src/htsmsg.c:219
#3 0x000000000043c1af in dvb_mux_save (tdmi=0x712d50)
at /home/itaibh/tvheadend/src/dvb/dvb_multiplex.c:507
#4 0x000000000043dce2 in dvb_mux_create (tda=0x691960,
dmc=<value optimized out>, tsid=1, network=<value optimized out>,
source=<value optimized out>, enabled=<value optimized out>,
initialscan=1, identifier=0x0)
at /home/itaibh/tvheadend/src/dvb/dvb_multiplex.c:274
#5 0x000000000043911c in dvb_table_sat_delivery (tdmi=0x692c40,
ptr=0x7fffefffddf4 "C\v\001B'9", len=<value optimized out>,
tableid=<value optimized out>, opaque=<value optimized out>)
at /home/itaibh/tvheadend/src/dvb/dvb_tables.c:1032
#6 dvb_nit_callback (tdmi=0x692c40, ptr=0x7fffefffddf4 "C\v\001B'9",
len=<value optimized out>, tableid=<value optimized out>,
opaque=<value optimized out>)
at /home/itaibh/tvheadend/src/dvb/dvb_tables.c:1166
#7 0x000000000043a3dd in dvb_proc_table (aux=0x691960)
at /home/itaibh/tvheadend/src/dvb/dvb_tables.c:221
#8 dvb_table_input (aux=0x691960)
---Type <return> to continue, or q <return> to quit---
at /home/itaibh/tvheadend/src/dvb/dvb_tables.c:265
#9 0x00007ffff71639ca in start_thread () from /lib/libpthread.so.0
#10 0x00007ffff6c3d70d in clone () from /lib/libc.so.6
#11 0x0000000000000000 in ?? ()

#3

Updated by Andreas Smas almost 14 years ago

  • Category changed from General to DVB
  • Target version set to 3.0

Seems this is caused by misconfigured DVB muxes that's broadcasted..

#4

Updated by Andreas Smas almost 14 years ago

  • Status changed from New to Accepted
#5

Updated by dhead 666 over 13 years ago

Any news?

This bug makes Tvheadend unuseable at all in Israel.
Here is my full TS http://www.2shared.com/file/9QZtoJrZ/test.html.

Stream info by StreamGuru:

Parsing stream information
TSID: 0002
NID: 1111
ONID: FF22
Network Name: Harashut Hashnia
Terrestrial delivery system descriptor
centre_frequency: 514000000 Hz
bandwidth: 8 Mhz
priority: HP (high priority)
Time_Slicing_indicator: 0
MPE-FEC_indicator: 0
constellation: 16-QAM
hierarchy_information: non-hierarchical, native interleaver
code_rate-HP_stream: 2/3
code_rate-LP_stream: 2/3
guard_interval: 1/4
transmission_mode: 8k mode
other_frequency_flag: one or more other frequencies in use
Frequency list descriptor
centre_frequency: 514000000 Hz
centre_frequency: 538000000 Hz

#6

Updated by dhead 666 over 13 years ago

A little update.
Iv'e got MuMuDVB up and running and configured with no problems at all.
So i can conclude thats definitely there is a bug within tvheadend.
I am more than eager to help fixing this issue.

#7

Updated by dhead 666 over 13 years ago

I thought the dev's may find this info useful.
I tried using vdr, and got allot of errors about h264.
So i compiled last version of ffmpeg library and xine library and tried again with no luck.
Does Tvheadend use the ffmpeg library? maybe the fault within the h264 encoding within the stream.

#8

Updated by dhead 666 over 13 years ago

Link to my TS stream deleted, here's a new link http://www.2shared.com/uploadComplete.jsp?sId=2OrqxTgBasM8sVCL
It looks that mplayer can't recognize the video in the stream only audio.

#9

Updated by dhead 666 over 13 years ago

-Jack Ass wrote:

I thought the dev's may find this info useful.
I tried using vdr, and got allot of errors about h264.
So i compiled last version of ffmpeg library and xine library and tried again with no luck.
Does Tvheadend use the ffmpeg library? maybe the fault within the h264 encoding within the stream.

-

#10

Updated by dhead 666 over 13 years ago

Sorry for the previous post.
I think I've found the problem.
I've done allot of reading and found that the audio tracks should have PES PID c0.
But the audio tracks on the stream have PES PID c1.
Info from dvbsnoop

Sync-Byte 0x47: 71 (0x47)
Transport_error_indicator: 0 (0x00) [= packet ok]
Payload_unit_start_indicator: 1 (0x01) [= Packet data starts]
transport_priority: 0 (0x00)
PID: 2562 (0x0a02) [= ]
transport_scrambling_control: 0 (0x00) [= No scrambling of TS packet
payload]
adaptation_field_control: 1 (0x01) [= no adaptation_field, payload only]
continuity_counter: 12 (0x0c) [= (sequence ok)]
Payload: (len: 184)

PES-stream: 193 (0xc1) [= ISO/IEC 13818-3 or ISO/IEC 11172-3

audio stream]
Data-Bytes:
0000: 00 00 01 c1 06 39 84 80 05 2b 98 37 78 71 56 e0
.....9...+.7xqV.
0010: f8 20 00 13 08 00 07 88 09 d1 ac 22 a4 b9 20 68 .
.........".. h
0020: 95 22 05 56 f6 df 2e 19 c4 44 54 ca e1 0a ba 4a
.".V.....DT....J
0030: 90 42 a4 a8 1f d2 a9 55 e5 15 a3 f8 1c 4d 7b f0
.B.....U.....M{.
0040: 3f fa 9e 2f 0a 3d bd 81 46 17 dc 7c 9f 16 32 ef
?../.=..F..|..2.
0050: 71 4d a2 b6 6b 5f 12 e4 ad 20 83 7b 24 d9 b8 56
qM..k_... .{$..V
0060: b7 fc 28 f2 7c de 67 33 ef ea 0e fd 9e bd c3 d6
..(.|.g3........
0070: c8 41 b5 46 a5 42 4e 57 69 ae ae d5 f5 7d 50 95
.A.F.BNWi....}P.
0080: 95 9e 3c ed 93 84 56 3a 3d 58 12 54 cc 9f 06 85
..<...V:=X.T....
0090: 3a c6 22 be da aa dd 6c 71 e7 72 6b b7 0a cf cb
:."....lq.rk....
00a0: ea cc 63 3d 28 9a fa 55 2b c0 66 ae af 66 2a f8
..c=(..U+.f..f*.
00b0: 21 30 2a a1 28 61 1b eb !0*.(a..
========================================================

#11

Updated by dhead 666 over 13 years ago

I've been experimenting with tvheadend code, changing every c0 to c1 (where it refers to the audio stream)
and got tvheadend working.
(I think the main fix was when editing utils.c)
From my understanding it's seems that the standard do enable the audio to have PES PID C1.
http://everything.explained.at/Packetized_Elementary_Stream/

I'm not a programmer so i can't add a patch.
Please apply a fix.

#12

Updated by dhead 666 over 13 years ago

Adding 0x8b27c13c to the crc table in utils.c fixed the issue.
This is the only change that is needed for live tv (I'm not sure why)
I'm getting "Continuity counter error" i think it's low reception issue.
Recording isn't possible.

#13

Updated by dhead 666 over 13 years ago

I've suspected that vlc on windows doesn't save the original ts as it is but
remove errors from the stream, so i can't use it to analyze the problem.
So i've used tsreader to analyze and save the ts and found allot of ts continuity errors.
I think this mpg would be usefull.
http://www.2shared.com/video/mjpw6vqE/test12.html

#14

Updated by Phill Lavender about 13 years ago

Hi,
Looking at the code for this it appears that your dvb-t provider is sending 'satellite delivery system (0x43)' dvb descriptors in the terrestrial NITs, which tvheadend is trying to parse and relate to your adapter (which isnt satellite!). Can you take a nit table dump with dvbsnoop and confirm what descriptors are being used in it?
We can the try to think of a way of adapting the code.
Phill

#15

Updated by Phill Lavender about 13 years ago

For now try switching off the auto detect mux update flag in the dvb adapter config pages...lets see if that at least bypasses tge issue

#16

Updated by Kobi k almost 13 years ago

I tried switching off detect mux update flag and I still can't play the stream.
I would gladly provide more info, but please be more specific on the commands you would like me to run as I'm really clueless in this area.

#17

Updated by dhead 666 almost 13 years ago

Hi Phill.

Switching off mux update did solved the issue.
For the first time tvheadend doesn't crushes immediately after setting the mux.
I was able to watch the stream within xbmc.

I've added nit table dump using "dvbsnoop 0x10".

#18

Updated by Adam Sutton over 12 years ago

  • Status changed from Accepted to Invalid
  • Found in version set to unknown

This has actually been recently re-reported, so we'll handle it there. See #1030.

Closing.

Also available in: Atom PDF