Opened 15 years ago
Closed 14 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 by , 15 years ago
| Summary: | segfault in mythtranscode if run with --infile → [CRASH] segfault in mythtranscode if run with --infile |
|---|
comment:2 by , 15 years ago
| Owner: | set to |
|---|---|
| Status: | new → assigned |
comment:3 by , 14 years ago
| Type: | Bug Report → Bug Report - Crash |
|---|
comment:4 by , 14 years ago
| 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.