Hi

I am runing a java web application under FreeBSD 10.3, Because some reason we 
must use the Oracle JDK. It all work fine. Even the  Java Flight Recorder works 
fine.
I have a monitor tools require to dynamic attach to the JVM. the attach can not 
work.

# /usr/local/linux-oracle-jdk1.8.0/bin/jstack 20105
Exception in thread "main" java.io.IOException: Broken pipe
        at sun.tools.attach.LinuxVirtualMachine.write(Native Method)
        at 
sun.tools.attach.LinuxVirtualMachine.writeString(LinuxVirtualMachine.java:311)
        at 
sun.tools.attach.LinuxVirtualMachine.execute(LinuxVirtualMachine.java:178)
        at 
sun.tools.attach.HotSpotVirtualMachine.executeCommand(HotSpotVirtualMachine.java:261)
        at 
sun.tools.attach.HotSpotVirtualMachine.remoteDataDump(HotSpotVirtualMachine.java:218)
        at sun.tools.jstack.JStack.runThreadDump(JStack.java:181)
        at sun.tools.jstack.JStack.main(JStack.java:116)

The unix domain socket (.java_pid20105) created in /tmp folder, but when jstack 
write to it, It got an error.

I also tried use netcat to connect the unix socket, It also closed immediately.

truss show some message like this
=============
linux_clock_gettime(0x1,0x290cb958)              = 0 (0x0)
linux_stat64("/tmp/.java_pid20105",0x290cbc7c,0x290cbc7c) = 0 (0x0)
geteuid()                                        = 0 (0x0)
getegid()                                        = 0 (0x0)
linux_stat64("/tmp/.java_pid20105",0x290cbd18,0x290cbd18) = 0 (0x0)
linux_socketcall(1,{ LINUX_SOCKET, 0x0 })        = 6 (0x6)
linux_socketcall(3,{ LINUX_GETSOCKNAME, 0x6e })  = 0 (0x0)
close(6)                                         = 0 (0x0)
linux_clock_gettime(0x1,0x290cba3c)              = 0 (0x0)
linux_clock_gettime(0x1,0x290cb9f8)              = 0 (0x0)
linux_socketcall(1,{ LINUX_SOCKET, 0x0 })        = 6 (0x6)
linux_socketcall(3,{ LINUX_GETSOCKNAME, 0x6e })  = 0 (0x0)
linux_clock_gettime(0x1,0x290cb630)              = 0 (0x0)
write(6,"1",1)                                   ERR#32 'Broken pipe'
SIGNAL 13 (SIGPIPE)
linux_rt_sigreturn(0x290cbc18)                   ERR#32 'Broken pipe'
linux_open("/usr/share/locale/locale.alias",0x0,0666) = 7 (0x7)
linux_fstat64(0x7,0x290cb580)                    = 0 (0x0)
linux_mmap2(0x0,0x1000,0x3,0x22,0xffffffff,0x0)  = 671535104 (0x2806d000)
read(7,"# Locale name alias data base.\n"...,4096) = 2512 (0x9d0)
linux_clock_gettime(0x1,0x7c39e120)              = 0 (0x0)
read(7,0x2806d000,4096)                          = 0 (0x0)
close(7)                                         = 0 (0x0)
munmap(0x2806d000,4096)                          = 0 (0x0)
===============


My FreeBSD version : 10.3-RELEASE-p6
idk version: linux-oracle-jdk18-8.73
linux base: linux_base-c6-6.7_1

—
YaoCL
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-emulation
To unsubscribe, send any mail to "[email protected]"

Reply via email to