Project

General

Profile

Tvheadendcrash » History » Version 1

Andreas Smas, 2010-08-19 14:46
initial

1 1 Andreas Smas
2
= Running in gdb to file a bug report =
3
4
This method is by far the best one as it yields most info. Especially if you have compiled the source yourself
5
6
First start:
7
{{{
8
$ gdb --args build.Linux/tvheadend -d
9
}}}
10
11
{{{
12
GNU gdb (GDB) 7.1-ubuntu
13
Copyright (C) 2010 Free Software Foundation, Inc.
14
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
15
This is free software: you are free to change and redistribute it.
16
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
17
and "show warranty" for details.
18
This GDB was configured as "i486-linux-gnu".
19
For bug reporting instructions, please see:
20
<http://www.gnu.org/software/gdb/bugs/>...
21
Reading symbols from /home/andoma/tvheadend/build.Linux/tvheadend...done.
22
}}}
23
24
{{{
25
(gdb) r
26
}}}
27
28
Eventually the program will crash. Then execute these three commands and
29
paste in the bug report
30
31
32
=== Register dump ===
33
{{{
34
(gdb) info reg
35
eax            0x0	0
36
ecx            0x10	16
37
edx            0x80cd818	135059480
38
ebx            0x8178d90	135761296
39
esp            0xb45ff140	0xb45ff140
40
ebp            0xb45ff168	0xb45ff168
41
esi            0x80f9f18	135241496
42
edi            0xb45ff220	-1268780512
43
eip            0x8057ec8	0x8057ec8 <subscription_unsubscribe+200>
44
eflags         0x10282	[ SF IF RF ]
45
cs             0x73	115
46
ss             0x7b	123
47
ds             0x7b	123
48
es             0x7b	123
49
fs             0x0	0
50
gs             0x33	51
51
}}}
52
53
54
=== Disassembly of code around the crash ===
55
{{{
56
(gdb) disassemble $pc-32,$pc+32
57
Dump of assembler code from 0x8057ea8 to 0x8057ee8:
58
   0x08057ea8 <subscription_unsubscribe+168>:	add    $0x24,%al
59
   0x08057eaa <subscription_unsubscribe+170>:	call   0x804a814 <free@plt>
60
   0x08057eaf <subscription_unsubscribe+175>:	mov    %ebx,(%esp)
61
   0x08057eb2 <subscription_unsubscribe+178>:	call   0x804a814 <free@plt>
62
   0x08057eb7 <subscription_unsubscribe+183>:	call   0x80579c0 <subscription_reschedule>
63
   0x08057ebc <subscription_unsubscribe+188>:	mov    0x80c8bc8,%eax
64
   0x08057ec1 <subscription_unsubscribe+193>:	lea    0x0(%esi,%eiz,1),%esi
65
=> 0x08057ec8 <subscription_unsubscribe+200>:	mov    (%eax),%edx
66
   0x08057eca <subscription_unsubscribe+202>:	test   %edx,%edx
67
   0x08057ecc <subscription_unsubscribe+204>:	je     0x8057ed4 <subscription_unsubscribe+212>
68
   0x08057ece <subscription_unsubscribe+206>:	mov    0x4(%eax),%ecx
69
   0x08057ed1 <subscription_unsubscribe+209>:	mov    %ecx,0x4(%edx)
70
   0x08057ed4 <subscription_unsubscribe+212>:	mov    0x4(%eax),%ecx
71
   0x08057ed7 <subscription_unsubscribe+215>:	mov    %edx,(%ecx)
72
   0x08057ed9 <subscription_unsubscribe+217>:	mov    (%eax),%eax
73
   0x08057edb <subscription_unsubscribe+219>:	jmp    0x8057ec8 <subscription_unsubscribe+200>
74
   0x08057edd <subscription_unsubscribe+221>:	mov    0x2c(%ebx),%eax
75
   0x08057ee0 <subscription_unsubscribe+224>:	movl   $0x8094ad9,0x8(%esp)
76
}}}
77
78
=== Full backtrace ===
79
{{{
80
(gdb) bt full
81
#0  subscription_unsubscribe (s=0x0) at /home/andoma/tvheadend/src/subscriptions.c:221
82
        t = 0x80f9f18
83
#1  0x08061609 in htsp_subscription_destroy (htsp=0xb45ff220, hs=0x81762b8) at /home/andoma/tvheadend/src/htsp.c:240
84
No locals.
85
#2  0x080616e9 in htsp_method_unsubscribe (htsp=0xb45ff220, in=0x817a468) at /home/andoma/tvheadend/src/htsp.c:806
86
        s = 0x81762b8
87
        sid = 1
88
#3  0x080632ac in htsp_read_loop (fd=38, opaque=0x0, source=0x80d5774, self=0x80d5784) at /home/andoma/tvheadend/src/htsp.c:1065
89
        m = 0x817a468
90
        i = 8
91
        reply = <value optimized out>
92
        r = <value optimized out>
93
        method = <value optimized out>
94
#4  htsp_serve (fd=38, opaque=0x0, source=0x80d5774, self=0x80d5784) at /home/andoma/tvheadend/src/htsp.c:1188
95
        htsp = {htsp_fd = 38, htsp_peer = 0x80d5774, htsp_version = 0, htsp_logname = 0x80d3420 "127.0.0.1 [ HTS Showtime ]", 
96
          htsp_peername = 0x80ccf50 "127.0.0.1", htsp_username = 0x0, htsp_clientname = 0x80d7dd0 "HTS Showtime", htsp_async_mode = 1, 
97
          htsp_async_link = {le_next = 0x0, le_prev = 0x80c7e30}, htsp_writer_thread = 3017796464, htsp_writer_run = 1, htsp_active_output_queues = {
98
            tqh_first = 0x0, tqh_last = 0xb45ff250}, htsp_out_mutex = {__data = {__lock = 0, __count = 0, __owner = 0, __kind = 0, __nusers = 1, {
99
                __spins = 0, __list = {__next = 0x0}}}, __size = '\000' <repeats 16 times>, "\001\000\000\000\000\000\000", __align = 0}, 
100
          htsp_out_cond = {__data = {__lock = 0, __futex = 119, __total_seq = 60, __wakeup_seq = 59, __woken_seq = 59, __mutex = 0xb45ff258, 
101
              __nwaiters = 2, __broadcast_seq = 0}, 
102
            __size = "\000\000\000\000w\000\000\000<\000\000\000\000\000\000\000;\000\000\000\000\000\000\000;\000\000\000\000\000\000\000X\362_\264\002\000\000\000\000\000\000\000\000\000\000", __align = 511101108224}, htsp_hmq_ctrl = {hmq_q = {tqh_first = 0x0, tqh_last = 0xb45ff2a0}, hmq_link = {
103
              tqe_next = 0x0, tqe_prev = 0xb45ff250}, hmq_strict_prio = 0, hmq_length = 0, hmq_payload = 0}, htsp_hmq_epg = {hmq_q = {
104
              tqh_first = 0x0, tqh_last = 0xb45ff2bc}, hmq_link = {tqe_next = 0x0, tqe_prev = 0x0}, hmq_strict_prio = 0, hmq_length = 0, 
105
            hmq_payload = 0}, htsp_hmq_qstatus = {hmq_q = {tqh_first = 0x0, tqh_last = 0xb45ff2d8}, hmq_link = {tqe_next = 0x81762e4, 
106
              tqe_prev = 0xb45ff250}, hmq_strict_prio = 1, hmq_length = 0, hmq_payload = 0}, htsp_subscriptions = {lh_first = 0x0}, 
107
          htsp_granted_access = 15, htsp_challenge = "\033\231\367B\270ʙ\375q~\272r\305&vә\\aۑ9\332+IM\036\365K\241\067K"}
108
        buf = "127.0.0.1", '\000' <repeats 20 times>
109
        s = <value optimized out>
110
#5  0x0804d7a3 in tcp_server_start (aux=0x80d5768) at /home/andoma/tvheadend/src/tcp.c:397
111
        val = 1
112
#6  0x0018b96e in start_thread (arg=0xb45ffb70) at pthread_create.c:300
113
---Type <return> to continue, or q <return> to quit---
114
        __res = <value optimized out>
115
        __ignore1 = <value optimized out>
116
        __ignore2 = <value optimized out>
117
        pd = 0xb45ffb70
118
        now = <value optimized out>
119
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {1687540, 0, 4001536, -1268779880, 1031645625, -1276594991}, mask_was_saved = 0}}, priv = {pad = {
120
              0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
121
        not_first_call = <value optimized out>
122
        robust = <value optimized out>
123
        freesize = <value optimized out>
124
        __PRETTY_FUNCTION__ = "start_thread"
125
#7  0x00292a4e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130
126
No locals.
127
}}}
128
129
130
= Using the crash info from syslog =
131
132
{{{
133
[ALERT]:CRASH: SIGNAL: 6 in PRG: build.Linux/tvheadend (SVN-r5179) [039b869f7afe07cd8d72b6e73514d9eae4b2b763] CWD: /home/andoma/tvheadend  
134
[ALERT]:CRASH: LOADED IMAGES: /lib/tls/i686/cmov/librt.so.1 /lib/tls/i686/cmov/libcrypt.so.1 /usr/lib/libavahi-common.so.3 /usr/lib/libavahi-client.so.3 /lib/tls/i686/cmov/libpthread.so.0 /lib/tls/i686/cmov/libm.so.6 /lib/tls/i686/cmov/libc.so.6 /lib/tls/i686/cmov/libdl.so.2 /lib/ld-linux.so.2 /lib/libdbus-1.so.3 /lib/tls/i686/cmov/libnss_compat.so.2 /lib/tls/i686/cmov/libnsl.so.1 /lib/tls/i686/cmov/libnss_nis.so.2 /lib/tls/i686/cmov/libnss_files.so.2  
135
[ALERT]:CRASH: REGDUMP[19]: 00000033 00000000 0000007b 0000007b 00487ff4 00000400 b55fb978 b55fb96c 00002972 00000006 0000297a 00000000 00000000 00000000 00ce2422 00000073 00200206 b55fb96c 0000007b 
136
[ALERT]:CRASH: STACKTRACE
137
[ALERT]:CRASH: build.Linux/tvheadend 0x8067832
138
[ALERT]:CRASH: __kernel_rt_sigreturn+0x0  ()
139
[ALERT]:CRASH: abort+0x182  (/lib/tls/i686/cmov/libc.so.6)
140
[ALERT]:CRASH: /lib/tls/i686/cmov/libc.so.6 0x39349d
141
[ALERT]:CRASH: /lib/tls/i686/cmov/libc.so.6 0x39d591
142
[ALERT]:CRASH: /lib/tls/i686/cmov/libc.so.6 0x3a0395
143
[ALERT]:CRASH: __libc_calloc+0xab  (/lib/tls/i686/cmov/libc.so.6)
144
[ALERT]:CRASH: build.Linux/tvheadend 0x807ee1a
145
[ALERT]:CRASH: build.Linux/tvheadend 0x8080883
146
[ALERT]:CRASH: build.Linux/tvheadend 0x8080ca8
147
[ALERT]:CRASH: /lib/tls/i686/cmov/libpthread.so.0 0x1ca96e
148
[ALERT]:CRASH: clone+0x5e  (/lib/tls/i686/cmov/libc.so.6)
149
150
}}}