Lost most channel logos with 1.8.1.4

An evolving, supported alternative to Rovi
Forum rules
★ Download the latest EPG123 here: https://garyan2.github.io/ <> Setup guide here: https://garyan2.github.io/install.html
Post Reply
gratefuldad2000

Posts: 5
Joined: Fri Aug 18, 2023 4:14 pm
Location:

HTPC Specs: Show details

Lost most channel logos with 1.8.1.4

#1

Post by gratefuldad2000 » Fri Aug 18, 2023 4:45 pm

Hi @garyan2,

The latest release has been a bit a bit unstable for me. While it seems to download the EPG data correctly, most (but not all) of my channel logos have disappeared, and I have hundreds of them in the logos folder. I tried clearing the cache and removing all logos through the UI, which caused the channel names to show up, but the problem came back after the next update. Trace.log shows no errors or warnings:

Code: Select all

...
[8/18/2023 3:01:50 AM] [ INFO] Completed save of the MXF file to "C:\Tools\epg123\output\epg123.mxf". (30.455 MB)
[8/18/2023 3:01:50 AM] [ INFO] Generated MXF file contains 141 services, 2345 series, 2633 seasons, 20549 programs, 49478 schedule entries, and 37979 people with 5059 image links.
[8/18/2023 3:01:50 AM] [ INFO] Completed EPG123 update execution. SUCCESS.
...
In the server.log on the other hand I noticed a NullRef, which is probably the root cause of the problem:

Code: Select all

[8/15/2023 8:01:45 PM] [ INFO] Starting EPG123 Server service ...
[8/15/2023 8:01:46 PM] [ INFO] Refreshed Schedules Direct API token. Token=3e41c...
[8/15/2023 8:01:46 PM] [ INFO] UDP Server initialized.
[8/15/2023 8:01:46 PM] [ INFO] File server initialized with 4 worker threads.
[8/15/2023 8:01:46 PM] [ INFO] Image server initialized with 12 worker threads.
[8/15/2023 8:01:46 PM] [ INFO] EPG123 Server service completed initializations.
[8/15/2023 8:02:37 PM] [ INFO] Refreshed Schedules Direct API token. Token=cc875...
[8/16/2023 7:01:51 AM] [ERROR] /image/16dfac4be86cbee37be7c6d07dc55ac14aeb891f6e47112f2bea3fafdf38c2d8.jpg ServiceImageRequest() Exception: System.AggregateException: One or more errors occurred. ---> System.NullReferenceException: Object reference not set to an instance of an object.
   at GaRyan2.SchedulesDirectAPI.API.<GetSdImage>d__9.MoveNext()
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
   at tokenServer.HttpImageServer.ServiceImageRequest(HttpListenerContext context, Boolean retry)
---> (Inner Exception #0) System.NullReferenceException: Object reference not set to an instance of an object.
   at GaRyan2.SchedulesDirectAPI.API.<GetSdImage>d__9.MoveNext()<---

[8/16/2023 7:01:55 AM] [ERROR] /image/f3292c0721169631810237589e03d1f6581f915fad7f13fd4de3a182cab8f458.jpg ServiceImageRequest() Exception: System.AggregateException: One or more errors occurred. ---> System.NullReferenceException: Object reference not set to an instance of an object.
   at GaRyan2.SchedulesDirectAPI.API.<GetSdImage>d__9.MoveNext()
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
   at tokenServer.HttpImageServer.ServiceImageRequest(HttpListenerContext context, Boolean retry)
---> (Inner Exception #0) System.NullReferenceException: Object reference not set to an instance of an object.
   at GaRyan2.SchedulesDirectAPI.API.<GetSdImage>d__9.MoveNext()<---

[8/16/2023 3:35:37 PM] [ERROR] /image/17834670a2f337a735af9e0ecc9b2005a851b04f41ecf5425821dbc310c0fcfe.jpg ServiceImageRequest() Exception: System.AggregateException: One or more errors occurred. ---> System.NullReferenceException: Object reference not set to an instance of an object.
   at GaRyan2.SchedulesDirectAPI.API.<GetSdImage>d__9.MoveNext()
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
   at tokenServer.HttpImageServer.ServiceImageRequest(HttpListenerContext context, Boolean retry)
---> (Inner Exception #0) System.NullReferenceException: Object reference not set to an instance of an object.
   at GaRyan2.SchedulesDirectAPI.API.<GetSdImage>d__9.MoveNext()<---

[8/16/2023 3:35:44 PM] [ERROR] /image/c8620a5ab3253bd8fbd325f7ac16c03968cde169a210f6f8d430a790b0ebd6d6.jpg ServiceImageRequest() Exception: System.AggregateException: One or more errors occurred. ---> System.NullReferenceException: Object reference not set to an instance of an object.
   at GaRyan2.SchedulesDirectAPI.API.<GetSdImage>d__9.MoveNext()
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
   at tokenServer.HttpImageServer.ServiceImageRequest(HttpListenerContext context, Boolean retry)
---> (Inner Exception #0) System.NullReferenceException: Object reference not set to an instance of an object.
   at GaRyan2.SchedulesDirectAPI.API.<GetSdImage>d__9.MoveNext()<---

[8/16/2023 7:02:57 PM] [ INFO] Refreshed Schedules Direct API token. Token=c7ce1...
[8/16/2023 9:00:26 PM] [ERROR] /image/18551bc3f9af0cccfa76c40fe23337b7036ae6398f29ff63fed0e286518fdda1.jpg ServiceImageRequest() Exception: System.AggregateException: One or more errors occurred. ---> System.NullReferenceException: Object reference not set to an instance of an object.
   at GaRyan2.SchedulesDirectAPI.API.<GetSdImage>d__9.MoveNext()
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
   at tokenServer.HttpImageServer.ServiceImageRequest(HttpListenerContext context, Boolean retry)
---> (Inner Exception #0) System.NullReferenceException: Object reference not set to an instance of an object.
   at GaRyan2.SchedulesDirectAPI.API.<GetSdImage>d__9.MoveNext()<---

[8/16/2023 9:00:54 PM] [ERROR] /image/cd71f3eac0e57455be7d3c568d67b4a26b03bf8e3d3fbfe18baed5b6cccc0c42.jpg ServiceImageRequest() Exception: System.Net.HttpListenerException (0x80004005): An operation was attempted on a nonexistent network connection
   at System.Net.HttpResponseStream.Write(Byte[] buffer, Int32 offset, Int32 size)
   at System.IO.Stream.InternalCopyTo(Stream destination, Int32 bufferSize)
   at tokenServer.HttpImageServer.SendHttpResponse(HttpListenerResponse response, MemoryStream memStream, HttpResponseMessage httpResponse)
   at tokenServer.HttpImageServer.ServiceImageRequest(HttpListenerContext context, Boolean retry)
[8/17/2023 6:03:19 PM] [ INFO] Refreshed Schedules Direct API token. Token=61290...
[8/17/2023 9:10:20 PM] [ERROR] /image/b8fffebdcda1dc6216ed81d548f160e64be5726d3f56c547b1e6d24c6c40276b.jpg ServiceImageRequest() Exception: System.AggregateException: One or more errors occurred. ---> System.NullReferenceException: Object reference not set to an instance of an object.
   at GaRyan2.SchedulesDirectAPI.API.<GetSdImage>d__9.MoveNext()
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
   at tokenServer.HttpImageServer.ServiceImageRequest(HttpListenerContext context, Boolean retry)
---> (Inner Exception #0) System.NullReferenceException: Object reference not set to an instance of an object.
   at GaRyan2.SchedulesDirectAPI.API.<GetSdImage>d__9.MoveNext()<---

[8/17/2023 9:28:21 PM] [ERROR] /image/0d88f788f263f44681c13dc4efd662a44c7141c1fed271c628074ae23e773a7a.jpg ServiceImageRequest() Exception: System.AggregateException: One or more errors occurred. ---> System.NullReferenceException: Object reference not set to an instance of an object.
   at GaRyan2.SchedulesDirectAPI.API.<GetSdImage>d__9.MoveNext()
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
   at tokenServer.HttpImageServer.ServiceImageRequest(HttpListenerContext context, Boolean retry)
---> (Inner Exception #0) System.NullReferenceException: Object reference not set to an instance of an object.
   at GaRyan2.SchedulesDirectAPI.API.<GetSdImage>d__9.MoveNext()<---

[8/17/2023 9:28:25 PM] [ERROR] /image/2f012f7226927f67aa911a423c649b593408a61522488007750e675d357f7e01.jpg ServiceImageRequest() Exception: System.AggregateException: One or more errors occurred. ---> System.NullReferenceException: Object reference not set to an instance of an object.
   at GaRyan2.SchedulesDirectAPI.API.<GetSdImage>d__9.MoveNext()
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
   at tokenServer.HttpImageServer.ServiceImageRequest(HttpListenerContext context, Boolean retry)
---> (Inner Exception #0) System.NullReferenceException: Object reference not set to an instance of an object.
   at GaRyan2.SchedulesDirectAPI.API.<GetSdImage>d__9.MoveNext()<---
Any ideas what could be wrong?

Thank you!

User avatar
garyan2

Posts: 7480
Joined: Fri Nov 27, 2015 7:23 pm
Location:

HTPC Specs: Show details

#2

Post by garyan2 » Sat Aug 19, 2023 12:02 am

The errors in the server.log are for program images. For logos, the function that will show in the log file with the exception would be something different.

Logos are provided over HTTP via the service... is your service running on whichever machine created the mxf file?

Take a look at the status webpage at http://localhost:9009/ to see how many logo requests you have received and how many have been serviced.
Last edited by garyan2 on Sat Aug 19, 2023 1:10 am, edited 1 time in total.
- Gary
Keeping WMC alive beyond January 2020. https://garyan2.github.io

gratefuldad2000

Posts: 5
Joined: Fri Aug 18, 2023 4:14 pm
Location:

HTPC Specs: Show details

#3

Post by gratefuldad2000 » Sat Aug 19, 2023 12:48 am

Hmm, 0 requests and 0 serviced. Why would that be?

I had logos for every channel before the upgrade. Now 90% are blank.

User avatar
garyan2

Posts: 7480
Joined: Fri Nov 27, 2015 7:23 pm
Location:

HTPC Specs: Show details

#4

Post by garyan2 » Sat Aug 19, 2023 1:15 am

To test your service, use a browser and go to http://localhost:9009/logos/<logo_filename.ext>. Just pick any file in your /logos folder and see if it downloads the logo and/or the status page updates with a request number.
- Gary
Keeping WMC alive beyond January 2020. https://garyan2.github.io

gratefuldad2000

Posts: 5
Joined: Fri Aug 18, 2023 4:14 pm
Location:

HTPC Specs: Show details

#5

Post by gratefuldad2000 » Sat Aug 19, 2023 2:40 am

That all works. However, I noticed that only the custom _c.png logos end up in the guide even though it's set to use the dark background logos.

User avatar
garyan2

Posts: 7480
Joined: Fri Nov 27, 2015 7:23 pm
Location:

HTPC Specs: Show details

#6

Post by garyan2 » Sat Aug 19, 2023 3:00 am

Custom logos are embedded in the mxf file so they will always show if your configuration has 'Include station logos in .\logos folder' enabled. It sounds to me like you don't have 'logos for dark backgrounds' selected, but have 'none (custom logos only)' selected.

Note if you change that setting, you will have to run another update and import it into WMC before the changes take effect.
- Gary
Keeping WMC alive beyond January 2020. https://garyan2.github.io

gratefuldad2000

Posts: 5
Joined: Fri Aug 18, 2023 4:14 pm
Location:

HTPC Specs: Show details

#7

Post by gratefuldad2000 » Sat Aug 19, 2023 6:58 pm

Well, it is set to 'logos for dark backgrounds' and they do show up in the epg123 UI so I ended up dragging all the dark logos to the custom logo field for all my channels, which created the _c.png files in the logos folder and now they do show up as expected. Crisis averted. 😊

No idea why the dark logos wouldn't work though. Should there have been _d.png files for each or where do they come from? BTW, I noticed a ton of logos that start with 's' and have a guid in the name. I don't remember those from before.

User avatar
garyan2

Posts: 7480
Joined: Fri Nov 27, 2015 7:23 pm
Location:

HTPC Specs: Show details

#8

Post by garyan2 » Sat Aug 19, 2023 7:31 pm

I think you are just masking an underlying problem in your setup by making them all custom logos. If your browser can get the logos, WMC should as well. If you are able to download program images in WMC, then you should be able to download logos.

The "<callsign>_d.png" (and other _?.png options except _c) are no longer used. The logos starting with "s" are also no longer used. That is why I added a button in the configuration GUI to [Remove Orphaned Logos] and remove them from the /logos folder.

The benefit of not using custom logos for everything is if the station changes its logo, the change in WMC will be immediate. I just had this on one of my OTA stations whereas the broadcaster changed from "LX" to "LXHOME" with a new logo. With OTA, the callsign does not change so the old methods would not have worked.
a1c717a3ab90c7061b11f2f78bbb5e08.png
a1c717a3ab90c7061b11f2f78bbb5e08.png (27.86 KiB) Viewed 826 times
5c8ce6e21916d896a0746a8e9f1fb95b.png
5c8ce6e21916d896a0746a8e9f1fb95b.png (27.21 KiB) Viewed 826 times
- Gary
Keeping WMC alive beyond January 2020. https://garyan2.github.io

gratefuldad2000

Posts: 5
Joined: Fri Aug 18, 2023 4:14 pm
Location:

HTPC Specs: Show details

#9

Post by gratefuldad2000 » Sun Aug 20, 2023 12:08 am

Makes sense. The thing is that the browser can only get the logos from the logos folder, and after removing the orphans there are only the custom ones left. So what I don't understand is where the dark logos should be coming from. There is an sdlogos folder next to it but that's empty. Asking the browser for usahdp.png or usahdp_d.png for example says it can't find it, but asking for usahdp_c.png works because it exists in the logos folder.

User avatar
garyan2

Posts: 7480
Joined: Fri Nov 27, 2015 7:23 pm
Location:

HTPC Specs: Show details

#10

Post by garyan2 » Sun Aug 20, 2023 12:31 am

There are only custom logos left in the folder because you replaced all the downloaded logos with custom logos. The filenames from SD will be 32-characters long which is actually the md5 value of the image.

So, take any one of your stations and delete the custom logo. Make sure the configuration GUI is set like the below, and click [Save & Execute].
logosettings.jpg
logosettings.jpg (6.52 KiB) Viewed 804 times
The trace.log file should have an entry saying it was downloading 1 station logo, and that station logo should then be in the /logos folder.
- Gary
Keeping WMC alive beyond January 2020. https://garyan2.github.io

User avatar
garyan2

Posts: 7480
Joined: Fri Nov 27, 2015 7:23 pm
Location:

HTPC Specs: Show details

#11

Post by garyan2 » Wed Aug 23, 2023 4:21 am

Give 1.8.1.6 a try. You may have been having a related issue to another user, though if you were able to get logos on a browser then it is definitely not the same issue.
- Gary
Keeping WMC alive beyond January 2020. https://garyan2.github.io

NOYB

Posts: 145
Joined: Thu Sep 10, 2020 8:03 am
Location:

HTPC Specs: Show details

#12

Post by NOYB » Wed Aug 23, 2023 7:41 am

Me too. Lost non custom channel logos and program images.
Restart WMC. Not resolved.
Run EPG123 configurator (UAC prompt to run as admin; opened a command prompt and started some service).
Restarted WMC. resolved. Channel logos and program images are now displaying.

Windows 8.1 WMC
EPG123 1.8.1.3

Also
Windows 11 WMC 8.9.1
EPG123 1.8.1.3

User avatar
garyan2

Posts: 7480
Joined: Fri Nov 27, 2015 7:23 pm
Location:

HTPC Specs: Show details

#13

Post by garyan2 » Wed Aug 23, 2023 11:44 pm

So your service was failing to start as well... the UAC prompt was to start the service which the configuration gui checks for when you open it.

This is why I released 1.8.1.6 to help with this.
- Gary
Keeping WMC alive beyond January 2020. https://garyan2.github.io

Post Reply