On Fri, Sep 4, 2009 at 8:32 AM, Yuki KODAMA<endflow....@gmail.com> wrote: > On Fri, Sep 4, 2009 at 18:28, Adrian Buehlmann<adr...@cadifra.com> wrote: >> On 04.09.2009 10:45, Yuki KODAMA wrote: >>> Hi all, >>> >>> I got issue that commit & status tool doesn't work at changeset >>> <8211c9509752>. >>> The dialog opened from command line doesn't crash and spawn errors. >>> It freezes completely and looks like waiting termination of a thread >>> (CPU usage is not 100%). This issue was occurred from >>> changeset <2d284f61996f> in my testing. >>> >>> Is there someone who got same issue? >> >> Yes, same here. I bisected this to >> >> changeset: 3828:2d284f61996f >> user: Steve Borho <st...@borho.org> >> date: Thu Sep 03 09:22:09 2009 -0500 >> summary: status: move status_wait() into a thread >> >> as well. >> >> I was just right in the middle of typing an email to the list, when >> I got your mail. >> >> I haven't investigated it any deeper yet. Looks like you are much >> ahead of me (investigating). >> >>> Need to enable MQ extension; If you disable MQ, you won't get this issue. >>> >>> In short: >>> "set_title" function calling at the thread "get_repo_status" in >>> "reload_status" function >>> of status.py will make a thread the idle (?) state: >>> >>> 610: if hasattr(repo, 'mq'): >>> 611: self.mqmode = repo.mq.applied and repo['.'] == >>> repo['qtip'] >>> 612: self.set_title(self.get_title()) >>> >>> Details: >>> I debugged this with PyDev on Eclipse. >>> I found out the spawned thread becomes idle state (I don't know >>> whether it's really 'idle state'). >>> The thread is "get_repo_status" nested function in "reload_status" function >>> in status.py. In the end of "reload_status" function, it launches a thread >>> "get_repo_status" for getting repo status. And it also set the timer >>> "status_wait" >>> to check whether the thread is alive. >>> >>> I set an break point to top of "get_repo_status" thread function and >>> tested step execution. >>> After executing line #612, "get_repo_status" thread was became idle state. >>> "self.get_title" function calling is no problem. >>> >>> Finally, I comment out line #612 and it works without freeze. >>> >> > > Hmm... now I'm debugging. It's very weird: > > OK: self.set_property('title', self.get_title()) > NG: self.set_title(self.get_title()) > > why why why...
I've pushed a small workaround. -- Steve ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ Tortoisehg-develop mailing list Tortoisehg-develop@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/tortoisehg-develop