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: | 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)
Change History (19)
Changed 11 years ago by
Attachment: | gdb-1209.txt added |
---|
comment:1 Changed 11 years ago by
Milestone: | unknown → 0.27.2 |
---|---|
Priority: | minor → blocker |
Type: | Bug Report - General → Bug 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:3 Changed 11 years ago by
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
Attachment: | Deadlock.txt added |
---|
Cutting log with different start points of mythtranscode
comment:4 Changed 11 years ago by
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
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
Status: | new → infoneeded_new |
---|
can you provide the arguments you used when calling mythtranscode?
comment:7 Changed 11 years ago by
Owner: | set to JYA |
---|
comment:8 Changed 11 years ago by
I think it was this: mythtranscode -i ./Alien-test\[copy\].mpg --video --nologserver --mpeg2 --outfile blub-test.mpg
comment:10 Changed 11 years ago by
Resolution: | → fixed |
---|---|
Status: | infoneeded_new → closed |
comment:16 Changed 11 years ago by
Milestone: | 0.27.2 → 0.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
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?
GDB debug from segfault