id	summary	reporter	owner	description	type	status	priority	milestone	component	version	severity	resolution	keywords	cc	mlocked
10610	"Frontend enters infinite loop if channel icon == ""none"""	rhansen@…	stuartm	"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."	Patch - Bug Fix	closed	minor	0.26.1	MythTV - Video/OSD Rendering	0.25-fixes	medium	fixed			0
