Closed bgmvdr closed 7 years ago
does not crash here. could you build with debug symbols please? without symbols and line numbers the info is not enough to track this down further
It is the first time for me compiling and running gdb, so i hope i h ave done this correctly. I get this after setting a search timer in kodi:
Thread 11 "VNSITimers" received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7fffecf03700 (LWP 3090)] __strcmp_sse2_unaligned () at ../sysdeps/x86_64/multiarch/strcmp-sse2-unaligned.S:31 31 ../sysdeps/x86_64/multiarch/strcmp-sse2-unaligned.S: No such file or directory.
If you are running with gdb and gdb breaks on the segfault, type "thread apply all bt" That should output a back trace
ok, i have done so:
Thread 11 "VNSITimers" received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7ffff0fb1700 (LWP 3510)] __strcmp_sse2_unaligned () at ../sysdeps/x86_64/multiarch/strcmp-sse2-unaligned.S:31 31 ../sysdeps/x86_64/multiarch/strcmp-sse2-unaligned.S: No such file or directory. (gdb) thread apply all bt
Thread 15 (Thread 0x7fffcaffd700 (LWP 3517)):
nfds=<optimized out>, timeout=<optimized out>, fdslen=<optimized out>)
at poll_chk.c:27
__fds=0x802860 <SVDRPServerPoller>)
at /usr/include/x86_64-linux-gnu/bits/poll2.h:41
TimeoutMs=TimeoutMs@entry=1000) at tools.c:1506
at svdrp.c:2509
at thread.c:288
at pthread_create.c:333
at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
Thread 12 (Thread 0x7fffcbfff700 (LWP 3511)):
---Type
__fds=0x7fffd4000bf8) at /usr/include/x86_64-linux-gnu/bits/poll2.h:41
TimeoutMs=TimeoutMs@entry=-1) at tools.c:1506
buffer=buffer@entry=0x7fffcbffee60, size=size@entry=4,
timeout_ms=timeout_ms@entry=-1) at cxsocket.c:128
at vnsiclient.c:91
at thread.c:288
at pthread_create.c:333
at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
Thread 11 (Thread 0x7ffff0fb1700 (LWP 3510)):
at ../sysdeps/x86_64/multiarch/strcmp-sse2-unaligned.S:31
at vnsitimer.c:464
---Type
at thread.c:288
at pthread_create.c:333
at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
Thread 10 (Thread 0x7ffff4212700 (LWP 3509)):
at ../sysdeps/posix/usleep.c:32
at thread.c:288
at pthread_create.c:333
at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
Thread 9 (Thread 0x7ffff1a0d700 (LWP 3508)):
nfds=<optimized out>, timeout=<optimized out>, fdslen=<optimized out>)
---Type
__fds=0x7ffff1a0cc20) at /usr/include/x86_64-linux-gnu/bits/poll2.h:41
TimeoutMs=TimeoutMs@entry=50) at tools.c:1506
at remote.c:310
this=this@entry=0xb293a0) at remote.c:326
at thread.c:288
at pthread_create.c:333
at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
Thread 8 (Thread 0x7ffff220e700 (LWP 3507)):
at vnsiserver.c:195
at thread.c:288
---Type
Thread 7 (Thread 0x7ffff2a0f700 (LWP 3506)):
at /usr/include/x86_64-linux-gnu/bits/poll2.h:46
Thread 6 (Thread 0x7ffff3210700 (LWP 3505)):
at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:225
TimeoutMs=TimeoutMs@entry=1000) at thread.c:137
Thread 5 (Thread 0x7ffff3a11700 (LWP 3503)):
at /usr/include/x86_64-linux-gnu/bits/poll2.h:46
Thread 4 (Thread 0x7ffff4a13700 (LWP 3502)):
at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:225
TimeoutMs=TimeoutMs@entry=1000) at thread.c:137
Thread 1 (Thread 0x7ffff7fca740 (LWP 3495)):
at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:225
this=this@entry=0x7fae60 <cRemote::keyPressed>, Mutex=...,
TimeoutMs=TimeoutMs@entry=1000) at thread.c:137
at remote.c:194
at interface.c:36
great, well done!
that tells us that it segfaults on the instruction at this line: https://github.com/FernetMenta/vdr-plugin-vnsiserver/blob/master/vnsitimer.c#L464
the only explanation I have for this is that recording->Info()->Title() is nullptr. But I have no clue how this can happen.
Do you have a recording without a title? Did you apply the recordingshandler patch to vdr 2.3.2?
I have reused the recodings directory from an old yavdr installation, in kodi i see a title for each recording. I have created a search timer for SpongeBob for my kids. In the recording directory i have found a folder "SpongeBob_Schwammkopf" with episodes in it and an additional folder nested also called the same with some episodes. Could this be a problem? I did not apply any patches.
There is another thought: I have viewed some episodes SpongeBob two hours ago and there was a recording which didn't play, so i deleted it. Maybe there was something wrong with it, but i didn't recognize if there was a title. And now i see the search timer rule created timer entries, it didn' this before.
Yes, now i can reproduce this: I cleared the title in the info file of a recording and the segfault happens. Thank you so much!
Thank you! I will add some code to prevent from this segfault.
Using vdr-plugin-vnsiserver with vdr 2.3.2 and kodi i get permanently segfaults:
kernel: [ 4806.910898] VNSITimers[5706]: segfault at 0 ip 00007f219837d9da sp 00007f2186ffcae8 error 4 in libc-2.23.so[7f21982df000+1bf000]