Project

General

Profile

Actions

Bug #2353

closed

Segfault mit MPV plugin

Added by HelAu about 8 years ago. Updated over 7 years ago.

Status:
Closed
Priority:
High
Assignee:
Start date:
03/21/2016
Due date:
% Done:

0%

Estimated time:

Description

Bei Verwendung des MPV plugins kann es zu segfaults kommen:

Thread 1 (Thread 0x7fd724c0d740 (LWP 21622)):
#0  0x00007fd722f4b78a in strlen () from /lib64/libc.so.6
No symbol table info available.
#1  0x00007fd722f4b4ae in strdup () from /lib64/libc.so.6
No symbol table info available.
#2  0x0000000000568603 in cString::operator= (this=0x7ffe7a2a6d40, String=0x7 <error: Cannot access memory at address 0x7>) at tools.c:1060
No locals.
#3  0x000000000051a1c4 in cMarks::Load (this=0x7ffe7a2a6ce0, RecordingFileName=0x7 <error: Cannot access memory at address 0x7>, FramesPerSecond=1.7835769814869e-321, IsPesRecording=9) at recording.c:2069
        MutexLock = {mutex = 0x7ffe7a2a6d10, locked = true}
#4  0x00007fd712574383 in cFlatDisplayReplay::UpdateInfo (this=0x113dc9f0) at displayreplay.c:253
        hasMarks = false
        i = 0
        mediaPath = <error reading variable: Cannot access memory at address 0xffffffffffffffe8>
        marks = {<cConfig<cMark>> = {<cList<cMark>> = {<cListBase> = {_vptr.cListBase = 0x7dd890 <vtable for cMarks+16>, objects = 0x0, lastObject = 0x0, count = 0}, <No data fields>}, fileName = 0x0, allowComments = false}, <cMutex> = {mutex = {__data = {__lock = 1, __count = 0, __owner = 21622, __nusers = 1, __kind = 2, __spins = 0, __elision = 0, __list = {__prev = 0x0, __next = 0x0}}, __size = "\001\000\000\000\000\000\000\000vT\000\000\001\000\000\000\002", '\000' <repeats 22 times>, __align = 1}, locked = 1}, recordingFileName = {_vptr.cString = 0x7e5a10 <vtable for cString+16>, s = 0x0}, fileName = {_vptr.cString = 0x7e5a10 <vtable for cString+16>, s = 0x0}, framesPerSecond = 0, isPesRecording = false, nextUpdate = 0, lastFileTime = 0, lastChange = 0}
        index = 0x0
        recsizecutted = 0
        cutinoffset = 0
        filesize = {0 <repeats 55958 times>, 140561984392272, 0, 0, 140561984392192, 341128, 125, 1, 316405856, 341136, 140561981127221, 2, 16, 64, 2, 0, 48, 0, 0, 472446402651, 0, 0, 532575944823, 337032, 140561984392192, 16, 0, 322890176, 316405856, 341128, 140561981136222, 281479271677962, 1, 2, 16, 64, 2, 0, 48, 0, 0, 472446402651, 0, 0, 532575944823, 337032, 140561984392192, 16, 0, 322890176, 316405856, 341128, 140561981136222, 140730948470000, 1, 16, 140561872790289, 0, 1, 0, 0, 322890176, 140561916939246, 0, 4096, 140561984392272, 4294967296, 316410096, 140561984392192, 341128, 125, 1, 316405856, 341136, 140561981127221, 140728898420738, 16, 64, 2, 0, 48, 0, 0, 472446402651, 0, 0, 532575944823, 337032, 140561984392192, 16, 0, 322890176, 316405856, 341128, 140561981136222, 281479271677962, 1, 16, 140561872790289, 0, 1, 0, 0, 322890176, 140561916939246, 0, 4096, 316410152, 4294967296, 316410096, 316405920, 316405972, 4096, 0, 0, 140730948470432, 1, 140730948470512, 0, 0, 316405920, 316405972, 4096, 0, 0, 140730948470512, 1, 140730948470592, 80, 0, 140730948470608, 0, 15464036806540190720, 1, 1, 316405856, 316405880, 0, 0, 1, 140561916927377, 281479271677962, 15464036806540190720, 316405856, 316405856, 140561984392272, 316405880, 284683312, 322890160, 428816, 323231296, 140561984392192, 87680, 0, 140562004704441, 0, 140561916940289, 4294967296, 18446744073709551615, 316410152, 4955890688, 316410096, 316405920, 316405972, 4096, 0, 0, 140730948470848, 1, 140730948470928, 80, 0, 140730948470944, 0, 0, 1, 18446744073709551615, 0, 0, 0, 0, 24, 15464036806540190720, 0, 15464036806540190720, 316405856, 316405856, 140561984392272, 316405880, 289709328, 322890160...}
        rc = 0
        cutinframe = 0
        filebuf = {st_dev = 0, st_ino = 0, st_nlink = 0, st_mode = 0, st_uid = 0, st_gid = 0, __pad0 = 0, st_rdev = 0, st_size = 0, st_blksize = 0, st_blocks = 0, st_atim = {tv_sec = 0, tv_nsec = 0}, st_mtim = {tv_sec = 0, tv_nsec = 0}, st_ctim = {tv_sec = 0, tv_nsec = 0}, __glibc_reserved = {0, 0, 0}}
        mediaWidth = 0
        mediaHeight = 0
        pScraper = 0x0
        cuttedLength = 0
        imax = 0
        filename = {_vptr.cString = 0x1142eef8, s = 0x0}
        fontAscender = 40
        fontSecsAscender = 28
        topSecs = 12
        cutted = {_vptr.cString = 0x7e5a10 <vtable for cString+16>, s = 0x0}
        iscutted = false
#5  0x00007fd712573b71 in cFlatDisplayReplay::SetCurrent (this=0x113dc9f0, Current=0x11430da0 "0:00:05") at displayreplay.c:215

Ursache dafür dürfte sein dass recording nicht initialisiert wird, dieser patch könnte helfen:
--- displayreplay.c.org 2016-03-21 12:35:38.233607889 +0100
+++ displayreplay.c     2016-03-21 12:34:52.401607770 +0100
@@ -5,6 +5,7 @@
     labelHeight = fontHeight + fontSmlHeight;
     current = "";
     total = "";
+    recording = NULL;

     modeOnly = ModeOnly;
     dimmActive = false;

Actions #1

Updated by MegaV0lt about 8 years ago

Scheint es nicht gewesen zu sein
https://dl.dropboxusercontent.com/u/1490505/VDR/G2V_V5/core%20%282%29.out

Das ganze Paket: https://dl.dropboxusercontent.com/u/1490505/VDR/G2V_V5/g2v_log_03211300.tar.xz

Video wird abgespielt. Dann Taste OK auf der FB drücken und Bumm!

Actions #2

Updated by Martin1234 about 8 years ago

  • Assignee set to Martin1234

Ich schau mir das mal an!

Actions #3

Updated by MegaV0lt about 8 years ago

Beim Plugin Plex habe ich den selben Effekt. Sobald ich bei der wiedergabe eine Taste drücke schmiert der VDR ab.

Actions #4

Updated by Martin1234 about 8 years ago

  • Status changed from New to Feedback

Ich habe folgenden fix übernommen
https://projects.vdr-developer.org/issues/2387

ist damit das Problem behoben?

Actions #5

Updated by MegaV0lt about 8 years ago

Ich dachte den Patch hätte ich schon mal drauf gemacht. Komisch. Erster Test mit Plex lief gut. Aber MPV schmiert ab sobald ich OK oder Exit drücke...

core.out: https://dl.dropboxusercontent.com/u/1490505/VDR/G2V_V5/log/core%20%282%29.out
Log-Paket: https://dl.dropboxusercontent.com/u/1490505/VDR/G2V_V5/log/g2v_log_04270818.tar.xz

Mit Plex scheint es ganz gut zu gehen. Ich muss mir das mal ne Weile anschauen...

Außerdem wird bei Plex oben auch die Summe der Videos auf der Platte angezeigt statt der auf dem Plex Server:

Actions #6

Updated by Martin1234 about 8 years ago

Also nach dem core-dump würde ich spontan behaupten das Problem liegt an MPV. Aber ich habe nur schnell rübergeschaut. Ich muss auch gestehen das ich MPV null kenne und garnicht weiß wofür dieses ist.
Ist es einfach dies einzurichten und zu testen? Wie du merkst habe ich derzeit begrenzt Zeit neue sachen zu testen :)

Bezüglich plex-plugin und Summe der Videos:
Ich kenne auch das Plex-Plugin nicht. Ich weiß auch nicht wie ich jetzt die Videos vom plex-Server ermitteln kann oder sonstiges. Gibt es schon ein Skin welches dies macht wo man sich das "abschauen" kann?

Actions #7

Updated by MegaV0lt about 8 years ago

Mit MPV kann man wohl (beliebige) Video-Dateien direkt am VDR abspielen. Ich verwende bisher wegen nicht funktionierenden Plugind KODI, was aber sehr umständlich ist.

MPV war bei Gen2VDR schon mit drin. Das Original GIT ist hier: https://projects.vdr-developer.org/git/vdr-plugin-mpv.git/
Es gibt von ChrisZero eine )erweiterte) Version, die ich nun auch drauf habe: https://github.com/chriszero/vdr-plugin-mpv

Plex ist wohl ähnlich, benötigt aber einen Plex-Server... Den habe ich auf meinen Lokalen PC zum testen drauf gemacht... scheint erst mal zu laufen. Ich glaube beim Skindesigner werden im plex-plugin dann auch Cover und so sachen angezeigt, was schön ist, aber nicht wichtig. Vielleicht fragst Du bei ChrisZero nach, ob es überhaupt summen der Videos gibt die angezeigt werden können. Dann müsstest Du nur noch im flatPlus erkennen können, dass das mcRecording nicht das vom VDR ist und dort dann die Tahlen weg lässt. Ist aber auch von der Funktion her erst mal egal.

Actions #8

Updated by HelAu about 8 years ago

Beide coredumps (also auch der vor nem Monat) zeigen Fehler im MPV Plugin nicht im Skinflatplus.
Bist Du sicher dass dies mit nem anderen Skin nicht passiert ?

Actions #9

Updated by MegaV0lt about 8 years ago

Vor dem Patch von flatPlus ging bei anderen Skins noch das abspielen und der Crash kam erst beim beenden. kann sein, dass durch das viele hin und her testen ich ein wenig den Überblick verloren habe.

Das MPV scheint tod zu sein, da es ja überhaupt keine Reaktionen vom Author gibt. Beim MPV werde ich noch mal das Ticket aktualisieren...

Bleibt noch Plex, das aber auch hin und wieder den VDR Crasht...

Actions #10

Updated by HelAu about 8 years ago

P.S. Aus meiner Sicht kann man diesen Bug nun schliessen, der Patch ist ja drinne und die letzten Fehler haben zumindest damit nichts mehr zu tun - danke :)

Actions #11

Updated by chriszero about 8 years ago

An die Anzahl der Videos von Plex kommt skinflatplus so nicht ran, da müsste man eine Service-Schnittstelle definieren.

@ MegaV0lt: Crashes mit dem Plex Plugin müsst Ihr mir kundtun, dann lässt sich da was dagegen machen! Ich kann das nicht riechen ;-)

Actions #13

Updated by Martin1234 over 7 years ago

  • Status changed from Feedback to Closed

Ich schließ den jetzt mal, ich denke das hat sich erledigt :)

Actions

Also available in: Atom PDF