Opened 7 years ago

Closed 7 years ago

#9515 closed Bug Report (fixed)

[CRASH] skipdb option to mythcommflag ignored, causes crash

Reported by: jon.christopher@… Owned by: Raymond Wagner
Priority: minor Milestone: 0.25
Component: MythTV - Mythcommflag Version: 0.24-fixes
Severity: medium Keywords:
Cc: Ticket locked: no

Description

Even though I specify the --skipdb flag to mythcommflag, the it attempts to access the database, causing a crash. I tested this on Mac OS X using the latest binary builds from sourceforge, and Otto Kolsi confirmed this on linux.


> kika:/Volumes/MythBackend-0.24-fixes-Intel-10.6/MythCommFlag.app/Contents/MacOS$
> ./MythCommFlag --skipdb  --video ~/Desktop/0000000012f14ef8.mpg
> --outputfile - --outputmethod full
> 2011-01-27 10:20:03.087 Using runtime prefix =
> /Volumes/MythBackend-0.24-fixes-Intel-10.6/MythCommFlag.app/Contents/MacOS
> 2011-01-27 10:20:03.087 Using configuration directory = /Users/jchrist/.mythtv
> 2011-01-27 10:20:03.089 Error Loading en_us translation for module mythfrontend
> 2011-01-27 10:20:03.089 MythCommFlag version: 0.24.20101129-1 www.mythtv.org
> 2011-01-27 10:20:03.089 Enabled verbose msgs: important
>
> MythTV Commercial Flagger, started at Thu Jan 27 10:20:03 2011
> Building seek table for: /Users/jchrist/Desktop/0000000012f14ef8.mpg
> 2011-01-27 10:20:03.090 New DB connection, total: 1
> Bus error

Attachments (1)

mythcommflag-skipdb-bt.txt (12.4 KB) - added by otto@… 7 years ago.

Download all attachments as: .zip

Change History (7)

Changed 7 years ago by otto@…

Attachment: mythcommflag-skipdb-bt.txt added

comment:1 Changed 7 years ago by otto@…

Attached backtrace showing mythcommflag segfault with --skipdb.

comment:2 Changed 7 years ago by beirdo

Summary: skipdb option to mythcommflag ignored, causes crash[CRASH] skipdb option to mythcommflag ignored, causes crash

comment:3 Changed 7 years ago by beirdo

Version: Unspecified0.24-fixes

comment:4 Changed 7 years ago by bennymythtv@…

ProgramInfo::ProgramInfo always attempts to create a database connection. If --video is supplied, this bit of code creates ProgramInfo:

    if (isVideo)
    {
        ProgramInfo pginfo(filename);
        result = BuildVideoMarkup(&pginfo, useDB);
    }

However, if --video is not supplied, ProgramInfo is initialized a little bit later in the !useDB clause, resulting in the same problem.

It seems like the ProgramInfo needs a useDB boolean.

comment:5 Changed 7 years ago by Raymond Wagner

Milestone: unknown0.25
Owner: changed from cpinkham to Raymond Wagner
Status: newaccepted

comment:6 Changed 7 years ago by Github

Resolution: fixed
Status: acceptedclosed

Rework ordering of command line processing in mythcommflag. Inputs are no longer processed and stored to temporary variables, as required by the previous command line parser, but are now pulled out of the parser object as needed. The --skipdb parameter now behaves properly.

Fixes #9515

Use with no options is no longer permitted. The old behavior of running all recordings directly is no longer supported. If the --queue parameter is specified alone, it will queue a commercial detection job for any recording that has not been previously flagged, and is not on a commercial free channel. The --force parameter will queue jobs for all recordings, and the --rebuild will queue jobs to instead rebuild the seektables.

Fixes #9152

Branch: master Changeset: baf6105331ffac50f720e57006223486f8071b72

Note: See TracTickets for help on using tickets.