vdr-projects / vdr-plugin-skindesigner

This plugin is maintained at: https://gitlab.com/kamel5/skindesigner
GNU General Public License v2.0
0 stars 1 forks source link

Crash on first access #2

Closed frispete closed 3 years ago

frispete commented 4 years ago

Hi, I'm harvesting a crash, using vdr 2.4.1, as being built for openSUSE Tumbleweed here.

vdr-sxfe:

vdr-sxfe --video vdpau --hud --reconnect --post=tvtime:method=Linear,cheap_mode=1,pulldown=0,use_progressive_frame_flag=1 xvdr://host

Famous last words:

Feb 16 20:12:11 xrated vdr[2331]: [2331] starting plugin: skindesigner
Feb 16 20:12:11 xrated vdr[2331]: [2331] skindesigner: No TrueColor OSD found! Using default Skin LCARS!
Feb 16 20:12:11 xrated vdr[2331]: [2331] skindesigner: using libskindesigner API Version 0.1.2
Feb 16 20:12:11 xrated vdr[2331]: [2331] skindesigner: plugin setup uses libskindesigner API Version 0.1.2
Feb 16 20:12:11 xrated vdr[2331]: [2331] skindesigner: plugin setup has registered 1 menus
Feb 16 20:12:11 xrated vdr[2331]: [2331] skindesigner: skinsetup template successfully registered at skindesigner, id 0
Feb 16 20:12:11 xrated vdr[2331]: [2331] skindesigner: using Skin Directory /usr/share/vdr/plugins/skindesigner/skins/
Feb 16 20:12:11 xrated vdr[2331]: [2331] skindesigner: using Installer Skin Directory /etc/vdr/plugins/skindesigner/installerskins/
Feb 16 20:12:11 xrated vdr[2331]: [2331] skindesigner: using common ChannelLogo Directory /usr/share/vdr/plugins/skindesigner/logos/
Feb 16 20:12:11 xrated vdr[2331]: [2331] skindesigner: using EPG Images Directory /var/cache/vdr/plugins/skindesigner/epgimages/
Feb 16 20:12:11 xrated vdr[2331]: [2331] skindesigner 2 skins found in /usr/share/vdr/plugins/skindesigner/skins/
Feb 16 20:12:11 xrated vdr[2331]: [2331] skindesigner: no skins found in /etc/vdr/plugins/skindesigner/installerskins/
Feb 16 20:12:11 xrated vdr[2331]: [2347] SvdrpService: connected to 172.16.23.10:6419
Feb 16 20:12:11 xrated vdr[2331]: [2331] skindesigner: skin estuary4vdr started
Feb 16 20:12:11 xrated vdr[2331]: [2331] skindesigner: skin metrixhd started
Feb 16 20:12:11 xrated vdr[2331]: [2331] setting current skin to "estuary4vdr"
Feb 16 20:12:11 xrated vdr[2331]: [2331] loading /etc/vdr/themes/estuary4vdr-default.theme
Feb 16 20:12:12 xrated vdr[2331]: [2331] switching to channel 6 S19.2E-1-1011-11140 (zdf.kultur HD OBSOLETE)
Feb 16 20:12:12 xrated vdr[2331]: [2331] streamdev-client: Connected to server 172.16.23.10:2004 using protocol version 1.0
Feb 16 20:12:12 xrated vdr[2331]: [2331] setting watchdog timer to 90 seconds
Feb 16 20:12:12 xrated vdr[2331]: [2358] device 3 receiver thread started (pid=2331, tid=2358, prio=high)
Feb 16 20:12:12 xrated vdr[2331]: [2359] SVDRP server handler thread started (pid=2331, tid=2359, prio=low)
Feb 16 20:12:12 xrated vdr[2331]: [2359] SVDRP xrated opening port 6419/tcp
Feb 16 20:12:12 xrated vdr[2331]: [2359] SVDRP xrated listening on port 6419/tcp
Feb 16 20:12:12 xrated vdr[2331]: [2360] device 3 TS buffer thread started (pid=2331, tid=2360, prio=high)
Feb 16 20:12:12 xrated vdr[2331]: [2331] OSD size changed to 720x576 @ 1,42222
Feb 16 20:12:12 xrated vdr[2331]: [2331] skindesigner: initializing skin estuary4vdr
Feb 16 20:12:12 xrated vdr[2331]: [2331] skindesigner: using decimal point ,
Feb 16 20:12:12 xrated vdr[2331]: [2331] skindesigner: using channel logo path /usr/share/vdr/plugins/skindesigner/logos/
Feb 16 20:12:12 xrated vdr[2331]: [2331] skindesigner: using icon path /usr/share/vdr/plugins/skindesigner/skins/estuary4vdr/themes/default/
Feb 16 20:12:12 xrated vdr[2331]: [2331] skindesigner: using skinparts path /usr/share/vdr/plugins/skindesigner/skins/estuary4vdr/themes/default/skinparts/
Feb 16 20:12:12 xrated vdr[2331]: [2331] skindesigner: using svgtemplate path /usr/share/vdr/plugins/skindesigner/skins/estuary4vdr/svgtemplates/
Feb 16 20:12:12 xrated vdr[2331]: [2331] skindesigner: using language de_DE
Feb 16 20:12:12 xrated vdr[2331]: [2331] skindesigner: templates successfully validated and parsed
Feb 16 20:12:13 xrated vdr[2331]: [2343] [xine..put] Client 0 connected: 172.16.23.107:46786
Feb 16 20:12:13 xrated vdr[2331]: [2343] loading /etc/vdr/plugins/xineliboutput/allowed_hosts.conf
Feb 16 20:12:13 xrated vdr[2331]: [2343] [xine..put] setsockopt(SO_SNDBUF): got 262144 bytes
Feb 16 20:12:13 xrated vdr[2331]: [2343] [xine..put] Trying PIPE connection ...
Feb 16 20:12:13 xrated vdr[2331]: [2343] creating directory /etc/vdr/plugins/xineliboutput/pipes.2331
Feb 16 20:12:13 xrated vdr[2331]: [2343] removing /etc/vdr/plugins/xineliboutput/pipes.2331
Feb 16 20:12:13 xrated vdr[2331]: [2343] [xine..put] cBackgroundWriterI initialized (buffer 2048 kb)
Feb 16 20:12:13 xrated vdr[2331]: [2343] [xine..put] cTcpWriter initialized (buffer 2048 kb)
Feb 16 20:12:13 xrated vdr[2331]: [2343] [xine..put] Pipe open
Feb 16 20:12:13 xrated vdr[2331]: [2331] skindesigner: templates and images cached
Feb 16 20:12:13 xrated vdr[2331]: [2331] skindesigner: cached 75 icons - size internal mem 0,16MB, high level mem 0,18MB
Feb 16 20:12:13 xrated vdr[2331]: [2331] skindesigner: cached 201 logos - size 1577,59MB internal mem
Feb 16 20:12:13 xrated vdr[2331]: [2331] skindesigner: cached 8 skinparts - size internal mem 0,00MB, high level mem 2,78MB
Feb 16 20:12:13 xrated vdr[2331]: [2331] skindesigner: templates loaded and caches created - needed 1409 ms
Feb 16 20:12:14 xrated runvdr.extreme[650]: usr/bin/vdr -c /etc/vdr -l 3 -P femon -P xineliboutput --local=none --remote=37890 -P streamdev-client -P svdrpservice -P epgsync -P epgsearch -P dvbapi -o8 -P skindesigner -u vdr --userdump -v /video//usr/bin/runvdr.extreme: Zeile 887:  2331 Speicherzugriffsfehler  (Speicherabzug geschrieben) "${VDRCOMMAND[@]}"
Feb 16 20:12:14 xrated runvdr.extreme[650]: VDR died within 10 seconds, this happened 6 time(s).
Feb 16 20:12:14 xrated runvdr.extreme[650]: Terminating because VDR died 6 times in a row quickly at
Feb 16 20:12:14 xrated runvdr.extreme[2480]: Terminating because VDR died
Feb 16 20:12:14 xrated runvdr.extreme[650]: Terminating because VDR died
Feb 16 20:12:14 xrated runvdr.extreme[650]: endingterminated.

and the crash:

[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
bt fuCore was generated by `/usr/bin/vdr -c /etc/vdr -l 3 -P femon -P xineliboutput --local=none --remote=3'.
Program terminated with signal SIGSEGV, Segmentation fault.
ll
#0  0x00007f252a3691bd in cSkinDesigner::DisplayChannel (WithInfo=true, this=<optimized out>) at designer.c:42
42              displayChannel = backupSkin->DisplayChannel(WithInfo);
[Current thread is 1 (Thread 0x7f252b585840 (LWP 2331))]
Missing separate debuginfos, use: zypper install libskindesignerapi0-debuginfo-1.2.8.3~git.20200210T113236.f156e44-5.1.x86_64
(gdb) bt full
#0  0x00007f252a3691bd in cSkinDesigner::DisplayChannel(bool) (WithInfo=true, this=<optimized out>) at designer.c:42
#1  0x00007f252a3691bd in cSkinDesigner::DisplayChannel(bool) (this=<optimized out>, WithInfo=<optimized out>) at designer.c:35
#2  0x0000562f82202885 in cDisplayChannel::cDisplayChannel(int, bool)
    (this=0x562f83f108e0, Number=6, Switched=true, this=<optimized out>, Number=<optimized out>, Switched=<optimized out>) at skins.h:468
#3  0x0000562f8218f4ed in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at device.h:350
        key = <optimized out>
        Now = 1581880332
        Interact = <optimized out>
        NewPrimaryDVB = <optimized out>
        PreviousChannelIndex = 0
        LastChannelChanged = 1581880331
        IsInfoMenu = false
        OldPrimaryDVB = 2
        Menu = <optimized out>
        LastChannel = 0
        LastTimerChannel = -1
        PreviousChannel = {1, 1}
        CurrentSkin = <optimized out>
        LastInteract = 0
        MaxLatencyTime = 0
        InhibitEpgScan = false
        savedTm = 
          {c_iflag = 0, c_oflag = 0, c_cflag = 4096, c_lflag = 0, c_line = 0 '\000', c_cc = "\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000|\000\000\000w\000\000\000@\000\000\000\000\000\000\000\001", c_ispeed = 112, c_ospeed = 0}
        HasStdin = <optimized out>
        StartedAsRoot = <optimized out>
        VdrUser = <optimized out>
        UserDump = <optimized out>
        SVDRPport = <optimized out>
        AudioCommand = <optimized out>
        VideoDirectory = <optimized out>
        ConfigDirectory = <optimized out>
        CacheDirectory = <optimized out>
        ResourceDirectory = <optimized out>
        LocaleDirectory = <optimized out>
        EpgDataFileName = <optimized out>
        DisplayHelp = <optimized out>
        DisplayVersion = <optimized out>
        DaemonMode = <optimized out>
        SysLogTarget = <optimized out>
        MuteAudio = <optimized out>
        WatchdogTimeout = 90
        Terminal = <optimized out>
        OverrideCharacterTable = <optimized out>
        UseKbd = <optimized out>
        LircDevice = <optimized out>
        SdWatchdog = 0
        SdWatchdogTimeout = 0
        Args = <optimized out>
--Type <RET> for more, q to quit, c to continue without paging--
        PluginManager = 
                {_vptr.cPluginManager = 0x562f822ba650 <vtable for cPluginManager+16>, static pluginManager = 0x7ffe10417dc0, directory = 0x562f83c3c260 "/usr/lib64/vdr", lastHousekeeping = 1581880331, nextHousekeeping = -1, dlls = {<cList<cDll>> = {<cListBase> = {_vptr.cListBase = 0x562f822ba620 <vtable for cDlls+16>, objects = 0x562f83c3c310, lastObject = 0x562f83c3c7a0, count = 8, stateLock = {name = 0x0, threadId = 0, rwLock = {rwlock = {__data = {__readers = 0, __writers = 0, __wrphase_futex = 0, __writers_futex = 0, __pad3 = 0, __pad4 = 0, __cur_writer = 0, __shared = 0, __rwelision = 0 '\000', __pad1 = "\000\000\000\000\000\000", __pad2 = 0, __flags = 1}, __size = '\000' <repeats 48 times>, "\001\000\000\000\000\000\000", __align = 0}, locked = 0, writeLockThreadId = 0}, state = 0, explicitModify = 0, syncStateKey = 0x0}, needsLocking = 0x0, useGarbageCollector = false}, <No data fields>}, <No data fields>}}
        c = <optimized out>
        CodeSet = <optimized out>
        EpgDataReader = 
            {<cThread> = {_vptr.cThread = 0x562f822b9810 <vtable for cEpgDataReader+16>, active = false, running = false, childTid = 139797560989440, childThreadId = 2333, mutex = {mutex = {__data = {__lock = 0, __count = 0, __owner = 0, __nusers = 0, __kind = 2, __spins = 0, __elision = 0, __list = {__prev = 0x0, __next = 0x0}}, __size = '\000' <repeats 16 times>, "\002", '\000' <repeats 22 times>, __align = 0}, locked = 0}, description = 0x562f83c41060 "epg data reader", lowPriority = false, static mainThreadId = 2331}, <No data fields>}
        long_options = 
            {{name = 0x562f8225b695 "audio", has_arg = 1, flag = 0x0, val = 97}, {name = 0x562f8225b69b "cachedir", has_arg = 1, flag = 0x0, val = 355}, {name = 0x562f8225b6a4 "chartab", has_arg = 1, flag = 0x0, val = 611}, {name = 0x562f8225b6ac "config", has_arg = 1, flag = 0x0, val = 99}, {name = 0x562f8225b6b3 "daemon", has_arg = 0, flag = 0x0, val = 100}, {name = 0x562f82266e15 "device", has_arg = 1, flag = 0x0, val = 68}, {name = 0x562f8225b6ba "dirnames", has_arg = 1, flag = 0x0, val = 356}, {name = 0x562f8225b6c3 "edit", has_arg = 1, flag = 0x0, val = 357}, {name = 0x562f8225b6c8 "epgfile", has_arg = 1, flag = 0x0, val = 69}, {name = 0x562f8225b6d0 "filesize", has_arg = 1, flag = 0x0, val = 358}, {name = 0x562f8225b6d9 "genindex", has_arg = 1, flag = 0x0, val = 359}, {name = 0x562f8225b6e2 "grab", has_arg = 1, flag = 0x0, val = 103}, {name = 0x562f8225b6e7 "help", has_arg = 0, flag = 0x0, val = 104}, {name = 0x562f8225b6ec "instance", has_arg = 1, flag = 0x0, val = 105}, {name = 0x562f8225b6f5 "lib", has_arg = 1, flag = 0x0, val = 76}, {name = 0x562f8225b6f9 "lirc", has_arg = 2, flag = 0x0, val = 364}, {name = 0x562f8225b6fe "localedir", has_arg = 1, flag = 0x0, val = 620}, {name = 0x562f8225b708 "log", has_arg = 1, flag = 0x0, val = 108}, {name = 0x562f8225e85b "mute", has_arg = 0, flag = 0x0, val = 109}, {name = 0x562f8225b70c "no-kbd", has_arg = 0, flag = 0x0, val = 366}, {name = 0x562f8225b713 "plugin", has_arg = 1, flag = 0x0, val = 80}, {name = 0x562f8225fd81 "port", has_arg = 1, flag = 0x0, val = 112}, {name = 0x562f8225b71a "record", has_arg = 1, flag = 0x0, val = 114}, {name = 0x562f8225b721 "resdir", has_arg = 1, flag = 0x0, val = 370}, {name = 0x562f8225b728 "showargs", has_arg = 2, flag = 0x0, val = 627}, {name = 0x562f8225b731 "shutdown", has_arg = 1, flag = 0x0, val = 115}, {name = 0x562f8225b73a "split", has_arg = 0, flag = 0x0, val = 371}, {name = 0x562f8225b740 "terminal", has_arg = 1, flag = 0x0, val = 116}, {name = 0x562f8225b749 "updindex", has_arg = 1, flag = 0x0, val = 629}, {name = 0x562f8225b752 "user", has_arg = 1, flag = 0x0, val = 117}, {name = 0x562f8225b757 "userdump", has_arg = 0, flag = 0x0, val = 373}, {name = 0x562f8225fd50 "version", has_arg = 0, flag = 0x0, val = 86}, {name = 0x562f8225b760 "vfat", has_arg = 0, flag = 0x0, val = 374}, {name = 0x562f8226718b "video", has_arg = 1, flag = 0x0, val = 118}, {name = 0x562f8225b765 "watchdog", has_arg = 1, flag = 0x0, val = 119}, {name = 0x0, has_arg = 0, flag = 0x0, val = 0}}
        lastTime = 0
        lastOsdSizeUpdate = 1581880332
        OsdState = 1
        TimersStateKey = {stateLock = 0x0, write = false, state = 0, timedOut = false}
        ChannelsStateKey = {stateLock = 0x0, write = false, state = 3, timedOut = false}
        ChannelSaveTimeout = 1581880932
        ChannelsModifiedByUser = 0
        TimersStateKey = {stateLock = 0x0, write = false, state = 0, timedOut = false}
        SchedulesStateKey = {stateLock = 0x0, write = false, state = 0, timedOut = false}
        LastTimerCheck = 0

The crash seems to happen, because it tries to switch back to LCARS, proabably because:

Feb 16 20:12:11 xrated vdr[2331]: [2331] skindesigner: No TrueColor OSD found! Using default Skin LCARS!

but why can't it use a TrueColor OSD? The DE is KF5, NVIDIA 440.59 evil drivers loaded, everything is up to date, as being expected from a rolling release... xine-lib is built from GIT, as well as this lib.

M-Reimer commented 3 years ago

This plugin is maintained here: https://gitlab.com/kamel5/skindesigner Please try the latest version and if the problem still exists, please open a new Issue there.