NULL values in database (sqlite) cause error in XmlRpcPlugin:
2009-10-28 11:47:15,809 Trac[web_ui] ERROR: cannot marshal <class 'trac.util.text.Empty'> objects
2009-10-28 11:47:15,809 Trac[web_ui] ERROR: Traceback (most recent call last):
File "build\bdist.win32\egg\tracrpc\web_ui.py", line 185, in process_xml_request
self._send_response(req, xmlrpclib.dumps(result, methodresponse=True), content_type)
File "C:\Python25\lib\xmlrpclib.py", line 1080, in dumps
data = m.dumps(params)
File "C:\Python25\lib\xmlrpclib.py", line 623, in dumps
dump(v, write)
File "C:\Python25\lib\xmlrpclib.py", line 635, in __dump
f(self, value, write)
File "C:\Python25\lib\xmlrpclib.py", line 695, in dump_array
dump(v, write)
File "C:\Python25\lib\xmlrpclib.py", line 635, in __dump
f(self, value, write)
File "C:\Python25\lib\xmlrpclib.py", line 716, in dump_struct
dump(v, write)
File "C:\Python25\lib\xmlrpclib.py", line 633, in __dump
raise TypeError, "cannot marshal %s objects" % type(value)
TypeError: cannot marshal <class 'trac.util.text.Empty'> objects
The reason is that NULL values now returned as trac.util.text.Empty object, not None. Attached patch solves the problem.