#2276 Koji timing out (error code 110) on some client machines
Closed: Fixed None Opened 13 years ago by denisarnaud.

= phenomenon =
See my [http://lists.fedoraproject.org/pipermail/packaging/2010-July/007283.html message] on the Fedora packaging mailing list, and its [http://lists.fedoraproject.org/pipermail/packaging/2010-July/007284.html following].

In short, Koji (client) times out (with error code 110) on my home machine, whatever the Fedora release (thanks to [http://virtualbox.org VirtualBox]) and whatever the Unix user account (I've even created a new Unix user account from scratch, just to make sure no historical configuration was in the way) I use.

I've tried from a network hosted server (very same Fedora 13 64bits as at home), and it works without any problem.

Thus, all is like as if a firewall were in the way. My machine is NATed (behind my ISP ADSL box), and I even tried with the Linux firewall de-activated, without more success. Nothing really changed since the last time I successfully connected with Koji.

A work around for building SRPM packages (by uploading them) is to force the authorisation type to "noauth". But, then, when I use the 'koji build' on a remote CVS-tagged package, koji fails with "GenericError: task must have an owner".

Following is the exact command and corresponding error:

{{{
$ koji -d --debug-xmlrpc --authtype=ssl build dist-rawhide 'cvs://cvs.fedoraproject.org/cvs/pkgs?rpms/R-msm/devel#R-msm-0_9_5-2_fc14'
send: 'POST /kojihub/ssllogin HTTP/1.1\r\nHost: koji.fedoraproject.org:443\r\nAccept-Encoding: identity\r\nHost: koji.fedoraproject.org\r\nUser-Agent: pyOpenSSL_XMLRPC/0.12 - xmlrpclib.py/1.0.1 (by www.pythonware.com)\r\nContent-Type: text/xml\r\nContent-Length: 140\r\n\r\n'
Traceback (most recent call last):
File "/usr/bin/koji", line 5077, in <module>
rv = locals()[command].call(options, session, args)
File "/usr/bin/koji", line 757, in handle_build
activate_session(session)
File "/usr/bin/koji", line 5043, in activate_session
session.ssl_login(options.cert, options.ca, options.serverca, proxyuser=options.runas)
File "/usr/lib/python2.6/site-packages/koji/init.py", line 1628, in ssl_login
sinfo = self.callMethod('sslLogin', proxyuser)
File "/usr/lib/python2.6/site-packages/koji/init.py", line 1673, in callMethod
return self._callMethod(name, args, opts)
File "/usr/lib/python2.6/site-packages/koji/init.py", line 1698, in _callMethod
return proxy.getattr(name)(*args)
File "/usr/lib64/python2.6/xmlrpclib.py", line 1199, in call
return self.__send(self.__name, args)
File "/usr/lib64/python2.6/xmlrpclib.py", line 1489, in __request
verbose=self.__verbose
File "/usr/lib64/python2.6/xmlrpclib.py", line 1235, in request
self.send_content(h, request_body)
File "/usr/lib64/python2.6/xmlrpclib.py", line 1349, in send_content
connection.endheaders()
File "/usr/lib64/python2.6/httplib.py", line 892, in endheaders
self._send_output()
File "/usr/lib64/python2.6/httplib.py", line 764, in _send_output
self.send(msg)
File "/usr/lib64/python2.6/httplib.py", line 743, in send
self.sock.sendall(str)
File "/usr/lib/python2.6/site-packages/koji/ssl/SSLConnection.py", line 107, in sendall
raise socket.timeout((110, "Operation timed out."))
socket.timeout: (110, 'Operation timed out.')
}}}


{{{
$ koji -d --debug-xmlrpc --authtype=noauth build dist-rawhide 'cvs://cvs.fedoraproject.org/cvs/pkgs?rpms/R-msm/devel#R-msm-0_9_5-2_fc14'
send: 'POST /kojihub HTTP/1.0\r\nHost: koji.fedoraproject.org\r\nUser-Agent: xmlrpclib.py/1.0.1 (by www.pythonware.com)\r\nContent-Type: text/xml\r\nContent-Length: 107\r\n\r\n'
send: "<?xml version='1.0'?>\n<methodCall>\n<methodName>getAPIVersion</methodName>\n<params>\n</params>\n</methodCall>\n"
reply: 'HTTP/1.1 200 OK\r\n'
header: Date: Sat, 17 Jul 2010 23:45:14 GMT
header: Server: Apache/2.2.3 (Red Hat)
header: Content-Length: 121
header: AppTime: D=239216
header: AppServer: koji01.phx2.fedoraproject.org
header: Connection: close
header: Content-Type: text/xml
body: "<?xml version='1.0'?>\n<methodResponse>\n<params>\n<param>\n<value><int>1</int></value>\n</param>\n</params>\n</methodResponse>\n"
successfully connected to hub
send: 'POST /kojihub HTTP/1.0\r\nHost: koji.fedoraproject.org\r\nUser-Agent: xmlrpclib.py/1.0.1 (by www.pythonware.com)\r\nContent-Type: text/xml\r\nContent-Length: 170\r\n\r\n'
send: "<?xml version='1.0'?>\n<methodCall>\n<methodName>getBuildTarget</methodName>\n<params>\n<param>\n<value><string>dist-rawhide</string></value>\n</param>\n</params>\n</methodCall>\n"
reply: 'HTTP/1.1 200 OK\r\n'
header: Date: Sat, 17 Jul 2010 23:45:15 GMT
header: Server: Apache/2.2.3 (Red Hat)
header: Content-Length: 597
header: AppTime: D=243000
header: AppServer: koji01.phx2.fedoraproject.org
header: Connection: close
header: Content-Type: text/xml
body: "<?xml version='1.0'?>\n<methodResponse>\n<params>\n<param>\n<value><struct>\n<member>\n<name>name</name>\n<value><string>dist-rawhide</string></value>\n</member>\n<member>\n<name>build_tag</name>\n<value><int>122</int></value>\n</member>\n<member>\n<name>build_tag_name</name>\n<value><string>dist-f14-build</string></value>\n</member>\n<member>\n<name>dest_tag_name</name>\n<value><string>dist-f14</string></value>\n</member>\n<member>\n<name>id</name>\n<value><int>10</int></value>\n</member>\n<member>\n<name>dest_tag</name>\n<value><int>117</int></value>\n</member>\n</struct></value>\n</param>\n</params>\n</methodResponse>\n"
send: 'POST /kojihub HTTP/1.0\r\nHost: koji.fedoraproject.org\r\nUser-Agent: xmlrpclib.py/1.0.1 (by www.pythonware.com)\r\nContent-Type: text/xml\r\nContent-Length: 147\r\n\r\n'
send: "<?xml version='1.0'?>\n<methodCall>\n<methodName>getTag</methodName>\n<params>\n<param>\n<value><int>117</int></value>\n</param>\n</params>\n</methodCall>\n"
reply: 'HTTP/1.1 200 OK\r\n'
header: Date: Sat, 17 Jul 2010 23:45:16 GMT
header: Server: Apache/2.2.3 (Red Hat)
header: Content-Length: 657
header: AppTime: D=251135
header: AppServer: koji01.phx2.fedoraproject.org
header: Connection: close
header: Content-Type: text/xml
body: "<?xml version='1.0'?>\n<methodResponse>\n<params>\n<param>\n<value><struct>\n<member>\n<name>maven_support</name>\n<value><boolean>0</boolean></value>\n</member>\n<member>\n<name>locked</name>\n<value><boolean>0</boolean></value>\n</member>\n<member>\n<name>name</name>\n<value><string>dist-f14</string></value>\n</member>\n<member>\n<name>id</name>\n<value><int>117</int></value>\n</member>\n<member>\n<name>arches</name>\n<value><string>i686 x86_64</string></value>\n</member>\n<member>\n<name>maven_include_all</name>\n<value><boolean>0</boolean></value>\n</member>\n<member>\n<name>perm_id</name>\n<value><nil/></value></member>\n</struct></value>\n</param>\n</params>\n</methodResponse>\n"
send: 'POST /kojihub HTTP/1.0\r\nHost: koji.fedoraproject.org\r\nUser-Agent: xmlrpclib.py/1.0.1 (by www.pythonware.com)\r\nContent-Type: text/xml\r\nContent-Length: 526\r\n\r\n'
send: "<?xml version='1.0'?>\n<methodCall>\n<methodName>build</methodName>\n<params>\n<param>\n<value><string>cvs://cvs.fedoraproject.org/cvs/pkgs?rpms/R-msm/devel#R-msm-0_9_5-2_fc14</string></value>\n</param>\n<param>\n<value><string>dist-rawhide</string></value>\n</param>\n<param>\n<value><struct>\n</struct></value>\n</param>\n<param>\n<value><struct>\n<member>\n<name>priority</name>\n<value><nil/></value></member>\n<member>\n<name>starstar</name>\n<value><boolean>1</boolean></value>\n</member>\n</struct></value>\n</param>\n</params>\n</methodCall>\n"
reply: 'HTTP/1.1 200 OK\r\n'
header: Date: Sat, 17 Jul 2010 23:45:16 GMT
header: Server: Apache/2.2.3 (Red Hat)
header: Content-Length: 281
header: AppTime: D=282895
header: AppServer: koji01.phx2.fedoraproject.org
header: Connection: close
header: Content-Type: text/xml
body: "<?xml version='1.0'?>\n<methodResponse>\n<fault>\n<value><struct>\n<member>\n<name>faultCode</name>\n<value><int>1000</int></value>\n</member>\n<member>\n<name>faultString</name>\n<value><string>task must have an owner</string></value>\n</member>\n</struct></value>\n</fault>\n</methodResponse>\n"
Traceback (most recent call last):
File "/usr/bin/koji", line 5077, in <module>
rv = locals()[command].__call
(options, session, args)
File "/usr/bin/koji", line 796, in handle_build
task_id = session.build(source, target, opts, priority=priority)
File "/usr/lib/python2.6/site-packages/koji/init.py", line 1468, in call
return self.func(self.__name,args,opts)
File "/usr/lib/python2.6/site-packages/koji/__init
.py", line 1718, in _callMethod
raise err
koji.GenericError: task must have an owner
}}}


= reason =
There is apparently an issue with the SSL connection. Though, when I use exactly the same certificates and SSH keys from another machine, it works without any issue.
So, I don't understand the SSL connection seems to fail.

= recommendation =


Stop by #fedora-admin on irc.freenode.net when you get a moment.

mmcgrath solved the issue: the MTU of the eth0 network interface must be set to at a maximum of 1400: it seems to work with values of 1000 and 1200, but not of 1500 (like it seems to be the default on Fedora 13).

To manually set the MTU value:
ip link set eth0 mtu 1400

To set it automatically, edit the /etc/sysconfig/network-scripts/ifcfg-eth0 file, and add the following line:
MTU=1400

Login to comment on this ticket.

Metadata