Re: [VDR-Port] SIGSEGV beim Schneiden

From: Juergen Lock <nox(at)jelal.kn-bremen.de>
Date: Wed, 13 Mar 2013 22:27:15 +0100 (CET)

In article <20130311083617.GF1548(at)t60.brauer.lan> you write:
>Hallo!
Hi!
>
>Ich nutze den VDR(plus xineliboutput) auf dem aktuellen Stand der
>Ports. Wo ich nahezu 95% reproduzierbar ein Problem mit habe ist,
>daß beim Start des Schneidevorgangs der vdr-Prozeß sich mit signal
>11 verabschiedet. Konnte ich auf 2 unterschiedlichen Rechnern
>(Intel/AMD) gegentesten.
>Im Normalbetrieb gibt es mit der 1.7.x kein Problem, also
>Aufzeichnen und über vdr-sxfe/xineliboutput steuern.
>
>Wenn ich hingegen eine Aufzeichnung mit Schneidmarken versehe und
>dann (mit der Taste 2) den Schneidvorgang starte, dann ist zu 95%
>der Versuche fast unmittelbar Schluß mit Lustig. Im Log sieht es so
>aus:
>---------------------
>Mar 11 08:56:51 s01 vdr: [50361344] creating directory /video/%Tausend_Morgen
>Mar 11 08:56:51 s01 vdr: [50361344] creating directory /video/%Tausend_Morgen/2010-07-04.06.24.50.99.rec
>Mar 11 08:56:51 s01 vdr: [50361344] loading /video/Tausend_Morgen/2010-07-04.06.23.50.99.rec//marks.vdr
>Mar 11 08:56:51 s01 vdr: [50361344] playing '/video/Tausend_Morgen/2010-07-04.06.23.50.99.rec/001.vdr'
>Mar 11 08:56:51 s01 vdr: [50361344] recording to '/video/%Tausend_Morgen/2010-07-04.06.24.50.99.rec/001.vdr'
>Mar 11 08:56:51 s01 vdr: [54675456] video cutting thread started (pid=81489, tid=54675456)
>Mar 11 08:56:51 s01 kernel: pid 81489 (vdr), uid 938: exited on signal 11
>---------------------
>
>Jetzt habe ich den VDR nochmal restartet, wieder den zu schneidenden Film ausgewählt und den Schneidevorgang gestartet. Diesmal war es dann erfolgreich:
>------------
>Mar 11 09:17:04 s01 vdr: [50361344] loading /video/Tausend_Morgen/2010-07-04.06.23.50.99.rec//marks.vdr
>Mar 11 09:17:04 s01 vdr: [50361344] removing /video/%Tausend_Morgen/2010-07-04.06.24.50.99.rec/001.vdr
>Mar 11 09:17:04 s01 vdr: [50361344] removing /video/%Tausend_Morgen/2010-07-04.06.24.50.99.rec/info.vdr
>Mar 11 09:17:04 s01 vdr: [50361344] removing /video/%Tausend_Morgen/2010-07-04.06.24.50.99.rec/index.vdr
>Mar 11 09:17:04 s01 vdr: [50361344] removing /video/%Tausend_Morgen/2010-07-04.06.24.50.99.rec
>Mar 11 09:17:04 s01 vdr: [50361344] creating directory /video/%Tausend_Morgen/2010-07-04.06.24.50.99.rec
>Mar 11 09:17:04 s01 vdr: [50361344] loading /video/Tausend_Morgen/2010-07-04.06.23.50.99.rec//marks.vdr
>Mar 11 09:17:04 s01 vdr: [50361344] playing '/video/Tausend_Morgen/2010-07-04.06.23.50.99.rec/001.vdr'
>Mar 11 09:17:04 s01 vdr: [50361344] recording to '/video/%Tausend_Morgen/2010-07-04.06.24.50.99.rec/001.vdr'
>Mar 11 09:17:04 s01 vdr: [50364416] video cutting thread started (pid=81670, tid=50364416)
>Mar 11 09:17:04 s01 vdr: [50364416] ERROR: syscall(SYS_ioprio_set ...) unsupported on FreeBSD
>Mar 11 09:17:04 s01 vdr: [50361344] info: Schnitt gestartet
>Mar 11 09:17:29 s01 vdr: [50364416] video cutting thread ended (pid=81670, tid=50364416)
>Mar 11 09:17:29 s01 vdr: [50361344] info: Schnitt beendet
>-------------------
>
>Wenn ich nun per backspace/Rücktaste den Schnittmodus verlassen will, dann stirbt der VDR auf eine andere Art, diesmal mit einem Bus-Error. (Ungewöhnlich, da ich im normalbetrieb eigentlich keine Probleme beim Umschalten zwischen Kanälen habe bzw. mit dem DVB-Device an sich)
>------------------
>Mar 11 09:17:53 s01 vdr: [54712320] non blocking file reader thread ended (pid=81670, tid=54712320)
>Mar 11 09:17:53 s01 vdr: [50372608] dvbplayer thread ended (pid=81670, tid=50372608)
>Mar 11 09:17:53 s01 vdr: [50361344] switching to channel 3
>Mar 11 09:17:53 s01 vdr: [50365440] receiver on device 1 thread started (pid=81670, tid=50365440)
>Mar 11 09:17:54 s01 kernel: pid 81670 (vdr), uid 938: exited on signal 10
>------------------
>Das Schneiden war aber erfolgreich. Ein anschließender zweiter Versuch mit einem anderen Video landet wieder beim SIGSEGV/11.
>
>Für mich sieht das irgendwie nach Thread-Timing-Problemen oder sowas aus. Als für mich erkennbares Muster deutet:
>a) Wenn es denn mal funktioniert, dann eigentlich nur fast direkt nach einem Neustart des VDR(aufgrund eines vorhergehenden Absturzes).
>b) Ein zweites Mal direkt im Anschluß segfaulted auch nahezu immer.
>
>Auf allen Rechnern habe ich 64Bit-Systeme und ZFS. So als "Gemeinsamkeit".
>Ein Coredump wird nicht geschrieben (evtl. nur nicht für den vdr-User?).
>Frage wäre nun:
>Nutzt von Euch jemand die Schneidefunktion des VDR und kann das irgendwie bestätigen. Oder widerlegen? Ist es evtl. von CARCH oder Filesystem abhängig?
>
>Eine Suche mit unterschiedlichen begriffen/Fehlermeldungen brachte leider nichts Erhellendes, zumindest was ich rausgelesen habe.
>
>Gruß
> Gerhard

 Ich hab's grad nochmal versucht zu reproduzieren aber bei mir crashed
er beim Schneiden nicht... Ich glaub am besten setzt du mal

        # sysctl kern.sugid_coredump=1

reproduzierst den crash und guckst danach den core mit gdb an:

        # script bt.txt gdb /usr/local/bin/vdr /video/vdr.core
        [...]
        (gdb) thread apply all bt

dann ein paar mal return druecken bis du wieder nen

        (gdb)

prompt bekommst, dann:

        (gdb) q

- und dann schickst den bt.txt .

 TIA, :)
        Juergen

To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Wed 13 Mar 2013 - 22:28:58 CET

search this site