[jitsi-dev] Multiple issues with packet loss etc.


#1

Hi,

we experience multiple problems with Jitsi.

Prerequesites:

- Jitsi Version: Jitsi 1.0-build.3967
- Kubuntu 12.10 amd64
- Oracle Java 7

18:59:45.114 INFO:
impl.configuration.ConfigurationServiceImpl.debugPrintSystemProperties().1335
java.runtime.name=Java(TM) SE Runtime Environment
18:59:45.114 INFO:
impl.configuration.ConfigurationServiceImpl.debugPrintSystemProperties().1335
felix.config.properties=file:/usr/lib/jitsi/lib/felix.client.run.properties
18:59:45.114 INFO:
impl.configuration.ConfigurationServiceImpl.debugPrintSystemProperties().1335
sun.boot.library.path=/usr/lib/jvm/java-7-oracle/jre/lib/amd64
18:59:45.114 INFO:
impl.configuration.ConfigurationServiceImpl.debugPrintSystemProperties().1335
java.vm.version=23.7-b01
18:59:45.114 INFO:
impl.configuration.ConfigurationServiceImpl.debugPrintSystemProperties().1335
java.vm.vendor=Oracle Corporation
18:59:45.114 INFO:
impl.configuration.ConfigurationServiceImpl.debugPrintSystemProperties().1335
java.vendor.url=http://java.oracle.com/
18:59:45.114 INFO:
impl.configuration.ConfigurationServiceImpl.debugPrintSystemProperties().1335
path.separator=:
18:59:45.114 INFO:
impl.configuration.ConfigurationServiceImpl.debugPrintSystemProperties().1335
java.util.logging.config.file=/usr/lib/jitsi/lib/logging.properties
18:59:45.115 INFO:
impl.configuration.ConfigurationServiceImpl.debugPrintSystemProperties().1335
java.vm.name=Java HotSpot(TM) 64-Bit Server VM
18:59:45.115 INFO:
impl.configuration.ConfigurationServiceImpl.debugPrintSystemProperties().1335
file.encoding.pkg=sun.io
18:59:45.115 INFO:
impl.configuration.ConfigurationServiceImpl.debugPrintSystemProperties().1335
user.country=US
18:59:45.115 INFO:
impl.configuration.ConfigurationServiceImpl.debugPrintSystemProperties().1335
sun.java.launcher=SUN_STANDARD
18:59:45.115 INFO:
impl.configuration.ConfigurationServiceImpl.debugPrintSystemProperties().1335
sun.os.patch.level=unknown
18:59:45.115 INFO:
impl.configuration.ConfigurationServiceImpl.debugPrintSystemProperties().1335
java.vm.specification.name=Java Virtual Machine Specification
18:59:45.115 INFO:
impl.configuration.ConfigurationServiceImpl.debugPrintSystemProperties().1335
user.dir=/usr/lib/jitsi
18:59:45.115 INFO:
impl.configuration.ConfigurationServiceImpl.debugPrintSystemProperties().1335
java.runtime.version=1.7.0_15-b03
18:59:45.115 INFO:
impl.configuration.ConfigurationServiceImpl.debugPrintSystemProperties().1335
java.awt.graphicsenv=sun.awt.X11GraphicsEnvironment
18:59:45.116 INFO:
impl.configuration.ConfigurationServiceImpl.debugPrintSystemProperties().1335
java.endorsed.dirs=/usr/lib/jvm/java-7-oracle/jre/lib/endorsed
18:59:45.116 INFO:
impl.configuration.ConfigurationServiceImpl.debugPrintSystemProperties().1335
os.arch=amd64
18:59:45.116 INFO:
impl.configuration.ConfigurationServiceImpl.debugPrintSystemProperties().1335
java.io.tmpdir=/tmp
18:59:45.116 INFO:
impl.configuration.ConfigurationServiceImpl.debugPrintSystemProperties().1335
line.separator=

Here is a list of issues / exceptions:

1. Lots of messages of the form:
    19:00:38.766 INFO:
impl.resources.ResourceManagementServiceImpl.getImageURL().543 Missing
resource for key: service.gui.MAIN_WINDOW_BACKGROUND

2. In our session there can be some packet loss. This leads to an
immediate break of the connection
   crashes the whole Ubuntu! So I fear there is some sensitivity on
packet loss. Maybe the stats
   will help:

19:01:28.687 INFO:
impl.neomedia.transform.rtcp.StatisticsEngine.transform().156
rtpstat:Sending a report for audio stream SSRC:346893969 [packet
count:1470, bytes:235360, interarrival jitter:4, lost packets:131072,
time since previous report:4754ms ]
19:01:43.932 INFO: impl.neomedia.MediaStreamImpl.update().2274
rtpstat:Received a report for audio stream SSRC:397026198 [packet
count:2251, bytes:360160, interarrival jitter:37, lost packets:0, time
since previous report:35ms ]
19:01:48.161 INFO:
impl.neomedia.transform.rtcp.StatisticsEngine.transform().156
rtpstat:Sending a report for audio stream SSRC:346893969 [packet
count:2444, bytes:391200, interarrival jitter:6, lost packets:13565952,
time since previous report:4228ms ]
19:02:03.942 INFO: impl.neomedia.MediaStreamImpl.update().2274
rtpstat:Received a report for audio stream SSRC:397026198 [packet
count:3251, bytes:520160, interarrival jitter:59, lost packets:0, time
since previous report:2172ms ]
19:02:07.440 INFO:
impl.neomedia.transform.rtcp.StatisticsEngine.transform().156
rtpstat:Sending a report for audio stream SSRC:346893969 [packet
count:3408, bytes:545440, interarrival jitter:2, lost packets:9633792,
time since previous report:3497ms ]
19:02:23.957 INFO: impl.neomedia.MediaStreamImpl.update().2274
rtpstat:Received a report for audio stream SSRC:397026198 [packet
count:4252, bytes:680320, interarrival jitter:39, lost packets:0, time
since previous report:2389ms ]
19:02:25.499 INFO:
impl.neomedia.transform.rtcp.StatisticsEngine.transform().156
rtpstat:Sending a report for audio stream SSRC:346893969 [packet
count:4311, bytes:689920, interarrival jitter:2, lost packets:1703936,
time since previous report:1541ms ]
19:02:43.974 INFO: impl.neomedia.MediaStreamImpl.update().2274
rtpstat:Received a report for audio stream SSRC:397026198 [packet
count:5253, bytes:840480, interarrival jitter:36, lost packets:0, time
since previous report:5503ms ]
19:02:44.221 INFO:
impl.neomedia.transform.rtcp.StatisticsEngine.transform().156
rtpstat:Sending a report for audio stream SSRC:346893969 [packet
count:5247, bytes:839680, interarrival jitter:4, lost packets:12713984,
time since previous report:245ms ]
19:03:02.041 INFO:
impl.neomedia.transform.rtcp.StatisticsEngine.transform().156
rtpstat:Sending a report for audio stream SSRC:346893969 [packet
count:6138, bytes:982240, interarrival jitter:5, lost packets:3997696, time

3. Question about long startup / service started up even they are not used.
   Are they just needed for configuration screens? Or is this the full
implementation?
   If someone does not need them, why start everything available
beforehand? The implementation
   should only run services which are configured and used. This would
reduce resource consumption
   and maybe lead to a faster startup.

18:59:55.148 INFO: impl.replacement.youtube.YoutubeActivator.start().56
Youtube source implementation [STARTED].
18:59:55.152 INFO:
impl.replacement.dailymotion.DailymotionActivator.start().56 Dailymotion
source implementation [STARTED].
18:59:55.158 INFO: impl.replacement.smiley.SmileyActivator.start().76
Smiley source implementation [STARTED].
18:59:55.163 INFO: impl.replacement.vimeo.VimeoActivator.start().56
Vimeo source implementation [STARTED].
18:59:55.167 INFO: impl.replacement.vbox7.Vbox7Activator.start().57
Vbox7 source implementation [STARTED].
18:59:55.171 INFO:
impl.replacement.metacafe.MetacafeActivator.start().57 Metacafe source
implementation [STARTED].
18:59:55.175 INFO: impl.replacement.flickr.FlickrActivator.start().57
Flickr source implementation [STARTED].
18:59:55.180 INFO: impl.replacement.hulu.HuluActivator.start().56 HULU
source implementation [STARTED].
18:59:55.184 INFO: impl.replacement.twitpic.TwitpicActivator.start().57
Twitpic source implementation [STARTED].
18:59:55.187 INFO:
impl.replacement.directimage.DirectImageActivator.start().57 Direct
Image Link source implementation [STARTED].
18:59:55.192 INFO: impl.replacement.bliptv.BliptvActivator.start().57
Blip.TV source implementation [STARTED].
18:59:55.197 INFO: impl.replacement.viddler.ViddlerActivator.start().58
Viddler source implementation [STARTED].

4. Is this of any harm?

18:59:45.794 INFO: impl.packetlogging.PacketLoggingActivator.start().78
Packet Logging Service ...[REGISTERED]
18:59:45.832 INFO: impl.version.VersionActivator.start() Jitsi Version:
Jitsi 1.0-build.3967
18:59:46.185 INFO:
plugin.provisioning.ProvisioningServiceImpl.retrieveConfigurationFile().535
Error retrieving provisioning file!
java.net.MalformedURLException: no protocol:
    at java.net.URL.<init>(URL.java:585)
    at java.net.URL.<init>(URL.java:482)
    at java.net.URL.<init>(URL.java:431)
    at
net.java.sip.communicator.plugin.provisioning.ProvisioningServiceImpl.retrieveConfigurationFile(ProvisioningServiceImpl.java:262)
    at
net.java.sip.communicator.plugin.provisioning.ProvisioningServiceImpl.start(ProvisioningServiceImpl.java:135)
    at
net.java.sip.communicator.plugin.provisioning.ProvisioningActivator.start(ProvisioningActivator.java:134)
    at
org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:629)
    at org.apache.felix.framework.Felix.activateBundle(Felix.java:1904)
    at org.apache.felix.framework.Felix.startBundle(Felix.java:1822)
    at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1192)
    at
org.apache.felix.framework.StartLevelImpl.run(StartLevelImpl.java:266)
    at java.lang.Thread.run(Thread.java:722)
18:59:46.654 INFO:
plugin.globalproxyconfig.GlobalProxyPluginActivator.start().67 GLOBAL
PROXY CONFIGURATION PLUGIN... [REGISTERED]
18:59:46.744 INFO:
impl.neomedia.device.JmfDeviceDetector.initializeAudio().223 Looking for
Audio capturer

5. This is related to the master password issue. I have updated oracle
java 7 JCE to international full encrpytion version.

18:59:54.040 SEVERE:
impl.credentialsstorage.CredentialsStorageServiceImpl.loadPassword().162
Decryption with master password failed
net.java.sip.communicator.service.credentialsstorage.CryptoException:
javax.crypto.BadPaddingException: Given final block not properly padded
    at
net.java.sip.communicator.impl.credentialsstorage.AESCrypto.decrypt(AESCrypto.java:172)
    at
net.java.sip.communicator.impl.credentialsstorage.CredentialsStorageServiceImpl.loadPassword(CredentialsStorageServiceImpl.java:158)
    at
net.java.sip.communicator.service.protocol.ProtocolProviderFactory.loadPassword(ProtocolProviderFactory.java:824)
    at
net.java.sip.communicator.service.protocol.ProtocolProviderFactory.loadPassword(ProtocolProviderFactory.java:793)
    at
net.java.sip.communicator.impl.protocol.jabber.ProtocolProviderServiceJabberImpl.loadPassword(ProtocolProviderServiceJabberImpl.java:958)
    at
net.java.sip.communicator.impl.protocol.jabber.ProtocolProviderServiceJabberImpl.connectAndLogin(ProtocolProviderServiceJabberImpl.java:614)
    at
net.java.sip.communicator.impl.protocol.jabber.ProtocolProviderServiceJabberImpl.register(ProtocolProviderServiceJabberImpl.java:437)
    at
net.java.sip.communicator.impl.gui.main.login.LoginManager$RegisterProvider.run(LoginManager.java:454)
Caused by: javax.crypto.BadPaddingException: Given final block not
properly padded
    at com.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:811)
    at com.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:676)
    at com.sun.crypto.provider.AESCipher.engineDoFinal(AESCipher.java:313)
    at javax.crypto.Cipher.doFinal(Cipher.java:2087)
    at
net.java.sip.communicator.impl.credentialsstorage.AESCrypto.decrypt(AESCrypto.java:168)
    ... 7 more
18:59:54.041 SEVERE:
impl.credentialsstorage.CredentialsStorageServiceImpl.loadPassword().162
Decryption with master password failed
net.java.sip.communicator.service.credentialsstorage.CryptoException:
javax.crypto.BadPaddingException: Given final block not properly padded
    at
net.java.sip.communicator.impl.credentialsstorage.AESCrypto.decrypt(AESCrypto.java:172)
    at
net.java.sip.communicator.impl.credentialsstorage.CredentialsStorageServiceImpl.loadPassword(CredentialsStorageServiceImpl.java:158)
    at
net.java.sip.communicator.impl.googlecontacts.GoogleContactsActivator$2.run(GoogleContactsActivator.java:284)
    at java.lang.Thread.run(Thread.java:722)
Caused by: javax.crypto.BadPaddingException: Given final block not
properly padded
    at com.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:811)
    at com.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:676)
    at com.sun.crypto.provider.AESCipher.engineDoFinal(AESCipher.java:313)
    at javax.crypto.Cipher.doFinal(Cipher.java:2087)
    at
net.java.sip.communicator.impl.credentialsstorage.AESCrypto.decrypt(AESCrypto.java:168)
    ... 3 more

6.
18:59:54.530 SEVERE: impl.osdependent.SystemTray.getDefaultDesktop().65
Failed to initialize the java.awt.SystemTray implementation.
java.lang.UnsupportedOperationException:
java.lang.reflect.InvocationTargetException
    at
net.java.sip.communicator.impl.osdependent.Desktop$AWTDesktopPeer.<init>(Desktop.java:187)
    at
net.java.sip.communicator.impl.osdependent.Desktop.getDefaultDesktop(Desktop.java:61)
    at
net.java.sip.communicator.impl.osdependent.DesktopServiceImpl.<init>(DesktopServiceImpl.java:30)
    at
net.java.sip.communicator.impl.osdependent.OsDependentActivator.start(OsDependentActivator.java:81)
    at
org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:629)
    at org.apache.felix.framework.Felix.activateBundle(Felix.java:1904)
    at org.apache.felix.framework.Felix.startBundle(Felix.java:1822)
    at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1192)
    at
org.apache.felix.framework.StartLevelImpl.run(StartLevelImpl.java:266)
    at java.lang.Thread.run(Thread.java:722)
Caused by: java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    at
net.java.sip.communicator.impl.osdependent.Desktop$AWTDesktopPeer.<init>(Desktop.java:179)
    ... 9 more
Caused by: java.lang.UnsupportedOperationException: Desktop API is not
supported on the current platform
    at java.awt.Desktop.getDesktop(Desktop.java:144)
    ... 14 more
18:59:54.532 INFO: impl.osdependent.OsDependentActivator.start().84
Desktop Service...[ STARTED ]

Cheers,
Matt