[jitsi-dev] Problem running jitsi-hammer


#1

Hi!

Trying to launch jitsi-hammer, getting this:

It looks like it needs to have jnffmped library installing - but
having played a lot with ffmpeg, libav* stuff before this is the first
time i hear about it, and most mentions on the internet refer to
Jitsi.

Do you have any idea how do i build it to fix the problem?

Thanks,

Mikhail

java.lang.UnsatisfiedLinkError: no jnffmpeg in java.library.path
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1867)
        at java.lang.Runtime.loadLibrary0(Runtime.java:870)
        at java.lang.System.loadLibrary(System.java:1122)
        at org.jitsi.util.JNIUtils.loadLibrary(JNIUtils.java:41)
        at org.jitsi.impl.neomedia.codec.FFmpeg.<clinit>(FFmpeg.java:228)
        at org.jitsi.impl.neomedia.codec.audio.FFmpegAudioEncoder.assertFindAVCodec(FFmpegAudioEncoder.java:49)
        at org.jitsi.impl.neomedia.codec.audio.mp3.JNIEncoder.<clinit>(JNIEncoder.java:64)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:264)
        at org.jitsi.impl.neomedia.codec.FMJPlugInConfiguration.registerCustomCodecs(FMJPlugInConfiguration.java:234)
        at org.jitsi.impl.neomedia.MediaServiceImpl.setupFMJ(MediaServiceImpl.java:1618)
        at org.jitsi.impl.neomedia.MediaServiceImpl.<clinit>(MediaServiceImpl.java:250)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:264)
        at org.jitsi.impl.libjitsi.LibJitsiImpl$ServiceLock.initializeService(LibJitsiImpl.java:173)
        at org.jitsi.impl.libjitsi.LibJitsiImpl$ServiceLock.getService(LibJitsiImpl.java:131)
        at org.jitsi.impl.libjitsi.LibJitsiImpl.getService(LibJitsiImpl.java:91)
        at org.jitsi.impl.libjitsi.LibJitsiOSGiImpl.getService(LibJitsiOSGiImpl.java:95)
        at org.jitsi.service.libjitsi.LibJitsi.invokeGetServiceOnImpl(LibJitsi.java:172)
        at org.jitsi.service.libjitsi.LibJitsi.getMediaService(LibJitsi.java:124)
        at org.jitsi.hammer.utils.MediaDeviceChooser.<init>(MediaDeviceChooser.java:84)
        at org.jitsi.hammer.utils.CmdLineArguments.getMediaDeviceChooser(CmdLineArguments.java:357)
        at org.jitsi.hammer.Main.main(Main.java:247)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:293)
        at java.lang.Thread.run(Thread.java:745)

May 19, 2016 12:32:34 PM org.jitsi.util.Logger warn
WARNING: Codec org.jitsi.impl.neomedia.codec.audio.amrwb.JNIDecoder is
NOT successfully registered
java.lang.NoClassDefFoundError: Could not initialize class
org.jitsi.impl.neomedia.codec.FFmpeg
        at org.jitsi.impl.neomedia.codec.audio.FFmpegAudioDecoder.assertFindAVCodec(FFmpegAudioDecoder.java:42)
        at org.jitsi.impl.neomedia.codec.audio.amrwb.JNIDecoder.<clinit>(JNIDecoder.java:34)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:264)
        at org.jitsi.impl.neomedia.codec.FMJPlugInConfiguration.registerCustomCodecs(FMJPlugInConfiguration.java:234)
        at org.jitsi.impl.neomedia.MediaServiceImpl.setupFMJ(MediaServiceImpl.java:1618)
        at org.jitsi.impl.neomedia.MediaServiceImpl.<clinit>(MediaServiceImpl.java:250)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:264)
        at org.jitsi.impl.libjitsi.LibJitsiImpl$ServiceLock.initializeService(LibJitsiImpl.java:173)
        at org.jitsi.impl.libjitsi.LibJitsiImpl$ServiceLock.getService(LibJitsiImpl.java:131)
        at org.jitsi.impl.libjitsi.LibJitsiImpl.getService(LibJitsiImpl.java:91)
        at org.jitsi.impl.libjitsi.LibJitsiOSGiImpl.getService(LibJitsiOSGiImpl.java:95)
        at org.jitsi.service.libjitsi.LibJitsi.invokeGetServiceOnImpl(LibJitsi.java:172)
        at org.jitsi.service.libjitsi.LibJitsi.getMediaService(LibJitsi.java:124)
        at org.jitsi.hammer.utils.MediaDeviceChooser.<init>(MediaDeviceChooser.java:84)
        at org.jitsi.hammer.utils.CmdLineArguments.getMediaDeviceChooser(CmdLineArguments.java:357)
        at org.jitsi.hammer.Main.main(Main.java:247)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:293)
        at java.lang.Thread.run(Thread.java:745)

May 19, 2016 12:32:34 PM org.jitsi.util.Logger warn
WARNING: Codec org.jitsi.impl.neomedia.codec.audio.amrwb.JNIEncoder is
NOT successfully registered
java.lang.NoClassDefFoundError: Could not initialize class
org.jitsi.impl.neomedia.codec.FFmpeg
        at org.jitsi.impl.neomedia.codec.audio.FFmpegAudioEncoder.assertFindAVCodec(FFmpegAudioEncoder.java:49)
        at org.jitsi.impl.neomedia.codec.audio.amrwb.JNIEncoder.<clinit>(JNIEncoder.java:35)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:264)
        at org.jitsi.impl.neomedia.codec.FMJPlugInConfiguration.registerCustomCodecs(FMJPlugInConfiguration.java:234)
        at org.jitsi.impl.neomedia.MediaServiceImpl.setupFMJ(MediaServiceImpl.java:1618)
        at org.jitsi.impl.neomedia.MediaServiceImpl.<clinit>(MediaServiceImpl.java:250)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:264)
        at org.jitsi.impl.libjitsi.LibJitsiImpl$ServiceLock.initializeService(LibJitsiImpl.java:173)
        at org.jitsi.impl.libjitsi.LibJitsiImpl$ServiceLock.getService(LibJitsiImpl.java:131)
        at org.jitsi.impl.libjitsi.LibJitsiImpl.getService(LibJitsiImpl.java:91)
        at org.jitsi.impl.libjitsi.LibJitsiOSGiImpl.getService(LibJitsiOSGiImpl.java:95)
        at org.jitsi.service.libjitsi.LibJitsi.invokeGetServiceOnImpl(LibJitsi.java:172)
        at org.jitsi.service.libjitsi.LibJitsi.getMediaService(LibJitsi.java:124)
        at org.jitsi.hammer.utils.MediaDeviceChooser.<init>(MediaDeviceChooser.java:84)
        at org.jitsi.hammer.utils.CmdLineArguments.getMediaDeviceChooser(CmdLineArguments.java:357)
        at org.jitsi.hammer.Main.main(Main.java:247)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:293)
        at java.lang.Thread.run(Thread.java:745)

org.jivesoftware.smack.SmackException$ConnectionException:
java.lang.StringIndexOutOfBoundsException: String index out of range:
0
        at org.jivesoftware.smack.bosh.XMPPBOSHConnection.connectInternal(XMPPBOSHConnection.java:186)
        at org.jivesoftware.smack.XMPPConnection.connect(XMPPConnection.java:396)
        at org.jitsi.hammer.FakeUser.start(FakeUser.java:286)
        at org.jitsi.hammer.Hammer.startUsersAnonymous(Hammer.java:447)
        at org.jitsi.hammer.Hammer.start(Hammer.java:373)
        at org.jitsi.hammer.Main.main(Main.java:281)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:293)
        at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.StringIndexOutOfBoundsException: String index out
of range: 0
        at java.lang.String.charAt(String.java:658)
        at org.jivesoftware.smack.bosh.BOSHConfiguration.getURI(BOSHConfiguration.java:113)
        at org.jivesoftware.smack.bosh.XMPPBOSHConnection.connectInternal(XMPPBOSHConnection.java:157)


#2

Hi!

Trying to launch jitsi-hammer, getting this:

It looks like it needs to have jnffmped library installing - but
having played a lot with ffmpeg, libav* stuff before this is the first
time i hear about it, and most mentions on the internet refer to
Jitsi.

Do you have any idea how do i build it to fix the problem?

The hammer doesn't need ffmpeg, the warning is harmless. The other warning, however, isn't. Can you share the command that you us to launch the hammer?

Boris

···

On 19/05/16 07:46, Mikhail Novikov wrote:

Thanks,

Mikhail

java.lang.UnsatisfiedLinkError: no jnffmpeg in java.library.path
         at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1867)
         at java.lang.Runtime.loadLibrary0(Runtime.java:870)
         at java.lang.System.loadLibrary(System.java:1122)
         at org.jitsi.util.JNIUtils.loadLibrary(JNIUtils.java:41)
         at org.jitsi.impl.neomedia.codec.FFmpeg.<clinit>(FFmpeg.java:228)
         at org.jitsi.impl.neomedia.codec.audio.FFmpegAudioEncoder.assertFindAVCodec(FFmpegAudioEncoder.java:49)
         at org.jitsi.impl.neomedia.codec.audio.mp3.JNIEncoder.<clinit>(JNIEncoder.java:64)
         at java.lang.Class.forName0(Native Method)
         at java.lang.Class.forName(Class.java:264)
         at org.jitsi.impl.neomedia.codec.FMJPlugInConfiguration.registerCustomCodecs(FMJPlugInConfiguration.java:234)
         at org.jitsi.impl.neomedia.MediaServiceImpl.setupFMJ(MediaServiceImpl.java:1618)
         at org.jitsi.impl.neomedia.MediaServiceImpl.<clinit>(MediaServiceImpl.java:250)
         at java.lang.Class.forName0(Native Method)
         at java.lang.Class.forName(Class.java:264)
         at org.jitsi.impl.libjitsi.LibJitsiImpl$ServiceLock.initializeService(LibJitsiImpl.java:173)
         at org.jitsi.impl.libjitsi.LibJitsiImpl$ServiceLock.getService(LibJitsiImpl.java:131)
         at org.jitsi.impl.libjitsi.LibJitsiImpl.getService(LibJitsiImpl.java:91)
         at org.jitsi.impl.libjitsi.LibJitsiOSGiImpl.getService(LibJitsiOSGiImpl.java:95)
         at org.jitsi.service.libjitsi.LibJitsi.invokeGetServiceOnImpl(LibJitsi.java:172)
         at org.jitsi.service.libjitsi.LibJitsi.getMediaService(LibJitsi.java:124)
         at org.jitsi.hammer.utils.MediaDeviceChooser.<init>(MediaDeviceChooser.java:84)
         at org.jitsi.hammer.utils.CmdLineArguments.getMediaDeviceChooser(CmdLineArguments.java:357)
         at org.jitsi.hammer.Main.main(Main.java:247)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
         at java.lang.reflect.Method.invoke(Method.java:498)
         at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:293)
         at java.lang.Thread.run(Thread.java:745)

May 19, 2016 12:32:34 PM org.jitsi.util.Logger warn
WARNING: Codec org.jitsi.impl.neomedia.codec.audio.amrwb.JNIDecoder is
NOT successfully registered
java.lang.NoClassDefFoundError: Could not initialize class
org.jitsi.impl.neomedia.codec.FFmpeg
         at org.jitsi.impl.neomedia.codec.audio.FFmpegAudioDecoder.assertFindAVCodec(FFmpegAudioDecoder.java:42)
         at org.jitsi.impl.neomedia.codec.audio.amrwb.JNIDecoder.<clinit>(JNIDecoder.java:34)
         at java.lang.Class.forName0(Native Method)
         at java.lang.Class.forName(Class.java:264)
         at org.jitsi.impl.neomedia.codec.FMJPlugInConfiguration.registerCustomCodecs(FMJPlugInConfiguration.java:234)
         at org.jitsi.impl.neomedia.MediaServiceImpl.setupFMJ(MediaServiceImpl.java:1618)
         at org.jitsi.impl.neomedia.MediaServiceImpl.<clinit>(MediaServiceImpl.java:250)
         at java.lang.Class.forName0(Native Method)
         at java.lang.Class.forName(Class.java:264)
         at org.jitsi.impl.libjitsi.LibJitsiImpl$ServiceLock.initializeService(LibJitsiImpl.java:173)
         at org.jitsi.impl.libjitsi.LibJitsiImpl$ServiceLock.getService(LibJitsiImpl.java:131)
         at org.jitsi.impl.libjitsi.LibJitsiImpl.getService(LibJitsiImpl.java:91)
         at org.jitsi.impl.libjitsi.LibJitsiOSGiImpl.getService(LibJitsiOSGiImpl.java:95)
         at org.jitsi.service.libjitsi.LibJitsi.invokeGetServiceOnImpl(LibJitsi.java:172)
         at org.jitsi.service.libjitsi.LibJitsi.getMediaService(LibJitsi.java:124)
         at org.jitsi.hammer.utils.MediaDeviceChooser.<init>(MediaDeviceChooser.java:84)
         at org.jitsi.hammer.utils.CmdLineArguments.getMediaDeviceChooser(CmdLineArguments.java:357)
         at org.jitsi.hammer.Main.main(Main.java:247)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
         at java.lang.reflect.Method.invoke(Method.java:498)
         at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:293)
         at java.lang.Thread.run(Thread.java:745)

May 19, 2016 12:32:34 PM org.jitsi.util.Logger warn
WARNING: Codec org.jitsi.impl.neomedia.codec.audio.amrwb.JNIEncoder is
NOT successfully registered
java.lang.NoClassDefFoundError: Could not initialize class
org.jitsi.impl.neomedia.codec.FFmpeg
         at org.jitsi.impl.neomedia.codec.audio.FFmpegAudioEncoder.assertFindAVCodec(FFmpegAudioEncoder.java:49)
         at org.jitsi.impl.neomedia.codec.audio.amrwb.JNIEncoder.<clinit>(JNIEncoder.java:35)
         at java.lang.Class.forName0(Native Method)
         at java.lang.Class.forName(Class.java:264)
         at org.jitsi.impl.neomedia.codec.FMJPlugInConfiguration.registerCustomCodecs(FMJPlugInConfiguration.java:234)
         at org.jitsi.impl.neomedia.MediaServiceImpl.setupFMJ(MediaServiceImpl.java:1618)
         at org.jitsi.impl.neomedia.MediaServiceImpl.<clinit>(MediaServiceImpl.java:250)
         at java.lang.Class.forName0(Native Method)
         at java.lang.Class.forName(Class.java:264)
         at org.jitsi.impl.libjitsi.LibJitsiImpl$ServiceLock.initializeService(LibJitsiImpl.java:173)
         at org.jitsi.impl.libjitsi.LibJitsiImpl$ServiceLock.getService(LibJitsiImpl.java:131)
         at org.jitsi.impl.libjitsi.LibJitsiImpl.getService(LibJitsiImpl.java:91)
         at org.jitsi.impl.libjitsi.LibJitsiOSGiImpl.getService(LibJitsiOSGiImpl.java:95)
         at org.jitsi.service.libjitsi.LibJitsi.invokeGetServiceOnImpl(LibJitsi.java:172)
         at org.jitsi.service.libjitsi.LibJitsi.getMediaService(LibJitsi.java:124)
         at org.jitsi.hammer.utils.MediaDeviceChooser.<init>(MediaDeviceChooser.java:84)
         at org.jitsi.hammer.utils.CmdLineArguments.getMediaDeviceChooser(CmdLineArguments.java:357)
         at org.jitsi.hammer.Main.main(Main.java:247)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
         at java.lang.reflect.Method.invoke(Method.java:498)
         at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:293)
         at java.lang.Thread.run(Thread.java:745)

org.jivesoftware.smack.SmackException$ConnectionException:
java.lang.StringIndexOutOfBoundsException: String index out of range:
0
         at org.jivesoftware.smack.bosh.XMPPBOSHConnection.connectInternal(XMPPBOSHConnection.java:186)
         at org.jivesoftware.smack.XMPPConnection.connect(XMPPConnection.java:396)
         at org.jitsi.hammer.FakeUser.start(FakeUser.java:286)
         at org.jitsi.hammer.Hammer.startUsersAnonymous(Hammer.java:447)
         at org.jitsi.hammer.Hammer.start(Hammer.java:373)
         at org.jitsi.hammer.Main.main(Main.java:281)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
         at java.lang.reflect.Method.invoke(Method.java:498)
         at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:293)
         at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.StringIndexOutOfBoundsException: String index out
of range: 0
         at java.lang.String.charAt(String.java:658)
         at org.jivesoftware.smack.bosh.BOSHConfiguration.getURI(BOSHConfiguration.java:113)
         at org.jivesoftware.smack.bosh.XMPPBOSHConnection.connectInternal(XMPPBOSHConnection.java:157)

_______________________________________________
dev mailing list
dev@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/dev


#3

Hi Boris!

Thanks for getting on that! Honestly i don't even remember how i
invoked Hammer, because not getting verified on the mailing list, i
just got this email a few hours ago, and before that, i set up load
testing the other way - running my Electron app in Xvfb inside Docker
containers - which seems to work just fine. I am facing another
problem though, on which i sent a separate post.

Mikhail

···

Trying to launch jitsi-hammer, getting this:

It looks like it needs to have jnffmped library installing - but
having played a lot with ffmpeg, libav* stuff before this is the first
time i hear about it, and most mentions on the internet refer to
Jitsi.

Do you have any idea how do i build it to fix the problem?

The hammer doesn't need ffmpeg, the warning is harmless. The other
warning, however, isn't. Can you share the command that you us to
launch the hammer?