Modify
Warning Please read the Ticket HowTo before creating or commenting on a ticket. Failure to do so may cause your ticket to be rejected or result in a slower response.

Opened 2 years ago

Closed 19 months ago

Last modified 19 months ago

#10610 closed Patch - Bug Fix (fixed)

Frontend enters infinite loop if channel icon == "none"

Reported by: rhansen@… Owned by: stuartm
Priority: minor Milestone: 0.26.1
Component: MythTV - Video/OSD Rendering Version: 0.25-fixes
Severity: medium Keywords:
Cc: Ticket locked: no

Description

My mythfrontend enters an infinite loop whenever I try to watch live TV. The following messages repeat in the logs until I hit ESC to exit:

Apr 15 22:08:07 hostname mythfrontend[27737]: I CoreContext mythcorecontext.cpp:1178 (CheckProtoVersion) Using protocol version 72
Apr 15 22:08:07 hostname mythfrontend[27737]: I CoreContext mythcorecontext.cpp:1178 (CheckProtoVersion) Using protocol version 72
Apr 15 22:08:07 hostname mythfrontend[27737]: E CoreContext remotefile.cpp:172 (openSocket) RemoteFile::openSocket(file data socket): Failed to open socket, error was filetransfer_filename_empty
Apr 15 22:08:07 hostname mythfrontend[27737]: E CoreContext mythuihelper.cpp:1349 (LoadScaleImage) MythUIHelper: LoadScaleImage(myth://ChannelIcon@127.0.0.1:6543/none) failed to load remote image
Apr 15 22:08:07 hostname mythfrontend[27737]: E CoreContext mythuihelper.cpp:1378 (LoadScaleImage) MythUIHelper: LoadScaleImage(myth://ChannelIcon@127.0.0.1:6543/none) failed to load image
Apr 15 22:08:07 hostname mythfrontend[27737]: I CoreContext mythcorecontext.cpp:1178 (CheckProtoVersion) Using protocol version 72
Apr 15 22:08:07 hostname mythfrontend[27737]: I CoreContext mythcorecontext.cpp:1178 (CheckProtoVersion) Using protocol version 72
Apr 15 22:08:07 hostname mythfrontend[27737]: E CoreContext remotefile.cpp:172 (openSocket) RemoteFile::openSocket(file data socket): Failed to open socket, error was filetransfer_filename_empty
Apr 15 22:08:07 hostname mythfrontend[27737]: E CoreContext mythuihelper.cpp:1349 (LoadScaleImage) MythUIHelper: LoadScaleImage(myth://ChannelIcon@127.0.0.1:6543/none) failed to load remote image
Apr 15 22:08:07 hostname mythfrontend[27737]: E CoreContext mythuihelper.cpp:1378 (LoadScaleImage) MythUIHelper: LoadScaleImage(myth://ChannelIcon@127.0.0.1:6543/none) failed to load image
Apr 15 22:08:07 hostname mythfrontend[27737]: I CoreContext mythcorecontext.cpp:1178 (CheckProtoVersion) Using protocol version 72
Apr 15 22:08:07 hostname mythfrontend[27737]: I CoreContext mythcorecontext.cpp:1178 (CheckProtoVersion) Using protocol version 72
Apr 15 22:08:07 hostname mythfrontend[27737]: E CoreContext remotefile.cpp:172 (openSocket) RemoteFile::openSocket(file data socket): Failed to open socket, error was filetransfer_filename_empty
Apr 15 22:08:07 hostname mythfrontend[27737]: E CoreContext mythuihelper.cpp:1349 (LoadScaleImage) MythUIHelper: LoadScaleImage(myth://ChannelIcon@127.0.0.1:6543/none) failed to load remote image
Apr 15 22:08:07 hostname mythfrontend[27737]: E CoreContext mythuihelper.cpp:1378 (LoadScaleImage) MythUIHelper: LoadScaleImage(myth://ChannelIcon@127.0.0.1:6543/none) failed to load image
Apr 15 22:08:07 hostname mythfrontend[27737]: I CoreContext mythcorecontext.cpp:1178 (CheckProtoVersion) Using protocol version 72
Apr 15 22:08:08 hostname mythfrontend[27737]: I CoreContext mythcorecontext.cpp:1178 (CheckProtoVersion) Using protocol version 72
Apr 15 22:08:08 hostname mythfrontend[27737]: E CoreContext remotefile.cpp:172 (openSocket) RemoteFile::openSocket(file data socket): Failed to open socket, error was filetransfer_filename_empty
Apr 15 22:08:08 hostname mythfrontend[27737]: E CoreContext mythuihelper.cpp:1349 (LoadScaleImage) MythUIHelper: LoadScaleImage(myth://ChannelIcon@127.0.0.1:6543/none) failed to load remote image
Apr 15 22:08:08 hostname mythfrontend[27737]: E CoreContext mythuihelper.cpp:1378 (LoadScaleImage) MythUIHelper: LoadScaleImage(myth://ChannelIcon@127.0.0.1:6543/none) failed to load image

Here is the backtrace leading up to the error message:

#0  MythUIHelper::LoadScaleImage (this=0xb406c0, filename=..., fromcache=true) at mythuihelper.cpp:1309
#1  0x00007ffff535ffe4 in MythImage::Load (this=0x7fffde4ac090, filename=..., scale=<value optimized out>) at mythimage.cpp:276
#2  0x00007ffff53a53fd in ImageLoader::LoadImage (painter=0xc3e190, imProps=..., cacheMode=kCacheNormal, parent=0x7fff00000050, aborted=@0x7fffffff8d01, imageReader=0x0) at mythuiimage.cpp:284
#3  0x00007ffff539f1c1 in MythUIImage::Load (this=0x7fffde4e4ab0, allowLoadInBackground=false, forceStat=false) at mythuiimage.cpp:1044
#4  0x00007ffff76933a2 in OSD::SetText (this=0x7fffdcc0cab0, window=..., map=..., timeout=kOSDTimeout_Med) at osd.cpp:435

Walking back up the call stack, I noticed that OSD::SetText() tests to see if the icon path is empty but does not check to see if it equals "none" (the default value in the database schema). Attached is an untested patch that should fix this bug.

Attachments (1)

0001-Treat-iconpath-none-the-same-as-iconpath.isEmpty.patch (1.4 KB) - added by rhansen@… 2 years ago.
untested patch

Download all attachments as: .zip

Change History (5)

Changed 2 years ago by rhansen@…

untested patch

comment:1 Changed 22 months ago by beirdo

  • Owner set to stuartm
  • Status changed from new to assigned

comment:2 Changed 19 months ago by stuartm

  • Component changed from MythTV - General to MythTV - Video/OSD Rendering
  • Milestone changed from unknown to 0.26.1
  • Status changed from assigned to accepted

comment:3 Changed 19 months ago by Stuart Morgan <smorgan@…>

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

In 563fc37cb01ce702806396ecf70657906e5d7125/mythtv:

Don't insert a default value of 'none' into the icon column of the channel table. Fixes #10610

comment:4 Changed 19 months ago by Stuart Morgan <smorgan@…>

In b187af8f19b2e4a04e0d6ac12433fc4cded30f81/mythtv:

Include an update replacing 'none' with in 1308. If you've already updated to 1308 you might consider manually running UPDATE channel SET icon= WHERE icon='none'; Refs #10610

Add Comment

Modify Ticket

Action
as closed .
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.