Bug 1458

Summary: Hob doesn't work with xmlrpc server
Product: [Build System, Metadata & Runtime] Hob Reporter: Jiajun Xu <jiajun.xu>
Component: hobAssignee: Shane Wang <shane.wang>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: Low CC: dongxiao.xu, dvhart, jessica.zhang, jiajun.xu, poky.bs.watcher, poky.watcher
Version: unspecified   
Target Milestone: 1.2   
Hardware: x86   
OS: Multiple   
Whiteboard: Currently Hob2 can run by xmlrpc
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: ---

Description Jiajun Xu 2011-09-06 00:20:54 UTC
tree/branch: poky/master
commit: 314131e472a7d728ea96cbd577d2947d7bc9f50e

With latest commit, I fail to launch hob. It reports following error messages:

######
Traceback (most recent call last):
  File "/home/jxu49/osel/poky-hob2/bitbake/bin//bitbake", line 238, in <module>
    ret = main()
  File "/home/jxu49/osel/poky-hob2/bitbake/bin//bitbake", line 229, in main
    return server.launchUI(ui_main, server_connection.connection, server_connection.events)
  File "/home/jxu49/osel/poky-hob2/bitbake/lib/bb/server/xmlrpc.py", line 293, in launchUI
    return uifunc(*args)
  File "/home/jxu49/osel/poky-hob2/bitbake/lib/bb/ui/hob.py", line 997, in main
    dep_files = server.runCommand(["getVariable", "__depends"]) or set()
  File "/usr/lib/python2.6/xmlrpclib.py", line 1199, in __call__
    return self.__send(self.__name, args)
Fault: <Fault 1: "<type 'exceptions.TypeError'>:cannot marshal <type 'set'> objects">
######
Comment 1 Joshua Lock - Disabled 2011-09-06 08:03:16 UTC
Ah, I see what's going on. Are you using the wrapper script or are you launching by manually entering the command line?
Comment 2 Joshua Lock - Disabled 2011-09-06 11:59:03 UTC
This issue is only present for the xmlrpc server which is no longer the default in the wrapper script.

the wrapper script executes 'bitbake -r conf/hob-pre.conf -R conf/hob-post.conf -u hob' and therefore uses the default server (process)
Comment 3 Darren Hart 2011-09-13 09:06:05 UTC
At Joshua's request, and supported by the xmlrpc server not being the default, I have demoted this to Low-normal so as to not block the release. I think this is more than an enhancement, but agree it should not be a blocker.
Comment 4 Joshua Lock - Disabled 2011-10-19 18:56:18 UTC
This is caused by the use of a set() in some data sent over the wire, and set is not data type that can be serialised to xml-rpc.

I created a patch to change this to a dict:
https://github.com/incandescant/bitbake/commit/23ee021c96dd1bfc4e22abc64a315893f46fa710

which was discussed here:
http://lists.linuxtogo.org/pipermail/bitbake-devel/2011-September/001365.html
Comment 5 Dongxiao Xu 2011-12-29 22:01:56 UTC
Jiajun, could you help to try this on Hob2? I didn't find issue by running "bitbake -u hob2 -t xmlrpc".
Comment 6 Shane Wang 2012-01-15 05:28:15 UTC
Currently Hob2 can run by xmlrpc