On 12/06/11 19:43, azurIt wrote: > cool, it's working now. problem is that traceback for both cases (where > result is ok and is not ok) looks the same: > > > File > "/usr/lib/python2.5/site-packages/rpclib-2.4.1_beta-py2.5.egg/rpclib/server/wsgi.py", > line 168, in __call__ > return self.__handle_rpc(req_env, start_response) > File > "/usr/lib/python2.5/site-packages/rpclib-2.4.1_beta-py2.5.egg/rpclib/server/wsgi.py", > line 239, in __handle_rpc > self.get_out_object(ctx) > File > "/usr/lib/python2.5/site-packages/rpclib-2.4.1_beta-py2.5.egg/rpclib/server/_base.py", > line 73, in get_out_object > self.app.process_request(ctx) > File > "/usr/lib/python2.5/site-packages/rpclib-2.4.1_beta-py2.5.egg/rpclib/application.py", > line 102, in process_request > ctx.out_object = self.call_wrapper(ctx) > File > "/usr/lib/python2.5/site-packages/rpclib-2.4.1_beta-py2.5.egg/rpclib/_base.py", > line 190, in __setattr__ > object.__setattr__(self, k, v) > File > "/usr/lib/python2.5/site-packages/rpclib-2.4.1_beta-py2.5.egg/rpclib/_base.py", > line 51, in set_out_object > traceback.print_stack() > > > i can only see rpclib code, not mine. any hints how can i show something more > ? thnx!!!
i was assuming you'd concluded that this was not a problem with your code but with rpclib. you are supposed to track when assignments occur for both cases and find a difference. e.g. when an assignment operation required assignment does not occur, hence you get incorrect results. there *has* to be a difference between the two cases. yes, that's a long shot but the problem you're seeing is also quite strange. hope that helps burak > azur > > > ______________________________________________________________ >> Od: "Burak Arslan" <[email protected]> >> Komu: azurIt <[email protected]> >> Dátum: 06.12.2011 17:53 >> Predmet: Re: [Soap-Python] rpclib - very strange problem >> >> CC: [email protected] >> On 12/06/11 18:51, Burak Arslan wrote: >>> On 12/06/11 18:46, azurIt wrote: >>>> Sorry for bordering, i would write/fix it by myself but i don't fully >>>> understand your code. This is what it is doing now: >>> you should read about the property built-in. >>> >>>> Traceback (most recent call last): >>>> File >>>> "/usr/lib/python2.5/site-packages/rpclib-2.4.1_beta-py2.5.egg/rpclib/application.py", >>>> line 102, in process_request >>>> ctx.out_object = self.call_wrapper(ctx) >>>> File >>>> "/usr/lib/python2.5/site-packages/rpclib-2.4.1_beta-py2.5.egg/rpclib/_base.py", >>>> line 191, in __setattr__ >>>> raise ValueError("use the udc member for storing arbitrary data " >>>> ValueError: use the udc member for storing arbitrary data in the method >>>> context >>> set self.frozen to false in the constructor's last line. >> or rather add self.__out_object=None to the ctor. >> >>> i'd forgotten about the __getattr__ in that class, you can modify that >>> as well if you understand better what that does. >>> >>> burak >>>> ______________________________________________________________ >>>>> Od: "Burak Arslan" <[email protected]> >>>>> Komu: azurIt <[email protected]> >>>>> Dátum: 06.12.2011 17:19 >>>>> Predmet: Re: [Soap-Python] rpclib - very strange problem >>>>> >>>>> CC: [email protected] >>>>> On 12/06/11 18:14, azurIt wrote: >>>>>> Burak, >>>>>> >>>>>> can you, please, help me with this a little more? Where exactly should i >>>>>> put that code? Into _base.py file? Thank you! >>>>>> >>>>>> azur >>>>> yes, in the MethodContext class, like so: >>>>> >>>>> class MethodContext(object): >>>>> def get_out_object(self): >>>>> return self.__out_object >>>>> >>>>> def set_out_object(self, what): >>>>> import traceback >>>>> traceback.print_stack() >>>>> self.__out_object = what >>>>> >>>>> out_object = property(get_out_object, set_out_object) >>>>> >>>>> # (...) >>>>> # rest of the class definition >>>>> >>>>> hth, >>>>> burak >>>>> >>>>> >>>>> >>>>>> ______________________________________________________________ >>>>>>> Od: "Burak Arslan" <[email protected]> >>>>>>> Komu: azurIt <[email protected]> >>>>>>> Dátum: 05.12.2011 18:33 >>>>>>> Predmet: Re: [Soap-Python] rpclib - very strange problem >>>>>>> >>>>>>> CC: [email protected] >>>>>>> On 12/05/11 17:55, azurIt wrote: >>>>>>>> Any hints ? :) >>>>>>> patch rpclib code to instrument the out_object attribute. have the >>>>>>> instrumentation spit tracebacks on assignments. that way you'll be able >>>>>>> to track where that strange value comes from. >>>>>>> >>>>>>> off the top of my head, add these to the MethodContext class: >>>>>>> >>>>>>> def get_out_object(self): >>>>>>> return self.__out_object >>>>>>> >>>>>>> def set_out_object(self, what): >>>>>>> import traceback >>>>>>> traceback.print_stack() >>>>>>> self.__out_object = what >>>>>>> >>>>>>> out_object = property(get_out_object, set_out_object) >>>>>>> >>>>>>> every _second_ request? heh, that's fun :) >>>>>>> >>>>>>> good luck, >>>>>>> burak >>>>>>> >>>>>>> >>>>>>>> azur >>>>>>>> _______________________________________________ >>>>>>>> Soap mailing list >>>>>>>> [email protected] >>>>>>>> http://mail.python.org/mailman/listinfo/soap >>>>>> _______________________________________________ >>>>>> Soap mailing list >>>>>> [email protected] >>>>>> http://mail.python.org/mailman/listinfo/soap >>>> _______________________________________________ >>>> Soap mailing list >>>> [email protected] >>>> http://mail.python.org/mailman/listinfo/soap >>> _______________________________________________ >>> Soap mailing list >>> [email protected] >>> http://mail.python.org/mailman/listinfo/soap >> > _______________________________________________ > Soap mailing list > [email protected] > http://mail.python.org/mailman/listinfo/soap _______________________________________________ Soap mailing list [email protected] http://mail.python.org/mailman/listinfo/soap
