Opened 13 years ago

Closed 13 years ago

Last modified 13 years ago

#9729 closed Bug Report - Crash (fixed)

mythtranscode with --honorcutlist do not work

Reported by: zeloise@… Owned by: sphery
Priority: minor Milestone: 0.25
Component: MythTV - Mythtranscode Version: Master Head
Severity: medium Keywords:
Cc: Ticket locked: no

Description

Hello,

mythtranscode stop working after some frame when using the "--honorcutlist" option. the Program exited with code 0224 with No stack. (see attached gdb_mytranscode_cutlist.txt for detail)

This error appears since commits:

  • 32839c314e837e1e2644: Simplify string-based summary output of cut lists (2011-01-25)
  • 0791662a7cb823f3e1a2: Editor: Add Undo/Redo? and auto-save-to-temporary list (2011-01-29)

Reversing those commit solve the problem.

Using nuvexport --debug, i use the following commands (in the same time): (directory had been created; mkdir -m 0755 /tmp/fifodir_28055/)

1 - /usr/bin/nice -n19 /usr/bin/mythtranscode --showprogress -p '0' -c '13159' -s '2011-04-12T14:30:00' -f "/tmp/fifodir_28055/" --honorcutlist 2>&1

2 - /usr/bin/nice -n19 mencoder -aspect 1.77777777777778 -noskip -idx /tmp/fifodir_28055/vidout -audiofile /tmp/fifodir_28055/audout -demuxer 20 -audio-demuxer 20 -rawaudio rate=48000:channels=2 -demuxer 26 -rawvideo w=544:h=576:fps=25.000 -ovc xvid -oac mp3lame -lameopts vbr=3:br=192 -xvidencopts fixed_quant=3 -o '/_x/Mediux/z/Holy Lola.avi' -vf crop=528:560:8:8,lavcdeint,scale=720:400 2>&1

without the option "--honorcutlist" every is correct but, of course, i do not have the cut in the transcoded video.

More of that it appears that the mythconverg table "recordedmarkup" keep the temporary negatives mark (-5, -3, -2)

Mythtv version: 0.25.20110409-1 from ppa 0.25.0~master.20110413.d7550bf-0ubuntu0mythbuntu2 on ubuntu natty

Thanks in advance for your helps Zeloise

Attachments (1)

gdb_mytranscode_cutlist.txt (2.9 KB) - added by zeloise@… 13 years ago.
gdb data

Download all attachments as: .zip

Change History (8)

Changed 13 years ago by zeloise@…

Attachment: gdb_mytranscode_cutlist.txt added

gdb data

comment:1 Changed 13 years ago by sphery

Owner: set to sphery
Status: newassigned

Please put those 2 changes you reversed back in, recompile and re-install MythTV, then play back the recording you're trying to transcode, hit EDIT (E), then MENU (M), and select "Cut List Options", then "Save Cut List."

Then, try to transcode the show, again. Something is changing the cut list (thus the -3/MARK_UPDATED_CUT value) while you're attempting to transcode, so mythtranscode exits, because it was told there's a new cut list to use. I'm hoping that re-editing will update the cut list properly, so that the transcode can complete. It looks like you may have had a crash (or otherwise incomplete edit session) on the recording.

Thanks.

comment:2 Changed 13 years ago by Jim Stichnoth <stichnot@…>

This behavior can be reproduced by entering the editor, adding one or more cut regions, then killing the mythfrontend process, and finally starting the transcode. This leaves the "editing" flag in the recorded table set and leads to the reported failure.

For reasons I haven't figure out yet, the transcode succeeds if the cutlist is empty, even when the editing flag is still set.

The difference between now and before the auto-save commit is that now, temporary values are held in the recordedmarkup table, giving a non-empty cutlist and leading to the reported failure when the editing flag is set. I suspect that without the auto-save commit, the same behavior would be seen if a nonempty cutlist were saved before killing the mythfrontend process.

In short, if I correctly understand the details surrounding the reported failure, this doesn't seem like a new bug or one that would be easy to fix.

comment:3 Changed 13 years ago by zeloise@…

Hello,

i have tried the mdean recommandation, and more other tests without any change. I don't know if the problem was here before those commit, but i do not have any problem before those commit.

Thanks in advance zeloise

comment:4 Changed 13 years ago by mark@…

mdean,

I seem to be having a related issue, but I do not know for sure.

I have been using the fedora 14 distro, and have not yet jumped over to the current git.

I have been trying to use a part of mythtv that I had not used before, and am running into an issue.

I am trying to convert a VHS tape to a DVD using mytharchive.

I want to trim off the beginning and end of the tape.

After the tape is recorded, I go back and view the recording, hit E to edit it, and make a cutlist from my first desired part of the tape to the beginning.

When I go to archive and select the cutlist (C) and go to thumbnail editor (I), mythfrontend goes into an infinite loop in ThumbFinder::calcFinalDuration. I looked at the cutlist, and I have a -3 at mark 0 and a 0 at mark 2239.

I have used mysql to change the -3 to a 0 and the 0 to a 1, and things seem to work better, although I have not completed testing yet.

I am using: MythTV Version : 0.24-7.fc14 (464fa28373) MythTV Branch : Network Protocol : 63 Library API : 0.24.20101129-1 QT Version : 4.7.1

Does this seem like the same issue to you? If so, have any changes been made in the current git? Is there anything I can do to help?

Thanks, Mark

comment:5 Changed 13 years ago by otto@…

It looks like mythtranscode sets deleteMap which is used in here: https://github.com/MythTV/mythtv/blob/master/mythtv/programs/mythtranscode/transcode.cpp#L729 and that has a side effect so that marker "-3" / MARK_UPDATED_CUT is added to the recordedmarkup DB table.

Later while transcoding is progressing, transcode checks periodically if anyone has modified the cutlist -> it finds MARK_UPDATED_CUT from the recordedmarkup and aborts the transcoding with log print:

2011-06-02 19:52:19.837 Transcoding aborted, cutlist updated

comment:6 Changed 13 years ago by Github

Milestone: unknown0.25
Resolution: fixed
Status: assignedclosed

Prevent transcode failures due to false "updated cut list".

The recording editor's undo/redo functionality modifies the cut list, so when the transcoder sets the cut list and we save the undo information, the DB was updated to show that the cut list had changed with a MARK_UPDATED_CUT. When the transcoder noticed the MARK_UPDATED_CUT (which only happened on long-running transcodes--so wouldn't necessarily happen on lossless transcodes or very fast systems), mythtranscode exited with a REENCODE_CUTLIST_CHANGE error, thinking someone else had changed the cut list.

This patch changes the delete map so that SetMap?() does not save an undo point; therefore, it prevents the MARK_UPDATED_CUT. Since the UI does not allow direct access to SetMap?(), this shouldn't have any visible effect--other than to allow transcoding to work properly.

This approach is a temporary fix until I've had time to finish a patch which reorganizes the delete map code to separate the UI code from the data/logic code.

Thanks for the report, zeloise, and for the additional information, Otto.

Fixes #9729.

Branch: master Changeset: e4be111e54b77ddc606e6072fa2f1f5fbddc4a0a

comment:7 Changed 13 years ago by zeloise@…

Hello

This commit change solved the problem

Thank-you very much for your help zeloise

Note: See TracTickets for help on using tickets.