Desperate workaround for Git 64-Bit crashes

Mark Stevans retail5150@cesinst.com
Fri Dec 13 22:41:00 GMT 2013


Last Cygwin core update introduced disastrous (i.e. for me) Git bugs, 
where some commands instantly crash, e.g.:

     % git gc
     error: pack-refs died of signal 11
     error: failed to run pack-refs

Tried rebasing, reinstalling Git, no help.  Used "strace" to help 
identify executable "/usr/lib/git-core/git" as the problem: executing it 
in a shell with no arguments resulted in an immediate Segmentation 
Violation (executing "strace /usr/lib/git-core/git" worked fine). 
Surprisingly, "/bin/git" was a hard-link to the same file and started up 
fine (suggesting executable name/location dependencies).  In 
desperation, executed

     % cd /usr/lib/git-core
     % rm git
     % ln -s /bin/git

and, amazingly, "/usr/lib/git-core/git" now executes and high-level 
commands are working again.  Can't explain, but wanted to pass this 
strangeness on -- see log below....

MLS

[502 14:32:13][mstevans@Gragon: ~]$ cd /usr/lib/git-core
[503 14:32:21][mstevans@Gragon: /usr/lib/git-core]$ rm git
[504 14:32:22][mstevans@Gragon: /usr/lib/git-core]$ ln /bin/git .
[505 14:32:25][mstevans@Gragon: /usr/lib/git-core]$ cd
[507 14:32:31][mstevans@Gragon: ~]$ /usr/lib/git-core/git
Segmentation fault
[508 14:32:37][mstevans@Gragon: ~]$ cd /usr/lib/git-core
[510 14:32:47][mstevans@Gragon: /usr/lib/git-core]$ ./git
Segmentation fault
[511 14:32:52][mstevans@Gragon: /usr/lib/git-core]$ ln git dog
[512 14:33:02][mstevans@Gragon: /usr/lib/git-core]$ ./dog
Segmentation fault
[513 14:33:04][mstevans@Gragon: /usr/lib/git-core]$ rm dog
[514 14:33:09][mstevans@Gragon: /usr/lib/git-core]$ ln -s git dog
[515 14:33:13][mstevans@Gragon: /usr/lib/git-core]$ ./dog
Segmentation fault
[516 14:33:16][mstevans@Gragon: /usr/lib/git-core]$ rm dog
[517 14:33:22][mstevans@Gragon: /usr/lib/git-core]$ ln -s /bin/git dog
[518 14:33:25][mstevans@Gragon: /usr/lib/git-core]$ ./dog
usage: git [--version] [--exec-path[=<path>]] [--html-path] [--man-path] 
[--info-path]
            [-p|--paginate|--no-pager] [--no-replace-objects] [--bare]
            [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]
            [-c name=value] [--help]
            <command> [<args>]

The most commonly used git commands are:
    add        Add file contents to the index
    bisect     Find by binary search the change that introduced a bug
    branch     List, create, or delete branches
    checkout   Checkout a branch or paths to the working tree
    clone      Clone a repository into a new directory
    commit     Record changes to the repository
    diff       Show changes between commits, commit and working tree, etc
    fetch      Download objects and refs from another repository
    grep       Print lines matching a pattern
    init       Create an empty git repository or reinitialize an 
existing one
    log        Show commit logs
    merge      Join two or more development histories together
    mv         Move or rename a file, a directory, or a symlink
    pull       Fetch from and merge with another repository or a local 
branch
    push       Update remote refs along with associated objects
    rebase     Forward-port local commits to the updated upstream head
    reset      Reset current HEAD to the specified state
    rm         Remove files from the working tree and from the index
    show       Show various types of objects
    status     Show the working tree status
    tag        Create, list, delete or verify a tag object signed with GPG

See 'git help <command>' for more information on a specific command.

[519 14:33:28][mstevans@Gragon: /usr/lib/git-core]$ rm git dog
[520 14:33:38][mstevans@Gragon: /usr/lib/git-core]$ ln -s /bin/git
[521 14:33:51][mstevans@Gragon: /usr/lib/git-core]$ ./git
usage: git [--version] [--exec-path[=<path>]] [--html-path] [--man-path] 
[--info-path]
            [-p|--paginate|--no-pager] [--no-replace-objects] [--bare]
            [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]
            [-c name=value] [--help]
            <command> [<args>]

The most commonly used git commands are:
    add        Add file contents to the index
    bisect     Find by binary search the change that introduced a bug
    branch     List, create, or delete branches
    checkout   Checkout a branch or paths to the working tree
    clone      Clone a repository into a new directory
    commit     Record changes to the repository
    diff       Show changes between commits, commit and working tree, etc
    fetch      Download objects and refs from another repository
    grep       Print lines matching a pattern
    init       Create an empty git repository or reinitialize an 
existing one
    log        Show commit logs
    merge      Join two or more development histories together
    mv         Move or rename a file, a directory, or a symlink
    pull       Fetch from and merge with another repository or a local 
branch
    push       Update remote refs along with associated objects
    rebase     Forward-port local commits to the updated upstream head
    reset      Reset current HEAD to the specified state
    rm         Remove files from the working tree and from the index
    show       Show various types of objects
    status     Show the working tree status
    tag        Create, list, delete or verify a tag object signed with GPG

See 'git help <command>' for more information on a specific command.

[522 14:33:52][mstevans@Gragon: /usr/lib/git-core]$


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



More information about the Cygwin mailing list