Xibo CMS 1.8 - XMR : Exception in Run: Handle invalid

Hi,

this happens when requesting a screen shot:

Any idea ?

How have your configured XMR please? As this appears to be a custom install, not running in Docker?

Both in terms of how you configured XMR itself, and how you’ve configured the CMS to use it

Windows Server 2008 R2 Standard in VM

Apache 2.4.23
MariaDB 10.1.19
PHP 5.6.28 (VC11 X86 32bit thread safe) + PEAR
phpMyAdmin 4.5.1
OpenSSL 1.0.2d
ADOdb 518a

zmq 1.1.2
php_zmq-1.1.2-5.6-ts-vc11-x86.zip
http://windows.php.net/downloads/pecl/releases/zmq/1.1.2/php_zmq-1.1.2-5.6-ts-vc11-x86.zip

config.json

{
“listenOn”: “tcp://127.0.0.1:50001”,
“pubOn”: [“tcp://127.0.0.1:9505”, “tcp://127.0.0.1:50002”],
“debug”: true
}

CMS

Display Settings Profiles

XMR Public Address: tcp://127.0.0.1:9505

Settings Display

XMR Private Address: tcp://localhost:50001
XMR Public Address : tcp://127.0.0.1:9505

That looks reasonable.

As an aside, you only need to set the XMR public address in the CMS settings, not the Display Profile as well (unless for some reason they need to be different).

Your screenshot shows the CMS connecting to XMR and pushing the Player message in, so it appears only to be an issue with the Player not connecting to the CMS.

I presume the Player and CMS are running on the same machine?

If so, please try first changing the XMR Public Address in the CMS settings to tcp://localhost:9505 and clearing the value from your Display Settings Profile.

The Player should collect and pickup that change, and you’ll see it on the Player status screen. Once that has happened, does it then work?

If not, try disabling any firewall that may be running and see if it works then. If it does, you may need to add a firewall rule to allow traffic to get to port 9505.

No success, problem still exists

Yes, Player and CMS running on the same machine.

unknown block type : With external client:

XMR Private Address tcp://localhost:51001
XMR Public Address tcp://212.xxx.xx.xxx:9505

{
“listenOn”: “tcp://127.0.0.1:51001”,
“pubOn”: [“tcp://192.168.2.233:9505”],
“debug”: true
}

The XMR Public Address in your XMR configuration for the XMR service would only work if 212.100.44.242 is port-forwarded to 192.168.2.233 on port 9505, and that that works internally on your router. Many that I’ve seen don’t.

Assuming all your Players are on the LAN, then using a LAN IP address in there should work fine (ie change your CMS XMR Public Address setting to 192.168.2.233:9505.

Failing that, perhaps you already have something running on that port, so try changing the public port to a different value too.

Yes, forwarding is OK (Firewall). This also works with other services (mail, FTP)

In the client information you can see that the client is connected and last activity is also displayed. When a screen shot is requested, an entry (unknown block type) in the client information window also appears immediately.

You could try re-keying the Player. In the CMS, edit the display, and then on the Advanced tab, tick “Reconfigure XMR” and then Save.

The first few messages sent after that will be invalid, but then it should pick up.

I’m having the same issue. It appears isolated to the following scenario: Player and CMS running on same machine; request screenshot from another machine (receive exception in run: handle invalid error). Requesting screenshot for player not on same machine as CMS - works. Requesting screenshot from machine with CMS - works (although not that useful for player on same machine). All other XMR functions appear to be functioning.

Thanks.

I’m not 100% clear on this from your response.

With Player and CMS on the same machine, if you request a screenshot from a second computer (via the CMS web interface), you get this error.

With Player and CMS on different machines, everything works as expected.

With Player and CMS on the same machine, requesting a screenshot from a browser running on the same computer (via CMS web interface) also works?

Correct. In short, everything works with the exception of the first scenario. Thanks.

Just a FYI. If you are using ZMQ older than 1.1.3 then using “localhost” in the config.json file doesn’t work and you need to replace it with “127.0.0.1”.
This may not be an issue in this thread but was an issue for me and I wanted to make sure anyone that happens across this knows about it.

1 Like

I don’t understand why that should be the case.

There’s no communication between the browser and XMR or the Player. Your request for a screenshot goes to the CMS, which places a request via XMR, which then arrives at the Player.

I can’t replicate the issue here.

I presume none of you are running this inside Docker as we intend?

Scenario:

PC1 (My Home) Webbrowser
PC2 (My Home) Xibo Client
Data center: Windows 2008 Server : Behind firewall : 212.xxx.xx.xxx portforwarding 192.168.2.233:9505

Screenshot for this scenario works fine after Reconfigure XMR.

Sending commands I still have problems, but am still testing

I have 2 test machines - 1 with docker and 1 without. Both produce the exception in run error under the first scenario (player and CMS on same machine, request screenshot from second computer via CMS web interface). Both are windows 10 pro, in case that makes a difference.

This is not a big issue for me - and I would imagine having a player on the same machine as the CMS is probably not as common a setup. I mentioned it primarily for the benefit of the OP, as it originally appeared to match hhan’s setup. In addition, just in case there is a bigger underlying issue involved.

Thanks again for all your work on this project!

1 Like

Thanks for your detailed notes.

I’ll log a bug for it then and we’ll have another bash at a reproduction.

We’ve not been able to reproduce, but I have added some extra logging to see if we can pinpoint the issue. If anyone wants to test ahead of the next release (next week) please PM me for the EXE

I can confirm that this issue still exists on 1.8.2 (docker install on windows 10 pro). Again, when player is on same machine as CMS and screenshot request is initiated from another machine on network. Note that the screenshot interface itself says “success” but, when refreshing the display page, the screenshot? column shows a “check” instead of an “x” and the thumbnail is not current.

Happy to help pinpoint if you walk me through how to provide whatever logs are needed.

Thanks.

It’s clearly connected to XMR properly because it’s showing activity. What’s the XmrSubscriber error message that is logged in full?