pombreda / vcscommand

Automatically exported from code.google.com/p/vcscommand
0 stars 0 forks source link

vcscommand cause MacVim to hang with Snow Leopard #41

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?

Ran :VCSUpdate or other commands with MacVim, the GUI will hang, and
perl5.10 process consume 100% of CPU usage(see sreenshot in attachment) 

Console messages filled with:

10/24/09 6:08:17 PM MacVim[391] -[MMVimController sendMessage:data:]@352:
processInput:data: failed: pid=396 id=1 msg=SetMouseShapeMsgID
reason=[NSPortCoder sendBeforeTime:sendReplyPort:] timed out
(278071697.436471 278071697.438507) 1

What version of the product are you using? On what operating system?

Mac OS X 10.6.1
vcscommand 1.99.31
Vim72, MacVim Snapshot 49 / Snapshot 50 / stable-1_2 / 10.6.1 binary I
built myself

Please provide any additional information below.

No problems until snow leopard
non-GUI version of Vim work correctly

the problem seems not caused by MacVim:
http://code.google.com/p/macvim/issues/detail?id=227

Original issue reported on code.google.com by dexter.yy on 24 Oct 2009 at 5:04

Attachments:

GoogleCodeExporter commented 9 years ago
Which VCS do you use?

Does MacVim make use of perl?  Do you have VCS 
wrapper scripts that use perl?

Original comment by bob.hies...@gmail.com on 24 Oct 2009 at 5:19

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
I have the same problem, when trying to use vcscommand script within a SVN 
working 
dir.

Vcscommand version 1.99.31 are installed into $VIMRUNTIME dir.

I do not use any wrapper scripts. 
My Mac has OS 10.6.1 with default installation of SVN and Perl installed.

Interesting point: After killing the hanging Perl process, the output of VCSLog 
command looked good in Vim.

Original comment by Marco.So...@gmail.com on 24 Oct 2009 at 5:53

GoogleCodeExporter commented 9 years ago
I have the exact issue mentioned by Marco.Sorich

Original comment by dexter.yy on 25 Oct 2009 at 5:26

GoogleCodeExporter commented 9 years ago
I saw similar behavior, with svk being the culprit.
Running ps -ef | grep svk showed perl executing /usr/bin/svk

Running svk by itself produces the following:
Repository /Users/lickea/.svk/local does not exist, create? (y/n)

Without the local repository, svk waits for input, halting the GUI.

Calling svk with a closed stdin means the program won't hang:
~ $ svk info . <&-
Repository /Users/lickea/.svk/local does not exist, create? (y/n)Unable to read
terminal settings in GetControlChars at
/System/Library/Perl/Extras/5.10.0/SVK/Util.pm line 199.

Original comment by lickea@gmail.com on 26 Oct 2009 at 10:27

GoogleCodeExporter commented 9 years ago
I don't have the correct environment to duplicate this issue, but it sounds as 
though
the "svn info ." command that is executed as part of the VCS type identification
routine is hanging.

I recommend disabling the SVK part of the vcscommand plugin until the SVK issue 
is
resolved by putting some variant of the following in your vimrc:

let VCSCommandSVKExec='disabled no such executable'

Original comment by bob.hies...@gmail.com on 30 Oct 2009 at 6:55

GoogleCodeExporter commented 9 years ago
Is there a way to identify the affected version of the Mac OS from within VIM?

Original comment by bob.hies...@gmail.com on 30 Oct 2009 at 8:46

GoogleCodeExporter commented 9 years ago
Thanks! Disabling the SVK is enough to fix my problem.

And As far as I know, SVK development is discontinued.
http://lists.bestpractical.com/pipermail/svk-users/2009-May/000425.html

Original comment by dexter.yy on 31 Oct 2009 at 1:47

GoogleCodeExporter commented 9 years ago
Thanks for the info re: SVK.  However, I'm not really sure what to do here.  I 
can
probably just disable the SVK extension by default (at least, on the Mac), but 
I'm
wary of doing that when, in fact, the user has installed SVK so presumably 
intends to
use it.  I wonder if there's a better way to identify whether a directory is 
under
SVK control that doesn't hang the system.

Original comment by bob.hies...@gmail.com on 5 Nov 2009 at 6:13

GoogleCodeExporter commented 9 years ago
SVK is installed by default on a Mac..

How about changing the line to:

let statusText = system(VCSCommandGetOption('VCSCommandSVKExec', 'svk') . ' 
info "' .
directoryName . '"',"no")

If the user has svk setup, there is no prompt.
If the user does not, the prompt is answered without creating a local repo.

-Adam

Original comment by lickea@gmail.com on 5 Nov 2009 at 7:39

GoogleCodeExporter commented 9 years ago
Patch: If svk thinks it's being run interactively, this will respond negatively 
to the prompt:
Repository $HOME/.svk/local does not exist, create? (y/n)

This should prevent hangs with MacVim.

Original comment by lickea@gmail.com on 11 Jan 2010 at 11:06

Attachments:

GoogleCodeExporter commented 9 years ago
I can confirm that lickea's patch works.  I tried both git repos and svk repos 
in
both macvim and regular command-line vim on snow leopard.

Original comment by joshuacr...@gmail.com on 25 Jan 2010 at 10:08

GoogleCodeExporter commented 9 years ago
Thanks for the confirmation.  I'll release it shortly.

Original comment by bob.hies...@gmail.com on 25 Jan 2010 at 11:02

GoogleCodeExporter commented 9 years ago

Original comment by bob.hies...@gmail.com on 26 Jan 2010 at 7:47