[sip-comm-dev] s-c using 100% cpu


#1

Hi to all S-C devs,

unfortunately I don't have much experience with SIP communicator code nor with its code, but today I am experiencing s-c constantly using 100% CPU. Luckily I have another core so I haven't really been molested until now...but as this is definitely an error condition I thought I'd better report it.

I am running S-C 1.0 alpha3 nightly build 2539 on ubuntu 9.10. I have two SIP accounts registered, one iptel.org, one locally, but the local one is not reachable now. I had made some test calls with it, iirc over the local account. I have used suspend to RAM a few times, and with that interface IPs have changed a few times, I don't know whether this makes any difference. I have pulseaudio running, and I guess that is used as portaudio output.

S-C runs and responds and all, and making a test call (music@iptel.org) worked fine (even though it sounded bad), but it's still consuming 100% CPU.

Below is a thread dump (made with dup2 in gdb and kill -3). Maybe someone can make sense of that and fix it.

Regards
Stefan

2010-04-26 01:00:40
Full thread dump OpenJDK Client VM (14.0-b16 mixed mode, sharing):

"AWT-EventQueue-0" prio=10 tid=0xb57a4400 nid=0x17bc in Object.wait() [0xb6339000]
    java.lang.Thread.State: WAITING (on object monitor)
  at java.lang.Object.wait(Native Method)
  - waiting on <0x8313cc38> (a java.awt.EventQueue)
  at java.lang.Object.wait(Object.java:502)
  at java.awt.EventQueue.getNextEvent(EventQueue.java:484)
  - locked <0x8313cc38> (a java.awt.EventQueue)
  at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:247)
  at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200)
  at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
  at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185)
  at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177)
  at java.awt.EventDispatchThread.run(EventDispatchThread.java:138)

"Thread-98" prio=10 tid=0xb57a3000 nid=0x7a39 waiting for monitor entry [0xb50fe000]
    java.lang.Thread.State: BLOCKED (on object monitor)
  at net.java.sip.communicator.impl.neomedia.portaudio.streams.OutputPortAudioStream.stop(OutputPortAudioStream.java:292)
  - waiting to lock <0x834756f0> (a net.java.sip.communicator.impl.neomedia.portaudio.streams.OutputPortAudioStream)
  at net.java.sip.communicator.impl.neomedia.jmfext.media.renderer.audio.PortAudioRenderer.stop(PortAudioRenderer.java:119)
  at com.sun.media.BasicRendererModule.doStop(BasicRendererModule.java:218)
  at com.sun.media.BasicTrackControl.stopTrack(BasicTrackControl.java:135)
  at com.sun.media.PlaybackEngine.doStop1(PlaybackEngine.java:829)
  at com.sun.media.ProcessEngine.doStop(ProcessEngine.java:271)
  - locked <0x83474648> (a com.sun.media.ProcessEngine)
  at com.sun.media.BasicController.stop(BasicController.java:524)
  at com.sun.media.PlaybackEngine.stop(PlaybackEngine.java:801)
  - locked <0x83474648> (a com.sun.media.ProcessEngine)
  at com.sun.media.BasicPlayer.stop(BasicPlayer.java:892)
  - locked <0x83475738> (a com.sun.media.processor.unknown.Handler)
  at com.sun.media.BasicPlayer.stop(BasicPlayer.java:830)
  at net.java.sip.communicator.impl.neomedia.device.MediaDeviceSession.disposePlayer(MediaDeviceSession.java:562)
  - locked <0x83436450> (a java.lang.Object)
  at net.java.sip.communicator.impl.neomedia.device.MediaDeviceSession.disposePlayer(MediaDeviceSession.java:543)
  - locked <0x83436450> (a java.lang.Object)
  at net.java.sip.communicator.impl.neomedia.device.MediaDeviceSession.close(MediaDeviceSession.java:311)
  at net.java.sip.communicator.impl.neomedia.MediaStreamImpl.close(MediaStreamImpl.java:430)
  at net.java.sip.communicator.impl.protocol.sip.CallPeerMediaHandler.setAudioStream(CallPeerMediaHandler.java:1821)
  at net.java.sip.communicator.impl.protocol.sip.CallPeerMediaHandler.closeStream(CallPeerMediaHandler.java:552)
  at net.java.sip.communicator.impl.protocol.sip.CallPeerMediaHandler.close(CallPeerMediaHandler.java:536)
  at net.java.sip.communicator.impl.protocol.sip.CallPeerSipImpl.setState(CallPeerSipImpl.java:1706)
  at net.java.sip.communicator.service.protocol.AbstractCallPeer.setState(AbstractCallPeer.java:419)
  at net.java.sip.communicator.impl.protocol.sip.CallPeerSipImpl.hangup(CallPeerSipImpl.java:966)
  at net.java.sip.communicator.impl.protocol.sip.OperationSetBasicTelephonySipImpl.hangupCallPeer(OperationSetBasicTelephonySipImpl.java:1417)
  - locked <0x831b1fa8> (a net.java.sip.communicator.impl.protocol.sip.OperationSetBasicTelephonySipImpl)
  at net.java.sip.communicator.impl.gui.main.call.CallManager$HangupCallThread.run(CallManager.java:706)

"ZRTP" daemon prio=10 tid=0x08f71400 nid=0x7a36 in Object.wait() [0xb67ae000]
    java.lang.Thread.State: WAITING (on object monitor)
  at java.lang.Object.wait(Native Method)
  - waiting on <0x834cfa30> (a java.lang.Object)
  at java.lang.Object.wait(Object.java:502)
  at net.java.sip.communicator.impl.neomedia.transform.zrtp.ZRTPTransformEngine$TimeoutProvider.run(ZRTPTransformEngine.java:245)
  - locked <0x834cfa30> (a java.lang.Object)

"ZRTP" daemon prio=10 tid=0xb57e0400 nid=0x7a28 in Object.wait() [0xb50ad000]
    java.lang.Thread.State: WAITING (on object monitor)
  at java.lang.Object.wait(Native Method)
  - waiting on <0x834c14f8> (a java.lang.Object)
  at java.lang.Object.wait(Object.java:502)
  at net.java.sip.communicator.impl.neomedia.transform.zrtp.ZRTPTransformEngine$TimeoutProvider.run(ZRTPTransformEngine.java:245)
  - locked <0x834c14f8> (a java.lang.Object)

"ZRTP" daemon prio=10 tid=0x08fc9c00 nid=0x7a1d in Object.wait() [0xb52e1000]
    java.lang.Thread.State: WAITING (on object monitor)
  at java.lang.Object.wait(Native Method)
  - waiting on <0x834ba130> (a java.lang.Object)
  at java.lang.Object.wait(Object.java:502)
  at net.java.sip.communicator.impl.neomedia.transform.zrtp.ZRTPTransformEngine$TimeoutProvider.run(ZRTPTransformEngine.java:245)
  - locked <0x834ba130> (a java.lang.Object)

"ZRTP" daemon prio=10 tid=0x08ebc000 nid=0x7a08 in Object.wait() [0xb5290000]
    java.lang.Thread.State: WAITING (on object monitor)
  at java.lang.Object.wait(Native Method)
  - waiting on <0x834a3f10> (a java.lang.Object)
  at java.lang.Object.wait(Object.java:502)
  at net.java.sip.communicator.impl.neomedia.transform.zrtp.ZRTPTransformEngine$TimeoutProvider.run(ZRTPTransformEngine.java:245)
  - locked <0x834a3f10> (a java.lang.Object)

"ZRTP" daemon prio=10 tid=0xb5702400 nid=0x79f4 in Object.wait() [0xb5425000]
    java.lang.Thread.State: WAITING (on object monitor)
  at java.lang.Object.wait(Native Method)
  - waiting on <0x83493b80> (a java.lang.Object)
  at java.lang.Object.wait(Object.java:502)
  at net.java.sip.communicator.impl.neomedia.transform.zrtp.ZRTPTransformEngine$TimeoutProvider.run(ZRTPTransformEngine.java:245)
  - locked <0x83493b80> (a java.lang.Object)

"ZRTP" daemon prio=10 tid=0xb5701800 nid=0x79e0 in Object.wait() [0xb5332000]
    java.lang.Thread.State: WAITING (on object monitor)
  at java.lang.Object.wait(Native Method)
  - waiting on <0x83489998> (a java.lang.Object)
  at java.lang.Object.wait(Object.java:502)
  at net.java.sip.communicator.impl.neomedia.transform.zrtp.ZRTPTransformEngine$TimeoutProvider.run(ZRTPTransformEngine.java:245)
  - locked <0x83489998> (a java.lang.Object)

"Loop thread: net.java.sip.communicator.impl.neomedia.jmfext.media.renderer.audio.PortAudioRenderer@67f797" daemon prio=10 tid=0x08b73c00 nid=0x79d6 runnable [0xb5383000]
    java.lang.Thread.State: RUNNABLE
  at net.java.sip.communicator.impl.neomedia.portaudio.PortAudio.Pa_WriteStream(Native Method)
  at net.java.sip.communicator.impl.neomedia.portaudio.streams.OutputPortAudioStream.write(OutputPortAudioStream.java:240)
  - locked <0x834756f0> (a net.java.sip.communicator.impl.neomedia.portaudio.streams.OutputPortAudioStream)
  at net.java.sip.communicator.impl.neomedia.jmfext.media.renderer.audio.PortAudioRenderer.process(PortAudioRenderer.java:137)
  at com.sun.media.BasicRendererModule.processBuffer(BasicRendererModule.java:732)
  at com.sun.media.BasicRendererModule.scheduleBuffer(BasicRendererModule.java:504)
  at com.sun.media.BasicRendererModule.doProcess(BasicRendererModule.java:405)
  at com.sun.media.RenderThread.process(BasicRendererModule.java:1114)
  at com.sun.media.util.LoopThread.run(LoopThread.java:135)

"Loop thread: com.sun.media.parser.RawBufferParser$FrameTrack@12fb063" daemon prio=10 tid=0x08ee1c00 nid=0x79d5 in Object.wait() [0xb53d4000]
    java.lang.Thread.State: WAITING (on object monitor)
  at java.lang.Object.wait(Native Method)
  - waiting on <0x83473dd0> (a com.sun.media.CircularBuffer)
  at java.lang.Object.wait(Object.java:502)
  at com.sun.media.BasicOutputConnector.getEmptyBuffer(BasicOutputConnector.java:91)
  - locked <0x83473dd0> (a com.sun.media.CircularBuffer)
  at com.sun.media.BasicFilterModule.process(BasicFilterModule.java:251)
  at com.sun.media.BasicModule.connectorPushed(BasicModule.java:69)
  at com.sun.media.BasicOutputConnector.writeReport(BasicOutputConnector.java:120)
  at com.sun.media.BasicFilterModule.process(BasicFilterModule.java:408)
  at com.sun.media.BasicModule.connectorPushed(BasicModule.java:69)
  at com.sun.media.BasicOutputConnector.writeReport(BasicOutputConnector.java:120)
  at com.sun.media.BasicFilterModule.process(BasicFilterModule.java:408)
  at com.sun.media.BasicModule.connectorPushed(BasicModule.java:69)
  at com.sun.media.BasicOutputConnector.writeReport(BasicOutputConnector.java:120)
  at com.sun.media.SourceThread.process(SourceThread.java:144)
  at com.sun.media.util.LoopThread.run(LoopThread.java:135)

"Loop thread" daemon prio=10 tid=0x08c51400 nid=0x79cd waiting on condition [0xb5476000]
    java.lang.Thread.State: TIMED_WAITING (sleeping)
  at java.lang.Thread.sleep(Native Method)
  at com.sun.media.StatsThread.process(BasicPlayer.java:1828)
  at com.sun.media.util.LoopThread.run(LoopThread.java:135)

"AudioLevelEffect Notification Thread" daemon prio=10 tid=0x08c4f800 nid=0x79cc in Object.wait() [0xb62e8000]
    java.lang.Thread.State: WAITING (on object monitor)
  at java.lang.Object.wait(Native Method)
  - waiting on <0x83436aa0> (a net.java.sip.communicator.impl.neomedia.audiolevel.AudioLevelEventDispatcher)
  at java.lang.Object.wait(Object.java:502)
  at net.java.sip.communicator.impl.neomedia.audiolevel.AudioLevelEventDispatcher.run(AudioLevelEventDispatcher.java:88)
  - locked <0x83436aa0> (a net.java.sip.communicator.impl.neomedia.audiolevel.AudioLevelEventDispatcher)
  at java.lang.Thread.run(Thread.java:636)

"JMF thread: SendEventQueue: com.sun.media.ProcessEngine" daemon prio=10 tid=0x08c4dc00 nid=0x79c7 in Object.wait() [0xb660d000]
    java.lang.Thread.State: WAITING (on object monitor)
  at java.lang.Object.wait(Native Method)
  - waiting on <0x83474848> (a com.sun.media.SendEventQueue)
  at java.lang.Object.wait(Object.java:502)
  at com.sun.media.util.ThreadedEventQueue.dispatchEvents(ThreadedEventQueue.java:50)
  - locked <0x83474848> (a com.sun.media.SendEventQueue)
  at com.sun.media.util.ThreadedEventQueue.run(ThreadedEventQueue.java:92)

"JMF thread: SendEventQueue: com.sun.media.processor.unknown.Handler" daemon prio=10 tid=0x08c4d800 nid=0x79c6 in Object.wait() [0xb54c7000]
    java.lang.Thread.State: WAITING (on object monitor)
  at java.lang.Object.wait(Native Method)
  - waiting on <0x834748c0> (a com.sun.media.SendEventQueue)
  at java.lang.Object.wait(Object.java:502)
  at com.sun.media.util.ThreadedEventQueue.dispatchEvents(ThreadedEventQueue.java:50)
  - locked <0x834748c0> (a com.sun.media.SendEventQueue)
  at com.sun.media.util.ThreadedEventQueue.run(ThreadedEventQueue.java:92)

"RTPStream" daemon prio=10 tid=0x08c4d000 nid=0x79c5 in Object.wait() [0xb560b000]
    java.lang.Thread.State: WAITING (on object monitor)
  at java.lang.Object.wait(Native Method)
  - waiting on <0x834749a0> (a com.sun.media.CircularBuffer)
  at java.lang.Object.wait(Object.java:502)
  at com.sun.media.parser.RawBufferParser$FrameTrack.transferData(RawBufferParser.java:718)
  - locked <0x834749a0> (a com.sun.media.CircularBuffer)
  at com.sun.media.rtp.RTPSourceStream.run(RTPSourceStream.java:783)
  at java.lang.Thread.run(Thread.java:636)

"ZRTP" daemon prio=10 tid=0xb61d7400 nid=0x799a in Object.wait() [0xb64df000]
    java.lang.Thread.State: WAITING (on object monitor)
  at java.lang.Object.wait(Native Method)
  - waiting on <0x83424ab0> (a java.lang.Object)
  at java.lang.Object.wait(Object.java:502)
  at net.java.sip.communicator.impl.neomedia.transform.zrtp.ZRTPTransformEngine$TimeoutProvider.run(ZRTPTransformEngine.java:245)
  - locked <0x83424ab0> (a java.lang.Object)

"Thread-32" prio=10 tid=0x08db6000 nid=0x7995 in Object.wait() [0xb6cbe000]
    java.lang.Thread.State: WAITING (on object monitor)
  at java.lang.Object.wait(Native Method)
  - waiting on <0x833e0f50> (a net.java.sip.communicator.impl.gui.main.contactlist.SearchField$SearchThread)
  at java.lang.Object.wait(Object.java:502)
  at net.java.sip.communicator.impl.gui.main.contactlist.SearchField$SearchThread.run(SearchField.java:159)
  - locked <0x833e0f50> (a net.java.sip.communicator.impl.gui.main.contactlist.SearchField$SearchThread)

"Laf-Widget fade tracker" daemon prio=10 tid=0x08d3f000 nid=0x7990 waiting on condition [0xb675d000]
    java.lang.Thread.State: TIMED_WAITING (sleeping)
  at java.lang.Thread.sleep(Native Method)
  at org.jvnet.lafwidget.animation.FadeTracker$FadeTrackerThread.run(FadeTracker.java:205)

"Thread-25" daemon prio=10 tid=0xb6a37000 nid=0x798e waiting on condition [0xb67ff000]
    java.lang.Thread.State: WAITING (parking)
  at sun.misc.Unsafe.park(Native Method)
  - parking to wait for <0x833a1cc0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
  at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
  at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
  at java.util.concurrent.ArrayBlockingQueue.take(ArrayBlockingQueue.java:345)
  at sun.awt.X11.XTrayIconPeer$Balloon$Displayer.run(XTrayIconPeer.java:906)

"TLSMessageProcessorThread" daemon prio=10 tid=0x08de7c00 nid=0x7987 runnable [0xb6581000]
    java.lang.Thread.State: RUNNABLE
  at java.net.PlainSocketImpl.socketAccept(Native Method)
  at java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:358)
  at java.net.ServerSocket.implAccept(ServerSocket.java:470)
  at sun.security.ssl.SSLServerSocketImpl.accept(SSLServerSocketImpl.java:278)
  at gov.nist.javax.sip.stack.TLSMessageProcessor.run(TLSMessageProcessor.java:147)
  at java.lang.Thread.run(Thread.java:636)

"TCPMessageProcessorThread" daemon prio=10 tid=0x08b32400 nid=0x7985 runnable [0xb6677000]
    java.lang.Thread.State: RUNNABLE
  at java.net.PlainSocketImpl.socketAccept(Native Method)
  at java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:358)
  at java.net.ServerSocket.implAccept(ServerSocket.java:470)
  at java.net.ServerSocket.accept(ServerSocket.java:438)
  at gov.nist.javax.sip.stack.TCPMessageProcessor.run(TCPMessageProcessor.java:133)
  at java.lang.Thread.run(Thread.java:636)

"UDPMessageProcessorThread" daemon prio=10 tid=0x08cde400 nid=0x7984 runnable [0xb66c8000]
    java.lang.Thread.State: RUNNABLE
  at java.net.PlainDatagramSocketImpl.receive0(Native Method)
  - locked <0x8329f258> (a java.net.PlainDatagramSocketImpl)
  at java.net.AbstractPlainDatagramSocketImpl.receive(AbstractPlainDatagramSocketImpl.java:127)
  - locked <0x8329f258> (a java.net.PlainDatagramSocketImpl)
  at java.net.DatagramSocket.receive(DatagramSocket.java:729)
  - locked <0x835290d8> (a java.net.DatagramPacket)
  - locked <0x8329f288> (a java.net.DatagramSocket)
  at gov.nist.javax.sip.stack.UDPMessageProcessor.run(UDPMessageProcessor.java:191)
  at java.lang.Thread.run(Thread.java:636)

"AWT-Shutdown" prio=10 tid=0xb6a4f800 nid=0x797f in Object.wait() [0xb68a1000]
    java.lang.Thread.State: WAITING (on object monitor)
  at java.lang.Object.wait(Native Method)
  - waiting on <0x83162eb8> (a java.lang.Object)
  at java.lang.Object.wait(Object.java:502)
  at sun.awt.AWTAutoShutdown.run(AWTAutoShutdown.java:281)
  - locked <0x83162eb8> (a java.lang.Object)
  at java.lang.Thread.run(Thread.java:636)

"TimerQueue" daemon prio=10 tid=0x08d43000 nid=0x797e waiting on condition [0xb6bb4000]
    java.lang.Thread.State: WAITING (parking)
  at sun.misc.Unsafe.park(Native Method)
  - parking to wait for <0x832444e0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
  at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
  at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
  at java.util.concurrent.DelayQueue.take(DelayQueue.java:189)
  at javax.swing.TimerQueue.run(TimerQueue.java:166)
  at java.lang.Thread.run(Thread.java:636)

"Thread-10" daemon prio=10 tid=0x08d16400 nid=0x797a in Object.wait() [0xb6c05000]
    java.lang.Thread.State: TIMED_WAITING (on object monitor)
  at java.lang.Object.wait(Native Method)
  - waiting on <0x831f04a0> (a java.lang.Object)
  at net.java.sip.communicator.impl.contactlist.MclStorageManager$1.run(MclStorageManager.java:444)
  - locked <0x831f04a0> (a java.lang.Object)

"Timer-4" daemon prio=10 tid=0xb6a0c400 nid=0x796f in Object.wait() [0xb28a0000]
    java.lang.Thread.State: WAITING (on object monitor)
  at java.lang.Object.wait(Native Method)
  - waiting on <0x831b1178> (a java.util.TaskQueue)
  at java.lang.Object.wait(Object.java:502)
  at java.util.TimerThread.mainLoop(Timer.java:505)
  - locked <0x831b1178> (a java.util.TaskQueue)
  at java.util.TimerThread.run(Timer.java:484)

"Timer-3" daemon prio=10 tid=0xb6a0c000 nid=0x796e in Object.wait() [0xb68f2000]
    java.lang.Thread.State: WAITING (on object monitor)
  at java.lang.Object.wait(Native Method)
  - waiting on <0x831b11f8> (a java.util.TaskQueue)
  at java.lang.Object.wait(Object.java:502)
  at java.util.TimerThread.mainLoop(Timer.java:505)
  - locked <0x831b11f8> (a java.util.TaskQueue)
  at java.util.TimerThread.run(Timer.java:484)

"Timer-2" daemon prio=10 tid=0xb6a0b000 nid=0x796d in Object.wait() [0xb6943000]
    java.lang.Thread.State: WAITING (on object monitor)
  at java.lang.Object.wait(Native Method)
  - waiting on <0x831b1278> (a java.util.TaskQueue)
  at java.lang.Object.wait(Object.java:502)
  at java.util.TimerThread.mainLoop(Timer.java:505)
  - locked <0x831b1278> (a java.util.TaskQueue)
  at java.util.TimerThread.run(Timer.java:484)

"Timer-1" daemon prio=10 tid=0xb6a08c00 nid=0x796c in Object.wait() [0xb69ad000]
    java.lang.Thread.State: WAITING (on object monitor)
  at java.lang.Object.wait(Native Method)
  - waiting on <0x831b12f8> (a java.util.TaskQueue)
  at java.lang.Object.wait(Object.java:502)
  at java.util.TimerThread.mainLoop(Timer.java:505)
  - locked <0x831b12f8> (a java.util.TaskQueue)
  at java.util.TimerThread.run(Timer.java:484)

"EventScannerThread" prio=10 tid=0x08c9d400 nid=0x796b in Object.wait() [0xb69fe000]
    java.lang.Thread.State: WAITING (on object monitor)
  at java.lang.Object.wait(Native Method)
  - waiting on <0x831a98a8> (a [I)
  at gov.nist.javax.sip.EventScanner.run(EventScanner.java:485)
  - locked <0x831a98a8> (a [I)
  at java.lang.Thread.run(Thread.java:636)

"Timer-0" daemon prio=10 tid=0x08c95400 nid=0x796a in Object.wait() [0xb6b63000]
    java.lang.Thread.State: WAITING (on object monitor)
  at java.lang.Object.wait(Native Method)
  - waiting on <0x831a9960> (a java.util.TaskQueue)
  at java.lang.Object.wait(Object.java:502)
  at java.util.TimerThread.mainLoop(Timer.java:505)
  - locked <0x831a9960> (a java.util.TaskQueue)
  at java.util.TimerThread.run(Timer.java:484)

"AWT-XAWT" daemon prio=10 tid=0xb705b400 nid=0x7961 runnable [0xb6d0f000]
    java.lang.Thread.State: RUNNABLE
  at sun.awt.X11.XToolkit.waitForEvents(Native Method)
  at sun.awt.X11.XToolkit.run(XToolkit.java:543)
  at sun.awt.X11.XToolkit.run(XToolkit.java:518)
  at java.lang.Thread.run(Thread.java:636)

"Java2D Disposer" daemon prio=10 tid=0xb7090000 nid=0x7960 in Object.wait() [0xb6e30000]
    java.lang.Thread.State: WAITING (on object monitor)
  at java.lang.Object.wait(Native Method)
  - waiting on <0x83101200> (a java.lang.ref.ReferenceQueue$Lock)
  at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:133)
  - locked <0x83101200> (a java.lang.ref.ReferenceQueue$Lock)
  at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:149)
  at sun.java2d.Disposer.run(Disposer.java:143)
  at java.lang.Thread.run(Thread.java:636)

"FelixPackageAdmin" daemon prio=10 tid=0xb7068000 nid=0x795f in Object.wait() [0xb6e8c000]
    java.lang.Thread.State: WAITING (on object monitor)
  at java.lang.Object.wait(Native Method)
  - waiting on <0x82fd3f48> (a org.apache.felix.framework.PackageAdminImpl)
  at java.lang.Object.wait(Object.java:502)
  at org.apache.felix.framework.PackageAdminImpl.run(PackageAdminImpl.java:314)
  - locked <0x82fd3f48> (a org.apache.felix.framework.PackageAdminImpl)
  at java.lang.Thread.run(Thread.java:636)

"FelixStartLevel" daemon prio=10 tid=0xb7061c00 nid=0x795e in Object.wait() [0xb6edd000]
    java.lang.Thread.State: WAITING (on object monitor)
  at java.lang.Object.wait(Native Method)
  - waiting on <0x82fd3fc8> (a java.util.ArrayList)
  at java.lang.Object.wait(Object.java:502)
  at org.apache.felix.framework.StartLevelImpl.run(StartLevelImpl.java:242)
  - locked <0x82fd3fc8> (a java.util.ArrayList)
  at java.lang.Thread.run(Thread.java:636)

"FelixDispatchQueue" prio=10 tid=0xb7025400 nid=0x795d in Object.wait() [0xb717f000]
    java.lang.Thread.State: WAITING (on object monitor)
  at java.lang.Object.wait(Native Method)
  - waiting on <0x82f0aad8> (a java.util.ArrayList)
  at java.lang.Object.wait(Object.java:502)
  at org.apache.felix.framework.util.EventDispatcher.run(EventDispatcher.java:931)
  - locked <0x82f0aad8> (a java.util.ArrayList)
  at org.apache.felix.framework.util.EventDispatcher.access$000(EventDispatcher.java:54)
  at org.apache.felix.framework.util.EventDispatcher$1.run(EventDispatcher.java:106)
  at java.lang.Thread.run(Thread.java:636)

"net.java.sip.communicator.util.launchutils.SipCommunicatorLock$LockServer" daemon prio=10 tid=0xb700a800 nid=0x795c runnable [0xb71d0000]
    java.lang.Thread.State: RUNNABLE
  at java.net.PlainSocketImpl.socketAccept(Native Method)
  at java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:358)
  at java.net.ServerSocket.implAccept(ServerSocket.java:470)
  at java.net.ServerSocket.accept(ServerSocket.java:438)
  at net.java.sip.communicator.util.launchutils.SipCommunicatorLock$LockServer.run(SipCommunicatorLock.java:672)

"Low Memory Detector" daemon prio=10 tid=0x08b46c00 nid=0x795a runnable [0x00000000]
    java.lang.Thread.State: RUNNABLE

"CompilerThread0" daemon prio=10 tid=0x08b43c00 nid=0x7959 waiting on condition [0x00000000]
    java.lang.Thread.State: RUNNABLE

"Signal Dispatcher" daemon prio=10 tid=0x08b42000 nid=0x7958 waiting on condition [0x00000000]
    java.lang.Thread.State: RUNNABLE

"Finalizer" daemon prio=10 tid=0x08b39400 nid=0x7957 in Object.wait() [0xb7427000]
    java.lang.Thread.State: WAITING (on object monitor)
  at java.lang.Object.wait(Native Method)
  - waiting on <0x82ee4a48> (a java.lang.ref.ReferenceQueue$Lock)
  at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:133)
  - locked <0x82ee4a48> (a java.lang.ref.ReferenceQueue$Lock)
  at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:149)
  at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:177)

"Reference Handler" daemon prio=10 tid=0x08b37800 nid=0x7956 in Object.wait() [0xb7478000]
    java.lang.Thread.State: WAITING (on object monitor)
  at java.lang.Object.wait(Native Method)
  - waiting on <0x82ee4ad0> (a java.lang.ref.Reference$Lock)
  at java.lang.Object.wait(Object.java:502)
  at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:133)
  - locked <0x82ee4ad0> (a java.lang.ref.Reference$Lock)

"main" prio=10 tid=0x08b09000 nid=0x7954 in Object.wait() [0xb7712000]
    java.lang.Thread.State: WAITING (on object monitor)
  at java.lang.Object.wait(Native Method)
  - waiting on <0x82fd46b8> (a org.apache.felix.framework.util.ThreadGate)
  at org.apache.felix.framework.util.ThreadGate.await(ThreadGate.java:79)
  - locked <0x82fd46b8> (a org.apache.felix.framework.util.ThreadGate)
  at org.apache.felix.framework.Felix.waitForStop(Felix.java:794)
  at org.apache.felix.main.Main.main(Main.java:299)
  at net.java.sip.communicator.launcher.SIPCommunicator.main(SIPCommunicator.java:122)

"VM Thread" prio=10 tid=0x08b35c00 nid=0x7955 runnable

"VM Periodic Task Thread" prio=10 tid=0x08b48800 nid=0x795b waiting on condition

JNI global references: 1154

Heap
  def new generation total 1024K, used 274K [0x81b10000, 0x81c20000, 0x82ec0000)
   eden space 960K, 28% used [0x81b10000, 0x81b533b8, 0x81c00000)
   from space 64K, 8% used [0x81c00000, 0x81c01570, 0x81c10000)
   to space 64K, 0% used [0x81c10000, 0x81c10000, 0x81c20000)
  tenured generation total 12052K, used 8103K [0x82ec0000, 0x83a85000, 0x91b10000)
    the space 12052K, 67% used [0x82ec0000, 0x836a9ea0, 0x836aa000, 0x83a85000)
  compacting perm gen total 16128K, used 16070K [0x91b10000, 0x92ad0000, 0x95b10000)
    the space 16128K, 99% used [0x91b10000, 0x92ac1898, 0x92ac1a00, 0x92ad0000)
     ro space 8192K, 89% used [0x95b10000, 0x9623e680, 0x9623e800, 0x96310000)
     rw space 12288K, 59% used [0x96310000, 0x96a3d1f8, 0x96a3d200, 0x96f10000)

···

--
Stefan Sayer
VoIP Services Consulting and Development

Warschauer Str. 24
10243 Berlin

tel:+491621366449
sip:sayer@iptel.org
email/xmpp:stefan.sayer@gmail.com

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net


#2

Hi,

can you try and test build greater than 2581. Cause last week we made
some modifications dealing with one such issue.
And we hope its fixed now.

Thanks
damencho

···

On Mon, Apr 26, 2010 at 2:21 AM, Stefan Sayer <stefan.sayer@googlemail.com> wrote:

Hi to all S-C devs,

unfortunately I don't have much experience with SIP communicator code nor
with its code, but today I am experiencing s-c constantly using 100% CPU.
Luckily I have another core so I haven't really been molested until
now...but as this is definitely an error condition I thought I'd better
report it.

I am running S-C 1.0 alpha3 nightly build 2539 on ubuntu 9.10. I have two
SIP accounts registered, one iptel.org, one locally, but the local one is
not reachable now. I had made some test calls with it, iirc over the local
account. I have used suspend to RAM a few times, and with that interface
IPs have changed a few times, I don't know whether this makes any
difference. I have pulseaudio running, and I guess that is used as portaudio
output.

S-C runs and responds and all, and making a test call (music@iptel.org)
worked fine (even though it sounded bad), but it's still consuming 100% CPU.

Below is a thread dump (made with dup2 in gdb and kill -3). Maybe someone
can make sense of that and fix it.

Regards
Stefan

2010-04-26 01:00:40
Full thread dump OpenJDK Client VM (14.0-b16 mixed mode, sharing):

"AWT-EventQueue-0" prio=10 tid=0xb57a4400 nid=0x17bc in Object.wait()
[0xb6339000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x8313cc38> (a java.awt.EventQueue)
at java.lang.Object.wait(Object.java:502)
at java.awt.EventQueue.getNextEvent(EventQueue.java:484)
- locked <0x8313cc38> (a java.awt.EventQueue)
at
java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:247)
at
java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200)
at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185)
at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:138)

"Thread-98" prio=10 tid=0xb57a3000 nid=0x7a39 waiting for monitor entry
[0xb50fe000]
java.lang.Thread.State: BLOCKED (on object monitor)
at
net.java.sip.communicator.impl.neomedia.portaudio.streams.OutputPortAudioStream.stop(OutputPortAudioStream.java:292)
- waiting to lock <0x834756f0> (a
net.java.sip.communicator.impl.neomedia.portaudio.streams.OutputPortAudioStream)
at
net.java.sip.communicator.impl.neomedia.jmfext.media.renderer.audio.PortAudioRenderer.stop(PortAudioRenderer.java:119)
at
com.sun.media.BasicRendererModule.doStop(BasicRendererModule.java:218)
at
com.sun.media.BasicTrackControl.stopTrack(BasicTrackControl.java:135)
at com.sun.media.PlaybackEngine.doStop1(PlaybackEngine.java:829)
at com.sun.media.ProcessEngine.doStop(ProcessEngine.java:271)
- locked <0x83474648> (a com.sun.media.ProcessEngine)
at com.sun.media.BasicController.stop(BasicController.java:524)
at com.sun.media.PlaybackEngine.stop(PlaybackEngine.java:801)
- locked <0x83474648> (a com.sun.media.ProcessEngine)
at com.sun.media.BasicPlayer.stop(BasicPlayer.java:892)
- locked <0x83475738> (a com.sun.media.processor.unknown.Handler)
at com.sun.media.BasicPlayer.stop(BasicPlayer.java:830)
at
net.java.sip.communicator.impl.neomedia.device.MediaDeviceSession.disposePlayer(MediaDeviceSession.java:562)
- locked <0x83436450> (a java.lang.Object)
at
net.java.sip.communicator.impl.neomedia.device.MediaDeviceSession.disposePlayer(MediaDeviceSession.java:543)
- locked <0x83436450> (a java.lang.Object)
at
net.java.sip.communicator.impl.neomedia.device.MediaDeviceSession.close(MediaDeviceSession.java:311)
at
net.java.sip.communicator.impl.neomedia.MediaStreamImpl.close(MediaStreamImpl.java:430)
at
net.java.sip.communicator.impl.protocol.sip.CallPeerMediaHandler.setAudioStream(CallPeerMediaHandler.java:1821)
at
net.java.sip.communicator.impl.protocol.sip.CallPeerMediaHandler.closeStream(CallPeerMediaHandler.java:552)
at
net.java.sip.communicator.impl.protocol.sip.CallPeerMediaHandler.close(CallPeerMediaHandler.java:536)
at
net.java.sip.communicator.impl.protocol.sip.CallPeerSipImpl.setState(CallPeerSipImpl.java:1706)
at
net.java.sip.communicator.service.protocol.AbstractCallPeer.setState(AbstractCallPeer.java:419)
at
net.java.sip.communicator.impl.protocol.sip.CallPeerSipImpl.hangup(CallPeerSipImpl.java:966)
at
net.java.sip.communicator.impl.protocol.sip.OperationSetBasicTelephonySipImpl.hangupCallPeer(OperationSetBasicTelephonySipImpl.java:1417)
- locked <0x831b1fa8> (a
net.java.sip.communicator.impl.protocol.sip.OperationSetBasicTelephonySipImpl)
at
net.java.sip.communicator.impl.gui.main.call.CallManager$HangupCallThread.run(CallManager.java:706)

"ZRTP" daemon prio=10 tid=0x08f71400 nid=0x7a36 in Object.wait()
[0xb67ae000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x834cfa30> (a java.lang.Object)
at java.lang.Object.wait(Object.java:502)
at
net.java.sip.communicator.impl.neomedia.transform.zrtp.ZRTPTransformEngine$TimeoutProvider.run(ZRTPTransformEngine.java:245)
- locked <0x834cfa30> (a java.lang.Object)

"ZRTP" daemon prio=10 tid=0xb57e0400 nid=0x7a28 in Object.wait()
[0xb50ad000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x834c14f8> (a java.lang.Object)
at java.lang.Object.wait(Object.java:502)
at
net.java.sip.communicator.impl.neomedia.transform.zrtp.ZRTPTransformEngine$TimeoutProvider.run(ZRTPTransformEngine.java:245)
- locked <0x834c14f8> (a java.lang.Object)

"ZRTP" daemon prio=10 tid=0x08fc9c00 nid=0x7a1d in Object.wait()
[0xb52e1000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x834ba130> (a java.lang.Object)
at java.lang.Object.wait(Object.java:502)
at
net.java.sip.communicator.impl.neomedia.transform.zrtp.ZRTPTransformEngine$TimeoutProvider.run(ZRTPTransformEngine.java:245)
- locked <0x834ba130> (a java.lang.Object)

"ZRTP" daemon prio=10 tid=0x08ebc000 nid=0x7a08 in Object.wait()
[0xb5290000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x834a3f10> (a java.lang.Object)
at java.lang.Object.wait(Object.java:502)
at
net.java.sip.communicator.impl.neomedia.transform.zrtp.ZRTPTransformEngine$TimeoutProvider.run(ZRTPTransformEngine.java:245)
- locked <0x834a3f10> (a java.lang.Object)

"ZRTP" daemon prio=10 tid=0xb5702400 nid=0x79f4 in Object.wait()
[0xb5425000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x83493b80> (a java.lang.Object)
at java.lang.Object.wait(Object.java:502)
at
net.java.sip.communicator.impl.neomedia.transform.zrtp.ZRTPTransformEngine$TimeoutProvider.run(ZRTPTransformEngine.java:245)
- locked <0x83493b80> (a java.lang.Object)

"ZRTP" daemon prio=10 tid=0xb5701800 nid=0x79e0 in Object.wait()
[0xb5332000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x83489998> (a java.lang.Object)
at java.lang.Object.wait(Object.java:502)
at
net.java.sip.communicator.impl.neomedia.transform.zrtp.ZRTPTransformEngine$TimeoutProvider.run(ZRTPTransformEngine.java:245)
- locked <0x83489998> (a java.lang.Object)

"Loop thread:
net.java.sip.communicator.impl.neomedia.jmfext.media.renderer.audio.PortAudioRenderer@67f797"
daemon prio=10 tid=0x08b73c00 nid=0x79d6 runnable [0xb5383000]
java.lang.Thread.State: RUNNABLE
at
net.java.sip.communicator.impl.neomedia.portaudio.PortAudio.Pa_WriteStream(Native
Method)
at
net.java.sip.communicator.impl.neomedia.portaudio.streams.OutputPortAudioStream.write(OutputPortAudioStream.java:240)
- locked <0x834756f0> (a
net.java.sip.communicator.impl.neomedia.portaudio.streams.OutputPortAudioStream)
at
net.java.sip.communicator.impl.neomedia.jmfext.media.renderer.audio.PortAudioRenderer.process(PortAudioRenderer.java:137)
at
com.sun.media.BasicRendererModule.processBuffer(BasicRendererModule.java:732)
at
com.sun.media.BasicRendererModule.scheduleBuffer(BasicRendererModule.java:504)
at
com.sun.media.BasicRendererModule.doProcess(BasicRendererModule.java:405)
at com.sun.media.RenderThread.process(BasicRendererModule.java:1114)
at com.sun.media.util.LoopThread.run(LoopThread.java:135)

"Loop thread: com.sun.media.parser.RawBufferParser$FrameTrack@12fb063"
daemon prio=10 tid=0x08ee1c00 nid=0x79d5 in Object.wait() [0xb53d4000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x83473dd0> (a com.sun.media.CircularBuffer)
at java.lang.Object.wait(Object.java:502)
at
com.sun.media.BasicOutputConnector.getEmptyBuffer(BasicOutputConnector.java:91)
- locked <0x83473dd0> (a com.sun.media.CircularBuffer)
at
com.sun.media.BasicFilterModule.process(BasicFilterModule.java:251)
at com.sun.media.BasicModule.connectorPushed(BasicModule.java:69)
at
com.sun.media.BasicOutputConnector.writeReport(BasicOutputConnector.java:120)
at
com.sun.media.BasicFilterModule.process(BasicFilterModule.java:408)
at com.sun.media.BasicModule.connectorPushed(BasicModule.java:69)
at
com.sun.media.BasicOutputConnector.writeReport(BasicOutputConnector.java:120)
at
com.sun.media.BasicFilterModule.process(BasicFilterModule.java:408)
at com.sun.media.BasicModule.connectorPushed(BasicModule.java:69)
at
com.sun.media.BasicOutputConnector.writeReport(BasicOutputConnector.java:120)
at com.sun.media.SourceThread.process(SourceThread.java:144)
at com.sun.media.util.LoopThread.run(LoopThread.java:135)

"Loop thread" daemon prio=10 tid=0x08c51400 nid=0x79cd waiting on condition
[0xb5476000]
java.lang.Thread.State: TIMED_WAITING (sleeping)
at java.lang.Thread.sleep(Native Method)
at com.sun.media.StatsThread.process(BasicPlayer.java:1828)
at com.sun.media.util.LoopThread.run(LoopThread.java:135)

"AudioLevelEffect Notification Thread" daemon prio=10 tid=0x08c4f800
nid=0x79cc in Object.wait() [0xb62e8000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x83436aa0> (a
net.java.sip.communicator.impl.neomedia.audiolevel.AudioLevelEventDispatcher)
at java.lang.Object.wait(Object.java:502)
at
net.java.sip.communicator.impl.neomedia.audiolevel.AudioLevelEventDispatcher.run(AudioLevelEventDispatcher.java:88)
- locked <0x83436aa0> (a
net.java.sip.communicator.impl.neomedia.audiolevel.AudioLevelEventDispatcher)
at java.lang.Thread.run(Thread.java:636)

"JMF thread: SendEventQueue: com.sun.media.ProcessEngine" daemon prio=10
tid=0x08c4dc00 nid=0x79c7 in Object.wait() [0xb660d000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x83474848> (a com.sun.media.SendEventQueue)
at java.lang.Object.wait(Object.java:502)
at
com.sun.media.util.ThreadedEventQueue.dispatchEvents(ThreadedEventQueue.java:50)
- locked <0x83474848> (a com.sun.media.SendEventQueue)
at
com.sun.media.util.ThreadedEventQueue.run(ThreadedEventQueue.java:92)

"JMF thread: SendEventQueue: com.sun.media.processor.unknown.Handler" daemon
prio=10 tid=0x08c4d800 nid=0x79c6 in Object.wait() [0xb54c7000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x834748c0> (a com.sun.media.SendEventQueue)
at java.lang.Object.wait(Object.java:502)
at
com.sun.media.util.ThreadedEventQueue.dispatchEvents(ThreadedEventQueue.java:50)
- locked <0x834748c0> (a com.sun.media.SendEventQueue)
at
com.sun.media.util.ThreadedEventQueue.run(ThreadedEventQueue.java:92)

"RTPStream" daemon prio=10 tid=0x08c4d000 nid=0x79c5 in Object.wait()
[0xb560b000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x834749a0> (a com.sun.media.CircularBuffer)
at java.lang.Object.wait(Object.java:502)
at
com.sun.media.parser.RawBufferParser$FrameTrack.transferData(RawBufferParser.java:718)
- locked <0x834749a0> (a com.sun.media.CircularBuffer)
at com.sun.media.rtp.RTPSourceStream.run(RTPSourceStream.java:783)
at java.lang.Thread.run(Thread.java:636)

"ZRTP" daemon prio=10 tid=0xb61d7400 nid=0x799a in Object.wait()
[0xb64df000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x83424ab0> (a java.lang.Object)
at java.lang.Object.wait(Object.java:502)
at
net.java.sip.communicator.impl.neomedia.transform.zrtp.ZRTPTransformEngine$TimeoutProvider.run(ZRTPTransformEngine.java:245)
- locked <0x83424ab0> (a java.lang.Object)

"Thread-32" prio=10 tid=0x08db6000 nid=0x7995 in Object.wait() [0xb6cbe000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x833e0f50> (a
net.java.sip.communicator.impl.gui.main.contactlist.SearchField$SearchThread)
at java.lang.Object.wait(Object.java:502)
at
net.java.sip.communicator.impl.gui.main.contactlist.SearchField$SearchThread.run(SearchField.java:159)
- locked <0x833e0f50> (a
net.java.sip.communicator.impl.gui.main.contactlist.SearchField$SearchThread)

"Laf-Widget fade tracker" daemon prio=10 tid=0x08d3f000 nid=0x7990 waiting
on condition [0xb675d000]
java.lang.Thread.State: TIMED_WAITING (sleeping)
at java.lang.Thread.sleep(Native Method)
at
org.jvnet.lafwidget.animation.FadeTracker$FadeTrackerThread.run(FadeTracker.java:205)

"Thread-25" daemon prio=10 tid=0xb6a37000 nid=0x798e waiting on condition
[0xb67ff000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x833a1cc0> (a
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
at
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
at
java.util.concurrent.ArrayBlockingQueue.take(ArrayBlockingQueue.java:345)
at
sun.awt.X11.XTrayIconPeer$Balloon$Displayer.run(XTrayIconPeer.java:906)

"TLSMessageProcessorThread" daemon prio=10 tid=0x08de7c00 nid=0x7987
runnable [0xb6581000]
java.lang.Thread.State: RUNNABLE
at java.net.PlainSocketImpl.socketAccept(Native Method)
at
java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:358)
at java.net.ServerSocket.implAccept(ServerSocket.java:470)
at
sun.security.ssl.SSLServerSocketImpl.accept(SSLServerSocketImpl.java:278)
at
gov.nist.javax.sip.stack.TLSMessageProcessor.run(TLSMessageProcessor.java:147)
at java.lang.Thread.run(Thread.java:636)

"TCPMessageProcessorThread" daemon prio=10 tid=0x08b32400 nid=0x7985
runnable [0xb6677000]
java.lang.Thread.State: RUNNABLE
at java.net.PlainSocketImpl.socketAccept(Native Method)
at
java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:358)
at java.net.ServerSocket.implAccept(ServerSocket.java:470)
at java.net.ServerSocket.accept(ServerSocket.java:438)
at
gov.nist.javax.sip.stack.TCPMessageProcessor.run(TCPMessageProcessor.java:133)
at java.lang.Thread.run(Thread.java:636)

"UDPMessageProcessorThread" daemon prio=10 tid=0x08cde400 nid=0x7984
runnable [0xb66c8000]
java.lang.Thread.State: RUNNABLE
at java.net.PlainDatagramSocketImpl.receive0(Native Method)
- locked <0x8329f258> (a java.net.PlainDatagramSocketImpl)
at
java.net.AbstractPlainDatagramSocketImpl.receive(AbstractPlainDatagramSocketImpl.java:127)
- locked <0x8329f258> (a java.net.PlainDatagramSocketImpl)
at java.net.DatagramSocket.receive(DatagramSocket.java:729)
- locked <0x835290d8> (a java.net.DatagramPacket)
- locked <0x8329f288> (a java.net.DatagramSocket)
at
gov.nist.javax.sip.stack.UDPMessageProcessor.run(UDPMessageProcessor.java:191)
at java.lang.Thread.run(Thread.java:636)

"AWT-Shutdown" prio=10 tid=0xb6a4f800 nid=0x797f in Object.wait()
[0xb68a1000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x83162eb8> (a java.lang.Object)
at java.lang.Object.wait(Object.java:502)
at sun.awt.AWTAutoShutdown.run(AWTAutoShutdown.java:281)
- locked <0x83162eb8> (a java.lang.Object)
at java.lang.Thread.run(Thread.java:636)

"TimerQueue" daemon prio=10 tid=0x08d43000 nid=0x797e waiting on condition
[0xb6bb4000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x832444e0> (a
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
at
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
at java.util.concurrent.DelayQueue.take(DelayQueue.java:189)
at javax.swing.TimerQueue.run(TimerQueue.java:166)
at java.lang.Thread.run(Thread.java:636)

"Thread-10" daemon prio=10 tid=0x08d16400 nid=0x797a in Object.wait()
[0xb6c05000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x831f04a0> (a java.lang.Object)
at
net.java.sip.communicator.impl.contactlist.MclStorageManager$1.run(MclStorageManager.java:444)
- locked <0x831f04a0> (a java.lang.Object)

"Timer-4" daemon prio=10 tid=0xb6a0c400 nid=0x796f in Object.wait()
[0xb28a0000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x831b1178> (a java.util.TaskQueue)
at java.lang.Object.wait(Object.java:502)
at java.util.TimerThread.mainLoop(Timer.java:505)
- locked <0x831b1178> (a java.util.TaskQueue)
at java.util.TimerThread.run(Timer.java:484)

"Timer-3" daemon prio=10 tid=0xb6a0c000 nid=0x796e in Object.wait()
[0xb68f2000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x831b11f8> (a java.util.TaskQueue)
at java.lang.Object.wait(Object.java:502)
at java.util.TimerThread.mainLoop(Timer.java:505)
- locked <0x831b11f8> (a java.util.TaskQueue)
at java.util.TimerThread.run(Timer.java:484)

"Timer-2" daemon prio=10 tid=0xb6a0b000 nid=0x796d in Object.wait()
[0xb6943000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x831b1278> (a java.util.TaskQueue)
at java.lang.Object.wait(Object.java:502)
at java.util.TimerThread.mainLoop(Timer.java:505)
- locked <0x831b1278> (a java.util.TaskQueue)
at java.util.TimerThread.run(Timer.java:484)

"Timer-1" daemon prio=10 tid=0xb6a08c00 nid=0x796c in Object.wait()
[0xb69ad000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x831b12f8> (a java.util.TaskQueue)
at java.lang.Object.wait(Object.java:502)
at java.util.TimerThread.mainLoop(Timer.java:505)
- locked <0x831b12f8> (a java.util.TaskQueue)
at java.util.TimerThread.run(Timer.java:484)

"EventScannerThread" prio=10 tid=0x08c9d400 nid=0x796b in Object.wait()
[0xb69fe000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x831a98a8> (a [I)
at gov.nist.javax.sip.EventScanner.run(EventScanner.java:485)
- locked <0x831a98a8> (a [I)
at java.lang.Thread.run(Thread.java:636)

"Timer-0" daemon prio=10 tid=0x08c95400 nid=0x796a in Object.wait()
[0xb6b63000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x831a9960> (a java.util.TaskQueue)
at java.lang.Object.wait(Object.java:502)
at java.util.TimerThread.mainLoop(Timer.java:505)
- locked <0x831a9960> (a java.util.TaskQueue)
at java.util.TimerThread.run(Timer.java:484)

"AWT-XAWT" daemon prio=10 tid=0xb705b400 nid=0x7961 runnable [0xb6d0f000]
java.lang.Thread.State: RUNNABLE
at sun.awt.X11.XToolkit.waitForEvents(Native Method)
at sun.awt.X11.XToolkit.run(XToolkit.java:543)
at sun.awt.X11.XToolkit.run(XToolkit.java:518)
at java.lang.Thread.run(Thread.java:636)

"Java2D Disposer" daemon prio=10 tid=0xb7090000 nid=0x7960 in Object.wait()
[0xb6e30000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x83101200> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:133)
- locked <0x83101200> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:149)
at sun.java2d.Disposer.run(Disposer.java:143)
at java.lang.Thread.run(Thread.java:636)

"FelixPackageAdmin" daemon prio=10 tid=0xb7068000 nid=0x795f in
Object.wait() [0xb6e8c000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x82fd3f48> (a
org.apache.felix.framework.PackageAdminImpl)
at java.lang.Object.wait(Object.java:502)
at
org.apache.felix.framework.PackageAdminImpl.run(PackageAdminImpl.java:314)
- locked <0x82fd3f48> (a org.apache.felix.framework.PackageAdminImpl)
at java.lang.Thread.run(Thread.java:636)

"FelixStartLevel" daemon prio=10 tid=0xb7061c00 nid=0x795e in Object.wait()
[0xb6edd000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x82fd3fc8> (a java.util.ArrayList)
at java.lang.Object.wait(Object.java:502)
at
org.apache.felix.framework.StartLevelImpl.run(StartLevelImpl.java:242)
- locked <0x82fd3fc8> (a java.util.ArrayList)
at java.lang.Thread.run(Thread.java:636)

"FelixDispatchQueue" prio=10 tid=0xb7025400 nid=0x795d in Object.wait()
[0xb717f000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x82f0aad8> (a java.util.ArrayList)
at java.lang.Object.wait(Object.java:502)
at
org.apache.felix.framework.util.EventDispatcher.run(EventDispatcher.java:931)
- locked <0x82f0aad8> (a java.util.ArrayList)
at
org.apache.felix.framework.util.EventDispatcher.access$000(EventDispatcher.java:54)
at
org.apache.felix.framework.util.EventDispatcher$1.run(EventDispatcher.java:106)
at java.lang.Thread.run(Thread.java:636)

"net.java.sip.communicator.util.launchutils.SipCommunicatorLock$LockServer"
daemon prio=10 tid=0xb700a800 nid=0x795c runnable [0xb71d0000]
java.lang.Thread.State: RUNNABLE
at java.net.PlainSocketImpl.socketAccept(Native Method)
at
java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:358)
at java.net.ServerSocket.implAccept(ServerSocket.java:470)
at java.net.ServerSocket.accept(ServerSocket.java:438)
at
net.java.sip.communicator.util.launchutils.SipCommunicatorLock$LockServer.run(SipCommunicatorLock.java:672)

"Low Memory Detector" daemon prio=10 tid=0x08b46c00 nid=0x795a runnable
[0x00000000]
java.lang.Thread.State: RUNNABLE

"CompilerThread0" daemon prio=10 tid=0x08b43c00 nid=0x7959 waiting on
condition [0x00000000]
java.lang.Thread.State: RUNNABLE

"Signal Dispatcher" daemon prio=10 tid=0x08b42000 nid=0x7958 waiting on
condition [0x00000000]
java.lang.Thread.State: RUNNABLE

"Finalizer" daemon prio=10 tid=0x08b39400 nid=0x7957 in Object.wait()
[0xb7427000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x82ee4a48> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:133)
- locked <0x82ee4a48> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:149)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:177)

"Reference Handler" daemon prio=10 tid=0x08b37800 nid=0x7956 in
Object.wait() [0xb7478000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x82ee4ad0> (a java.lang.ref.Reference$Lock)
at java.lang.Object.wait(Object.java:502)
at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:133)
- locked <0x82ee4ad0> (a java.lang.ref.Reference$Lock)

"main" prio=10 tid=0x08b09000 nid=0x7954 in Object.wait() [0xb7712000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x82fd46b8> (a
org.apache.felix.framework.util.ThreadGate)
at
org.apache.felix.framework.util.ThreadGate.await(ThreadGate.java:79)
- locked <0x82fd46b8> (a org.apache.felix.framework.util.ThreadGate)
at org.apache.felix.framework.Felix.waitForStop(Felix.java:794)
at org.apache.felix.main.Main.main(Main.java:299)
at
net.java.sip.communicator.launcher.SIPCommunicator.main(SIPCommunicator.java:122)

"VM Thread" prio=10 tid=0x08b35c00 nid=0x7955 runnable

"VM Periodic Task Thread" prio=10 tid=0x08b48800 nid=0x795b waiting on
condition

JNI global references: 1154

Heap
def new generation total 1024K, used 274K [0x81b10000, 0x81c20000,
0x82ec0000)
eden space 960K, 28% used [0x81b10000, 0x81b533b8, 0x81c00000)
from space 64K, 8% used [0x81c00000, 0x81c01570, 0x81c10000)
to space 64K, 0% used [0x81c10000, 0x81c10000, 0x81c20000)
tenured generation total 12052K, used 8103K [0x82ec0000, 0x83a85000,
0x91b10000)
the space 12052K, 67% used [0x82ec0000, 0x836a9ea0, 0x836aa000,
0x83a85000)
compacting perm gen total 16128K, used 16070K [0x91b10000, 0x92ad0000,
0x95b10000)
the space 16128K, 99% used [0x91b10000, 0x92ac1898, 0x92ac1a00,
0x92ad0000)
ro space 8192K, 89% used [0x95b10000, 0x9623e680, 0x9623e800,
0x96310000)
rw space 12288K, 59% used [0x96310000, 0x96a3d1f8, 0x96a3d200,
0x96f10000)

--
Stefan Sayer
VoIP Services Consulting and Development

Warschauer Str. 24
10243 Berlin

tel:+491621366449
sip:sayer@iptel.org
email/xmpp:stefan.sayer@gmail.com

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net


#3

I had similar issues and it was o pulseaudio problem. It happened to me when i used Ubuntu 9.10/Debian and i was using bluetooth handsfree. After a while the java process started to use 100% cpu (dual core cpu).
The solution was to start pavucontrol and kill the sip communicators sound thread - interestingly this procedure lowered the cpu usage but the sound was working. All this was done runtime (in a call).
I thought this issue is not present in newer builds.

Also, check the sound devices (options - media) and select specifically "pulse" for all in/out sound devices. This lowered the cpu usage for me (which is higher anyway when i use bluetooth devices).
And in the codecs tab, put "pcmu" as first codec - this one is widely used and has the smallest CPU usage.

And try using the latest build (2587 for the moment).

Regards,
Kertesz Laszlo

···

On Mon, 26 Apr 2010 02:21:24 +0300, Stefan Sayer <stefan.sayer@googlemail.com> wrote:

Hi to all S-C devs,

unfortunately I don't have much experience with SIP communicator code nor with its code, but today I am experiencing s-c constantly using 100% CPU. Luckily I have another core so I haven't really been molested until now...but as this is definitely an error condition I thought I'd better report it.

I am running S-C 1.0 alpha3 nightly build 2539 on ubuntu 9.10. I have two SIP accounts registered, one iptel.org, one locally, but the local one is not reachable now. I had made some test calls with it, iirc over the local account. I have used suspend to RAM a few times, and with that interface IPs have changed a few times, I don't know whether this makes any difference. I have pulseaudio running, and I guess that is used as portaudio output.

S-C runs and responds and all, and making a test call (music@iptel.org) worked fine (even though it sounded bad), but it's still consuming 100% CPU.

Below is a thread dump (made with dup2 in gdb and kill -3). Maybe someone can make sense of that and fix it.

Regards
Stefan

2010-04-26 01:00:40
Full thread dump OpenJDK Client VM (14.0-b16 mixed mode, sharing):

"AWT-EventQueue-0" prio=10 tid=0xb57a4400 nid=0x17bc in Object.wait() [0xb6339000]
    java.lang.Thread.State: WAITING (on object monitor)
  at java.lang.Object.wait(Native Method)
  - waiting on <0x8313cc38> (a java.awt.EventQueue)
  at java.lang.Object.wait(Object.java:502)
  at java.awt.EventQueue.getNextEvent(EventQueue.java:484)
  - locked <0x8313cc38> (a java.awt.EventQueue)
  at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:247)
  at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200)
  at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
  at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185)
  at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177)
  at java.awt.EventDispatchThread.run(EventDispatchThread.java:138)

"Thread-98" prio=10 tid=0xb57a3000 nid=0x7a39 waiting for monitor entry [0xb50fe000]
    java.lang.Thread.State: BLOCKED (on object monitor)
  at net.java.sip.communicator.impl.neomedia.portaudio.streams.OutputPortAudioStream.stop(OutputPortAudioStream.java:292)
  - waiting to lock <0x834756f0> (a net.java.sip.communicator.impl.neomedia.portaudio.streams.OutputPortAudioStream)
  at net.java.sip.communicator.impl.neomedia.jmfext.media.renderer.audio.PortAudioRenderer.stop(PortAudioRenderer.java:119)
  at com.sun.media.BasicRendererModule.doStop(BasicRendererModule.java:218)
  at com.sun.media.BasicTrackControl.stopTrack(BasicTrackControl.java:135)
  at com.sun.media.PlaybackEngine.doStop1(PlaybackEngine.java:829)
  at com.sun.media.ProcessEngine.doStop(ProcessEngine.java:271)
  - locked <0x83474648> (a com.sun.media.ProcessEngine)
  at com.sun.media.BasicController.stop(BasicController.java:524)
  at com.sun.media.PlaybackEngine.stop(PlaybackEngine.java:801)
  - locked <0x83474648> (a com.sun.media.ProcessEngine)
  at com.sun.media.BasicPlayer.stop(BasicPlayer.java:892)
  - locked <0x83475738> (a com.sun.media.processor.unknown.Handler)
  at com.sun.media.BasicPlayer.stop(BasicPlayer.java:830)
  at net.java.sip.communicator.impl.neomedia.device.MediaDeviceSession.disposePlayer(MediaDeviceSession.java:562)
  - locked <0x83436450> (a java.lang.Object)
  at net.java.sip.communicator.impl.neomedia.device.MediaDeviceSession.disposePlayer(MediaDeviceSession.java:543)
  - locked <0x83436450> (a java.lang.Object)
  at net.java.sip.communicator.impl.neomedia.device.MediaDeviceSession.close(MediaDeviceSession.java:311)
  at net.java.sip.communicator.impl.neomedia.MediaStreamImpl.close(MediaStreamImpl.java:430)
  at net.java.sip.communicator.impl.protocol.sip.CallPeerMediaHandler.setAudioStream(CallPeerMediaHandler.java:1821)
  at net.java.sip.communicator.impl.protocol.sip.CallPeerMediaHandler.closeStream(CallPeerMediaHandler.java:552)
  at net.java.sip.communicator.impl.protocol.sip.CallPeerMediaHandler.close(CallPeerMediaHandler.java:536)
  at net.java.sip.communicator.impl.protocol.sip.CallPeerSipImpl.setState(CallPeerSipImpl.java:1706)
  at net.java.sip.communicator.service.protocol.AbstractCallPeer.setState(AbstractCallPeer.java:419)
  at net.java.sip.communicator.impl.protocol.sip.CallPeerSipImpl.hangup(CallPeerSipImpl.java:966)
  at net.java.sip.communicator.impl.protocol.sip.OperationSetBasicTelephonySipImpl.hangupCallPeer(OperationSetBasicTelephonySipImpl.java:1417)
  - locked <0x831b1fa8> (a net.java.sip.communicator.impl.protocol.sip.OperationSetBasicTelephonySipImpl)
  at net.java.sip.communicator.impl.gui.main.call.CallManager$HangupCallThread.run(CallManager.java:706)

"ZRTP" daemon prio=10 tid=0x08f71400 nid=0x7a36 in Object.wait() [0xb67ae000]
    java.lang.Thread.State: WAITING (on object monitor)
  at java.lang.Object.wait(Native Method)
  - waiting on <0x834cfa30> (a java.lang.Object)
  at java.lang.Object.wait(Object.java:502)
  at net.java.sip.communicator.impl.neomedia.transform.zrtp.ZRTPTransformEngine$TimeoutProvider.run(ZRTPTransformEngine.java:245)
  - locked <0x834cfa30> (a java.lang.Object)

"ZRTP" daemon prio=10 tid=0xb57e0400 nid=0x7a28 in Object.wait() [0xb50ad000]
    java.lang.Thread.State: WAITING (on object monitor)
  at java.lang.Object.wait(Native Method)
  - waiting on <0x834c14f8> (a java.lang.Object)
  at java.lang.Object.wait(Object.java:502)
  at net.java.sip.communicator.impl.neomedia.transform.zrtp.ZRTPTransformEngine$TimeoutProvider.run(ZRTPTransformEngine.java:245)
  - locked <0x834c14f8> (a java.lang.Object)

"ZRTP" daemon prio=10 tid=0x08fc9c00 nid=0x7a1d in Object.wait() [0xb52e1000]
    java.lang.Thread.State: WAITING (on object monitor)
  at java.lang.Object.wait(Native Method)
  - waiting on <0x834ba130> (a java.lang.Object)
  at java.lang.Object.wait(Object.java:502)
  at net.java.sip.communicator.impl.neomedia.transform.zrtp.ZRTPTransformEngine$TimeoutProvider.run(ZRTPTransformEngine.java:245)
  - locked <0x834ba130> (a java.lang.Object)

"ZRTP" daemon prio=10 tid=0x08ebc000 nid=0x7a08 in Object.wait() [0xb5290000]
    java.lang.Thread.State: WAITING (on object monitor)
  at java.lang.Object.wait(Native Method)
  - waiting on <0x834a3f10> (a java.lang.Object)
  at java.lang.Object.wait(Object.java:502)
  at net.java.sip.communicator.impl.neomedia.transform.zrtp.ZRTPTransformEngine$TimeoutProvider.run(ZRTPTransformEngine.java:245)
  - locked <0x834a3f10> (a java.lang.Object)

"ZRTP" daemon prio=10 tid=0xb5702400 nid=0x79f4 in Object.wait() [0xb5425000]
    java.lang.Thread.State: WAITING (on object monitor)
  at java.lang.Object.wait(Native Method)
  - waiting on <0x83493b80> (a java.lang.Object)
  at java.lang.Object.wait(Object.java:502)
  at net.java.sip.communicator.impl.neomedia.transform.zrtp.ZRTPTransformEngine$TimeoutProvider.run(ZRTPTransformEngine.java:245)
  - locked <0x83493b80> (a java.lang.Object)

"ZRTP" daemon prio=10 tid=0xb5701800 nid=0x79e0 in Object.wait() [0xb5332000]
    java.lang.Thread.State: WAITING (on object monitor)
  at java.lang.Object.wait(Native Method)
  - waiting on <0x83489998> (a java.lang.Object)
  at java.lang.Object.wait(Object.java:502)
  at net.java.sip.communicator.impl.neomedia.transform.zrtp.ZRTPTransformEngine$TimeoutProvider.run(ZRTPTransformEngine.java:245)
  - locked <0x83489998> (a java.lang.Object)

"Loop thread: net.java.sip.communicator.impl.neomedia.jmfext.media.renderer.audio.PortAudioRenderer@67f797" daemon prio=10 tid=0x08b73c00 nid=0x79d6 runnable [0xb5383000]
    java.lang.Thread.State: RUNNABLE
  at net.java.sip.communicator.impl.neomedia.portaudio.PortAudio.Pa_WriteStream(Native Method)
  at net.java.sip.communicator.impl.neomedia.portaudio.streams.OutputPortAudioStream.write(OutputPortAudioStream.java:240)
  - locked <0x834756f0> (a net.java.sip.communicator.impl.neomedia.portaudio.streams.OutputPortAudioStream)
  at net.java.sip.communicator.impl.neomedia.jmfext.media.renderer.audio.PortAudioRenderer.process(PortAudioRenderer.java:137)
  at com.sun.media.BasicRendererModule.processBuffer(BasicRendererModule.java:732)
  at com.sun.media.BasicRendererModule.scheduleBuffer(BasicRendererModule.java:504)
  at com.sun.media.BasicRendererModule.doProcess(BasicRendererModule.java:405)
  at com.sun.media.RenderThread.process(BasicRendererModule.java:1114)
  at com.sun.media.util.LoopThread.run(LoopThread.java:135)

"Loop thread: com.sun.media.parser.RawBufferParser$FrameTrack@12fb063" daemon prio=10 tid=0x08ee1c00 nid=0x79d5 in Object.wait() [0xb53d4000]
    java.lang.Thread.State: WAITING (on object monitor)
  at java.lang.Object.wait(Native Method)
  - waiting on <0x83473dd0> (a com.sun.media.CircularBuffer)
  at java.lang.Object.wait(Object.java:502)
  at com.sun.media.BasicOutputConnector.getEmptyBuffer(BasicOutputConnector.java:91)
  - locked <0x83473dd0> (a com.sun.media.CircularBuffer)
  at com.sun.media.BasicFilterModule.process(BasicFilterModule.java:251)
  at com.sun.media.BasicModule.connectorPushed(BasicModule.java:69)
  at com.sun.media.BasicOutputConnector.writeReport(BasicOutputConnector.java:120)
  at com.sun.media.BasicFilterModule.process(BasicFilterModule.java:408)
  at com.sun.media.BasicModule.connectorPushed(BasicModule.java:69)
  at com.sun.media.BasicOutputConnector.writeReport(BasicOutputConnector.java:120)
  at com.sun.media.BasicFilterModule.process(BasicFilterModule.java:408)
  at com.sun.media.BasicModule.connectorPushed(BasicModule.java:69)
  at com.sun.media.BasicOutputConnector.writeReport(BasicOutputConnector.java:120)
  at com.sun.media.SourceThread.process(SourceThread.java:144)
  at com.sun.media.util.LoopThread.run(LoopThread.java:135)

"Loop thread" daemon prio=10 tid=0x08c51400 nid=0x79cd waiting on condition [0xb5476000]
    java.lang.Thread.State: TIMED_WAITING (sleeping)
  at java.lang.Thread.sleep(Native Method)
  at com.sun.media.StatsThread.process(BasicPlayer.java:1828)
  at com.sun.media.util.LoopThread.run(LoopThread.java:135)

"AudioLevelEffect Notification Thread" daemon prio=10 tid=0x08c4f800 nid=0x79cc in Object.wait() [0xb62e8000]
    java.lang.Thread.State: WAITING (on object monitor)
  at java.lang.Object.wait(Native Method)
  - waiting on <0x83436aa0> (a net.java.sip.communicator.impl.neomedia.audiolevel.AudioLevelEventDispatcher)
  at java.lang.Object.wait(Object.java:502)
  at net.java.sip.communicator.impl.neomedia.audiolevel.AudioLevelEventDispatcher.run(AudioLevelEventDispatcher.java:88)
  - locked <0x83436aa0> (a net.java.sip.communicator.impl.neomedia.audiolevel.AudioLevelEventDispatcher)
  at java.lang.Thread.run(Thread.java:636)

"JMF thread: SendEventQueue: com.sun.media.ProcessEngine" daemon prio=10 tid=0x08c4dc00 nid=0x79c7 in Object.wait() [0xb660d000]
    java.lang.Thread.State: WAITING (on object monitor)
  at java.lang.Object.wait(Native Method)
  - waiting on <0x83474848> (a com.sun.media.SendEventQueue)
  at java.lang.Object.wait(Object.java:502)
  at com.sun.media.util.ThreadedEventQueue.dispatchEvents(ThreadedEventQueue.java:50)
  - locked <0x83474848> (a com.sun.media.SendEventQueue)
  at com.sun.media.util.ThreadedEventQueue.run(ThreadedEventQueue.java:92)

"JMF thread: SendEventQueue: com.sun.media.processor.unknown.Handler" daemon prio=10 tid=0x08c4d800 nid=0x79c6 in Object.wait() [0xb54c7000]
    java.lang.Thread.State: WAITING (on object monitor)
  at java.lang.Object.wait(Native Method)
  - waiting on <0x834748c0> (a com.sun.media.SendEventQueue)
  at java.lang.Object.wait(Object.java:502)
  at com.sun.media.util.ThreadedEventQueue.dispatchEvents(ThreadedEventQueue.java:50)
  - locked <0x834748c0> (a com.sun.media.SendEventQueue)
  at com.sun.media.util.ThreadedEventQueue.run(ThreadedEventQueue.java:92)

"RTPStream" daemon prio=10 tid=0x08c4d000 nid=0x79c5 in Object.wait() [0xb560b000]
    java.lang.Thread.State: WAITING (on object monitor)
  at java.lang.Object.wait(Native Method)
  - waiting on <0x834749a0> (a com.sun.media.CircularBuffer)
  at java.lang.Object.wait(Object.java:502)
  at com.sun.media.parser.RawBufferParser$FrameTrack.transferData(RawBufferParser.java:718)
  - locked <0x834749a0> (a com.sun.media.CircularBuffer)
  at com.sun.media.rtp.RTPSourceStream.run(RTPSourceStream.java:783)
  at java.lang.Thread.run(Thread.java:636)

"ZRTP" daemon prio=10 tid=0xb61d7400 nid=0x799a in Object.wait() [0xb64df000]
    java.lang.Thread.State: WAITING (on object monitor)
  at java.lang.Object.wait(Native Method)
  - waiting on <0x83424ab0> (a java.lang.Object)
  at java.lang.Object.wait(Object.java:502)
  at net.java.sip.communicator.impl.neomedia.transform.zrtp.ZRTPTransformEngine$TimeoutProvider.run(ZRTPTransformEngine.java:245)
  - locked <0x83424ab0> (a java.lang.Object)

"Thread-32" prio=10 tid=0x08db6000 nid=0x7995 in Object.wait() [0xb6cbe000]
    java.lang.Thread.State: WAITING (on object monitor)
  at java.lang.Object.wait(Native Method)
  - waiting on <0x833e0f50> (a net.java.sip.communicator.impl.gui.main.contactlist.SearchField$SearchThread)
  at java.lang.Object.wait(Object.java:502)
  at net.java.sip.communicator.impl.gui.main.contactlist.SearchField$SearchThread.run(SearchField.java:159)
  - locked <0x833e0f50> (a net.java.sip.communicator.impl.gui.main.contactlist.SearchField$SearchThread)

"Laf-Widget fade tracker" daemon prio=10 tid=0x08d3f000 nid=0x7990 waiting on condition [0xb675d000]
    java.lang.Thread.State: TIMED_WAITING (sleeping)
  at java.lang.Thread.sleep(Native Method)
  at org.jvnet.lafwidget.animation.FadeTracker$FadeTrackerThread.run(FadeTracker.java:205)

"Thread-25" daemon prio=10 tid=0xb6a37000 nid=0x798e waiting on condition [0xb67ff000]
    java.lang.Thread.State: WAITING (parking)
  at sun.misc.Unsafe.park(Native Method)
  - parking to wait for <0x833a1cc0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
  at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
  at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
  at java.util.concurrent.ArrayBlockingQueue.take(ArrayBlockingQueue.java:345)
  at sun.awt.X11.XTrayIconPeer$Balloon$Displayer.run(XTrayIconPeer.java:906)

"TLSMessageProcessorThread" daemon prio=10 tid=0x08de7c00 nid=0x7987 runnable [0xb6581000]
    java.lang.Thread.State: RUNNABLE
  at java.net.PlainSocketImpl.socketAccept(Native Method)
  at java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:358)
  at java.net.ServerSocket.implAccept(ServerSocket.java:470)
  at sun.security.ssl.SSLServerSocketImpl.accept(SSLServerSocketImpl.java:278)
  at gov.nist.javax.sip.stack.TLSMessageProcessor.run(TLSMessageProcessor.java:147)
  at java.lang.Thread.run(Thread.java:636)

"TCPMessageProcessorThread" daemon prio=10 tid=0x08b32400 nid=0x7985 runnable [0xb6677000]
    java.lang.Thread.State: RUNNABLE
  at java.net.PlainSocketImpl.socketAccept(Native Method)
  at java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:358)
  at java.net.ServerSocket.implAccept(ServerSocket.java:470)
  at java.net.ServerSocket.accept(ServerSocket.java:438)
  at gov.nist.javax.sip.stack.TCPMessageProcessor.run(TCPMessageProcessor.java:133)
  at java.lang.Thread.run(Thread.java:636)

"UDPMessageProcessorThread" daemon prio=10 tid=0x08cde400 nid=0x7984 runnable [0xb66c8000]
    java.lang.Thread.State: RUNNABLE
  at java.net.PlainDatagramSocketImpl.receive0(Native Method)
  - locked <0x8329f258> (a java.net.PlainDatagramSocketImpl)
  at java.net.AbstractPlainDatagramSocketImpl.receive(AbstractPlainDatagramSocketImpl.java:127)
  - locked <0x8329f258> (a java.net.PlainDatagramSocketImpl)
  at java.net.DatagramSocket.receive(DatagramSocket.java:729)
  - locked <0x835290d8> (a java.net.DatagramPacket)
  - locked <0x8329f288> (a java.net.DatagramSocket)
  at gov.nist.javax.sip.stack.UDPMessageProcessor.run(UDPMessageProcessor.java:191)
  at java.lang.Thread.run(Thread.java:636)

"AWT-Shutdown" prio=10 tid=0xb6a4f800 nid=0x797f in Object.wait() [0xb68a1000]
    java.lang.Thread.State: WAITING (on object monitor)
  at java.lang.Object.wait(Native Method)
  - waiting on <0x83162eb8> (a java.lang.Object)
  at java.lang.Object.wait(Object.java:502)
  at sun.awt.AWTAutoShutdown.run(AWTAutoShutdown.java:281)
  - locked <0x83162eb8> (a java.lang.Object)
  at java.lang.Thread.run(Thread.java:636)

"TimerQueue" daemon prio=10 tid=0x08d43000 nid=0x797e waiting on condition [0xb6bb4000]
    java.lang.Thread.State: WAITING (parking)
  at sun.misc.Unsafe.park(Native Method)
  - parking to wait for <0x832444e0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
  at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
  at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
  at java.util.concurrent.DelayQueue.take(DelayQueue.java:189)
  at javax.swing.TimerQueue.run(TimerQueue.java:166)
  at java.lang.Thread.run(Thread.java:636)

"Thread-10" daemon prio=10 tid=0x08d16400 nid=0x797a in Object.wait() [0xb6c05000]
    java.lang.Thread.State: TIMED_WAITING (on object monitor)
  at java.lang.Object.wait(Native Method)
  - waiting on <0x831f04a0> (a java.lang.Object)
  at net.java.sip.communicator.impl.contactlist.MclStorageManager$1.run(MclStorageManager.java:444)
  - locked <0x831f04a0> (a java.lang.Object)

"Timer-4" daemon prio=10 tid=0xb6a0c400 nid=0x796f in Object.wait() [0xb28a0000]
    java.lang.Thread.State: WAITING (on object monitor)
  at java.lang.Object.wait(Native Method)
  - waiting on <0x831b1178> (a java.util.TaskQueue)
  at java.lang.Object.wait(Object.java:502)
  at java.util.TimerThread.mainLoop(Timer.java:505)
  - locked <0x831b1178> (a java.util.TaskQueue)
  at java.util.TimerThread.run(Timer.java:484)

"Timer-3" daemon prio=10 tid=0xb6a0c000 nid=0x796e in Object.wait() [0xb68f2000]
    java.lang.Thread.State: WAITING (on object monitor)
  at java.lang.Object.wait(Native Method)
  - waiting on <0x831b11f8> (a java.util.TaskQueue)
  at java.lang.Object.wait(Object.java:502)
  at java.util.TimerThread.mainLoop(Timer.java:505)
  - locked <0x831b11f8> (a java.util.TaskQueue)
  at java.util.TimerThread.run(Timer.java:484)

"Timer-2" daemon prio=10 tid=0xb6a0b000 nid=0x796d in Object.wait() [0xb6943000]
    java.lang.Thread.State: WAITING (on object monitor)
  at java.lang.Object.wait(Native Method)
  - waiting on <0x831b1278> (a java.util.TaskQueue)
  at java.lang.Object.wait(Object.java:502)
  at java.util.TimerThread.mainLoop(Timer.java:505)
  - locked <0x831b1278> (a java.util.TaskQueue)
  at java.util.TimerThread.run(Timer.java:484)

"Timer-1" daemon prio=10 tid=0xb6a08c00 nid=0x796c in Object.wait() [0xb69ad000]
    java.lang.Thread.State: WAITING (on object monitor)
  at java.lang.Object.wait(Native Method)
  - waiting on <0x831b12f8> (a java.util.TaskQueue)
  at java.lang.Object.wait(Object.java:502)
  at java.util.TimerThread.mainLoop(Timer.java:505)
  - locked <0x831b12f8> (a java.util.TaskQueue)
  at java.util.TimerThread.run(Timer.java:484)

"EventScannerThread" prio=10 tid=0x08c9d400 nid=0x796b in Object.wait() [0xb69fe000]
    java.lang.Thread.State: WAITING (on object monitor)
  at java.lang.Object.wait(Native Method)
  - waiting on <0x831a98a8> (a [I)
  at gov.nist.javax.sip.EventScanner.run(EventScanner.java:485)
  - locked <0x831a98a8> (a [I)
  at java.lang.Thread.run(Thread.java:636)

"Timer-0" daemon prio=10 tid=0x08c95400 nid=0x796a in Object.wait() [0xb6b63000]
    java.lang.Thread.State: WAITING (on object monitor)
  at java.lang.Object.wait(Native Method)
  - waiting on <0x831a9960> (a java.util.TaskQueue)
  at java.lang.Object.wait(Object.java:502)
  at java.util.TimerThread.mainLoop(Timer.java:505)
  - locked <0x831a9960> (a java.util.TaskQueue)
  at java.util.TimerThread.run(Timer.java:484)

"AWT-XAWT" daemon prio=10 tid=0xb705b400 nid=0x7961 runnable [0xb6d0f000]
    java.lang.Thread.State: RUNNABLE
  at sun.awt.X11.XToolkit.waitForEvents(Native Method)
  at sun.awt.X11.XToolkit.run(XToolkit.java:543)
  at sun.awt.X11.XToolkit.run(XToolkit.java:518)
  at java.lang.Thread.run(Thread.java:636)

"Java2D Disposer" daemon prio=10 tid=0xb7090000 nid=0x7960 in Object.wait() [0xb6e30000]
    java.lang.Thread.State: WAITING (on object monitor)
  at java.lang.Object.wait(Native Method)
  - waiting on <0x83101200> (a java.lang.ref.ReferenceQueue$Lock)
  at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:133)
  - locked <0x83101200> (a java.lang.ref.ReferenceQueue$Lock)
  at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:149)
  at sun.java2d.Disposer.run(Disposer.java:143)
  at java.lang.Thread.run(Thread.java:636)

"FelixPackageAdmin" daemon prio=10 tid=0xb7068000 nid=0x795f in Object.wait() [0xb6e8c000]
    java.lang.Thread.State: WAITING (on object monitor)
  at java.lang.Object.wait(Native Method)
  - waiting on <0x82fd3f48> (a org.apache.felix.framework.PackageAdminImpl)
  at java.lang.Object.wait(Object.java:502)
  at org.apache.felix.framework.PackageAdminImpl.run(PackageAdminImpl.java:314)
  - locked <0x82fd3f48> (a org.apache.felix.framework.PackageAdminImpl)
  at java.lang.Thread.run(Thread.java:636)

"FelixStartLevel" daemon prio=10 tid=0xb7061c00 nid=0x795e in Object.wait() [0xb6edd000]
    java.lang.Thread.State: WAITING (on object monitor)
  at java.lang.Object.wait(Native Method)
  - waiting on <0x82fd3fc8> (a java.util.ArrayList)
  at java.lang.Object.wait(Object.java:502)
  at org.apache.felix.framework.StartLevelImpl.run(StartLevelImpl.java:242)
  - locked <0x82fd3fc8> (a java.util.ArrayList)
  at java.lang.Thread.run(Thread.java:636)

"FelixDispatchQueue" prio=10 tid=0xb7025400 nid=0x795d in Object.wait() [0xb717f000]
    java.lang.Thread.State: WAITING (on object monitor)
  at java.lang.Object.wait(Native Method)
  - waiting on <0x82f0aad8> (a java.util.ArrayList)
  at java.lang.Object.wait(Object.java:502)
  at org.apache.felix.framework.util.EventDispatcher.run(EventDispatcher.java:931)
  - locked <0x82f0aad8> (a java.util.ArrayList)
  at org.apache.felix.framework.util.EventDispatcher.access$000(EventDispatcher.java:54)
  at org.apache.felix.framework.util.EventDispatcher$1.run(EventDispatcher.java:106)
  at java.lang.Thread.run(Thread.java:636)

"net.java.sip.communicator.util.launchutils.SipCommunicatorLock$LockServer" daemon prio=10 tid=0xb700a800 nid=0x795c runnable [0xb71d0000]
    java.lang.Thread.State: RUNNABLE
  at java.net.PlainSocketImpl.socketAccept(Native Method)
  at java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:358)
  at java.net.ServerSocket.implAccept(ServerSocket.java:470)
  at java.net.ServerSocket.accept(ServerSocket.java:438)
  at net.java.sip.communicator.util.launchutils.SipCommunicatorLock$LockServer.run(SipCommunicatorLock.java:672)

"Low Memory Detector" daemon prio=10 tid=0x08b46c00 nid=0x795a runnable [0x00000000]
    java.lang.Thread.State: RUNNABLE

"CompilerThread0" daemon prio=10 tid=0x08b43c00 nid=0x7959 waiting on condition [0x00000000]
    java.lang.Thread.State: RUNNABLE

"Signal Dispatcher" daemon prio=10 tid=0x08b42000 nid=0x7958 waiting on condition [0x00000000]
    java.lang.Thread.State: RUNNABLE

"Finalizer" daemon prio=10 tid=0x08b39400 nid=0x7957 in Object.wait() [0xb7427000]
    java.lang.Thread.State: WAITING (on object monitor)
  at java.lang.Object.wait(Native Method)
  - waiting on <0x82ee4a48> (a java.lang.ref.ReferenceQueue$Lock)
  at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:133)
  - locked <0x82ee4a48> (a java.lang.ref.ReferenceQueue$Lock)
  at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:149)
  at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:177)

"Reference Handler" daemon prio=10 tid=0x08b37800 nid=0x7956 in Object.wait() [0xb7478000]
    java.lang.Thread.State: WAITING (on object monitor)
  at java.lang.Object.wait(Native Method)
  - waiting on <0x82ee4ad0> (a java.lang.ref.Reference$Lock)
  at java.lang.Object.wait(Object.java:502)
  at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:133)
  - locked <0x82ee4ad0> (a java.lang.ref.Reference$Lock)

"main" prio=10 tid=0x08b09000 nid=0x7954 in Object.wait() [0xb7712000]
    java.lang.Thread.State: WAITING (on object monitor)
  at java.lang.Object.wait(Native Method)
  - waiting on <0x82fd46b8> (a org.apache.felix.framework.util.ThreadGate)
  at org.apache.felix.framework.util.ThreadGate.await(ThreadGate.java:79)
  - locked <0x82fd46b8> (a org.apache.felix.framework.util.ThreadGate)
  at org.apache.felix.framework.Felix.waitForStop(Felix.java:794)
  at org.apache.felix.main.Main.main(Main.java:299)
  at net.java.sip.communicator.launcher.SIPCommunicator.main(SIPCommunicator.java:122)

"VM Thread" prio=10 tid=0x08b35c00 nid=0x7955 runnable

"VM Periodic Task Thread" prio=10 tid=0x08b48800 nid=0x795b waiting on condition

JNI global references: 1154

Heap
  def new generation total 1024K, used 274K [0x81b10000, 0x81c20000, 0x82ec0000)
   eden space 960K, 28% used [0x81b10000, 0x81b533b8, 0x81c00000)
   from space 64K, 8% used [0x81c00000, 0x81c01570, 0x81c10000)
   to space 64K, 0% used [0x81c10000, 0x81c10000, 0x81c20000)
  tenured generation total 12052K, used 8103K [0x82ec0000, 0x83a85000, 0x91b10000)
    the space 12052K, 67% used [0x82ec0000, 0x836a9ea0, 0x836aa000, 0x83a85000)
  compacting perm gen total 16128K, used 16070K [0x91b10000, 0x92ad0000, 0x95b10000)
    the space 16128K, 99% used [0x91b10000, 0x92ac1898, 0x92ac1a00, 0x92ad0000)
     ro space 8192K, 89% used [0x95b10000, 0x9623e680, 0x9623e800, 0x96310000)
     rw space 12288K, 59% used [0x96310000, 0x96a3d1f8, 0x96a3d200, 0x96f10000)

--
Regards,
Kertesz Laszlo

Using Opera's revolutionary e-mail client: http://www.opera.com/mail/

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net


#4

Hi,

thanks for all the answers, and sorry for posting a bug that is probably fixed in newer builds. I have updated sc and set audio out to pulse, and I will see whether it appears again.

thanks!
Stefan

Kertesz Laszlo wrote:

···

I had similar issues and it was o pulseaudio problem. It happened to me when i used Ubuntu 9.10/Debian and i was using bluetooth handsfree. After a while the java process started to use 100% cpu (dual core cpu).
The solution was to start pavucontrol and kill the sip communicators sound thread - interestingly this procedure lowered the cpu usage but the sound was working. All this was done runtime (in a call).
I thought this issue is not present in newer builds.

Also, check the sound devices (options - media) and select specifically "pulse" for all in/out sound devices. This lowered the cpu usage for me (which is higher anyway when i use bluetooth devices).
And in the codecs tab, put "pcmu" as first codec - this one is widely used and has the smallest CPU usage.

And try using the latest build (2587 for the moment).

Regards,
Kertesz Laszlo

On Mon, 26 Apr 2010 02:21:24 +0300, Stefan Sayer > <stefan.sayer@googlemail.com> wrote:

Hi to all S-C devs,

unfortunately I don't have much experience with SIP communicator code nor with its code, but today I am experiencing s-c constantly using 100% CPU. Luckily I have another core so I haven't really been molested until now...but as this is definitely an error condition I thought I'd better report it.

I am running S-C 1.0 alpha3 nightly build 2539 on ubuntu 9.10. I have two SIP accounts registered, one iptel.org, one locally, but the local one is not reachable now. I had made some test calls with it, iirc over the local account. I have used suspend to RAM a few times, and with that interface IPs have changed a few times, I don't know whether this makes any difference. I have pulseaudio running, and I guess that is used as portaudio output.

S-C runs and responds and all, and making a test call (music@iptel.org) worked fine (even though it sounded bad), but it's still consuming 100% CPU.

Below is a thread dump (made with dup2 in gdb and kill -3). Maybe someone can make sense of that and fix it.

Regards
Stefan

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net