Re: Problems with gitk after cygwin update

2010-09-20 Thread Michael Lutz
Hello,
thanks for looking into this.

Am 20.09.2010 10:55 schrieb Corinna Vinschen:
> I can't reproduce the stack dumps, but I can reproduce the premature
> exit of the parent shell.  This is a problem I'm still mulling over:
> http://cygwin.com/ml/cygwin/2010-09/msg00237.html

I don't always get the stack dump either and I couldn't figure out a
pattern for when it happens, so I'm not surprised. I can always open up a
second xterm so this bug isn't that critical.

There is another problem with git that I occasionally saw with older
cygwin version as well, but feels to have become much more common lately.
It happens when using "git gui", which incidentally is a tk wish app as
well. It's harder to reproduce, but the recipe below should do the trick.

As a preparation in some temp dir:
$ git init .
$ echo -e "a\nb" > file.txt
$ git add file.txt
$ git commit -m "Commit"
$ echo -e "a\na\nc\nd" > file.txt

Now start citool:
$ git gui citool

The big pane on the right has some red and green line, click on one of
these lines with a right click and select "Stage this line". If you're
lucky, this will hang git gui because it seems to wait for the output of a
git command it spawned. The git command is hanging in process startup
though, the stack trace below made with Process Explorer of the hanging
command looks like it is waiting on some mutex.

If it actually works the first try, click on the file icon in the lower
left pane to unstage the line again and repeat until the hang occurs. It
happens quite often that it hangs the first time for me, but sometimes it
only hangs after several minutes of work done with git gui.

Michael Lutz

--- snip 1 ---
Stack trace with Process Monitor
Command "C:\cygwin\lib\git-core\git-rev-parse.exe --verify HEAD"

ntoskrnl.exe!SeAccessCheckWithHint+0xb4a
ntoskrnl.exe!KeAcquireSpinLockAtDpcLevel+0x7d2
ntoskrnl.exe!KeWaitForMutexObject+0x19f
ntoskrnl.exe!PsIsSystemProcess+0x94
ntoskrnl.exe!KeStackAttachProcess+0x11c1
ntoskrnl.exe!ObReferenceObjectByPointerWithTag+0x233
ntoskrnl.exe!PsLookupProcessThreadByCid+0x56f
ntoskrnl.exe!KeTestAlertThread+0xa79
ntoskrnl.exe!KeTestAlertThread+0x9fb
ntdll.dll!RtlUserThreadStart


--
Problem reports:   http://cygwin.com/problems.html
FAQ:   http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple



Re: Problems with gitk after cygwin update

2010-09-20 Thread Corinna Vinschen
On Sep 19 23:04, Michael Lutz wrote:
> Hello,
> 
> I just updated my Cygwin installation with the newest packages, especially
> cygwin base from 1.7.5 to 1.7.7 and git from 1.7.1 to 1.7.2.3.
> 
> I'm now having problems when I launch gitk in the background from a xterm,
> i.e. "gitk &". First of all, if I press any key after I switch back to the
> xterm, it just closes. On the prompt "logout" is visible for just a moment
> before it closes.
> 
> Secondly, I got the following error log when clicking around in gitk to
> view some commits. I never had such problems before I updated.
> 
> Michael Lutz
> 
> --- snip 1 
> $ cygcheck -c cygwin git gitk
> Cygwin Package Information
> Package  VersionStatus
> cygwin   1.7.7-1OK
> git  1.7.2.3-1  OK
> gitk 1.7.2.3-1  OK
> 
> Windows 7 Pro x64 with all updates.
> 
> --- snip 2 
> 
>   0 [main] git 6884 C:\cygwin\bin\git.exe: *** fatal error - couldn't
> initialize fd 0 for /dev/tty1
> Stack trace:
> Frame Function  Args
> 002838C8  6102749B  (002838C8, , , )
> 00283BB8  6102749B  (61177B80, 8000, , 61179977)
> 00284BE8  61004AFB  (611A1670, , 6123AAC4, 0001)
> End of stack trace
>   0 [main] git 6884 C:\cygwin\bin\git.exe: *** fatal error - couldn't
> initialize fd 0 for /dev/tty1

I can't reproduce the stack dumps, but I can reproduce the premature
exit of the parent shell.  This is a problem I'm still mulling over:
http://cygwin.com/ml/cygwin/2010-09/msg00237.html
Your scenario is equivalent since gitk uses the tk shell wish, which
starts its child processes like a native Windows application using the
CreateProcess call, rather than Cygwin's fork/exec.  This in turn leads
to a collision in the terminal foreground process group handling
between the child process started by wish, and the parent bash.
I have a simple solution for this problem, which is to revert the code
in Cygwin to the 1.7.5 state.  However, this isn't a satisfying solution,
because this results in another problem:

  Microsoft Windows [Version 6.1.7600]
  Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

  C:\cygwin\bin>set CYGWIN=tty

  C:\cygwin\bin>bash --login

  cori...@vmbert7 ~
  $ cmd
  Microsoft Windows [Version 6.1.7600]
  Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

  C:\cygwin\home\corinna>bash --login<== HANGS taking 100% CPU!!!

I'd rather find a fix for both problems...


Corinna

-- 
Corinna Vinschen  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader  cygwin AT cygwin DOT com
Red Hat

--
Problem reports:   http://cygwin.com/problems.html
FAQ:   http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple



Problems with gitk after cygwin update

2010-09-19 Thread Michael Lutz
Hello,

I just updated my Cygwin installation with the newest packages, especially
cygwin base from 1.7.5 to 1.7.7 and git from 1.7.1 to 1.7.2.3.

I'm now having problems when I launch gitk in the background from a xterm,
i.e. "gitk &". First of all, if I press any key after I switch back to the
xterm, it just closes. On the prompt "logout" is visible for just a moment
before it closes.

Secondly, I got the following error log when clicking around in gitk to
view some commits. I never had such problems before I updated.

Michael Lutz

--- snip 1 
$ cygcheck -c cygwin git gitk
Cygwin Package Information
Package  VersionStatus
cygwin   1.7.7-1OK
git  1.7.2.3-1  OK
gitk 1.7.2.3-1  OK

Windows 7 Pro x64 with all updates.

--- snip 2 

  0 [main] git 6884 C:\cygwin\bin\git.exe: *** fatal error - couldn't
initialize fd 0 for /dev/tty1
Stack trace:
Frame Function  Args
002838C8  6102749B  (002838C8, , , )
00283BB8  6102749B  (61177B80, 8000, , 61179977)
00284BE8  61004AFB  (611A1670, , 6123AAC4, 0001)
End of stack trace
  0 [main] git 6884 C:\cygwin\bin\git.exe: *** fatal error - couldn't
initialize fd 0 for /dev/tty1
Stack trace:
Frame Function  Args
002838C8  6102749B  (002838C8, , , )
00283BB8  6102749B  (61177B80, 8000, , 61179977)
00284BE8  61004AFB  (611A1670, , 6123AAC4, 0001)
End of stack trace
while executing
"close $gdtf"
(procedure "gettreediffline" line 36)
invoked from within
"gettreediffline file10200d8 b5628c26f463d437e916ef31e0e97fa7629ead2a"
("eval" body line 1)
invoked from within
"eval $script"
(procedure "dorunq" line 11)
invoked from within
"dorunq"
("after" script)


--
Problem reports:   http://cygwin.com/problems.html
FAQ:   http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple