Modify

Opened 5 years ago

Closed 4 years ago

#11450 closed Bug Report - Crash (Fixed)

mythfrontend segfaults if you leave "Watch Videos" while downloading metadata

Reported by: faginbagin <mythtv@…> Owned by: wagnerrp
Priority: critical Milestone: 0.27
Component: MythTV - Mythmetadatalookup Version: 0.26-fixes
Severity: medium Keywords:
Cc: Ticket locked: no

Description

If you:

  • have a large enough library of videos, perhaps ones that don't exist at themoviedb.org, like home videos and test videos,
  • and you don't have videometadata records for all or at least most of the library,
  • and you scan the library from within "Watch Videos",
  • and then leave "Watch Videos" after the file system scan completes but before all attempts to download metadata for the library have completed,

mythfrontend will dump core.

I believe it will dump core because VideoDialog? is the parent of MetadataFactory? and MetadataFactory? is the parent of MetadataDownload?, and when you leave "Watch Videos" while its trying to download metadata, VideoDialog?, MetadataFactory?, and MetadataDownload? are deleted, even though MetadataDownload::runGrabber() is waiting for tmdb.py to complete. When that command completes, it leads to a call to MetadataFactory::customEvent() in the main event thread, which tries to post a MetadataFactoryNoResult? event to its deleted parent VideoDialog?, which causes the core dump.

Steps to reproduce:

  • Truncate videometadata table using your favorite database management tool.
  • In mythfrontend, go to Media Library -> Watch Videos
  • Say OK when prompted to scan your video directories.
  • Press ESC as soon as progress box disappears.

Within a few seconds, mythfrontend should vanish.

mythfrontend --version Please attach all output as a file in bug reports. MythTV Version : v0.26.0-112-g77259c5 MythTV Branch : fixes/0.26 Network Protocol : 75 Library API : 0.26.20130225-1 QT Version : 4.8.3 Options compiled in:

linux profile use_hidesyms using_alsa using_oss using_pulse using_pulseoutput using_backend using_bindings_perl using_bindings_python using_bindings_php using_crystalhd using_dvb using_firewire using_frontend using_hdhomerun using_ceton using_hdpvr using_iptv using_ivtv using_joystick_menu using_libcec using_libcrypto using_libdns_sd using_libxml2 using_lirc using_mheg using_opengl_video using_qtwebkit using_qtscript using_qtdbus using_v4l2 using_x11 using_xrandr using_xv using_bindings_perl using_bindings_python using_bindings_php using_mythtranscode using_opengl using_vaapi using_vdpau using_ffmpeg_threads using_live using_mheg using_libass using_libxml2

Attachments (2)

gdb.mythfrontend.11679.txt (74.6 KB) - added by faginbagin <mythtv@…> 5 years ago.
mythfrontend.20130311065745.11679.log (242.1 KB) - added by faginbagin <mythtv@…> 5 years ago.

Download all attachments as: .zip

Change History (6)

Changed 5 years ago by faginbagin <mythtv@…>

Changed 5 years ago by faginbagin <mythtv@…>

comment:1 Changed 5 years ago by faginbagin <mythtv@…>

If you're interested in a useful collection of videos to test this ticket, I suggest downloading and extracting the MP4 video clips described here:

http://www.avsforum.com/t/948496/avs-hd-709-blu-ray-mp4-calibration

They have helped me calibrate my HDTVs.

There may be other ways than truncating the videometadata table to reproduce this problem, but it's the way I was able to reproduce it consistently.

comment:2 Changed 4 years ago by wagnerrp

  • Owner set to wagnerrp
  • Status changed from new to accepted

comment:3 Changed 4 years ago by stuartm

  • Milestone changed from unknown to 0.27
  • Priority changed from minor to critical

Raymond, Jean Yves was most recently looking at this issue, maybe you two could figure out a solution between you for 0.27? He may even have opened a ticket about it.

comment:4 Changed 4 years ago by jyavenard

  • Resolution set to Fixed
  • Status changed from accepted to closed

that issue was resolved with my work on mythmetadata earlier on

Add Comment

Modify Ticket

Action
as closed The owner will remain wagnerrp.
The resolution will be deleted. Next status will be 'new'.
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.