chrono028 / mercurialeclipse

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

Deadlock MercurialEclipse waiting for "Calculating Resource Status" - with Kaspersky virus scanner #34

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
-> What steps will reproduce the problem?
1. Startup Eclipse
2. Directly after that: Deadlock MercurialEclipse waiting for "Calculating 
Resource Status"
3. Closing Eclipse not possible, waiting for dialog. Kill necessary.

-> What version of the product are you using? On what operating system?
Both 1.8.1 and 1.9.4 show this behaviour, at a new Win7 x64 workstation. 

-> Please provide any additional information below.
See attached jstack dump and screenshot

Original issue reported on code.google.com by freakf...@gmail.com on 5 May 2012 at 8:56

Attachments:

GoogleCodeExporter commented 8 years ago
I agree with your guess that it's something preventing the hg command from 
completing. Are you sure the screenshot and the stack trace from the same 
stall? 

I suggest seeing if hg.exe is running during the stall and if so run it 
yourself with the same working directory and same command line.

Original comment by johnpeb@gmail.com on 6 May 2012 at 12:57

GoogleCodeExporter commented 8 years ago
Hi John,

Yes, the jstack dump is from the eclipse process at the time of the screenshot. 
Eclipse was in deadlock for a few hours already.

We've already tried to track down the stall by running the command line hg 
commands shown in the MercurialEclipse debug console. That works without 
problems.

Original comment by freakf...@gmail.com on 6 May 2012 at 10:04

GoogleCodeExporter commented 8 years ago
Forgot to mention: hg.exe was not running during the stall.

Original comment by freakf...@gmail.com on 6 May 2012 at 10:14

GoogleCodeExporter commented 8 years ago
Thanks for all the info. It's interesting the process isn't running. Thread 
"Worker-13" is what is blocking everything and it's blocking on a read of 
stdout of a non-existent process so maybe we're just confirming the original 
hypothesis more. 

I think the best direction for investigation is finding out exactly what is 
different on the machines that it doesn't work for.
- Does disabling antivirus resolve it
- Java version and 64bit or 32bit
- Eclipse version
- Other eclipse plugins installed at the same time
- Mercurial version and bitness

                process = builder.start();
                stream = process.getInputStream();
                int length;
                byte[] buffer = new byte[BUFFER_SIZE];
blocked here>               while ((length = stream.read(buffer)) != -1) {
                    output.write(buffer, 0, length);
                    if(monitor.isCanceled()){
                        break;
                    }
                }

Original comment by johnpeb@gmail.com on 6 May 2012 at 3:11

GoogleCodeExporter commented 8 years ago
Hi John, 

Our sysadmin completely uninstalled Kaspersky. That solves the problem.
From issue #33:
"It could even be related with our Kaspersy virus scanner (although I excluded 
all hg executables, eclipse.exe's, and hg repositories from being scanned 
already).".
This assumption seems to be correct. Excluding all related paths and 
executables is not enough, apparently.
We'll investigate in another solution for anti-virus.

Please close the issue, thanks for all your help, ff.

Original comment by freakf...@gmail.com on 7 May 2012 at 6:41

GoogleCodeExporter commented 8 years ago
Great! You could maybe exclude java.exe and javaw.exe as well - the latter is 
what eclipse.exe executes at startup.

Original comment by johnpeb@gmail.com on 7 May 2012 at 1:11