Opened 12 years ago

Closed 12 years ago

Last modified 12 years ago

#12153 closed Bug Report - Hang/Deadlock (fixed)

0.27/fixes mythtranscode mpeg lossless segfaults on certain files

Reported by: tobias.powalowski@… Owned by: JYA
Priority: blocker Milestone: 0.27.3
Component: MythTV - Mythtranscode Version: 0.27-fixes
Severity: medium Keywords:
Cc: Ticket locked: no

Description

mythtranscode fixes from 20140527 segfaults on certain files. From mythfrontend it starts transcoding and creates the .tmp file in mythtv home directory and reports back error 140. It's again movies recorded from German Sky pay tv.

Calling from commandline I attached the debug output. Attached gdb file below.

It could be again something with the dynamic PMT stuff which Sky uses, but this time it segfaults and does not stop with ringbuffer errors like https://code.mythtv.org/trac/ticket/12147

Attachments (2)

gdb-1209.txt (14.4 KB ) - added by tobias.powalowski@… 12 years ago.
GDB debug from segfault
Deadlock.txt (9.9 KB ) - added by tobias.powalowski@… 12 years ago.
Cutting log with different start points of mythtranscode

Download all attachments as: .zip

Change History (19)

by tobias.powalowski@…, 12 years ago

Attachment: gdb-1209.txt added

GDB debug from segfault

comment:1 by stuartm, 12 years ago

Milestone: unknown0.27.2
Priority: minorblocker
Type: Bug Report - GeneralBug Report - Hang/Deadlock

I strongly suspect this is caused by one of the streams disappearing from the file. However the pointer address for MPEG2Fix is a little suspicious too.

comment:2 by Stuart Morgan <smorgan@…>, 12 years ago

In ad1304f653aba0eb052a1f6b2415d94b24c0b9bb/mythtv:

Error: Processor CommitTicketReference failed
GIT backend not available

comment:3 by stuartm, 12 years ago

Logs provided by the reporter in IRC show there's some minor damage to the recording around this point. Damage that we can handle gracefully in playback but apparently not when doing a lossless transcode. There's no good reason for this however, we ought to be able to skip frames with missing data and proceed past the damage.

by tobias.powalowski@…, 12 years ago

Attachment: Deadlock.txt added

Cutting log with different start points of mythtranscode

comment:4 by tobias.powalowski@…, 12 years ago

https://dev.archlinux.org/~tpowa/Sample-Broken.mpg Provide the file, which contains the break point. Start and End points are ok, I created the snipplet with projectx. Stream 0x403 breaks it. Removing the AC3 stream pid fixes it.

comment:5 by tobias.powalowski@…, 12 years ago

Doing conversion with ffmpeg, leads to this error on AC3 stream. Pos: 7.5s 173f (87%) 0.00fps Trem: 0min 2mb A-V:-0.048 [617:1536] TS_PARSE: COULDN'T SYNC

comment:6 by JYA, 12 years ago

Status: newinfoneeded_new

can you provide the arguments you used when calling mythtranscode?

comment:7 by JYA, 12 years ago

Owner: set to JYA

comment:8 by tobias.powalowski@…, 12 years ago

I think it was this: mythtranscode -i ./Alien-test\[copy\].mpg --video --nologserver --mpeg2 --outfile blub-test.mpg

comment:9 by Jean-Yves Avenard <jyavenard@…>, 12 years ago

In 1267856cfbcfc01d2ff5b7ed8ac116e44ef3a0c4/mythtv:

Error: Processor CommitTicketReference failed
GIT backend not available

comment:10 by Jean-Yves Avenard <jyavenard@…>, 12 years ago

Resolution: fixed
Status: infoneeded_newclosed

In 345e2d651fe6dcb3f14caec73854b1a386e52be9/mythtv:

Error: Processor CommitTicketReference failed
GIT backend not available

comment:11 by Jean-Yves Avenard <jyavenard@…>, 12 years ago

In ff36448c27359619130cb6e221659330b70f19c8/mythtv:

Error: Processor CommitTicketReference failed
GIT backend not available

comment:12 by Stuart Morgan <smorgan@…>, 12 years ago

In c3caccaefad7d469f0b769a3dca8eb4e8f628678/mythtv:

Error: Processor CommitTicketReference failed
GIT backend not available

comment:13 by Jean-Yves Avenard <jyavenard@…>, 12 years ago

In f9ac3854932bb8164820abab6ad1f8dec3d10912/mythtv:

Error: Processor CommitTicketReference failed
GIT backend not available

comment:14 by Jean-Yves Avenard <jyavenard@…>, 12 years ago

In f2f014dc91f87b750bfec922fa6e0e2549a8ec94/mythtv:

Error: Processor CommitTicketReference failed
GIT backend not available

comment:15 by Jean-Yves Avenard <jyavenard@…>, 12 years ago

In ea583891b5efc7acad98d98d6976acaec9c1eabd/mythtv:

Error: Processor CommitTicketReference failed
GIT backend not available

comment:16 by JYA, 12 years ago

Milestone: 0.27.20.27.3

While mythtranscode will no longer crash, it will still no produce a valid file with your sample.

The problem is that our mpegts demuxer detects the audio streams as having 0 channels.

I've added two workarounds that you can use, their are independent to one another.

First one is a setting that you active by giving -O FFMPEGTS=1 as argument to mythtranscode. This will force mythtranscode to use the native ffmpegts demuxer. In this particular example, it will detect the audio streams perfectly.

There are issues with the ffmpeg mpegts demuxer: in particular it won't detect change of streams partway which could be an issue with some channels. it won't detect subtitles and mhi, but those are filtered anyway.

The other workaround is to use the new mythtranscode switch: -—allaudiotracks it will include all found audio channels, even those detected as having 0 channels.

Take your pick

comment:17 by oli.henning@…, 12 years ago

This workaround does not work I added "-O FFMPEGTS=1" as a command-line-parameter to mythtranscode in mythtv-setup -> General -> 9th Page (titled "Job Queue (Global)").

So the "Transcoder command" is now "mythtranscode -O FFMPEGTS=1". But now, mythtranscode seems not to start any more.

Any suggestions?

Note: See TracTickets for help on using tickets.