Opened 13 years ago
Closed 13 years ago
#9427 closed Bug Report - Crash (fixed)
[CRASH] segfault in mythtranscode if run with --infile
Reported by: | Owned by: | beirdo | |
---|---|---|---|
Priority: | minor | Milestone: | 0.25 |
Component: | MythTV - Mythtranscode | Version: | 0.24-fixes |
Severity: | medium | Keywords: | |
Cc: | Ticket locked: | no |
Description
mythtranscode segfault if I start it with --infile and mythtv has no recording for that file in the database.
backtrace:
#0 0x000000000041e6ce in QString (this=0x7f943807d008, other=@0x8) at /usr/qt-4.7/include/QtCore/qstring.h:728 #1 0x00007f944652cefa in ProgramInfo (this=0x7f943807d000, other=@0x0) at programinfo.cpp:226 #2 0x00007f9449203fad in DecoderBase (this=0x7f94380237d0, parent=0x7f9438031710, pginfo=@0x0) at decoderbase.cpp:49 #3 0x00007f944923e3f9 in AvFormatDecoder (this=0x7f94380237d0, parent=0x7f9438031710, pginfo=@0x0, use_null_videoout=true, allow_private_decode=true, no_hardware_decode=false, special_decoding=kAVSpecialDecode_None) at avformatdecoder.cpp:292 #4 0x00007f9449197e3c in MythPlayer::CreateDecoder (this=0x7f9438031710, testbuf=0x7fff047b3e40 "G@", testreadsize=2048, allow_libmpeg2=true, no_accel=false) at mythplayer.cpp:927 #5 0x00007f944919a1fa in MythPlayer::OpenFile (this=0x7f9438031710, retries=0, allow_libmpeg2=true) at mythplayer.cpp:980 #6 0x00000000004224c2 in Transcode::TranscodeFile (this=0x7f943801ede0, inputname=@0x7fff047d68e0, outputname=@0x7fff047d68d0, profileName=@0x7fff047d68c0, honorCutList=false, framecontrol=false, jobID=-1, fifodir= {static null = {<No data fields>}, static shared_null = {ref = {_q_value = 186}, alloc = 0, size = 0, data = 0x7f94420feefa, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, static shared_empty = {ref = {_q_value = 38}, alloc = 0, size = 0, data = 0x7f94420fef1a, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, d = 0x7fff047d6e20, static codecForCStrings = 0x0}, deleteMap=@0x7fff047d6880) at transcode.cpp:406 #7 0x000000000041c059 in main (argc=7, argv=0x7fff047d71e8) at main.cpp:642
Change History (4)
comment:1 Changed 13 years ago by
Summary: | segfault in mythtranscode if run with --infile → [CRASH] segfault in mythtranscode if run with --infile |
---|
comment:2 Changed 13 years ago by
Owner: | set to beirdo |
---|---|
Status: | new → assigned |
comment:3 Changed 13 years ago by
Type: | Bug Report → Bug Report - Crash |
---|
comment:4 Changed 13 years ago by
Milestone: | unknown → 0.25 |
---|---|
Resolution: | → fixed |
Status: | assigned → closed |
Note: See
TracTickets for help on using
tickets.
Make mythtranscode fail gracefully on file not found
Fixes #9427
If a recording doesn't exist, or the recording exists, but is not in the database, mythtranscode will gracefully refuse to transcode it, rather than crash.
Also, make the MythContext object be on the stack of main(), such that any exit from the system will hit the dtor, causing a cleaner shutdown.