Project

General

Profile

Bug #4103

Segfault when tuning service

Added by Cyber Jacob almost 8 years ago. Updated almost 8 years ago.

Status:
Fixed
Priority:
Normal
Assignee:
-
Category:
Crashes
Target version:
-
Start date:
2016-11-28
Due date:
% Done:

100%

Estimated time:
Found in version:
4.1-2345~g04ff649
Affected Versions:

Description

When tuning to a service, TVH crashes and exits with a segfault signal

GDB Output:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffacfe1700 (LWP 5199)]
0x00005555556f1f38 in access_update (a=a@entry=0x7fff9c0022f0, ae=ae@entry=0x555556ae93b0) at src/access.c:564
564         if(pro && pro->pro_name[0] != '\0') {
Missing separate debuginfos, use: debuginfo-install avahi-libs-0.6.31-15.el7_2.1.x86_64 dbus-libs-1.6.12-14.el7_2.x86_64 glibc-2.17-106.el7_2.8.x86_64 keyutils-libs-1.5.8-3.el7.x86_64 krb5-libs-1.13.2-12.el7_2.x86_64 libcom_err-1.42.9-7.el7.x86_64 libgcc-4.8.5-4.el7.x86_64 libselinux-2.2.2-6.el7.x86_64 libstdc++-4.8.5-4.el7.x86_64 pcre-8.32-15.el7_2.1.x86_64 uriparser-0.7.5-9.el7.x86_64 xz-libs-5.1.2-12alpha.el7.x86_64 zlib-1.2.7-15.el7.x86_64

Register dump:

rax            0x0      0
rbx            0x555556e48e50   93825018400336
rcx            0xffffffff       4294967295
rdx            0x4      4
rsi            0x555556ae93b0   93825014862768
rdi            0x555556aa1070   93825014567024
rbp            0x7fff9c0022f0   0x7fff9c0022f0
rsp            0x7fffacfe0690   0x7fffacfe0690
r8             0x2      2
r9             0x0      0
r10            0x7fffacfe064c   140736095716940
r11            0x7ffff5561fb0   140737309450160
r12            0x555556ae93b0   93825014862768
r13            0x7fffacfe06a0   140736095717024
r14            0x7fffd0000900   140736683051264
r15            0x555556b21760   93825015093088
rip            0x5555556f1f38   0x5555556f1f38 <access_update+152>
eflags         0x10202  [ IF RF ]
cs             0x33     51
ss             0x2b     43
ds             0x0      0
es             0x0      0
fs             0x0      0
gs             0x0      0

Code dissasembly

Dump of assembler code from 0x5555556f1f18 to 0x5555556f1f58:
   0x00005555556f1f18 <access_update+120>:      lea    0x10(%rsp),%ebp
   0x00005555556f1f1c <access_update+124>:      test   %rbx,%rbx
   0x00005555556f1f1f <access_update+127>:      je     0x5555556f1f64 <access_update+196>
   0x00005555556f1f21 <access_update+129>:      nopl   0x0(%rax)
   0x00005555556f1f28 <access_update+136>:      mov    0x28(%rbx),%rdi
   0x00005555556f1f2c <access_update+140>:      test   %rdi,%rdi
   0x00005555556f1f2f <access_update+143>:      je     0x5555556f1f5c <access_update+188>
   0x00005555556f1f31 <access_update+145>:      mov    0xc0(%rdi),%rax
=> 0x00005555556f1f38 <access_update+152>:      cmpb   $0x0,(%rax)
   0x00005555556f1f3b <access_update+155>:      je     0x5555556f1f5c <access_update+188>
   0x00005555556f1f3d <access_update+157>:      cmpq   $0x0,0x28(%rbp)
   0x00005555556f1f42 <access_update+162>:      je     0x5555556f21d8 <access_update+824>
   0x00005555556f1f48 <access_update+168>:      mov    %r13,%rsi
   0x00005555556f1f4b <access_update+171>:      callq  0x5555556e92d0 <idnode_uuid_as_str>
   0x00005555556f1f50 <access_update+176>:      mov    0x28(%rbp),%rdi
   0x00005555556f1f54 <access_update+180>:      mov    %rax,%rsi
   0x00005555556f1f57 <access_update+183>:      callq  0x555555720ac0 <htsmsg_add_str_exclusive>
End of assembler dump.

Full backtrace
#0  0x00005555556f1f38 in access_update (a=a@entry=0x7fff9c0022f0, ae=ae@entry=0x555556ae93b0) at src/access.c:564
        pro = 0x555556aa1070
        ilm = 0x555556e48e50
        s = <optimized out>
        ubuf = "\240\a\376\254\377\177\000\000\000\t\000\320\377\177\000\000`\027\262VUU\000\000l\022F\365\377\177\000\000\240" 
#1  0x00005555556f4314 in access_get (src=0x7fffd0000900, username=username@entry=0x7fff9c0020a1 "room", verify=verify@entry=0x555555717900 <htsp_verify_callback>, aux=aux@entry=0x7fffacfe07a0) at src/access.c:688
        a = 0x7fff9c0022f0
        ae = 0x555556ae93b0
        nouser = 0
#2  0x000055555571b814 in htsp_authenticate (m=0x7fff9c0263a0, htsp=0x7fffacfe07f0) at src/htsp_server.c:2975
        username = 0x7fff9c0020a1 "room" 
        digest = 0x7fff9c00241c
        digestlen = 20
        privgain = 0
        vs = {digest = 0x7fff9c00241c "\360\326@\207\221\347\316\017\331\360\001iL榮\226\245\fX\003\b",
          challenge = 0x7fffacfe09c0 "\r\370pM\275\352`,|\027;ԁx\200\222̀\227%\334Z\254\r\354_\235~\025\257\363d\377\377\377\377\377\377\377\377\300\b"}
        rights = <optimized out>
#3  htsp_read_loop (htsp=0x7fffacfe07f0) at src/htsp_server.c:3119
        m = 0x7fff9c0263a0
        i = <optimized out>
        reply = 0x0
        r = <optimized out>
        method = <optimized out>
        tcp_id = 0x7fffd00008c0
#4  htsp_serve (fd=63, opaque=0x7fffd00008e8, source=<optimized out>, self=<optimized out>) at src/htsp_server.c:3291
        htsp = {htsp_link = {le_next = 0x0, le_prev = 0x555556819ce8 <htsp_connections>}, htsp_fd = 63, htsp_peer = 0x7fffd0000900, htsp_version = 23, htsp_logname = 0x7fff9c003410 "172.16.2.110 [ room | android-tvheadend (epg) ]",
          htsp_peername = 0x7fff9c001ea0 "172.16.2.110", htsp_username = 0x7fff9c0025f0 "room", htsp_clientname = 0x7fff9c002980 "android-tvheadend (epg)", htsp_language = 0x0, htsp_epg_window = 0, htsp_epg_lastupdate = 0,
          htsp_epg_timer = {mti_link = {le_next = 0x0, le_prev = 0x0}, mti_callback = 0x0, mti_opaque = 0x0, mti_expire = 0}, htsp_async_mode = 0, htsp_async_link = {le_next = 0x0, le_prev = 0x0}, htsp_writer_thread = 140736120899328,
          htsp_writer_run = 1, htsp_active_output_queues = {tqh_first = 0x0, tqh_last = 0x7fffacfe08a0}, htsp_out_mutex = {__data = {__lock = 0, __count = 0, __owner = 0, __nusers = 1, __kind = 0, __spins = 0, __list = {__prev = 0x0,
                __next = 0x0}}, __size = '\000' <repeats 12 times>, "\001", '\000' <repeats 26 times>, __align = 0}, htsp_out_cond = {cond = {__data = {__lock = 0, __futex = 3, __total_seq = 2, __wakeup_seq = 1, __woken_seq = 1,
                __mutex = 0x7fffacfe08b0, __nwaiters = 2, __broadcast_seq = 0},
              __size = "\000\000\000\000\003\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\260\b\376\254\377\177\000\000\002\000\000\000\000\000\000",
              __align = 12884901888}}, htsp_hmq_ctrl = {hmq_q = {tqh_first = 0x0, tqh_last = 0x7fffacfe0908}, hmq_link = {tqe_next = 0x0, tqe_prev = 0x7fffacfe08a0}, hmq_strict_prio = 0, hmq_length = 0, hmq_payload = 0, hmq_dead = 0},
          htsp_hmq_epg = {hmq_q = {tqh_first = 0x0, tqh_last = 0x7fffacfe0938}, hmq_link = {tqe_next = 0x0, tqe_prev = 0x0}, hmq_strict_prio = 0, hmq_length = 0, hmq_payload = 0, hmq_dead = 0}, htsp_hmq_qstatus = {hmq_q = {
              tqh_first = 0x0, tqh_last = 0x7fffacfe0968}, hmq_link = {tqe_next = 0x0, tqe_prev = 0x0}, hmq_strict_prio = 1, hmq_length = 0, hmq_payload = 0, hmq_dead = 0}, htsp_subscriptions = {lh_first = 0x0},
          htsp_dead_subscriptions = {lh_first = 0x0}, htsp_files = {lh_first = 0x0}, htsp_file_id = 0, htsp_granted_access = 0x7fff9c0020b0,
          htsp_challenge = "\r\370pM\275\352`,|\027;ԁx\200\222̀\227%\334Z\254\r\354_\235~\025\257\363d"}
        buf = "172.16.2.110\000\377\377\377p\023oUUU\000\000\000\000\000\024\000\000\000\000pfA\365\377\177\000\000\004\000\000\000\000\000\000\000\000" 
        s = <optimized out>
        hmq = <optimized out>
        hf = <optimized out>
#5  0x00005555556f5670 in tcp_server_start (aux=0x7fffd00008c0) at src/tcp.c:645
        tsl = 0x7fffd00008c0
        to = {tv_sec = 30, tv_usec = 0}
        val = 1
        c = 74 'J'
#6  0x00005555556f1452 in thread_wrapper (p=0x7fffd00014b0) at src/wrappers.c:159
        ts = 0x7fffd00014b0
        set = {__val = {16388, 0 <repeats 15 times>}}
        r = <optimized out>
#7  0x00007ffff62a1dc5 in start_thread () from /lib64/libpthread.so.0
No symbol table info available.
#8  0x00007ffff54d7ced in clone () from /lib64/libc.so.6
No symbol table info available.

History

#1

Updated by Jaroslav Kysela almost 8 years ago

  • Status changed from New to Fixed
  • % Done changed from 0 to 100

Applied in changeset commit:tvheadend|c09f7041b104a13b3146d6103cc02df7b97299a9.

Also available in: Atom PDF