Bug 690808 - xmlrpc interface TestCase.unlink_plan crash.
Summary: xmlrpc interface TestCase.unlink_plan crash.
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: TCMS
Classification: Other
Component: Application
Version: Devel
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
: ---
Assignee: Yuguang Wang
QA Contact: tools-bugs
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-03-25 12:55 UTC by Yang Ren
Modified: 2011-06-08 02:08 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2011-06-08 02:08:44 UTC


Attachments (Terms of Use)

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.


Note You need to log in before you can comment on or make changes to this bug.