JSwat 3.x and Linux 2.6.15 or higher

Nathan Fiedler <[email protected]> Tue, 04 Apr 2006 00:37:07 -0700
Newsgroups gmane.comp.java.jswat.user
Organization Blue Marsh Softworks
Message-ID <[email protected]>
If you are using JSwat 3.x with Linux kernel 2.6.15 or higher, you are 
probably wondering why the debugger is painfully slow. Unfortunately, 
there is a problem with the JDI implementation with respect to the size 
of the TCP/IP packets that it sends to and from the debugger backend. A 
change in Linux kernel 2.6.15 regarding the TCP/IP code has caused any 
application that sends fairly small packets to perform terribly slowly. 
This affects all implementations of JDI since the beginning, and all 
Java debuggers (e.g. NetBeans, Eclipse, etc).

The work-around, fortunately, is very simple:

% sudo sysctl -w net.ipv4.tcp_abc=0

While this affects the system as a whole, it appears to have no 
undesirable side effects, and makes Java debugging perform as it used to.

The issue is tracked as bug 6401245 at java.sun.com, and will apparently 
be fixed in JDK 1.5.0_08, which is not expected until the Fall. In the 
meantime, there is Mustang build 79 which is coming next week.

I will update the JSwat README with regards to this problem.

n