Opened 11 years ago

Closed 11 years ago

Last modified 11 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@… 11 years ago.
GDB debug from segfault
Deadlock.txt (9.9 KB) - added by tobias.powalowski@… 11 years ago.
Cutting log with different start points of mythtranscode

Download all attachments as: .zip

Change History (19)

Changed 11 years ago by tobias.powalowski@…

Attachment: gdb-1209.txt added

GDB debug from segfault

comment:1 Changed 11 years ago by stuartm

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 Changed 11 years ago by Stuart Morgan <smorgan@…>

In ad1304f653aba0eb052a1f6b2415d94b24c0b9bb/mythtv:

Error: Processor CommitTicketReference failed
GIT backend not available

comment:3 Changed 11 years ago by stuartm

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.

Changed 11 years ago by tobias.powalowski@…

Attachment: Deadlock.txt added

Cutting log with different start points of mythtranscode

comment:4 Changed 11 years ago by tobias.powalowski@…

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 Changed 11 years ago by tobias.powalowski@…

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 Changed 11 years ago by JYA

Status: newinfoneeded_new

can you provide the arguments you used when calling mythtranscode?

comment:7 Changed 11 years ago by JYA

Owner: set to JYA

comment:8 Changed 11 years ago by tobias.powalowski@…

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

comment:9 Changed 11 years ago by Jean-Yves Avenard <jyavenard@…>

In 1267856cfbcfc01d2ff5b7ed8ac116e44ef3a0c4/mythtv:

Error: Processor CommitTicketReference failed
GIT backend not available

comment:10 Changed 11 years ago by Jean-Yves Avenard <jyavenard@…>

Resolution: fixed
Status: infoneeded_newclosed

In 345e2d651fe6dcb3f14caec73854b1a386e52be9/mythtv:

Error: Processor CommitTicketReference failed
GIT backend not available

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

In ff36448c27359619130cb6e221659330b70f19c8/mythtv:

Error: Processor CommitTicketReference failed
GIT backend not available

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

In c3caccaefad7d469f0b769a3dca8eb4e8f628678/mythtv:

Error: Processor CommitTicketReference failed
GIT backend not available

comment:13 Changed 11 years ago by Jean-Yves Avenard <jyavenard@…>

In f9ac3854932bb8164820abab6ad1f8dec3d10912/mythtv:

Error: Processor CommitTicketReference failed
GIT backend not available

comment:14 Changed 11 years ago by Jean-Yves Avenard <jyavenard@…>

In f2f014dc91f87b750bfec922fa6e0e2549a8ec94/mythtv:

Error: Processor CommitTicketReference failed
GIT backend not available

comment:15 Changed 11 years ago by Jean-Yves Avenard <jyavenard@…>

In ea583891b5efc7acad98d98d6976acaec9c1eabd/mythtv:

Error: Processor CommitTicketReference failed
GIT backend not available

comment:16 Changed 11 years ago by JYA

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 Changed 11 years ago by oli.henning@…

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.