Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-4119675

RMI makes our server dump core

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: P3 P3
    • None
    • 1.1.5
    • hotspot
    • sparc
    • solaris_2.5.1

      MAy 13 - Ss

      see comments also

      ---------------------

      See the test attached. There is a tar file.


      >The problem seems to only happen when
      >I continuously run /usr/proc/bin/pfiles
      >on the server pid ('pfiles' prints the list
      >of file descriptors that the process is using).
      >Sounds like the green threads version of java
      >isn't particularly robust.
      >
      >Below is the java dump and the core file
      >traceback. These vary from run to run.
      >All the core files are from SIGSYS:
      >"bad argument to system call".
      >
      >When I run it under native threads, the
      >/usr/proc/bin/pfiles program prints
      >"Prelease PIOCSHOLD/PIOCSREG: Device busy"
      >and there is no core dump.


      >------------ java dump -------------
      >SIGSYS 12* bad argument to system call
      >
      >Full thread dump:
      > "TCP Accept-4" (TID:0xee705c48, sys_thread_t:0xee081db8, state:CW)
      prio=5
      > java.net.PlainSocketImpl.accept(PlainSocketImpl.java:387)
      > java.net.ServerSocket.implAccept(ServerSocket.java:206)
      > java.net.ServerSocket.accept(ServerSocket.java:189)
      >
      >sun.rmi.transport.proxy.HttpAwareServerSocket.accept(HttpAwareServerSocket.
      j
      >ava:77)
      > sun.rmi.transport.tcp.TCPTransport.run(TCPTransport.java:351)
      > java.lang.Thread.run(Thread.java)
      > "Cleaner" (TID:0xee703a80, sys_thread_t:0xee0b1db8, state:CW) prio=5
      > sun.rmi.transport.DGCClient.run(DGCClient.java:628)
      > java.lang.Thread.run(Thread.java)
      > "LeaseRenewer" (TID:0xee7039f0, sys_thread_t:0xee0e1db8, state:CW)
      prio=5
      > sun.rmi.transport.DGCClient.doRenewal(DGCClient.java:684)
      > sun.rmi.transport.DGCClient$LeaseRenewer.run(DGCClient.java:943)
      > java.lang.Thread.run(Thread.java)
      > "TCP Accept-3" (TID:0xee704ba8, sys_thread_t:0xee111db8, state:R)
      prio=5
      > java.net.SocketInputStream.read(SocketInputStream.java:92)
      > java.io.BufferedInputStream.fill(BufferedInputStream.java)
      > java.io.BufferedInputStream.read(BufferedInputStream.java)
      > java.io.BufferedInputStream.fill(BufferedInputStream.java)
      > java.io.BufferedInputStream.read(BufferedInputStream.java)
      > java.io.DataInputStream.readByte(DataInputStream.java)
      >
      >sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:582)
      > sun.rmi.transport.tcp.TCPTransport.run(TCPTransport.java:499)
      > java.lang.Thread.run(Thread.java)
      > "LeaseChecker" (TID:0xee704760, sys_thread_t:0xee141db8, state:CW)
      prio=5
      > sun.rmi.transport.DGCImpl$LeaseChecker.run(DGCImpl.java:278)
      > java.lang.Thread.run(Thread.java)
      > "TCP Accept-2" (TID:0xee705be8, sys_thread_t:0xee171db8, state:R)
      prio=5
      > java.text.SimpleDateFormat.format(SimpleDateFormat.java)
      > java.text.DateFormat.format(DateFormat.java)
      > SessionImpl.sendRequest(Server.java:44)
      > SessionImpl_Skel.dispatch(SessionImpl_Skel.java:54)
      > sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:164)
      > sun.rmi.transport.Transport.serviceCall(Transport.java:161)
      >
      >sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:593)
      > sun.rmi.transport.tcp.TCPTransport.run(TCPTransport.java:499)
      > java.lang.Thread.run(Thread.java)
      > "Pinger" (TID:0xee704908, sys_thread_t:0xee1a1db8, state:CW) prio=5
      > sun.rmi.transport.tcp.Pinger.run(TCPEndpoint.java:325)
      > java.lang.Thread.run(Thread.java)
      > "TCP Accept-1" (TID:0xee704538, sys_thread_t:0xee1d1db8, state:CW)
      prio=5
      > java.net.SocketInputStream.read(SocketInputStream.java:92)
      > java.io.BufferedInputStream.fill(BufferedInputStream.java)
      > java.io.BufferedInputStream.read(BufferedInputStream.java)
      > java.io.BufferedInputStream.fill(BufferedInputStream.java)
      > java.io.BufferedInputStream.read(BufferedInputStream.java)
      > java.io.DataInputStream.readByte(DataInputStream.java)
      >
      >sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:582)
      > sun.rmi.transport.tcp.TCPTransport.run(TCPTransport.java:499)
      > java.lang.Thread.run(Thread.java)
      > "KeepAlive" (TID:0xee704630, sys_thread_t:0xee241db8, state:CW) prio=5
      > sun.rmi.transport.KeepAlive.run(ObjectTable.java:180)
      > java.lang.Thread.run(Thread.java)
      > "Reaper" (TID:0xee7043e0, sys_thread_t:0xee271db8, state:CW) prio=5
      > sun.rmi.transport.Reaper.run(ObjectTable.java:197)
      > java.lang.Thread.run(Thread.java)
      > "Finalizer thread" (TID:0xee700220, sys_thread_t:0xee2c1db8, state:CW)
      >prio=1
      > "Async Garbage Collector" (TID:0xee700268, sys_thread_t:0xee2f1db8,
      >state:CW) prio=1
      > "Idle thread" (TID:0xee7002b0, sys_thread_t:0xee3c1db8, state:R) prio=0
      > "Clock" (TID:0xee700088, sys_thread_t:0xee3f1db8, state:R) prio=12
      >*current thread*
      > "main" (TID:0xee7000b0, sys_thread_t:0x67980, state:CW) prio=5
      >Monitor Cache Dump:
      > java.io.BufferedInputStream@EE705DA0/EE757080: owner "TCP Accept-3"
      >(0xee111db8, 1 entry)
      > java.net.PlainSocketImpl@EE7045A0/EE751A18: owner "TCP Accept-4"
      >(0xee081db8, 1 entry)
      > <unknown key> (0xee141db8): <unowned>
      > Waiting to be notified:
      > "LeaseChecker" (0xee141db8)
      > <unknown key> (0xee1a1db8): <unowned>
      > Waiting to be notified:
      > "Pinger" (0xee1a1db8)
      > <unknown key> (0xee241db8): <unowned>
      > Waiting to be notified:
      > "KeepAlive" (0xee241db8)
      > java.lang.Object@EE703778/EE7574B0: <unowned>
      > Waiting to be notified:
      > "LeaseRenewer" (0xee0e1db8)
      > java.util.Vector@EE703500/EE758290: <unowned>
      > Waiting to be notified:
      > "Cleaner" (0xee0b1db8)
      > java.io.BufferedInputStream@EE705978/EE756EA8: owner "TCP Accept-3"
      >(0xee111db8, 1 entry)
      > <unknown key> (0xee2f1db8): <unowned>
      > Waiting to be notified:
      > "Async Garbage Collector" (0xee2f1db8)
      > <unknown key> (0xee271db8): <unowned>
      > Waiting to be notified:
      > "Reaper" (0xee271db8)
      > java.io.BufferedInputStream@EE705CC0/EE753428: owner "TCP Accept-1"
      >(0xee1d1db8, 1 entry)
      > java.io.BufferedInputStream@EE705850/EE7531E8: owner "TCP Accept-1"
      >(0xee1d1db8, 1 entry)
      >Registered Monitor Dump:
      > Thread queue lock: <unowned>
      > Waiting to be notified:
      > "main" (0x67980)
      > Name and type hash table lock: <unowned>
      > String intern lock: <unowned>
      > JNI pinning lock: <unowned>
      > JNI global reference lock: <unowned>
      > BinClass lock: <unowned>
      > Class loading lock: <unowned>
      > Java stack lock: <unowned>
      > Code rewrite lock: <unowned>
      > Heap lock: <unowned>
      > Has finalization queue lock: <unowned>
      > Finalize me queue lock: <unowned>
      > Waiting to be notified:
      > "Finalizer thread" (0xee2c1db8)
      > Monitor IO lock: <unowned>
      > Child death monitor: <unowned>
      > Event monitor: <unowned>
      > I/O monitor: <unowned>
      > Alarm monitor: owner "Clock" (0xee3f1db8, 1 entry)
      > Sbrk lock: <unowned>
      > Monitor registry: owner "Clock" (0xee3f1db8, 1 entry)
      >Thread Alarm Q:
      > sys_thread_t 0xee271db8 [Timeout expired]
      > sys_thread_t 0xee2f1db8 [Timeout expired]
      > sys_thread_t 0xee0b1db8 [Timeout in 145266 ms]
      > sys_thread_t 0xee1a1db8 [Timeout in 261105 ms]
      > sys_thread_t 0xee141db8 [Timeout in 262831 ms]
      > sys_thread_t 0xee0e1db8 [Timeout in 265388 ms]
      > sys_thread_t 0xee241db8 [Timeout in 2147444364 ms]
      >
      >------------ core stack traceback -------------
      >john@indian:rmiTEST> dbx /common/jdk/bin/sparc/green_threads/java core
      >(dbx) where
      >=>[1] _lwp_kill(0x0, 0x6, 0xfffed21, 0xef72e318, 0x0, 0x0), at 0xef4b9924
      > [2] sysAbort(0x0, 0x0, 0xee3f1908, 0xc, 0x0, 0x0), at 0xef70b598
      > ---- called from signal handler with signal 12 (SIGSYS) ------
      > [3] queueWait(), at 0xef711de8
      > [4] clockHandler(0xef7360e8, 0xef736548, 0x3506c49a, 0xf4240, 0x0, 0x0),
      >at 0xef70ba4c
      > [5] start_func(0xef71c400, 0xee700088, 0xef70b8b0, 0x0, 0x0, 0x0), at
      >0xef713858
      >(dbx)

            never Tom Rodriguez
            duke J. Duke
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: