Hallo,
beim Aufruf von vdr --help bekomme ich ein Segmentation fault.
vdr 2.7.3 (etwas gepatched)
tvscraper 1.2.12
Der Segfault tritt nur auf, wenn tvscraper installiert ist.
Hier der Aufruf und Backtrace dazu:
Code
vdr /usr/lib64/vdr/plugins # gdb --args vdr --help
GNU gdb (Gentoo 15.2 vanilla) 15.2
Copyright (C) 2024 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-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://bugs.gentoo.org/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from vdr...
(gdb) run
Starting program: /usr/bin/vdr --help
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib64/libthread_db.so.1".
Usage: vdr [OPTIONS]
-a CMD, --audio=CMD send Dolby Digital audio to stdin of command CMD
--cachedir=DIR save cache files in DIR (default: /var/cache/vdr)
--chartab=CHARACTER_TABLE
set the character table to use for strings in the
DVB data stream that don't begin with a character
table indicator, but don't use the standard default
character table (for instance ISO-8859-9)
-c DIR, --config=DIR read config files from DIR (default: /etc/vdr)
-d, --daemon run in daemon mode
-D NUM, --device=NUM use only the given DVB device (NUM = 0, 1, 2...)
there may be several -D options (default: all DVB
devices will be used); if -D- is given, no DVB
devices will be used at all, independent of any
other -D options
--dirnames=PATH[,NAME[,ENC]]
set the maximum directory path length to PATH
(default: 4095); if NAME is also given, it defines
the maximum directory name length (default: 255);
the optional ENC can be 0 or 1, and controls whether
special characters in directory names are encoded as
hex values (default: 0); if PATH or NAME are left
empty (as in ",,1" to only set ENC), the defaults
apply
--edit=REC cut recording REC and exit
-E FILE, --epgfile=FILE write the EPG data into the given FILE (default is
'epg.data' in the cache directory)
'-E-' disables this
if FILE is a directory, the default EPG file will be
created in that directory
--filesize=SIZE limit video files to SIZE bytes (default is 2000M)
only useful in conjunction with --edit
--genindex=REC generate index for recording REC and exit
-g DIR, --grab=DIR write images from the SVDRP command GRAB into the
given DIR; DIR must be the full path name of an
existing directory, without any "..", double '/'
or symlinks (default: none, same as -g-)
-h, --help print this help and exit
-i ID, --instance=ID use ID as the id of this VDR instance (default: 0)
-l LEVEL, --log=LEVEL set log level (default: 3)
0 = no logging, 1 = errors only,
2 = errors and info, 3 = errors, info and debug
if logging should be done to LOG_LOCALn instead of
LOG_USER, add '.n' to LEVEL, as in 3.7 (n=0..7)
-L DIR, --lib=DIR search for plugins in DIR (default is /usr/lib64/vdr/plugins)
--lirc[=PATH] use a LIRC remote control device, attached to PATH
(default: /var/run/lirc/lircd)
--localedir=DIR search for locale files in DIR (default is
/usr/share/locale)
-m, --mute mute audio of the primary DVB device at startup
--no-kbd don't use the keyboard as an input device
-p PORT, --port=PORT use PORT for SVDRP (default: 6419)
0 turns off SVDRP
-P OPT, --plugin=OPT load a plugin defined by the given options
-r CMD, --record=CMD call CMD before and after a recording, and after
a recording has been edited or deleted
--resdir=DIR read resource files from DIR (default: /usr/share/vdr)
-s CMD, --shutdown=CMD call CMD to shutdown the computer
--split split edited files at the editing marks (only
useful in conjunction with --edit)
--showargs[=DIR] print the arguments read from DIR and exit
(default: /etc/vdr/conf.d)
-t TTY, --terminal=TTY controlling tty
-u USER, --user=USER run as user USER; only applicable if started as
root; USER can be a user name or a numerical id
--updindex=REC update index for recording REC and exit
--userdump allow coredumps if -u is given (debugging)
-v DIR, --video=DIR use DIR as video directory (default: /var/lib/vdr/video)
-V, --version print version information and exit
--vfat for backwards compatibility (same as
--dirnames=250,40,1)
-w SEC, --watchdog=SEC activate the watchdog timer with a timeout of SEC
seconds (default: 0); '0' disables the watchdog
Plugins: vdr -P"name [OPTIONS]"
tvscraper (1.2.12) - Scraping movie and series info
-d <CACHEDIR>, --dir=<CACHEDIR> Set directory where database and images are stored
-c, --readOnlyClient Don't update any data, just read the data
-p, --autoTimersPath Overide the default path for auto timer recordings
-t, --timersOnNumberOfTsFiles Create auto timers if number of ts files != 1
Program received signal SIGSEGV, Segmentation fault.
0x0000555555609602 in cListBase::Clear (this=0x5555557539a0 <EpgHandlers>) at /usr/src/debug/media-video/vdr-2.7.3/vdr-2.7.3/tools.c:2249
2249 delete objects;
(gdb) bt full
#0 0x0000555555609602 in cListBase::Clear (this=0x5555557539a0 <EpgHandlers>) at /usr/src/debug/media-video/vdr-2.7.3/vdr-2.7.3/tools.c:2249
object = 0x0
#1 cListBase::~cListBase (this=<optimized out>, this=<optimized out>) at /usr/src/debug/media-video/vdr-2.7.3/vdr-2.7.3/tools.c:2156
No locals.
#2 cList<cEpgHandler>::~cList (this=<optimized out>, this=<optimized out>) at /usr/src/debug/media-video/vdr-2.7.3/vdr-2.7.3/tools.h:631
No locals.
#3 cEpgHandlers::~cEpgHandlers (this=<optimized out>, this=<optimized out>) at /usr/src/debug/media-video/vdr-2.7.3/vdr-2.7.3/epg.h:309
No locals.
#4 0x00007ffff79137f1 in __run_exit_handlers (status=0, listp=0x7ffff7a84680 <__exit_funcs>, run_list_atexit=run_list_atexit@entry=true, run_dtors=run_dtors@entry=true) at exit.c:108
atfct = <optimized out>
onfct = <optimized out>
cxafct = 0x5555556095d0 <cEpgHandlers::~cEpgHandlers()>
arg = <optimized out>
f = <optimized out>
new_exitfn_called = 105
cur = 0x5555557c7b50
restart = <optimized out>
#5 0x00007ffff79138b0 in __GI_exit (status=<optimized out>) at exit.c:138
No locals.
#6 0x00007ffff78faf75 in __libc_start_call_main (main=main@entry=0x5555555b9a40 <main(int, char**)>, argc=argc@entry=2, argv=argv@entry=0x7fffffffe028) at ../sysdeps/nptl/libc_start_call_main.h:74
result = <optimized out>
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140737488347176, -6126250524093198161, 0, 140737488347200, 140737354125312, 93824994226360, 6126250525141487791, 6126233066636562607}, mask_was_saved = 0}},
priv = {pad = {0x0, 0x0, 0x0, 0x7fffffffe040}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
not_first_call = <optimized out>
#7 0x00007ffff78fb029 in __libc_start_main_impl (main=0x5555555b9a40 <main(int, char**)>, argc=2, argv=0x7fffffffe028, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>,
stack_end=0x7fffffffe018) at ../csu/libc-start.c:360
No locals.
#8 0x00005555555c0a15 in _start () at ../sysdeps/x86_64/start.S:115
No locals.
(gdb)
Display More
MarkusE kannst Du Da schon etwas erkennen, bevor ich alles vanilla baue?
Vielen Dank.
Heiko