Xibo 1.2.2a2 breaks after installing salt

Bug #1131788 reported by Clifford Garwood
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Fix Released
Alex Harrington

Bug Description

I am trying to install salt to a handful of remote machines in the wild running Ubuntu 10.04 LTS. With that said, previous to the installation of Salt, Xibo runs perfectly. Once salt is installed, it doesn't play nicely. Xibo starts, but it no longer phones home to the server. Pressing the i key while xibo is running brings up the information screen but shows no connection information and amber lights for required files and schedule. Salt installs a new python2-mcrypto which appears to be causing the problems.

Trying to exit xibo, pressing the q button, locks up xibo and must be killed with signal 9.

With all of the above said, this is all being done to upgrade a good amount of xibos to 1.4. I've succeded in upgrading my OS from 9.04 to Ubuntu 10.04. Before I upgrade the server to 1.4, I'm getting my machines up to date so they can update at the same time or as close as possible. The only thing holding me back is integrating Salt with the clients running xibo.

Here is the output of run.sh:

Xibo Client v1.2.2a2
Reading default configuration
Reading user configuration
Log Level is: 1
Logging will be handled by: XiboLogFile
Switching to new logger
[13-02-22 10:03:18.131] WARNING: Could not find font face Arial. Using sans instead.
Traceback (most recent call last):
  File "XiboClient.py", line 3734, in <module>
  File "XiboClient.py", line 3665, in play
  File "XiboClient.py", line 3306, in run
  File "XiboClient.py", line 2945, in RegisterDisplay
    if self.check():
  File "XiboClient.py", line 2665, in check
    self.server = WSDL.Proxy(self.wsdlFile)
  File "/usr/lib/pymodules/python2.6/SOAPpy/WSDL.py", line 61, in __init__
    stream = urllib.urlopen(wsdlsource)
  File "/usr/lib/python2.6/urllib.py", line 86, in urlopen
    return opener.open(url)
  File "/usr/lib/python2.6/urllib.py", line 205, in open
    return getattr(self, name)(url)
  File "/usr/lib/pymodules/python2.6/M2Crypto/m2urllib.py", line 58, in open_https
  File "/usr/lib/python2.6/httplib.py", line 904, in endheaders
  File "/usr/lib/python2.6/httplib.py", line 776, in _send_output
  File "/usr/lib/python2.6/httplib.py", line 735, in send
  File "/usr/lib/pymodules/python2.6/M2Crypto/httpslib.py", line 50, in connect
    self.sock.connect((self.host, self.port))
  File "/usr/lib/pymodules/python2.6/M2Crypto/SSL/Connection.py", line 182, in connect
    if not check(self.get_peer_cert(), self.addr[0]):
  File "/usr/lib/pymodules/python2.6/M2Crypto/SSL/Checker.py", line 66, in __call__
    raise NoCertificate('peer did not return certificate')
M2Crypto.SSL.Checker.NoCertificate: peer did not return certificate

Related branches

Revision history for this message
Alex Harrington (alexharrington) wrote :

Have you got the Ubuntu ca-certificates package installed too?

Changed in xibo:
status: New → Opinion
status: Opinion → Incomplete
Revision history for this message
Clifford Garwood (cgarwood) wrote :

Sure do. For clarity, the xibo server is running with a signed cert.

Revision history for this message
Alex Harrington (alexharrington) wrote :

In general we prefer you ask your question in Launchpad Answers. If after we've looked into a question a bug is found we can convert it over.

In this case I suspect if there is an issue it will be in the soappy package not in Xibo.

Try installing ca-certificates package and I suspect that will get rid of the error.


Revision history for this message
Clifford Garwood (cgarwood) wrote :

It's already installed. I forced a reinstal and ran xibo again. It failed with the same error message.

Revision history for this message
Clifford Garwood (cgarwood) wrote :

Will post to Launchpad Answers going forward, sorry about that.

Revision history for this message
Alex Harrington (alexharrington) wrote :

Looks like a bug in the M2Crypto module which when installed overrides the default python urllib implementation:


Try commenting out line 2605 in XiboClient.py so it reads:

            # socket.setdefaulttimeout(self.socketTimeout)
            log.log(2,"info",_("Set socket timeout to: ") + str(self.socketTimeout))
            log.log(0,"warning",_("Unable to set socket timeout. Using system default"))

Revision history for this message
Clifford Garwood (cgarwood) wrote :

That makes it work like a champ! Thank you very much.

Revision history for this message
Alex Harrington (alexharrington) wrote :

I'll target this so we catch the possible exception being thrown, and see if we can find a better way to work around this.

Changed in xibo:
status: Incomplete → Confirmed
importance: Undecided → Low
milestone: none → 1.4.3
Changed in xibo:
status: Confirmed → Fix Committed
assignee: nobody → Alex Harrington (alexharrington)
Revision history for this message
Alex Harrington (alexharrington) wrote :

1.4.3 should now catch this exception and also in it's default configuration will no longer set a socket timeout unless one has been specifically set in the site.cfg file.

Changed in xibo:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.