Bug 690808

Summary: xmlrpc interface TestCase.unlink_plan crash.
Product: [Other] TCMS Reporter: Yang Ren <ryang>
Component: ApplicationAssignee: Yuguang Wang <yuwang>
Status: CLOSED NOTABUG QA Contact: tools-bugs <tools-bugs>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: DevelCC: ctang, dli, junzhang, nli, vchen
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-06-08 02:08:44 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Yang Ren 2011-03-25 12:55:40 UTC
Description of problem:
I failed to TestCase.unlink_plan in stage. 
n.server.Auth.login_krbv
n.server.TestCase.unlink_plan(83369, 3584)


I'm not sure I use it right way.
TestCase.unlink_plan

Description: Unlink a test case from the given plan. If only one plan is linked, this will delete
             the test case.

Params:      $case_ids - Integer/String: An integer or alias representing the ID in the database.
             $plan_id  - Integer: An integer representing the ID in the database.

Returns:     Array: Array of plans hash still linked if any, empty if not.

Example:
>>> TestCase.unlink_plan(12345, 137)

traceback here:

Traceback (most recent call last):
  File "tmp.py", line 16, in <module>
    n.server.TestCase.unlink_plan(83369, 3584)
  File "/usr/lib/python2.7/xmlrpclib.py", line 1224, in __call__
    return self.__send(self.__name, args)
  File "/usr/lib/python2.7/xmlrpclib.py", line 1570, in __request
    verbose=self.__verbose
  File "/home/ryang/git/libra/nitrate.py", line 125, in request
    return self.parse_response(response) # Python 2.7
  File "/usr/lib/python2.7/xmlrpclib.py", line 1468, in parse_response
    return u.close()
  File "/usr/lib/python2.7/xmlrpclib.py", line 793, in close
    raise Fault(**self._stack[0])
xmlrpclib.Fault: <Fault 1: 'Traceback (most recent call last):\n  File "/usr/lib/python2.4/site-packages/kobo/django/xmlrpc/dispatcher.py", line 94, in _marshaled_dispatch\n    response = self._dispatch(method, params)\n  File "/usr/lib64/python2.4/SimpleXMLRPCServer.py", line 406, in _dispatch\n    return func(*params)\n  File "/usr/lib/python2.4/site-packages/kobo/django/xmlrpc/decorators.py", line 91, in _new_function\n    return function(request, *args, **kwargs)\n  File "/usr/lib/python2.4/site-packages/kobo/django/xmlrpc/decorators.py", line 31, in _new_func\n    return func(request, *args, **kwargs)\n  File "/usr/lib/python2.4/site-packages/tcms/xmlrpc/testcase.py", line 980, in unlink_plan\n    tp = tc.plan.get(plan_id = plan_id)\n  File "/usr/lib/python2.4/site-packages/django/db/models/manager.py", line 132, in get\n    return self.get_query_set().get(*args, **kwargs)\n  File "/usr/lib/python2.4/site-packages/django/db/models/query.py", line 340, in get\n    raise self.model.DoesNotExist("%s matching query does not exist."\nDoesNotExist: TestPlan matching query does not exist.\nFrame get in /usr/lib/python2.4/site-packages/django/db/models/query.py at line 340\n<CODE>\n     333         clone = self.filter(*args, **kwargs)\n     334         if self.query.can_filter():\n     335             clone = clone.order_by()\n     336         num = len(clone)\n     337         if num == 1:\n     338             return clone._result_cache[0]\n     339         if not num:\n-->  340             raise self.model.DoesNotExist("%s matching query does not exist."\n     341                     % self.model._meta.object_name)\n     342         raise self.model.MultipleObjectsReturned("get() returned more than one %s -- it returned %s! Lookup parameters were %s"\n     343                 % (self.model._meta.object_name, num, kwargs))\n     344 \n     345     def create(self, **kwargs):\n     346         """\n</CODE>\n<LOCALS>\n                args = <ERROR WHILE CONVERTING VALUE TO STRING>\n               clone = []\n              kwargs = {\'plan_id\': 3584}\n                 num = 0\n                self = []\n</LOCALS>\nFrame get in /usr/lib/python2.4/site-packages/django/db/models/manager.py at line 132\n<CODE>\n     125     def distinct(self, *args, **kwargs):\n     126         return self.get_query_set().distinct(*args, **kwargs)\n     127 \n     128     def extra(self, *args, **kwargs):\n     129         return self.get_query_set().extra(*args, **kwargs)\n     130 \n     131     def get(self, *args, **kwargs):\n-->  132         return self.get_query_set().get(*args, **kwargs)\n     133 \n     134     def get_or_create(self, **kwargs):\n     135         return self.get_query_set().get_or_create(**kwargs)\n     136 \n     137     def create(self, **kwargs):\n     138         return self.get_query_set().create(**kwargs)\n</CODE>\n<LOCALS>\n                args = <ERROR WHILE CONVERTING VALUE TO STRING>\n              kwargs = {\'plan_id\': 3584}\n                self = <django.db.models.fields.related.ManyRelatedManager object at 0x2aeb768c2bd0>\n</LOCALS>\nFrame unlink_plan in /usr/lib/python2.4/site-packages/tcms/xmlrpc/testcase.py at line 980\n<CODE>\n     973 \n     974     Example:\n     975     >>> TestCase.unlink_plan(12345, 137)\n     976     """\n     977     from tcms.testplans.models import TestPlan\n     978     try:\n     979         tc = TestCase.objects.get(case_id = case_id)\n-->  980         tp = tc.plan.get(plan_id = plan_id)\n     981     except:\n     982         raise\n     983     \n     984     tc.remove_plan(plan = tp)\n     985     \n     986     plan_ids = tc.plan.values_list(\'plan_id\', flat = True)\n</CODE>\n<LOCALS>\n            TestPlan = <class \'tcms.testplans.models.TestPlan\'>\n             case_id = 83369\n             plan_id = 3584\n              requst = <WSGIRequest\nGET:<QueryDict: {}>,\nPOST:<QueryDict: {u\'<?xml version\': [u"\'1.0\'?>\\n<methodCall>\\n<methodName>TestCase.unlink_plan</methodName>\\n<params>\\n<param>\\n<value><int>83369</int></value>\\n</param>\\n<param>\\n<value><int>3584</int></value>\\n</param>\\n</params>\\n</methodCall>\\n"]}>,\nCOOKIES:{\'sessionid\': \'456febe956e9c6a970d3b25ea139b3a3\'},\nMETA:{\'AUTH_TYPE\': \'Negotiate\',\n \'CONTENT_LENGTH\': \'211\',\n \'CONTENT_TYPE\': \'text/xml\',\n \'CSRF_COOKIE\': \'5746d18331fdb7d556d8771a0fa6b791\',\n \'DOCUMENT_ROOT\': \'/var/www/html\',\n \'GATEWAY_INTERFACE\': \'CGI/1.1\',\n \'HTTPS\': \'on\',\n \'HTTP_ACCEPT_ENCODING\': \'gzip\',\n \'HTTP_AUTHORIZATION\': \'negotiate YIICNAYJKoZIhvcSAQICAQBuggIjMIICH6ADAgEFoQMCAQ6iBwMFACAAAACjggE5YYIBNTCCATGgAwIBBaEMGwpSRURIQVQuQ09NojMwMaADAgEDoSowKBsESFRUUBsgdGNtcy1zdGFnZS5lbmdsYWIuYm5lLnJlZGhhdC5jb22jgeYwgeOgAwIBEqEDAgEFooHWBIHT4dMC0RQVk5FcO9PvjQ7R1bjHlEthT7PgqQy/F5yfgZRMtiTyw65FcSKps3YxNttN30Laxu17RW+rddLOe0ZYA77paOENl/O/xwLW+ga06Q4odYdrebYnuPtw31oqN8JY7h6wkWcgkoxQEkXgm1RwsBjpVEzn13KBz/gLwxXeH0q78IMl6t0EWo3kFEpCrZNTT5KP3Ynyjt+dzHQkihZp1jqUn4rZgJZKuyoapWbI3tImdtcQPChiGoxdW3LkCaZindbzvF9svGZAvjXAzXpIE9PkDKSBzDCByaADAgESooHBBIG+Uc47qA9jl3Fg2G1q8HY992eCu+qfg371f7Sc5qE2CdwxfEIB8oLc9q0+9nqrQUpXMNSb/j8Tv5YfZLPUW4uDy197FswD0PU3h+V6o0dULj7An7qU7m06pbMr0SpPMG+yRm4lPfam65fyTVBTAPnwzbQXraeejRcpcbRyix2XShN2Yov+XrC5dbpA7u8cZIo2qX2HfXUTpXGJdsjdRpWdp3HsmKRgCtC2pTOoCdMInyNlLb5+fTagrklyK8TNOQ==\',\n \'HTTP_COOKIE\': \'sessionid=456febe956e9c6a970d3b25ea139b3a3\',\n \'HTTP_HOST\': \'tcms-stage.englab.bne.redhat.com\',\n \'HTTP_USER_AGENT\': \'xmlrpclib.py/1.0.1 (by www.pythonware.com)\',\n \'PATH_INFO\': u\'/xmlrpc/\',\n \'PATH_TRANSLATED\': \'/usr/lib/python2.4/site-packages/tcms/nitrate-wsgi.py/xmlrpc/\',\n \'QUERY_STRING\': \'\',\n \'REMOTE_ADDR\': \'10.67.7.100\',\n \'REMOTE_PORT\': \'40348\',\n \'REMOTE_USER\': \'ryang\',\n \'REQUEST_METHOD\': \'POST\',\n \'REQUEST_URI\': \'/xmlrpc/\',\n \'SCRIPT_FILENAME\': \'/usr/lib/python2.4/site-packages/tcms/nitrate-wsgi.py\',\n \'SCRIPT_NAME\': u\'\',\n \'SERVER_ADDR\': \'10.64.10.32\',\n \'SERVER_ADMIN\': \'sysadmin-engops\',\n \'SERVER_NAME\': \'tcms-stage.englab.bne.redhat.com\',\n \'SERVER_PORT\': \'443\',\n \'SERVER_PROTOCOL\': \'HTTP/1.1\',\n \'SERVER_SIGNATURE\': \'\',\n \'SERVER_SOFTWARE\': \'Apache\',\n \'mod_wsgi.application_group\': \'tcms-stage.englab.bne.redhat.com|\',\n \'mod_wsgi.callable_object\': \'application\',\n \'mod_wsgi.handler_script\': \'\',\n \'mod_wsgi.input_chunked\': \'0\',\n \'mod_wsgi.listener_host\': \'\',\n \'mod_wsgi.listener_port\': \'443\',\n \'mod_wsgi.process_group\': \'\',\n \'mod_wsgi.request_handler\': \'wsgi-script\',\n \'mod_wsgi.script_reloading\': \'1\',\n \'mod_wsgi.version\': (3, 2),\n \'wsgi.errors\': <mod_wsgi.Log object at 0x2aeb74c0efb0>,\n \'wsgi.file_wrapper\': <built-in method file_wrapper of mod_wsgi.Adapter object at 0x2aeb767bc300>,\n \'wsgi.input\': <mod_wsgi.Input object at 0x2aeb768a24b0>,\n \'wsgi.multiprocess\': True,\n \'wsgi.multithread\': False,\n \'wsgi.run_once\': False,\n \'wsgi.url_scheme\': \'https\',\n \'wsgi.version\': (1, 1)}>\n                  tc = [li-site]Repeat to request access to Express  till the capacity is exhausted\n</LOCALS>\nFrame _new_func in /usr/lib/python2.4/site-packages/kobo/django/xmlrpc/decorators.py at line 31\n<CODE>\n      24 \n      25 @decorator_with_args\n      26 def user_passes_test(func, test_func):\n      27     def _new_func(request, *args, **kwargs):\n      28         if not test_func(request.user):\n      29             message = "Permission denied."\n      30             raise PermissionDenied(message)\n-->   31         return func(request, *args, **kwargs)\n      32 \n      33     _new_func.__name__ = func.__name__\n      34     _new_func.__doc__ = func.__doc__\n      35     _new_func.__dict__.update(func.__dict__)\n      36     return _new_func\n      37 \n</CODE>\n<LOCALS>\n                args = <ERROR WHILE CONVERTING VALUE TO STRING>\n                func = <function unlink_plan at 0x2aeb76844230>\n              kwargs = {}\n             request = <WSGIRequest\nGET:<QueryDict: {}>,\nPOST:<QueryDict: {u\'<?xml version\': [u"\'1.0\'?>\\n<methodCall>\\n<methodName>TestCase.unlink_plan</methodName>\\n<params>\\n<param>\\n<value><int>83369</int></value>\\n</param>\\n<param>\\n<value><int>3584</int></value>\\n</param>\\n</params>\\n</methodCall>\\n"]}>,\nCOOKIES:{\'sessionid\': \'456febe956e9c6a970d3b25ea139b3a3\'},\nMETA:{\'AUTH_TYPE\': \'Negotiate\',\n \'CONTENT_LENGTH\': \'211\',\n \'CONTENT_TYPE\': \'text/xml\',\n \'CSRF_COOKIE\': \'5746d18331fdb7d556d8771a0fa6b791\',\n \'DOCUMENT_ROOT\': \'/var/www/html\',\n \'GATEWAY_INTERFACE\': \'CGI/1.1\',\n \'HTTPS\': \'on\',\n \'HTTP_ACCEPT_ENCODING\': \'gzip\',\n \'HTTP_AUTHORIZATION\': \'negotiate YIICNAYJKoZIhvcSAQICAQBuggIjMIICH6ADAgEFoQMCAQ6iBwMFACAAAACjggE5YYIBNTCCATGgAwIBBaEMGwpSRURIQVQuQ09NojMwMaADAgEDoSowKBsESFRUUBsgdGNtcy1zdGFnZS5lbmdsYWIuYm5lLnJlZGhhdC5jb22jgeYwgeOgAwIBEqEDAgEFooHWBIHT4dMC0RQVk5FcO9PvjQ7R1bjHlEthT7PgqQy/F5yfgZRMtiTyw65FcSKps3YxNttN30Laxu17RW+rddLOe0ZYA77paOENl/O/xwLW+ga06Q4odYdrebYnuPtw31oqN8JY7h6wkWcgkoxQEkXgm1RwsBjpVEzn13KBz/gLwxXeH0q78IMl6t0EWo3kFEpCrZNTT5KP3Ynyjt+dzHQkihZp1jqUn4rZgJZKuyoapWbI3tImdtcQPChiGoxdW3LkCaZindbzvF9svGZAvjXAzXpIE9PkDKSBzDCByaADAgESooHBBIG+Uc47qA9jl3Fg2G1q8HY992eCu+qfg371f7Sc5qE2CdwxfEIB8oLc9q0+9nqrQUpXMNSb/j8Tv5YfZLPUW4uDy197FswD0PU3h+V6o0dULj7An7qU7m06pbMr0SpPMG+yRm4lPfam65fyTVBTAPnwzbQXraeejRcpcbRyix2XShN2Yov+XrC5dbpA7u8cZIo2qX2HfXUTpXGJdsjdRpWdp3HsmKRgCtC2pTOoCdMInyNlLb5+fTagrklyK8TNOQ==\',\n \'HTTP_COOKIE\': \'sessionid=456febe956e9c6a970d3b25ea139b3a3\',\n \'HTTP_HOST\': \'tcms-stage.englab.bne.redhat.com\',\n \'HTTP_USER_AGENT\': \'xmlrpclib.py/1.0.1 (by www.pythonware.com)\',\n \'PATH_INFO\': u\'/xmlrpc/\',\n \'PATH_TRANSLATED\': \'/usr/lib/python2.4/site-packages/tcms/nitrate-wsgi.py/xmlrpc/\',\n \'QUERY_STRING\': \'\',\n \'REMOTE_ADDR\': \'10.67.7.100\',\n \'REMOTE_PORT\': \'40348\',\n \'REMOTE_USER\': \'ryang\',\n \'REQUEST_METHOD\': \'POST\',\n \'REQUEST_URI\': \'/xmlrpc/\',\n \'SCRIPT_FILENAME\': \'/usr/lib/python2.4/site-packages/tcms/nitrate-wsgi.py\',\n \'SCRIPT_NAME\': u\'\',\n \'SERVER_ADDR\': \'10.64.10.32\',\n \'SERVER_ADMIN\': \'sysadmin-engops\',\n \'SERVER_NAME\': \'tcms-stage.englab.bne.redhat.com\',\n \'SERVER_PORT\': \'443\',\n \'SERVER_PROTOCOL\': \'HTTP/1.1\',\n \'SERVER_SIGNATURE\': \'\',\n \'SERVER_SOFTWARE\': \'Apache\',\n \'mod_wsgi.application_group\': \'tcms-stage.englab.bne.redhat.com|\',\n \'mod_wsgi.callable_object\': \'application\',\n \'mod_wsgi.handler_script\': \'\',\n \'mod_wsgi.input_chunked\': \'0\',\n \'mod_wsgi.listener_host\': \'\',\n \'mod_wsgi.listener_port\': \'443\',\n \'mod_wsgi.process_group\': \'\',\n \'mod_wsgi.request_handler\': \'wsgi-script\',\n \'mod_wsgi.script_reloading\': \'1\',\n \'mod_wsgi.version\': (3, 2),\n \'wsgi.errors\': <mod_wsgi.Log object at 0x2aeb74c0efb0>,\n \'wsgi.file_wrapper\': <built-in method file_wrapper of mod_wsgi.Adapter object at 0x2aeb767bc300>,\n \'wsgi.input\': <mod_wsgi.Input object at 0x2aeb768a24b0>,\n \'wsgi.multiprocess\': True,\n \'wsgi.multithread\': False,\n \'wsgi.run_once\': False,\n \'wsgi.url_scheme\': \'https\',\n \'wsgi.version\': (1, 1)}>\n           test_func = <function <lambda> at 0x2aeb76844140>\n</LOCALS>\nFrame _new_function in /usr/lib/python2.4/site-packages/kobo/django/xmlrpc/decorators.py at line 91\n<CODE>\n      84             log = XmlRpcLog()\n      85             log.user = request.user\n      86             log.method = function.__name__\n      87             log.args = str(known_args + unknown_args + keyword_args)\n      88             log.save()\n      89         except:\n      90             pass\n-->   91         return function(request, *args, **kwargs)\n      92 \n      93     _new_function.__name__ = function.__name__\n      94     _new_function.__doc__ = function.__doc__\n      95     _new_function.__dict__.update(function.__dict__)\n      96     return _new_function\n      97 \n</CODE>\n<LOCALS>\n           arg_names = []\n                args = <ERROR WHILE CONVERTING VALUE TO STRING>\n             argspec = <ERROR WHILE CONVERTING VALUE TO STRING>\n            function = <function unlink_plan at 0x2aeb768442a8>\n        keyword_args = []\n          known_args = []\n              kwargs = {}\n                 log = ryang: unlink_plan\n             request = <WSGIRequest\nGET:<QueryDict: {}>,\nPOST:<QueryDict: {u\'<?xml version\': [u"\'1.0\'?>\\n<methodCall>\\n<methodName>TestCase.unlink_plan</methodName>\\n<params>\\n<param>\\n<value><int>83369</int></value>\\n</param>\\n<param>\\n<value><int>3584</int></value>\\n</param>\\n</params>\\n</methodCall>\\n"]}>,\nCOOKIES:{\'sessionid\': \'456febe956e9c6a970d3b25ea139b3a3\'},\nMETA:{\'AUTH_TYPE\': \'Negotiate\',\n \'CONTENT_LENGTH\': \'211\',\n \'CONTENT_TYPE\': \'text/xml\',\n \'CSRF_COOKIE\': \'5746d18331fdb7d556d8771a0fa6b791\',\n \'DOCUMENT_ROOT\': \'/var/www/html\',\n \'GATEWAY_INTERFACE\': \'CGI/1.1\',\n \'HTTPS\': \'on\',\n \'HTTP_ACCEPT_ENCODING\': \'gzip\',\n \'HTTP_AUTHORIZATION\': \'negotiate YIICNAYJKoZIhvcSAQICAQBuggIjMIICH6ADAgEFoQMCAQ6iBwMFACAAAACjggE5YYIBNTCCATGgAwIBBaEMGwpSRURIQVQuQ09NojMwMaADAgEDoSowKBsESFRUUBsgdGNtcy1zdGFnZS5lbmdsYWIuYm5lLnJlZGhhdC5jb22jgeYwgeOgAwIBEqEDAgEFooHWBIHT4dMC0RQVk5FcO9PvjQ7R1bjHlEthT7PgqQy/F5yfgZRMtiTyw65FcSKps3YxNttN30Laxu17RW+rddLOe0ZYA77paOENl/O/xwLW+ga06Q4odYdrebYnuPtw31oqN8JY7h6wkWcgkoxQEkXgm1RwsBjpVEzn13KBz/gLwxXeH0q78IMl6t0EWo3kFEpCrZNTT5KP3Ynyjt+dzHQkihZp1jqUn4rZgJZKuyoapWbI3tImdtcQPChiGoxdW3LkCaZindbzvF9svGZAvjXAzXpIE9PkDKSBzDCByaADAgESooHBBIG+Uc47qA9jl3Fg2G1q8HY992eCu+qfg371f7Sc5qE2CdwxfEIB8oLc9q0+9nqrQUpXMNSb/j8Tv5YfZLPUW4uDy197FswD0PU3h+V6o0dULj7An7qU7m06pbMr0SpPMG+yRm4lPfam65fyTVBTAPnwzbQXraeejRcpcbRyix2XShN2Yov+XrC5dbpA7u8cZIo2qX2HfXUTpXGJdsjdRpWdp3HsmKRgCtC2pTOoCdMInyNlLb5+fTagrklyK8TNOQ==\',\n \'HTTP_COOKIE\': \'sessionid=456febe956e9c6a970d3b25ea139b3a3\',\n \'HTTP_HOST\': \'tcms-stage.englab.bne.redhat.com\',\n \'HTTP_USER_AGENT\': \'xmlrpclib.py/1.0.1 (by www.pythonware.com)\',\n \'PATH_INFO\': u\'/xmlrpc/\',\n \'PATH_TRANSLATED\': \'/usr/lib/python2.4/site-packages/tcms/nitrate-wsgi.py/xmlrpc/\',\n \'QUERY_STRING\': \'\',\n \'REMOTE_ADDR\': \'10.67.7.100\',\n \'REMOTE_PORT\': \'40348\',\n \'REMOTE_USER\': \'ryang\',\n \'REQUEST_METHOD\': \'POST\',\n \'REQUEST_URI\': \'/xmlrpc/\',\n \'SCRIPT_FILENAME\': \'/usr/lib/python2.4/site-packages/tcms/nitrate-wsgi.py\',\n \'SCRIPT_NAME\': u\'\',\n \'SERVER_ADDR\': \'10.64.10.32\',\n \'SERVER_ADMIN\': \'sysadmin-engops\',\n \'SERVER_NAME\': \'tcms-stage.englab.bne.redhat.com\',\n \'SERVER_PORT\': \'443\',\n \'SERVER_PROTOCOL\': \'HTTP/1.1\',\n \'SERVER_SIGNATURE\': \'\',\n \'SERVER_SOFTWARE\': \'Apache\',\n \'mod_wsgi.application_group\': \'tcms-stage.englab.bne.redhat.com|\',\n \'mod_wsgi.callable_object\': \'application\',\n \'mod_wsgi.handler_script\': \'\',\n \'mod_wsgi.input_chunked\': \'0\',\n \'mod_wsgi.listener_host\': \'\',\n \'mod_wsgi.listener_port\': \'443\',\n \'mod_wsgi.process_group\': \'\',\n \'mod_wsgi.request_handler\': \'wsgi-script\',\n \'mod_wsgi.script_reloading\': \'1\',\n \'mod_wsgi.version\': (3, 2),\n \'wsgi.errors\': <mod_wsgi.Log object at 0x2aeb74c0efb0>,\n \'wsgi.file_wrapper\': <built-in method file_wrapper of mod_wsgi.Adapter object at 0x2aeb767bc300>,\n \'wsgi.input\': <mod_wsgi.Input object at 0x2aeb768a24b0>,\n \'wsgi.multiprocess\': True,\n \'wsgi.multithread\': False,\n \'wsgi.run_once\': False,\n \'wsgi.url_scheme\': \'https\',\n \'wsgi.version\': (1, 1)}>\n        unknown_args = [(0, 83369), (1, 3584)]\n</LOCALS>\nFrame _dispatch in /usr/lib64/python2.4/SimpleXMLRPCServer.py at line 406\n<CODE>\n     399                             method,\n     400                             self.allow_dotted_names\n     401                             )\n     402                     except AttributeError:\n     403                         pass\n     404 \n     405         if func is not None:\n-->  406             return func(*params)\n     407         else:\n     408             raise Exception(\'method "%s" is not supported\' % method)\n     409 \n     410 class SimpleXMLRPCRequestHandler(BaseHTTPServer.BaseHTTPRequestHandler):\n     411     """Simple XML-RPC request handler class.\n     412 \n</CODE>\n<LOCALS>\n                func = <function unlink_plan at 0x2aeb768441b8>\n              method = TestCase.unlink_plan\n              params = <ERROR WHILE CONVERTING VALUE TO STRING>\n                self = <kobo.django.xmlrpc.dispatcher.DjangoXMLRPCDispatcher instance at 0x2aeb76895098>\n</LOCALS>\nFrame _marshaled_dispatch in /usr/lib/python2.4/site-packages/kobo/django/xmlrpc/dispatcher.py at line 94\n<CODE>\n      87         params = (request, ) + params\n      88 \n      89         # generate response\n      90         try:\n      91             if dispatch_method is not None:\n      92                 response = dispatch_method(method, params)\n      93             else:\n-->   94                 response = self._dispatch(method, params)\n      95             # wrap response in a singleton tuple\n      96             response = (response,)\n      97             response = xmlrpclib.dumps(response, methodresponse=1, allow_none=self.allow_none, encoding=self.encoding)\n      98 \n      99         except xmlrpclib.Fault, fault:\n     100             response = xmlrpclib.dumps(fault, allow_none=self.allow_none, encoding=self.encoding)\n</CODE>\n<LOCALS>\n           Traceback = <class \'kobo.tback.Traceback\'>\n                data = <?xml version=\'1.0\'?>\n<methodCall>\n<methodName>TestCase.unlink_plan</methodName>\n<params>\n<param>\n<value><int>83369</int></value>\n</param>\n<param>\n<value><int>3584</int></value>\n</param>\n</params>\n</methodCall>\n\n     dispatch_method = None\n              method = TestCase.unlink_plan\n              params = <ERROR WHILE CONVERTING VALUE TO STRING>\n             request = <WSGIRequest\nGET:<QueryDict: {}>,\nPOST:<QueryDict: {u\'<?xml version\': [u"\'1.0\'?>\\n<methodCall>\\n<methodName>TestCase.unlink_plan</methodName>\\n<params>\\n<param>\\n<value><int>83369</int></value>\\n</param>\\n<param>\\n<value><int>3584</int></value>\\n</param>\\n</params>\\n</methodCall>\\n"]}>,\nCOOKIES:{\'sessionid\': \'456febe956e9c6a970d3b25ea139b3a3\'},\nMETA:{\'AUTH_TYPE\': \'Negotiate\',\n \'CONTENT_LENGTH\': \'211\',\n \'CONTENT_TYPE\': \'text/xml\',\n \'CSRF_COOKIE\': \'5746d18331fdb7d556d8771a0fa6b791\',\n \'DOCUMENT_ROOT\': \'/var/www/html\',\n \'GATEWAY_INTERFACE\': \'CGI/1.1\',\n \'HTTPS\': \'on\',\n \'HTTP_ACCEPT_ENCODING\': \'gzip\',\n \'HTTP_AUTHORIZATION\': \'negotiate YIICNAYJKoZIhvcSAQICAQBuggIjMIICH6ADAgEFoQMCAQ6iBwMFACAAAACjggE5YYIBNTCCATGgAwIBBaEMGwpSRURIQVQuQ09NojMwMaADAgEDoSowKBsESFRUUBsgdGNtcy1zdGFnZS5lbmdsYWIuYm5lLnJlZGhhdC5jb22jgeYwgeOgAwIBEqEDAgEFooHWBIHT4dMC0RQVk5FcO9PvjQ7R1bjHlEthT7PgqQy/F5yfgZRMtiTyw65FcSKps3YxNttN30Laxu17RW+rddLOe0ZYA77paOENl/O/xwLW+ga06Q4odYdrebYnuPtw31oqN8JY7h6wkWcgkoxQEkXgm1RwsBjpVEzn13KBz/gLwxXeH0q78IMl6t0EWo3kFEpCrZNTT5KP3Ynyjt+dzHQkihZp1jqUn4rZgJZKuyoapWbI3tImdtcQPChiGoxdW3LkCaZindbzvF9svGZAvjXAzXpIE9PkDKSBzDCByaADAgESooHBBIG+Uc47qA9jl3Fg2G1q8HY992eCu+qfg371f7Sc5qE2CdwxfEIB8oLc9q0+9nqrQUpXMNSb/j8Tv5YfZLPUW4uDy197FswD0PU3h+V6o0dULj7An7qU7m06pbMr0SpPMG+yRm4lPfam65fyTVBTAPnwzbQXraeejRcpcbRyix2XShN2Yov+XrC5dbpA7u8cZIo2qX2HfXUTpXGJdsjdRpWdp3HsmKRgCtC2pTOoCdMInyNlLb5+fTagrklyK8TNOQ==\',\n \'HTTP_COOKIE\': \'sessionid=456febe956e9c6a970d3b25ea139b3a3\',\n \'HTTP_HOST\': \'tcms-stage.englab.bne.redhat.com\',\n \'HTTP_USER_AGENT\': \'xmlrpclib.py/1.0.1 (by www.pythonware.com)\',\n \'PATH_INFO\': u\'/xmlrpc/\',\n \'PATH_TRANSLATED\': \'/usr/lib/python2.4/site-packages/tcms/nitrate-wsgi.py/xmlrpc/\',\n \'QUERY_STRING\': \'\',\n \'REMOTE_ADDR\': \'10.67.7.100\',\n \'REMOTE_PORT\': \'40348\',\n \'REMOTE_USER\': \'ryang\',\n \'REQUEST_METHOD\': \'POST\',\n \'REQUEST_URI\': \'/xmlrpc/\',\n \'SCRIPT_FILENAME\': \'/usr/lib/python2.4/site-packages/tcms/nitrate-wsgi.py\',\n \'SCRIPT_NAME\': u\'\',\n \'SERVER_ADDR\': \'10.64.10.32\',\n \'SERVER_ADMIN\': \'sysadmin-engops\',\n \'SERVER_NAME\': \'tcms-stage.englab.bne.redhat.com\',\n \'SERVER_PORT\': \'443\',\n \'SERVER_PROTOCOL\': \'HTTP/1.1\',\n \'SERVER_SIGNATURE\': \'\',\n \'SERVER_SOFTWARE\': \'Apache\',\n \'mod_wsgi.application_group\': \'tcms-stage.englab.bne.redhat.com|\',\n \'mod_wsgi.callable_object\': \'application\',\n \'mod_wsgi.handler_script\': \'\',\n \'mod_wsgi.input_chunked\': \'0\',\n \'mod_wsgi.listener_host\': \'\',\n \'mod_wsgi.listener_port\': \'443\',\n \'mod_wsgi.process_group\': \'\',\n \'mod_wsgi.request_handler\': \'wsgi-script\',\n \'mod_wsgi.script_reloading\': \'1\',\n \'mod_wsgi.version\': (3, 2),\n \'wsgi.errors\': <mod_wsgi.Log object at 0x2aeb74c0efb0>,\n \'wsgi.file_wrapper\': <built-in method file_wrapper of mod_wsgi.Adapter object at 0x2aeb767bc300>,\n \'wsgi.input\': <mod_wsgi.Input object at 0x2aeb768a24b0>,\n \'wsgi.multiprocess\': True,\n \'wsgi.multithread\': False,\n \'wsgi.run_once\': False,\n \'wsgi.url_scheme\': \'https\',\n \'wsgi.version\': (1, 1)}>\n                self = <kobo.django.xmlrpc.dispatcher.DjangoXMLRPCDispatcher instance at 0x2aeb76895098>\n</LOCALS>'>

Comment 1 Yuguang Wang 2011-06-08 02:08:44 UTC
I tried a minute ago, works fine.

Could find following information from traceback:
>raise self.model.DoesNotExist("%s matching query does not
>exist."\nDoesNotExist: TestPlan matching query does not exist.

This indicates that case 12345 is not under plan 137.

It is not a bug. 
Now the debug mode on stage is off and there won't be so much traceback.