Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Log is flodded with callback warnings "Can't call method "display" on an undefined value" #802

Closed
C2022H opened this issue Jul 19, 2022 · 2 comments

Comments

@C2022H
Copy link

C2022H commented Jul 19, 2022

Since quite a while my /var/log/messages get flooded from time to time with
Slim::Utils::Misc::msg (1347) Warning: [23:59:57.5143] EV: error in callback (ignoring): Can't call method "display" on an undefined value at /usr/lib/perl
I wasn't able to find the client that causes the issue, I have some special clients and the issue is hard to reproduce. It occurs after hours/days, but once the flooding starts it will not stop until I shutdown the slimserver (10 or more messages per second).
This little patch fixes the issue and it should not harm anybody. Would be nice if this patch could be applied in future versions.

# patch for errors flodding /var/log/messages with
# Slim::Utils::Misc::msg (1347) Warning: [23:59:57.5143] EV: error in callback (ignoring): Can't call method "display" on an undefined value at /usr/lib/perl

--- /usr/lib/perl5/vendor_perl/Slim/Display/Lib/TextVFD.pm.org
+++ /usr/lib/perl5/vendor_perl/Slim/Display/Lib/TextVFD.pm
@@ -145,6 +145,9 @@

sub vfdUpdate {
my $client = shift;
+
+ return if !defined($client);
+
my $line1 = shift;
my $line2 = shift;

@michaelherger
Copy link
Member

Would be great to know where those requests are coming from. I quickly skimmed the code and didn't find how that call could end up without the $client object. Are you using some 3rd party plugin dealing with the display (MusicInfoSCR, Squeezelite-ESP32 or the like)?

@C2022H
Copy link
Author

C2022H commented Jul 25, 2022

Hi Michael,
Besides the official players I am using a squeezeslave-1.3-393 with jivelite on my Linux computer and I have two piCore player in use. My son is using the command-line interface (via telnet) feeding his libwebsocket server with data from the slimserver.
I think it is the telnet interface, but as I already said, it is hard to debug it as it might take hours/days to happen.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants