Cygwin won't start Gitk

0

1

Hey I have followed this answer to solve problem with running GUI applications under Cygwin. So far it seems okay, but when I try to open gitk it will complain on that it cannot find any git repository here. I am standing in the correct folder though, and running git from console it works (I can push, pull, and so on) But gitk won't start as it say it is not any git repository here.

Anyone know how to fix it?

I type the following to the console. gitk

And the output I get is:

  0 [main] wish8.5 2260 child_info_fork::abort: C:\cygwin\bin\libtcl8.5.dll: Loaded to different address: parent(0x520000) != child(0x410000)
  0 [main] wish8.5 4332 child_info_fork::abort: C:\cygwin\bin\libtcl8.5.dll: Loaded to different address: parent(0x520000) != child(0x560000)
  0 [main] wish8.5 4716 child_info_fork::abort: C:\cygwin\bin\libtcl8.5.dll: Loaded to different address: parent(0x520000) != child(0x410000)
  0 [main] wish8.5 4724 child_info_fork::abort: C:\cygwin\bin\libtcl8.5.dll: Loaded to different address: parent(0x520000) != child(0x410000)

starcorn

Posted 2013-03-23T14:48:04.713

Reputation: 2 136

1Can you show what you're typing in the console? And what's the output of type gitk, type git and git rev-parse --show-toplevel? – me_and – 2013-03-26T20:35:55.747

@me_and sorry, I posted the output I get from typing gitk. From the other two commands git I get different options on how to use git. And git rev-parse --show-toplevel just print the current directory location I'm in which is my git repository. – starcorn – 2013-03-27T21:07:22.410

I meant the literal output from running type gitk and type git in the console, but that error output was enough to work out what's going on. For asking for help in future, error output like that is really useful to include in the question in the first place! – me_and – 2013-03-28T11:36:20.937

Answers

1

The problem here is a fork failure: Subversion is attempting to fork a new process, and Windows is loading the new process with an unexpected memory layout. This is one of the fundamental problems Cygwin attempts to solve: Linux programs expect that when spawning a new process, the new process will have the same memory layout as the old one; Windows actively changes the memory layout whenever a new process is started.

The documented solution is in the Cygwin FAQ.

The short version is you need to do the following:

  • Exit all your Cygwin processes. That means closing all your MinTTY windows, exiting any X servers you have running, etc.
  • Go to Start > Run (or hit Win+R), and run C:\cygwin\bin\dash.
  • In the window that appears, type /bin/rebaseall and hit Return.
  • Go make yourself a coffee.

me_and

Posted 2013-03-23T14:48:04.713

Reputation: 2 118

Cool, I had to open dash as administrator, and type /usr/bin/rebaseall -v but your answer helped me to search for the right path to fix the problem ;) – starcorn – 2013-03-28T23:47:42.693

Yes, you will need to be an administrator. The -v option isn't necessary, it just means the script will print what it's doing to screen as it goes. – me_and – 2013-03-31T20:44:30.447