Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Critical
-
Resolution: Fixed
-
Affects Version/s: PYTHON-0.1
-
Fix Version/s: PYTHON-1.1
-
Component/s: Python
-
Labels:None
-
Environment:Observed at least on Windows Server 8 and Linux
-
Number of attachments :
Description
The issue comes down to the Python plugin using the API runtime.exec() and the
Java runtime having problems to do this job without issues. The symptoms on a linux box are:
- In the process tree you see a java process calling pylint or "python <args> pygenie"
- Both processes are sleeping
- When you look at them with strace you see both doing blocking system calls and waiting for one another
(the one epoll and the another write, when I remember correctly)
The solution is to use a smart wrapper around runtime.exec doing strange things like reading all
output of the executed process as fast as possible. The best candidate is sonar's CommandExecutor.
Read the following for details on the runtime.exec() craziness:
http://kylecartmell.com/?p=9
Issue Links
- depends upon
-
SONAR-3318
CommandExecutor : should be possible to capture stdout and stderr
-
-
SONAR-3626
CommandExecutor : should be possible to specify environment variables
-
Activity
Evgeny Mandrikov
made changes -
| Field | Original Value | New Value |
|---|---|---|
| Link |
This issue depends upon |
Evgeny Mandrikov
made changes -
| Fix Version/s | PYTHON-0.2 [ 18636 ] |
Evgeny Mandrikov
made changes -
| Priority | Blocker [ 1 ] | Critical [ 2 ] |
Evgeny Mandrikov
made changes -
| Link |
This issue depends upon |
Evgeny Mandrikov
made changes -
| Assignee | Waleri Enns [ wenns ] | |
| Fix Version/s | PYTHON-1.0 [ 18636 ] |
Waleri Enns
made changes -
| Assignee | Waleri Enns [ wenns ] |
Waleri Enns
made changes -
| Status | Open [ 1 ] | In Progress [ 3 ] |
Evgeny Mandrikov
made changes -
| Fix Version/s | PYTHON-1.1 [ 18716 ] |
Waleri Enns
made changes -
| Status | In Progress [ 3 ] | Resolved [ 5 ] |
| Resolution | Fixed [ 1 ] |
Waleri Enns
made changes -
| Status | Resolved [ 5 ] | Closed [ 6 ] |