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...

-- 
Yuki KODAMA

------------------------------------------------------------------------------
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

Reply via email to