java - jvisualvm:软件导致连接中止:套接字写入错误

标签 java eclipse sockets runtime-error jvisualvm

当我想分析一个从使用 jvisualvm 1.3.8 的 eclipse 启动的 java 程序时,我在 eclipse 控制台中收到错误消息:

Software caused connection abort: socket write error.

当我从命令行控制台在没有 eclipse (java -jar ...) 的情况下启动程序时,也会发生这种情况。我从 JDK 1.8.0_20 测试了 jvisualvm 并下载了最新版本 1.3.8。这是堆栈跟踪:

Profiler Agent: Waiting for connection on port 5140 (Protocol version: 15) 
Profiler Agent: Established connection with the tool 
Profiler Agent: Local accelerated session 
Profiler Agent: Connection with agent closed 
Profiler Agent Error: Exception when trying to send response or command to client: 
java.net.SocketException: Software caused connection abort: socket write error 
*** Profiler engine warning: class load hook invoked at inappropriate time for java.lang.Throwable$PrintStreamOrWriter, loader = null 
*** This class will not be instrumented unless you re-run the instrumentation command 
*** Please report this problem to feedback@profiler.netbeans.org 
=============================== Stack trace ===================== 
*** Profiler engine warning: class load hook invoked at inappropriate time for java.lang.Throwable$WrappedPrintStream, loader = null 
*** This class will not be instrumented unless you re-run the instrumentation command 
*** Please report this problem to feedback@profiler.netbeans.org 
=============================== Stack trace ===================== 
*** Profiler engine warning: class load hook invoked at inappropriate time for java.util.IdentityHashMap$KeySet, loader = null 
*** This class will not be instrumented unless you re-run the instrumentation command 
*** Please report this problem to feedback@profiler.netbeans.org 
=============================== Stack trace ===================== 
java.lang.Exception: Stack trace 
        at java.lang.Thread.dumpStack(Thread.java:1329) 
        at org.netbeans.lib.profiler.server.ProfilerInterface.classLoadHook(ProfilerInterface.java:912) 
        at java.util.IdentityHashMap.keySet(IdentityHashMap.java:976) 
        at java.util.Collections$SetFromMap.<init>(Collections.java:5512) 
        at java.util.Collections.newSetFromMap(Collections.java:5496) 
        at java.lang.Throwable.printStackTrace(Throwable.java:650) 
        at java.lang.Throwable.printStackTrace(Throwable.java:643) 
        at java.lang.Throwable.printStackTrace(Throwable.java:634) 
        at java.lang.Thread.dumpStack(Thread.java:1329) 
        at org.netbeans.lib.profiler.server.ProfilerInterface.classLoadHook(ProfilerInterface.java:912) 
        at java.lang.Throwable.printStackTrace(Throwable.java:643) 
        at java.lang.Throwable.printStackTrace(Throwable.java:634) 
        at java.lang.Thread.dumpStack(Thread.java:1329) 
        at org.netbeans.lib.profiler.server.ProfilerInterface.classLoadHook(ProfilerInterface.java:912) 
        at java.lang.Throwable.printStackTrace(Throwable.java:643) 
        at org.netbeans.lib.profiler.server.ProfilerServer.handleIOExceptionOnSend(ProfilerServer.java:1698) 
        at org.netbeans.lib.profiler.server.ProfilerServer.sendComplexCmdToClient(ProfilerServer.java:706) 
        at org.netbeans.lib.profiler.server.ProfilerInterface.sendRootClassLoadedCommand(ProfilerInterface.java:1418) 
        at org.netbeans.lib.profiler.server.ProfilerInterface.access$900(ProfilerInterface.java:70) 
        at org.netbeans.lib.profiler.server.ProfilerInterface$InitiateProfilingThread.initiateInstrumentation(ProfilerInterface.java:232) 
        at org.netbeans.lib.profiler.server.ProfilerInterface$InitiateProfilingThread.run(ProfilerInterface.java:137) 
=============================== End stack trace ================= 
java.lang.Exception: Stack trace 
        at java.lang.Thread.dumpStack(Thread.java:1329) 
        at org.netbeans.lib.profiler.server.ProfilerInterface.classLoadHook(ProfilerInterface.java:912) 
        at java.lang.Throwable.printStackTrace(Throwable.java:643) 
        at java.lang.Throwable.printStackTrace(Throwable.java:634) 
        at java.lang.Thread.dumpStack(Thread.java:1329) 
        at org.netbeans.lib.profiler.server.ProfilerInterface.classLoadHook(ProfilerInterface.java:912) 
        at java.lang.Throwable.printStackTrace(Throwable.java:643) 
        at org.netbeans.lib.profiler.server.ProfilerServer.handleIOExceptionOnSend(ProfilerServer.java:1698) 
        at org.netbeans.lib.profiler.server.ProfilerServer.sendComplexCmdToClient(ProfilerServer.java:706) 
        at org.netbeans.lib.profiler.server.ProfilerInterface.sendRootClassLoadedCommand(ProfilerInterface.java:1418) 
        at org.netbeans.lib.profiler.server.ProfilerInterface.access$900(ProfilerInterface.java:70) 
        at org.netbeans.lib.profiler.server.ProfilerInterface$InitiateProfilingThread.initiateInstrumentation(ProfilerInterface.java:232) 
        at org.netbeans.lib.profiler.server.ProfilerInterface$InitiateProfilingThread.run(ProfilerInterface.java:137) 
=============================== End stack trace ================= 
java.lang.Exception: Stack trace 
        at java.lang.Thread.dumpStack(Thread.java:1329) 
        at org.netbeans.lib.profiler.server.ProfilerInterface.classLoadHook(ProfilerInterface.java:912) 
        at java.lang.Throwable.printStackTrace(Throwable.java:643) 
        at org.netbeans.lib.profiler.server.ProfilerServer.handleIOExceptionOnSend(ProfilerServer.java:1698) 
        at org.netbeans.lib.profiler.server.ProfilerServer.sendComplexCmdToClient(ProfilerServer.java:706) 
        at org.netbeans.lib.profiler.server.ProfilerInterface.sendRootClassLoadedCommand(ProfilerInterface.java:1418) 
        at org.netbeans.lib.profiler.server.ProfilerInterface.access$900(ProfilerInterface.java:70) 
        at org.netbeans.lib.profiler.server.ProfilerInterface$InitiateProfilingThread.initiateInstrumentation(ProfilerInterface.java:232) 
        at org.netbeans.lib.profiler.server.ProfilerInterface$InitiateProfilingThread.run(ProfilerInterface.java:137) 
=============================== End stack trace ================= 
java.net.SocketException: Software caused connection abort: socket write error 
        at java.net.SocketOutputStream.socketWrite0(Native Method) 
        at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:109) 
        at java.net.SocketOutputStream.write(SocketOutputStream.java:153) 
        at java.io.ObjectOutputStream$BlockDataOutputStream.drain(ObjectOutputStream.java:1877) 
        at java.io.ObjectOutputStream$BlockDataOutputStream.writeBytes(ObjectOutputStream.java:1985) 
        at java.io.ObjectOutputStream$BlockDataOutputStream.writeUTF(ObjectOutputStream.java:2168) 
        at java.io.ObjectOutputStream$BlockDataOutputStream.writeUTF(ObjectOutputStream.java:2007) 
        at java.io.ObjectOutputStream.writeUTF(ObjectOutputStream.java:869) 
        at org.netbeans.lib.profiler.wireprotocol.RootClassLoadedCommand.writeObject(RootClassLoadedCommand.java:159) 
        at org.netbeans.lib.profiler.wireprotocol.WireIO.sendComplexCommand(WireIO.java:301) 
        at org.netbeans.lib.profiler.server.ProfilerServer.sendComplexCmdToClient(ProfilerServer.java:703) 
        at org.netbeans.lib.profiler.server.ProfilerInterface.sendRootClassLoadedCommand(ProfilerInterface.java:1418) 
        at org.netbeans.lib.profiler.server.ProfilerInterface.access$900(ProfilerInterface.java:70) 
        at org.netbeans.lib.profiler.server.ProfilerInterface$InitiateProfilingThread.initiateInstrumentation(ProfilerInterface.java:232) 
        at org.netbeans.lib.profiler.server.ProfilerInterface$InitiateProfilingThread.run(ProfilerInterface.java:137) 
Profiler Agent Error: Exception when handling command from client: 
java.net.SocketException: Software caused connection abort: recv failed 
Profiler Agent: Connection with agent closed 

在此之后,我的应用程序将打开端口 5140 进行分析。我在谷歌上搜索了很多,但找不到任何帮助。我又写了一个简单的程序,同样报错。

我能做什么?

最佳答案

我遇到过几次。你在什么操作系统平台上运行这个? window ?还是 *nix?

在 Windows 上,您几乎肯定需要使用管理员权限运行 Eclipse 和/或 jvisualvm...我通常会设置一个命令提示符,Run As ... Administrator。

在 Linux 上,您需要以 root 身份运行 Eclipse 和/或 jvisualvm,或者使用具有匹配或超过运行您试图监控的 pid 的帐户的权限的帐户。

关于java - jvisualvm:软件导致连接中止:套接字写入错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25659276/

相关文章:

java - 避免java中的特定异常

android - 由于eclipse在jni中显示错误,如何从eclipse中的Android项目中删除 native 支持?

正则表达式 匹配以字符开头和结尾的字符串

java - 通过 Java 套接字发送对象的问题

java - 多个独立组分注入(inject)

java - native react :android.view.WindowManager $BadTokenException

java - Jdialog 将用户凭据传回其包含的 JFrame?或者,JFrame 从其 JDialog 获取凭据?

java - 打开 null 分析时允许 NullPointerException 的最佳方法

C : non blocking sockets with timeout : how to check if connection request was made?

iphone - 转换一个NSString