Giter VIP home page Giter VIP logo

javacpp's People

Contributors

243826 avatar alexdblack avatar archenroot avatar ashleyj avatar egolearner avatar emergentorder avatar equeim avatar floybix avatar frankfliu avatar geekoffthestreet avatar georgekankava avatar hguillemet avatar hisener avatar huitseeker avatar iglaweb avatar jlleitschuh avatar johanvos avatar krzysg avatar lloydmeta avatar louiscad avatar louxiu avatar masterav10 avatar matteodg avatar osialr avatar saudet avatar theaoqi avatar timothyjward avatar tmm1 avatar vb216 avatar wabscale avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

javacpp's Issues

Add logging to the Loader process to allow debugging it

I try to use JavaCV in our project and it works fine for Windows and Android. But for the Jenkins CI (which runs in a Docker Image) the libraries are not found.
This problem is quite hard to track down as I do not have access to the CI infrastructure - and it this case it would be nice to just enable verbose logging for the Loader and get detailed information about what is tried and what goes wrong.

Are there specific reasons that there is no logging in the Loader at the moment?

JavaCPP export Library clone as C++ class files

Hello again.
Now i am doing C++ and Java Application.
I want C++ with Java Interop.
To do i use JavaCPP.

But the problem is , can javacpp export library clone as C++ also ?
so interop between java and C++ will be easier

Error with annotation

Hi,
I would like to create a file, named spider.java, from the spiderDll.h.

Here is the Content of spiderDll.h

#ifndef SPIDERDLL_H
#define SPIDERDLL_H
#ifdef SPIDERDLL_EXPORTS
#define SPIDERDLL_API __declspec(dllexport)
#else
#define SPIDERDLL_API __declspec(dllimport) 
#endif

#include <vector>
#include <string>
#include <QString>
namespace spider
{
    class  spiderDll
    {
    public:
        SPIDERDLL_API spiderDll();
        SPIDERDLL_API std::vector<double>         getVectorDouble();
        SPIDERDLL_API std::vector<double*>        getVectorPointerDouble();     
        SPIDERDLL_API int                         getInt();
    private:
        std::vector<double>         vd;
        std::vector<double*>        vpd;    
        int                         i;
    };
}
#endif // SPIDERDLL_H

The content of spider.java is below:

import org.bytedeco.javacpp.*;
import org.bytedeco.javacpp.annotation.*;

@Platform(include={"spiderDll.h", "<vector>"}, link="spiderDll")
@Namespace("spider")
public class spider {
    public static class spiderDll extends Pointer {
        static { 
            System.loadLibrary("jnispider");            
        }
        public spiderDll() { allocate(); }

        // define allocator
        private native void allocate();

        // Method we want to use
        public native int getInt();
        public native @Adapter("VectorAdapter<double>") DoublePointer getVectorDouble();  
        public native @Adapter("VectorAdapter<VectorAdapter<double>>") DoublePointerVector getVectorPointerDouble();        
    }
    @Name("std::vector<double*>")
    public static class DoublePointerVector extends DoublePointer {
        public DoublePointerVector() {
            allocate();
        }

        public DoublePointerVector(long n) {
            allocate(n);
        }

        // this = (vector<double*>*)p
        public DoublePointerVector(DoublePointer p) {
            super(p);
        } 

        // this = new std::vector<double*>()
        private native void allocate(); 

        // this = new std::vector<double*>(n)
        private native void allocate(long n); 

        @Name("operator=")
        public native @ByRef DoublePointerVector copy(@ByRef DoublePointerVector x);
        public native long size();
        public native @Cast("bool") boolean empty();
        @Name("operator[]")
        public native @ByRef PointerPointer get(long n);
        public native @ByRef PointerPointer at(long n);
    }   

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        spiderDll dllInstance = new spiderDll();        
        System.out.println("spiderDll.dll is successfully loading!!");
        System.out.println("getInt() = " + dllInstance.getInt());
        System.out.println("getVectorDouble() = " + dllInstance.getVectorDouble());
    }
}

There is no problem with the method getVectorDouble(). However,
when i try to map with the method getVectorPointerDouble(), by creating a new class DoublePointerVector extends DoublePointer, I got error like this:

D:\LIEM\SPIDER\DLL Intergration\SpiderDll_woQStr>java -jar javacpp.jar -d . -Xco
mpiler -L. spider
Generating .\jnispider.cpp
Compiling .\jnispider.dll
cl "/IC:\Program Files\Java\jdk1.8.0_45\include" "/IC:\Program Files\Java\jdk1.8
.0_45\include\win32" .\jnispider.cpp -L. /W3 /Oi /O2 /EHsc /Gy /GL /MD /LD /link
 /OUT:.\jnispider.dll spiderDll.lib
Microsoft (R) C/C++ Optimizing Compiler Version 18.00.31101 for x64
Copyright (C) Microsoft Corporation.  All rights reserved.

cl : Command line warning D9002 : ignoring unknown option '-L.'
jnispider.cpp
.\jnispider.cpp(206) : warning C4996: 'strcpy': This function or variable may be
 unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECUR
E_NO_WARNINGS. See online help for details.
        C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\string.h(
112) : see declaration of 'strcpy'
.\jnispider.cpp(208) : warning C4996: 'strncpy': This function or variable may b
e unsafe. Consider using strncpy_s instead. To disable deprecation, use _CRT_SEC
URE_NO_WARNINGS. See online help for details.
        C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\string.h(
195) : see declaration of 'strncpy'
.\jnispider.cpp(284) : warning C4996: 'strdup': The POSIX name for this item is
deprecated. Instead, use the ISO C++ conformant name: _strdup. See online help f
or details.
        C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\string.h(
245) : see declaration of 'strdup'
.\jnispider.cpp(335) : error C3083: 'std': the symbol to the left of a '::' must
 be a type
.\jnispider.cpp(335) : error C2039: 'vector' : is not a member of 'spider'
.\jnispider.cpp(335) : error C2065: 'vector' : undeclared identifier
.\jnispider.cpp(335) : error C2062: type 'double' unexpected
.\jnispider.cpp(401) : error C3083: 'std': the symbol to the left of a '::' must
 be a type
.\jnispider.cpp(401) : error C2039: 'vector' : is not a member of 'spider'
.\jnispider.cpp(401) : error C2065: 'vector' : undeclared identifier
.\jnispider.cpp(401) : error C2062: type 'double' unexpected
.\jnispider.cpp(401) : error C2143: syntax error : missing ';' before '}'
.\jnispider.cpp(401) : error C2059: syntax error : ','
.\jnispider.cpp(402) : error C2143: syntax error : missing ';' before '{'
.\jnispider.cpp(402) : error C2447: '{' : missing function header (old-style for
mal list?)
.\jnispider.cpp(404) : error C2065: 'env' : undeclared identifier
.\jnispider.cpp(405) : error C2059: syntax error : 'if'
.\jnispider.cpp(405) : error C2143: syntax error : missing ';' before '{'
.\jnispider.cpp(405) : error C2447: '{' : missing function header (old-style for
mal list?)
.\jnispider.cpp(408) : error C2059: syntax error : 'for'
.\jnispider.cpp(408) : error C2143: syntax error : missing ')' before ';'
.\jnispider.cpp(408) : error C2143: syntax error : missing ';' before '<'
.\jnispider.cpp(408) : error C4430: missing type specifier - int assumed. Note:
C++ does not support default-int
.\jnispider.cpp(408) : error C2143: syntax error : missing ';' before '++'
....

I think the problem is the annotation. I don't really understand the meaning of them.
Do you have a tutorial of annotation?
And do you know what are the correct solution for this mapping?

Thanks for your support.

Thanh Liem.

Default constructor generated twice

Here is a C++ snipped:

class GCBASE_API gcstring_vector
{
// Nested types
// ---------------------------------------------------------------------------
public:
  class GCBASE_API const_iterator {...};

  class GCBASE_API iterator {...};

// Ctor / Dtor
// ---------------------------------------------------------------------------
public:
                            gcstring_vector   ( void );
  explicit                  gcstring_vector   ( size_t uiSize, const gcstring &str = gcstring() );
                            gcstring_vector   ( const gcstring_vector &obj);
  virtual                   ~gcstring_vector  ( void );
...
}

it results in default constructor generated twice. One empty one with call to allocate:

  @Namespace("GenICam") @NoOffset public static class gcstring_vector extends Pointer {
      static { Loader.load(); }
      /** Empty constructor. */
      public gcstring_vector() { }
      /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
      public gcstring_vector(Pointer p) { super(p); }

    @NoOffset public static class const_iterator extends Pointer { ... }

    public static class iterator extends const_iterator { ... }

                              public gcstring_vector( ) { allocate(); }
...
    }

It was using JavaCPP v.1 (build from 2015-08-12, SHA 5d374eb. Can post full project if needed.

Compatabilty for Mat (opencv) and Mat (javacv)

I am building an Android app utilizing 2 parts.

takes videos from camera and processes them.
takes stored videos and analyses them frame by frame.
I had already built part 1. of the app with opencv. It was later that I realised that opencv does not support stored video processing. I found your library made use of the Framegrabber to grab all frames, the couldn't process them with the same code that i used for direct cam video (opencv). Hence I rewrote the code in javacv which works amazingly well. So, thanks a lot for that.

THE PROBLEM. there is a part of the code - delaunay triangulation which is written in native ndk with opencv. I have a list of points which i convert to mat and send them into ndk. process them . get a Mat as output and convert it into list of points again..

I cannot, by my understanding, use javacv in a similar fashion as its Mat object not a native object. Also weirdly when I did find a work around to it. I realise that I cannot create opencv Mat objects when I use javacv in the app. I get an unsatisfied linker error for the opencv Mat, which has no errors and works when there are no javacv objects in activity/app.

Is there any way I can avoid re-writing the code? Can I use opencv Mat when I use javacv in the app, if so would you know why I receive a unsatisfied linker error and is there a way to avoid it? Or is there a way to push javacv Mat into ndk in a similar fashion as opencv (referencing its native address) and avoid reconstructing the Mat object in ndk.

Loader.load() crash on Nexus S

We have a class very similar to this. Notice the static {Loader.load()} on line 224. It crashes here on Nexus S.

We have plenty of other devices for testing in our team, and bot Nexus Ss do it. One is running CM11 ROM (latest nightly) and other some other ROM bases on AOSP. So both are on Android 4.x and both crashes. I even tried changing runtime between Dalvik and ART and it always crashes. All other devices works fine.

Here is crash log with Dalvik:

D/dalvikvm(13538): No JNI_OnLoad found in /system/lib/libc.so 0x41bedc98, skipping init
D/dalvikvm(13538): No JNI_OnLoad found in /system/lib/libm.so 0x41bedc98, skipping init
D/dalvikvm(13538): No JNI_OnLoad found in /system/lib/libz.so 0x41bedc98, skipping init
D/dalvikvm(13538): No JNI_OnLoad found in /system/lib/libdl.so 0x41bedc98, skipping init
D/dalvikvm(13538): No JNI_OnLoad found in /system/lib/liblog.so 0x41bedc98, skipping init
D/dalvikvm(13538): Trying to load lib /data/app-lib/cz.master.annie-1/libjnispeex.so 0x41bedc98
D/dalvikvm(13538): Added shared lib /data/app-lib/cz.master.annie-1/libjnispeex.so 0x41bedc98
E/javacpp (13538): Error loading class org/bytedeco/javacpp/Pointer.
W/dalvikvm(13538): Exception Ljava/lang/ClassNotFoundException; thrown while initializing Lcz/master/annie/audio/javacpp/Speex;
W/dalvikvm(13538): threadid=16: thread exiting with uncaught exception (group=0x41746ce0)
E/AndroidRuntime(13538): FATAL EXCEPTION: Thread-221
E/AndroidRuntime(13538): Process: cz.master.annie, PID: 13538
E/AndroidRuntime(13538): java.lang.ExceptionInInitializerError
E/AndroidRuntime(13538):    at cz.master.annie.audio.javacpp.Speex$SpeexResampler.<init>(Speex.java:434)
E/AndroidRuntime(13538):    at cz.master.annie.audio.processing.RecorderEncoder.<init>(RecorderEncoder.java:52)
E/AndroidRuntime(13538):    at cz.master.annie.audio.processing.RecorderEncoder.getInstance(RecorderEncoder.java:60)
E/AndroidRuntime(13538):    at cz.master.annie.audio.LolAudio.setRole(LolAudio.java:70)
E/AndroidRuntime(13538):    at cz.master.annie.app.AppController.globalInitializerFinished(AppController.java:121)
E/AndroidRuntime(13538):    at cz.master.annie.app.init.GlobalInitializerThread.run(GlobalInitializerThread.java:37)
E/AndroidRuntime(13538): Caused by: java.lang.ClassNotFoundException: cz.master.annie.audio.javacpp.Speex$SpeexBits
E/AndroidRuntime(13538):    at java.lang.Class.classForName(Native Method)
E/AndroidRuntime(13538):    at java.lang.Class.forName(Class.java:251)
E/AndroidRuntime(13538):    at org.bytedeco.javacpp.Loader.putMemberOffset(Loader.java:640)
E/AndroidRuntime(13538):    at java.lang.Runtime.nativeLoad(Native Method)
E/AndroidRuntime(13538):    at java.lang.Runtime.nativeLoad(Native Method)
E/AndroidRuntime(13538):    at java.lang.Runtime.doLoad(Runtime.java:421)
E/AndroidRuntime(13538):    at java.lang.Runtime.loadLibrary(Runtime.java:362)
E/AndroidRuntime(13538):    at java.lang.System.loadLibrary(System.java:526)
E/AndroidRuntime(13538):    at org.bytedeco.javacpp.Loader.loadLibrary(Loader.java:550)
E/AndroidRuntime(13538):    at org.bytedeco.javacpp.Loader.load(Loader.java:415)
E/AndroidRuntime(13538):    at org.bytedeco.javacpp.Loader.load(Loader.java:358)
E/AndroidRuntime(13538):    at cz.master.annie.audio.javacpp.Speex.<clinit>(Speex.java:223)
E/AndroidRuntime(13538):    ... 6 more
E/AndroidRuntime(13538): Caused by: java.lang.NoClassDefFoundError: cz/master/annie/audio/javacpp/Speex$SpeexBits
E/AndroidRuntime(13538):    ... 18 more
E/AndroidRuntime(13538): Caused by: java.lang.ClassNotFoundException: Didn't find class "cz.master.annie.audio.javacpp.Speex$SpeexBits" on path: DexPathList[[zip file "/data/app/cz.master.annie-1.apk"],nativeLibraryDirectories=[/data/app-lib/cz.master.annie-1, /vendor/lib, /system/lib]]
E/AndroidRuntime(13538):    at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
E/AndroidRuntime(13538):    at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
E/AndroidRuntime(13538):    at java.lang.ClassLoader.loadClass(ClassLoader.java:457)
E/AndroidRuntime(13538):    ... 18 more

Crash log with ART:

F/art     ( 2121): art/runtime/check_jni.cc:64] JNI DETECTED ERROR IN APPLICATION: JNI FindClass called with pending exception 'java.lang.ClassNotFoundException' thrown in unknown throw location
F/art     ( 2121): art/runtime/check_jni.cc:64]     in call to FindClass
F/art     ( 2121): art/runtime/check_jni.cc:64]     from java.lang.String java.lang.Runtime.nativeLoad(java.lang.String, java.lang.ClassLoader, java.lang.String)
F/art     ( 2121): art/runtime/check_jni.cc:64] "Thread-285" prio=5 tid=15 Runnable
F/art     ( 2121): art/runtime/check_jni.cc:64]   | group="main" sCount=0 dsCount=0 obj=0x65048490 self=0x439082f0
F/art     ( 2121): art/runtime/check_jni.cc:64]   | sysTid=2175 nice=0 cgrp=apps sched=0/0 handle=0x43908570
F/art     ( 2121): art/runtime/check_jni.cc:64]   | state=R schedstat=( 0 0 0 ) utm=44 stm=33 core=0 HZ=100
F/art     ( 2121): art/runtime/check_jni.cc:64]   | stack=0x49e44000-0x49e48000 stackSize=1040KB
F/art     ( 2121): art/runtime/check_jni.cc:64]   native: art::Thread::DumpStack(std::ostream&) const+87 [0x419a7f68] (libart.so)
F/art     ( 2121): art/runtime/check_jni.cc:64]   native: ??? [0x418598ee] (libart.so)
F/art     ( 2121): art/runtime/check_jni.cc:64]   native: art::JniAbortF(char const*, char const*, ...)+51 [0x4185a264] (libart.so)
F/art     ( 2121): art/runtime/check_jni.cc:64]   native: ??? [0x4185c0ec] (libart.so)
F/art     ( 2121): art/runtime/check_jni.cc:64]   native: ??? [0x4185c352] (libart.so)
F/art     ( 2121): art/runtime/check_jni.cc:64]   native: ??? [0x4185e4e2] (libart.so)
F/art     ( 2121): art/runtime/check_jni.cc:64]   native: ??? [0x43dd7912] (libjnispeex.so)
F/art     ( 2121): art/runtime/check_jni.cc:64]   native: ??? [0x43dd7b3c] (libjnispeex.so)
F/art     ( 2121): art/runtime/check_jni.cc:64]   native: JNI_OnLoad+369 [0x43dd7d02] (libjnispeex.so)
F/art     ( 2121): art/runtime/check_jni.cc:64]   native: art::JavaVMExt::LoadNativeLibrary(std::string const&, art::mirror::ClassLoader*, std::string&)+1145 [0x41964b5a] (libart.so)
F/art     ( 2121): art/runtime/check_jni.cc:64]   native: ??? [0x419812d2] (libart.so)
F/art     ( 2121): art/runtime/check_jni.cc:64]   at java.lang.Runtime.nativeLoad(Native method)
F/art     ( 2121): art/runtime/check_jni.cc:64]   at java.lang.Runtime.doLoad(Runtime.java:421)
F/art     ( 2121): art/runtime/check_jni.cc:64]   - locked <0x649e12d8> (a java.lang.Runtime)
F/art     ( 2121): art/runtime/check_jni.cc:64]   at java.lang.Runtime.loadLibrary(Runtime.java:362)
F/art     ( 2121): art/runtime/check_jni.cc:64]   at java.lang.System.loadLibrary(System.java:526)
F/art     ( 2121): art/runtime/check_jni.cc:64]   at org.bytedeco.javacpp.Loader.loadLibrary(Loader.java:550)
F/art     ( 2121): art/runtime/check_jni.cc:64]   at org.bytedeco.javacpp.Loader.load(Loader.java:415)
F/art     ( 2121): art/runtime/check_jni.cc:64]   at org.bytedeco.javacpp.Loader.load(Loader.java:358)
F/art     ( 2121): art/runtime/check_jni.cc:64]   at cz.master.annie.audio.javacpp.Speex.<clinit>(Speex.java:223)
F/art     ( 2121): art/runtime/check_jni.cc:64]   - locked <0x65100ed0> (a java.lang.Class<cz.master.annie.audio.javacpp.Speex>)
F/art     ( 2121): art/runtime/check_jni.cc:64]   at cz.master.annie.audio.javacpp.Speex$SpeexResampler.<init>(Speex.java:434)
F/art     ( 2121): art/runtime/check_jni.cc:64]   at cz.master.annie.audio.processing.RecorderEncoder.<init>(RecorderEncoder.java:52)
F/art     ( 2121): art/runtime/check_jni.cc:64]   at cz.master.annie.audio.processing.RecorderEncoder.getInstance(RecorderEncoder.java:60)
F/art     ( 2121): art/runtime/check_jni.cc:64]   at cz.master.annie.audio.LolAudio.setRole(LolAudio.java:70)
F/art     ( 2121): art/runtime/check_jni.cc:64]   at cz.master.annie.app.AppController.globalInitializerFinished(AppController.java:121)
F/art     ( 2121): art/runtime/check_jni.cc:64]   at cz.master.annie.app.init.GlobalInitializerThread.run(GlobalInitializerThread.java:37)
F/art     ( 2121): art/runtime/check_jni.cc:64] 
I/art     ( 2121): GcCauseBackground sticky partial concurrent mark sweep GC freed 1679(116KB) AllocSpace objects, 0(0B) LOS objects, 14% free, 18MB/21MB, paused 37.692ms total 162.994ms
I/art     ( 2121): GcCauseBackground partial concurrent mark sweep GC freed 263(17KB) AllocSpace objects, 0(0B) LOS objects, 13% free, 19MB/22MB, paused 17.003ms total 138.685ms
I/art     ( 2121): GcCauseBackground sticky partial concurrent mark sweep GC freed 315(31KB) AllocSpace objects, 2(32KB) LOS objects, 12% free, 21MB/24MB, paused 8.349ms total 164.180ms
F/art     ( 2121): art/runtime/runtime.cc:203] Runtime aborting...
F/art     ( 2121): art/runtime/runtime.cc:203] Aborting thread:
F/art     ( 2121): art/runtime/runtime.cc:203] "Thread-285" prio=5 tid=15 Runnable
F/art     ( 2121): art/runtime/runtime.cc:203]   | group="main" sCount=0 dsCount=0 obj=0x65048490 self=0x439082f0
F/art     ( 2121): art/runtime/runtime.cc:203]   | sysTid=2175 nice=0 cgrp=apps sched=0/0 handle=0x43908570
F/art     ( 2121): art/runtime/runtime.cc:203]   | state=R schedstat=( 0 0 0 ) utm=48 stm=33 core=0 HZ=100
F/art     ( 2121): art/runtime/runtime.cc:203]   | stack=0x49e44000-0x49e48000 stackSize=1040KB
F/art     ( 2121): art/runtime/runtime.cc:203]   native: art::Thread::DumpStack(std::ostream&) const+87 [0x419a7f68] (libart.so)
F/art     ( 2121): art/runtime/runtime.cc:203]   native: ??? [0x419a020c] (libart.so)
F/art     ( 2121): art/runtime/runtime.cc:203]   native: art::Runtime::Abort()+79 [0x419a077c] (libart.so)
F/art     ( 2121): art/runtime/runtime.cc:203]   native: art::LogMessage::~LogMessage()+505 [0x41851a4a] (libart.so)
F/art     ( 2121): art/runtime/runtime.cc:203]   native: ??? [0x41859b08] (libart.so)
F/art     ( 2121): art/runtime/runtime.cc:203]   native: art::JniAbortF(char const*, char const*, ...)+51 [0x4185a264] (libart.so)
F/art     ( 2121): art/runtime/runtime.cc:203]   native: ??? [0x4185c0ec] (libart.so)
F/art     ( 2121): art/runtime/runtime.cc:203]   native: ??? [0x4185c352] (libart.so)
F/art     ( 2121): art/runtime/runtime.cc:203]   native: ??? [0x4185e4e2] (libart.so)
F/art     ( 2121): art/runtime/runtime.cc:203]   native: ??? [0x43dd7912] (libjnispeex.so)
F/art     ( 2121): art/runtime/runtime.cc:203]   native: ??? [0x43dd7b3c] (libjnispeex.so)
F/art     ( 2121): art/runtime/runtime.cc:203]   native: JNI_OnLoad+369 [0x43dd7d02] (libjnispeex.so)
F/art     ( 2121): art/runtime/runtime.cc:203]   native: art::JavaVMExt::LoadNativeLibrary(std::string const&, art::mirror::ClassLoader*, std::string&)+1145 [0x41964b5a] (libart.so)
F/art     ( 2121): art/runtime/runtime.cc:203]   native: ??? [0x419812d2] (libart.so)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.lang.Runtime.nativeLoad(Native method)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.lang.Runtime.doLoad(Runtime.java:421)
F/art     ( 2121): art/runtime/runtime.cc:203]   - locked <0x649e12d8> (a java.lang.Runtime)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.lang.Runtime.loadLibrary(Runtime.java:362)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.lang.System.loadLibrary(System.java:526)
F/art     ( 2121): art/runtime/runtime.cc:203]   at org.bytedeco.javacpp.Loader.loadLibrary(Loader.java:550)
F/art     ( 2121): art/runtime/runtime.cc:203]   at org.bytedeco.javacpp.Loader.load(Loader.java:415)
F/art     ( 2121): art/runtime/runtime.cc:203]   at org.bytedeco.javacpp.Loader.load(Loader.java:358)
F/art     ( 2121): art/runtime/runtime.cc:203]   at cz.master.annie.audio.javacpp.Speex.<clinit>(Speex.java:223)
F/art     ( 2121): art/runtime/runtime.cc:203]   - locked <0x65100ed0> (a java.lang.Class<cz.master.annie.audio.javacpp.Speex>)
F/art     ( 2121): art/runtime/runtime.cc:203]   at cz.master.annie.audio.javacpp.Speex$SpeexResampler.<init>(Speex.java:434)
F/art     ( 2121): art/runtime/runtime.cc:203]   at cz.master.annie.audio.processing.RecorderEncoder.<init>(RecorderEncoder.java:52)
F/art     ( 2121): art/runtime/runtime.cc:203]   at cz.master.annie.audio.processing.RecorderEncoder.getInstance(RecorderEncoder.java:60)
F/art     ( 2121): art/runtime/runtime.cc:203]   at cz.master.annie.audio.LolAudio.setRole(LolAudio.java:70)
F/art     ( 2121): art/runtime/runtime.cc:203]   at cz.master.annie.app.AppController.globalInitializerFinished(AppController.java:121)
F/art     ( 2121): art/runtime/runtime.cc:203]   at cz.master.annie.app.init.GlobalInitializerThread.run(GlobalInitializerThread.java:37)
F/art     ( 2121): art/runtime/runtime.cc:203] Pending exception java.lang.ClassNotFoundException thrown by 'unknown throw location'
F/art     ( 2121): art/runtime/runtime.cc:203] java.lang.ClassNotFoundException: cz.master.annie.audio.javacpp.Speex$SpeexBits
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.lang.Class java.lang.Class.classForName(java.lang.String, boolean, java.lang.ClassLoader) (Class.java:-2)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.lang.Class java.lang.Class.forName(java.lang.String, boolean, java.lang.ClassLoader) (Class.java:305)
F/art     ( 2121): art/runtime/runtime.cc:203]   at void org.bytedeco.javacpp.Loader.putMemberOffset(java.lang.String, java.lang.String, int) (Loader.java:640)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.lang.String java.lang.Runtime.nativeLoad(java.lang.String, java.lang.ClassLoader, java.lang.String) (Runtime.java:-2)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.lang.String java.lang.Runtime.doLoad(java.lang.String, java.lang.ClassLoader) (Runtime.java:421)
F/art     ( 2121): art/runtime/runtime.cc:203]   at void java.lang.Runtime.loadLibrary(java.lang.String, java.lang.ClassLoader) (Runtime.java:362)
F/art     ( 2121): art/runtime/runtime.cc:203]   at void java.lang.System.loadLibrary(java.lang.String) (System.java:526)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.lang.String org.bytedeco.javacpp.Loader.loadLibrary(java.net.URL[], java.lang.String) (Loader.java:550)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.lang.String org.bytedeco.javacpp.Loader.load(java.lang.Class) (Loader.java:415)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.lang.String org.bytedeco.javacpp.Loader.load() (Loader.java:358)
F/art     ( 2121): art/runtime/runtime.cc:203]   at void cz.master.annie.audio.javacpp.Speex.<clinit>() (Speex.java:223)
F/art     ( 2121): art/runtime/runtime.cc:203]   at void cz.master.annie.audio.javacpp.Speex$SpeexResampler.<init>(int, int, int, int) (Speex.java:434)
F/art     ( 2121): art/runtime/runtime.cc:203]   at void cz.master.annie.audio.processing.RecorderEncoder.<init>() (RecorderEncoder.java:52)
F/art     ( 2121): art/runtime/runtime.cc:203]   at cz.master.annie.audio.processing.RecorderEncoder cz.master.annie.audio.processing.RecorderEncoder.getInstance() (RecorderEncoder.java:60)
F/art     ( 2121): art/runtime/runtime.cc:203]   at void cz.master.annie.audio.LolAudio.setRole(byte) (LolAudio.java:70)
F/art     ( 2121): art/runtime/runtime.cc:203]   at void cz.master.annie.app.AppController.globalInitializerFinished(cz.master.annie.app.init.GlobalInitializationState, java.lang.String) (AppController.java:121)
F/art     ( 2121): art/runtime/runtime.cc:203]   at void cz.master.annie.app.init.GlobalInitializerThread.run() (GlobalInitializerThread.java:37)
F/art     ( 2121): art/runtime/runtime.cc:203] Dumping all threads without appropriate locks held: thread list lock mutator lock
F/art     ( 2121): art/runtime/runtime.cc:203] All threads:
F/art     ( 2121): art/runtime/runtime.cc:203] DALVIK THREADS (16):
F/art     ( 2121): art/runtime/runtime.cc:203] "main" prio=5 tid=1 Native
F/art     ( 2121): art/runtime/runtime.cc:203]   | group="main" sCount=0 dsCount=0 obj=0x649e4b50 self=0x415ccb58
F/art     ( 2121): art/runtime/runtime.cc:203]   | sysTid=2121 nice=0 cgrp=apps sched=0/0 handle=0x40103154
F/art     ( 2121): art/runtime/runtime.cc:203]   | state=R schedstat=( 0 0 0 ) utm=155 stm=20 core=0 HZ=100
F/art     ( 2121): art/runtime/runtime.cc:203]   | stack=0xbe056000-0xbe05a000 stackSize=8MB
F/art     ( 2121): art/runtime/runtime.cc:203]   kernel: ret_slow_syscall+0x0/0x4
F/art     ( 2121): art/runtime/runtime.cc:203]   native: SkScaledBitmapSampler::next(unsigned char const*)+30 [0x405998a7] (libskia.so)
F/art     ( 2121): art/runtime/runtime.cc:203]   native: SkPNGImageDecoder::onDecode(SkStream*, SkBitmap*, SkImageDecoder::Mode)+582 [0x40596f5f] (libskia.so)
F/art     ( 2121): art/runtime/runtime.cc:203]   native: SkImageDecoder::decode(SkStream*, SkBitmap*, SkBitmap::Config, SkImageDecoder::Mode)+36 [0x40592efd] (libskia.so)
F/art     ( 2121): art/runtime/runtime.cc:203]   native: ??? [0x402d3539] (libandroid_runtime.so)
F/art     ( 2121): art/runtime/runtime.cc:203]   native: ??? [0x402d3693] (libandroid_runtime.so)
F/art     ( 2121): art/runtime/runtime.cc:203]   native: oatexec+13909260 [0x6327cd0c] (system@[email protected])
F/art     ( 2121): art/runtime/runtime.cc:203]   at android.graphics.BitmapFactory.nativeDecodeAsset(Native method)
F/art     ( 2121): art/runtime/runtime.cc:203]   at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:594)
F/art     ( 2121): art/runtime/runtime.cc:203]   at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:429)
F/art     ( 2121): art/runtime/runtime.cc:203]   at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:840)
F/art     ( 2121): art/runtime/runtime.cc:203]   at android.content.res.Resources.loadDrawable(Resources.java:2249)
F/art     ( 2121): art/runtime/runtime.cc:203]   at android.content.res.Resources.getDrawable(Resources.java:733)
F/art     ( 2121): art/runtime/runtime.cc:203]   at android.content.res.Resources.getDrawable(Resources.java:711)
F/art     ( 2121): art/runtime/runtime.cc:203]   at android.graphics.drawable.AnimationDrawable.inflate(AnimationDrawable.java:282)
F/art     ( 2121): art/runtime/runtime.cc:203]   at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:937)
F/art     ( 2121): art/runtime/runtime.cc:203]   at android.graphics.drawable.Drawable.createFromXml(Drawable.java:877)
F/art     ( 2121): art/runtime/runtime.cc:203]   at android.content.res.Resources.loadDrawable(Resources.java:2231)
F/art     ( 2121): art/runtime/runtime.cc:203]   at android.content.res.TypedArray.getDrawable(TypedArray.java:602)
F/art     ( 2121): art/runtime/runtime.cc:203]   at android.widget.ProgressBar.<init>(ProgressBar.java:294)
F/art     ( 2121): art/runtime/runtime.cc:203]   at android.widget.ProgressBar.<init>(ProgressBar.java:246)
F/art     ( 2121): art/runtime/runtime.cc:203]   at android.widget.ProgressBar.<init>(ProgressBar.java:242)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.lang.reflect.Constructor.newInstance(Native method)
F/art     ( 2121): art/runtime/runtime.cc:203]   at android.view.LayoutInflater.createView(LayoutInflater.java:594)
F/art     ( 2121): art/runtime/runtime.cc:203]   at uk.co.chrisjenx.calligraphy.CalligraphyLayoutInflater.onCreateView(CalligraphyLayoutInflater.java:164)
F/art     ( 2121): art/runtime/runtime.cc:203]   at android.view.LayoutInflater.onCreateView(LayoutInflater.java:669)
F/art     ( 2121): art/runtime/runtime.cc:203]   at uk.co.chrisjenx.calligraphy.CalligraphyLayoutInflater.onCreateView(CalligraphyLayoutInflater.java:148)
F/art     ( 2121): art/runtime/runtime.cc:203]   at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:694)
F/art     ( 2121): art/runtime/runtime.cc:203]   at android.view.LayoutInflater.rInflate(LayoutInflater.java:755)
F/art     ( 2121): art/runtime/runtime.cc:203]   at android.view.LayoutInflater.rInflate(LayoutInflater.java:758)
F/art     ( 2121): art/runtime/runtime.cc:203]   at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
F/art     ( 2121): art/runtime/runtime.cc:203]   - locked <0x64dcf970> (a java.lang.Object[])
F/art     ( 2121): art/runtime/runtime.cc:203]   at uk.co.chrisjenx.calligraphy.CalligraphyLayoutInflater.inflate(CalligraphyLayoutInflater.java:60)
F/art     ( 2121): art/runtime/runtime.cc:203]   at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
F/art     ( 2121): art/runtime/runtime.cc:203]   at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
F/art     ( 2121): art/runtime/runtime.cc:203]   at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:257)
F/art     ( 2121): art/runtime/runtime.cc:203]   at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:109)
F/art     ( 2121): art/runtime/runtime.cc:203]   at cz.master.annie.ui.landingpage.ActivityMain.onCreate(ActivityMain.java:72)
F/art     ( 2121): art/runtime/runtime.cc:203]   at android.app.Activity.performCreate(Activity.java:5231)
F/art     ( 2121): art/runtime/runtime.cc:203]   at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
F/art     ( 2121): art/runtime/runtime.cc:203]   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2169)
F/art     ( 2121): art/runtime/runtime.cc:203]   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2271)
F/art     ( 2121): art/runtime/runtime.cc:203]   at android.app.ActivityThread.access$800(ActivityThread.java:144)
F/art     ( 2121): art/runtime/runtime.cc:203]   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1205)
F/art     ( 2121): art/runtime/runtime.cc:203]   at android.os.Handler.dispatchMessage(Handler.java:102)
F/art     ( 2121): art/runtime/runtime.cc:203]   at android.os.Looper.loop(Looper.java:136)
F/art     ( 2121): art/runtime/runtime.cc:203]   at android.app.ActivityThread.main(ActivityThread.java:5146)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.lang.reflect.Method.invoke(Native method)
F/art     ( 2121): art/runtime/runtime.cc:203]   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:732)
F/art     ( 2121): art/runtime/runtime.cc:203]   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:566)
F/art     ( 2121): art/runtime/runtime.cc:203] 
F/art     ( 2121): art/runtime/runtime.cc:203] "Signal Catcher" daemon prio=5 tid=2 WaitingInMainSignalCatcherLoop
F/art     ( 2121): art/runtime/runtime.cc:203]   | group="system" sCount=0 dsCount=0 obj=0x64ccc8d8 self=0x417a9008
F/art     ( 2121): art/runtime/runtime.cc:203]   | sysTid=2127 nice=0 cgrp=apps sched=0/0 handle=0x43dbc008
F/art     ( 2121): art/runtime/runtime.cc:203]   | state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
F/art     ( 2121): art/runtime/runtime.cc:203]   | stack=0x43b17000-0x43b1b000 stackSize=1016KB
F/art     ( 2121): art/runtime/runtime.cc:203]   kernel: do_sigtimedwait+0x180/0x1e4
F/art     ( 2121): art/runtime/runtime.cc:203]   kernel: sys_rt_sigtimedwait+0xa8/0x110
F/art     ( 2121): art/runtime/runtime.cc:203]   kernel: ret_fast_syscall+0x0/0x30
F/art     ( 2121): art/runtime/runtime.cc:203]   native: ??? [0x419a4193] (libart.so)
F/art     ( 2121): art/runtime/runtime.cc:203]   native: art::SignalCatcher::WaitForSignal(art::Thread*, art::SignalSet&)+46 [0x419a44fb] (libart.so)
F/art     ( 2121): art/runtime/runtime.cc:203]   native: art::SignalCatcher::Run(void*)+176 [0x419a59f1] (libart.so)
F/art     ( 2121): art/runtime/runtime.cc:203]   native: __thread_entry+72 [0x4015b280] (libc.so)
F/art     ( 2121): art/runtime/runtime.cc:203]   native: pthread_create+240 [0x4015b418] (libc.so)
F/art     ( 2121): art/runtime/runtime.cc:203]   (no managed stack frames)
F/art     ( 2121): art/runtime/runtime.cc:203] 
F/art     ( 2121): art/runtime/runtime.cc:203] "JDWP" daemon prio=5 tid=3 WaitingInMainDebuggerLoop
F/art     ( 2121): art/runtime/runtime.cc:203]   | group="system" sCount=0 dsCount=0 obj=0x64ccc988 self=0x400bb2d0
F/art     ( 2121): art/runtime/runtime.cc:203]   | sysTid=2128 nice=0 cgrp=apps sched=0/0 handle=0x400b2188
F/art     ( 2121): art/runtime/runtime.cc:203]   | state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
F/art     ( 2121): art/runtime/runtime.cc:203]   | stack=0x43c61000-0x43c65000 stackSize=1016KB
F/art     ( 2121): art/runtime/runtime.cc:203]   kernel: poll_schedule_timeout+0x40/0x5c
F/art     ( 2121): art/runtime/runtime.cc:203]   kernel: do_select+0x4e0/0x5b0
F/art     ( 2121): art/runtime/runtime.cc:203]   kernel: core_sys_select+0x140/0x340
F/art     ( 2121): art/runtime/runtime.cc:203]   kernel: sys_select+0xcc/0x114
F/art     ( 2121): art/runtime/runtime.cc:203]   kernel: ret_fast_syscall+0x0/0x30
F/art     ( 2121): art/runtime/runtime.cc:203]   native: art::JDWP::JdwpState::Run()+378 [0x418f96d3] (libart.so)
F/art     ( 2121): art/runtime/runtime.cc:203]   native: ??? [0x418fa8f3] (libart.so)
F/art     ( 2121): art/runtime/runtime.cc:203]   native: __thread_entry+72 [0x4015b280] (libc.so)
F/art     ( 2121): art/runtime/runtime.cc:203]   native: pthread_create+240 [0x4015b418] (libc.so)
F/art     ( 2121): art/runtime/runtime.cc:203]   (no managed stack frames)
F/art     ( 2121): art/runtime/runtime.cc:203] 
F/art     ( 2121): art/runtime/runtime.cc:203] "ReferenceQueueDaemon" daemon prio=5 tid=4 Waiting
F/art     ( 2121): art/runtime/runtime.cc:203]   | group="system" sCount=0 dsCount=0 obj=0x64ccf070 self=0x417a9570
F/art     ( 2121): art/runtime/runtime.cc:203]   | sysTid=2129 nice=0 cgrp=apps sched=0/0 handle=0x4007ce28
F/art     ( 2121): art/runtime/runtime.cc:203]   | state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
F/art     ( 2121): art/runtime/runtime.cc:203]   | stack=0x43e2d000-0x43e31000 stackSize=1040KB
F/art     ( 2121): art/runtime/runtime.cc:203]   kernel: futex_wait_queue_me+0xfc/0x12c
F/art     ( 2121): art/runtime/runtime.cc:203]   kernel: futex_wait+0x19c/0x290
F/art     ( 2121): art/runtime/runtime.cc:203]   kernel: do_futex+0xd8/0xa80
F/art     ( 2121): art/runtime/runtime.cc:203]   kernel: sys_futex+0x94/0x178
F/art     ( 2121): art/runtime/runtime.cc:203]   kernel: ret_fast_syscall+0x0/0x30
F/art     ( 2121): art/runtime/runtime.cc:203]   native: (no native stack frames for thread 2129)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.lang.Object.wait(Native method)
F/art     ( 2121): art/runtime/runtime.cc:203]   - waiting on <0x600c3028> (a java.lang.Class<java.lang.ref.ReferenceQueue>)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.lang.Daemons$ReferenceQueueDaemon.run(Daemons.java:133)
F/art     ( 2121): art/runtime/runtime.cc:203]   - locked <0x600c3028> (a java.lang.Class<java.lang.ref.ReferenceQueue>)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.lang.Thread.run(Thread.java:811)
F/art     ( 2121): art/runtime/runtime.cc:203] 
F/art     ( 2121): art/runtime/runtime.cc:203] "GCDaemon" daemon prio=5 tid=5 Waiting
F/art     ( 2121): art/runtime/runtime.cc:203]   | group="system" sCount=0 dsCount=0 obj=0x64ccac50 self=0x415db250
F/art     ( 2121): art/runtime/runtime.cc:203]   | sysTid=2133 nice=0 cgrp=apps sched=0/0 handle=0x415db4d0
F/art     ( 2121): art/runtime/runtime.cc:203]   | state=S schedstat=( 0 0 0 ) utm=24 stm=1 core=0 HZ=100
F/art     ( 2121): art/runtime/runtime.cc:203]   | stack=0x48473000-0x48477000 stackSize=1040KB
F/art     ( 2121): art/runtime/runtime.cc:203]   kernel: futex_wait_queue_me+0xfc/0x12c
F/art     ( 2121): art/runtime/runtime.cc:203]   kernel: futex_wait+0x19c/0x290
F/art     ( 2121): art/runtime/runtime.cc:203]   kernel: do_futex+0xd8/0xa80
F/art     ( 2121): art/runtime/runtime.cc:203]   kernel: sys_futex+0x94/0x178
F/art     ( 2121): art/runtime/runtime.cc:203]   kernel: ret_fast_syscall+0x0/0x30
F/art     ( 2121): art/runtime/runtime.cc:203]   native: (no native stack frames for thread 2133)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.lang.Object.wait(Native method)
F/art     ( 2121): art/runtime/runtime.cc:203]   - waiting on <0x60adda98> (a java.lang.Daemons$GCDaemon)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.lang.Daemons$GCDaemon.run(Daemons.java:330)
F/art     ( 2121): art/runtime/runtime.cc:203]   - locked <0x60adda98> (a java.lang.Daemons$GCDaemon)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.lang.Thread.run(Thread.java:811)
F/art     ( 2121): art/runtime/runtime.cc:203] 
F/art     ( 2121): art/runtime/runtime.cc:203] "HeapTrimmerDaemon" daemon prio=5 tid=6 Waiting
F/art     ( 2121): art/runtime/runtime.cc:203]   | group="system" sCount=0 dsCount=0 obj=0x64cc9a48 self=0x4007c9a0
F/art     ( 2121): art/runtime/runtime.cc:203]   | sysTid=2132 nice=0 cgrp=apps sched=0/0 handle=0x415db008
F/art     ( 2121): art/runtime/runtime.cc:203]   | state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
F/art     ( 2121): art/runtime/runtime.cc:203]   | stack=0x4836f000-0x48373000 stackSize=1040KB
F/art     ( 2121): art/runtime/runtime.cc:203]   kernel: futex_wait_queue_me+0xfc/0x12c
F/art     ( 2121): art/runtime/runtime.cc:203]   kernel: futex_wait+0x19c/0x290
F/art     ( 2121): art/runtime/runtime.cc:203]   kernel: do_futex+0xd8/0xa80
F/art     ( 2121): art/runtime/runtime.cc:203]   kernel: sys_futex+0x94/0x178
F/art     ( 2121): art/runtime/runtime.cc:203]   kernel: ret_fast_syscall+0x0/0x30
F/art     ( 2121): art/runtime/runtime.cc:203]   native: (no native stack frames for thread 2132)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.lang.Object.wait(Native method)
F/art     ( 2121): art/runtime/runtime.cc:203]   - waiting on <0x60addaa8> (a java.lang.Daemons$HeapTrimmerDaemon)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.lang.Daemons$HeapTrimmerDaemon.run(Daemons.java:299)
F/art     ( 2121): art/runtime/runtime.cc:203]   - locked <0x60addaa8> (a java.lang.Daemons$HeapTrimmerDaemon)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.lang.Thread.run(Thread.java:811)
F/art     ( 2121): art/runtime/runtime.cc:203] 
F/art     ( 2121): art/runtime/runtime.cc:203] "FinalizerWatchdogDaemon" daemon prio=5 tid=7 Sleeping
F/art     ( 2121): art/runtime/runtime.cc:203]   | group="system" sCount=0 dsCount=0 obj=0x64cc8898 self=0x4007ed30
F/art     ( 2121): art/runtime/runtime.cc:203]   | sysTid=2131 nice=0 cgrp=apps sched=0/0 handle=0x4007c758
F/art     ( 2121): art/runtime/runtime.cc:203]   | state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
F/art     ( 2121): art/runtime/runtime.cc:203]   | stack=0x4826b000-0x4826f000 stackSize=1040KB
F/art     ( 2121): art/runtime/runtime.cc:203]   kernel: futex_wait_queue_me+0xfc/0x12c
F/art     ( 2121): art/runtime/runtime.cc:203]   kernel: futex_wait+0x19c/0x290
F/art     ( 2121): art/runtime/runtime.cc:203]   kernel: do_futex+0xd8/0xa80
F/art     ( 2121): art/runtime/runtime.cc:203]   kernel: sys_futex+0x94/0x178
F/art     ( 2121): art/runtime/runtime.cc:203]   kernel: ret_fast_syscall+0x0/0x30
F/art     ( 2121): art/runtime/runtime.cc:203]   native: (no native stack frames for thread 2131)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.lang.Thread.sleep(Native method)
F/art     ( 2121): art/runtime/runtime.cc:203]   - sleeping on <0x64cc9a18> (a java.lang.Object)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.lang.Thread.sleep(Thread.java:1010)
F/art     ( 2121): art/runtime/runtime.cc:203]   - locked <0x64cc9a18> (a java.lang.Object)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.lang.Thread.sleep(Thread.java:978)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.lang.Daemons$FinalizerWatchdogDaemon.sleepFor(Daemons.java:251)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.lang.Daemons$FinalizerWatchdogDaemon.waitForFinalization(Daemons.java:261)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.lang.Daemons$FinalizerWatchdogDaemon.run(Daemons.java:215)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.lang.Thread.run(Thread.java:811)
F/art     ( 2121): art/runtime/runtime.cc:203] 
F/art     ( 2121): art/runtime/runtime.cc:203] "FinalizerDaemon" daemon prio=5 tid=8 Waiting
F/art     ( 2121): art/runtime/runtime.cc:203]   | group="system" sCount=0 dsCount=0 obj=0x64cc76b8 self=0x4007d070
F/art     ( 2121): art/runtime/runtime.cc:203]   | sysTid=2130 nice=0 cgrp=apps sched=0/0 handle=0x4007eae8
F/art     ( 2121): art/runtime/runtime.cc:203]   | state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
F/art     ( 2121): art/runtime/runtime.cc:203]   | stack=0x48167000-0x4816b000 stackSize=1040KB
F/art     ( 2121): art/runtime/runtime.cc:203]   kernel: futex_wait_queue_me+0xfc/0x12c
F/art     ( 2121): art/runtime/runtime.cc:203]   kernel: futex_wait+0x19c/0x290
F/art     ( 2121): art/runtime/runtime.cc:203]   kernel: do_futex+0xd8/0xa80
F/art     ( 2121): art/runtime/runtime.cc:203]   kernel: sys_futex+0x94/0x178
F/art     ( 2121): art/runtime/runtime.cc:203]   kernel: ret_fast_syscall+0x0/0x30
F/art     ( 2121): art/runtime/runtime.cc:203]   native: (no native stack frames for thread 2130)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.lang.Object.wait(Native method)
F/art     ( 2121): art/runtime/runtime.cc:203]   - waiting on <0x60ad60c0> (a java.lang.ref.ReferenceQueue)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.lang.Object.wait(Object.java:411)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:102)
F/art     ( 2121): art/runtime/runtime.cc:203]   - locked <0x60ad60c0> (a java.lang.ref.ReferenceQueue)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:73)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:173)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.lang.Thread.run(Thread.java:811)
F/art     ( 2121): art/runtime/runtime.cc:203] 
F/art     ( 2121): art/runtime/runtime.cc:203] "Binder_1" prio=5 tid=9 Native
F/art     ( 2121): art/runtime/runtime.cc:203]   | group="main" sCount=0 dsCount=0 obj=0x64cd49e0 self=0x415dcce0
F/art     ( 2121): art/runtime/runtime.cc:203]   | sysTid=2134 nice=0 cgrp=apps sched=0/0 handle=0x415dbc20
F/art     ( 2121): art/runtime/runtime.cc:203]   | state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
F/art     ( 2121): art/runtime/runtime.cc:203]   | stack=0x48675000-0x48679000 stackSize=1016KB
F/art     ( 2121): art/runtime/runtime.cc:203]   kernel: binder_thread_read+0x92c/0xd60
F/art     ( 2121): art/runtime/runtime.cc:203]   kernel: binder_ioctl+0x294/0x650
F/art     ( 2121): art/runtime/runtime.cc:203]   kernel: do_vfs_ioctl+0x8c/0x5cc
F/art     ( 2121): art/runtime/runtime.cc:203]   kernel: sys_ioctl+0x74/0x84
F/art     ( 2121): art/runtime/runtime.cc:203]   kernel: ret_fast_syscall+0x0/0x30
F/art     ( 2121): art/runtime/runtime.cc:203]   native: android::IPCThreadState::talkWithDriver(bool)+140 [0x4020e47d] (libbinder.so)
F/art     ( 2121): art/runtime/runtime.cc:203]   native: android::IPCThreadState::getAndExecuteCommand()+6 [0x4020eb87] (libbinder.so)
F/art     ( 2121): art/runtime/runtime.cc:203]   native: android::IPCThreadState::joinThreadPool(bool)+48 [0x4020ec1d] (libbinder.so)
F/art     ( 2121): art/runtime/runtime.cc:203]   native: ??? [0x40212aa5] (libbinder.so)
F/art     ( 2121): art/runtime/runtime.cc:203]   native: android::Thread::_threadLoop(void*)+216 [0x401e9ca5] (libutils.so)
F/art     ( 2121): art/runtime/runtime.cc:203]   native: android::AndroidRuntime::javaThreadShell(void*)+68 [0x402aaacd] (libandroid_runtime.so)
F/art     ( 2121): art/runtime/runtime.cc:203]   native: ??? [0x401e97d7] (libutils.so)
F/art     ( 2121): art/runtime/runtime.cc:203]   native: __thread_entry+72 [0x4015b280] (libc.so)
F/art     ( 2121): art/runtime/runtime.cc:203]   native: pthread_create+240 [0x4015b418] (libc.so)
F/art     ( 2121): art/runtime/runtime.cc:203]   (no managed stack frames)
F/art     ( 2121): art/runtime/runtime.cc:203] 
F/art     ( 2121): art/runtime/runtime.cc:203] "Binder_2" prio=5 tid=10 Native
F/art     ( 2121): art/runtime/runtime.cc:203]   | group="main" sCount=0 dsCount=0 obj=0x64cd6b28 self=0x40017758
F/art     ( 2121): art/runtime/runtime.cc:203]   | sysTid=2135 nice=0 cgrp=apps sched=0/0 handle=0x40017510
F/art     ( 2121): art/runtime/runtime.cc:203]   | state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
F/art     ( 2121): art/runtime/runtime.cc:203]   | stack=0x48773000-0x48777000 stackSize=1016KB
F/art     ( 2121): art/runtime/runtime.cc:203]   kernel: binder_thread_read+0x92c/0xd60
F/art     ( 2121): art/runtime/runtime.cc:203]   kernel: binder_ioctl+0x294/0x650
F/art     ( 2121): art/runtime/runtime.cc:203]   kernel: do_vfs_ioctl+0x8c/0x5cc
F/art     ( 2121): art/runtime/runtime.cc:203]   kernel: sys_ioctl+0x74/0x84
F/art     ( 2121): art/runtime/runtime.cc:203]   kernel: ret_fast_syscall+0x0/0x30
F/art     ( 2121): art/runtime/runtime.cc:203]   native: android::IPCThreadState::talkWithDriver(bool)+140 [0x4020e47d] (libbinder.so)
F/art     ( 2121): art/runtime/runtime.cc:203]   native: android::IPCThreadState::getAndExecuteCommand()+6 [0x4020eb87] (libbinder.so)
F/art     ( 2121): art/runtime/runtime.cc:203]   native: android::IPCThreadState::joinThreadPool(bool)+48 [0x4020ec1d] (libbinder.so)
F/art     ( 2121): art/runtime/runtime.cc:203]   native: ??? [0x40212aa5] (libbinder.so)
F/art     ( 2121): art/runtime/runtime.cc:203]   native: android::Thread::_threadLoop(void*)+216 [0x401e9ca5] (libutils.so)
F/art     ( 2121): art/runtime/runtime.cc:203]   native: android::AndroidRuntime::javaThreadShell(void*)+68 [0x402aaacd] (libandroid_runtime.so)
F/art     ( 2121): art/runtime/runtime.cc:203]   native: ??? [0x401e97d7] (libutils.so)
F/art     ( 2121): art/runtime/runtime.cc:203]   native: __thread_entry+72 [0x4015b280] (libc.so)
F/art     ( 2121): art/runtime/runtime.cc:203]   native: pthread_create+240 [0x4015b418] (libc.so)
F/art     ( 2121): art/runtime/runtime.cc:203]   (no managed stack frames)
F/art     ( 2121): art/runtime/runtime.cc:203] 
F/art     ( 2121): art/runtime/runtime.cc:203] "Queue" prio=10 tid=11 Waiting
F/art     ( 2121): art/runtime/runtime.cc:203]   | group="main" sCount=0 dsCount=0 obj=0x64fdff08 self=0x438f8ae0
F/art     ( 2121): art/runtime/runtime.cc:203]   | sysTid=2162 nice=0 cgrp=apps sched=0/0 handle=0x438f8de0
F/art     ( 2121): art/runtime/runtime.cc:203]   | state=S schedstat=( 0 0 0 ) utm=2 stm=1 core=0 HZ=100
F/art     ( 2121): art/runtime/runtime.cc:203]   | stack=0x49a34000-0x49a38000 stackSize=1040KB
F/art     ( 2121): art/runtime/runtime.cc:203]   kernel: futex_wait_queue_me+0xfc/0x12c
F/art     ( 2121): art/runtime/runtime.cc:203]   kernel: futex_wait+0x19c/0x290
F/art     ( 2121): art/runtime/runtime.cc:203]   kernel: do_futex+0xd8/0xa80
F/art     ( 2121): art/runtime/runtime.cc:203]   kernel: sys_futex+0x94/0x178
F/art     ( 2121): art/runtime/runtime.cc:203]   kernel: ret_fast_syscall+0x0/0x30
F/art     ( 2121): art/runtime/runtime.cc:203]   native: (no native stack frames for thread 2162)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.lang.Object.wait(Native method)
F/art     ( 2121): art/runtime/runtime.cc:203]   - waiting on <0x64edce60> (a java.lang.Object)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.lang.Thread.parkFor(Thread.java:1199)
F/art     ( 2121): art/runtime/runtime.cc:203]   - locked <0x64edce60> (a java.lang.Object)
F/art     ( 2121): art/runtime/runtime.cc:203]   at sun.misc.Unsafe.park(Unsafe.java:313)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2017)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:510)
F/art     ( 2121): art/runtime/runtime.cc:203]   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.performOperation(DependencyPriorityBlockingQueue.java:197)
F/art     ( 2121): art/runtime/runtime.cc:203]   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.get(DependencyPriorityBlockingQueue.java:236)
F/art     ( 2121): art/runtime/runtime.cc:203]   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(DependencyPriorityBlockingQueue.java:65)
F/art     ( 2121): art/runtime/runtime.cc:203]   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(DependencyPriorityBlockingQueue.java:46)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1035)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1097)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.lang.Thread.run(Thread.java:811)
F/art     ( 2121): art/runtime/runtime.cc:203] 
F/art     ( 2121): art/runtime/runtime.cc:203] "Queue" prio=10 tid=12 Runnable
F/art     ( 2121): art/runtime/runtime.cc:203]   | group="main" sCount=0 dsCount=0 obj=0x64fdfd08 self=0x438f8598
F/art     ( 2121): art/runtime/runtime.cc:203]   | sysTid=2161 nice=10 cgrp=apps/bg_non_interactive sched=0/0 handle=0x438f8898
F/art     ( 2121): art/runtime/runtime.cc:203]   | state=S schedstat=( 0 0 0 ) utm=1 stm=1 core=0 HZ=100
F/art     ( 2121): art/runtime/runtime.cc:203]   | stack=0x49930000-0x49934000 stackSize=1040KB
F/art     ( 2121): art/runtime/runtime.cc:203]   kernel: futex_wait_queue_me+0xfc/0x12c
F/art     ( 2121): art/runtime/runtime.cc:203]   kernel: futex_wait+0x19c/0x290
F/art     ( 2121): art/runtime/runtime.cc:203]   kernel: do_futex+0xd8/0xa80
F/art     ( 2121): art/runtime/runtime.cc:203]   kernel: sys_futex+0x94/0x178
F/art     ( 2121): art/runtime/runtime.cc:203]   kernel: ret_fast_syscall+0x0/0x30
F/art     ( 2121): art/runtime/runtime.cc:203]   native: ??? [0x438f8594] (???)
F/art     ( 2121): art/runtime/runtime.cc:203]   at io.fabric.sdk.android.services.settings.DefaultSettingsController.getStoredBuildInstanceIdentifier(DefaultSettingsController.java:152)
F/art     ( 2121): art/runtime/runtime.cc:203]   at io.fabric.sdk.android.services.settings.DefaultSettingsController.buildInstanceIdentifierChanged(DefaultSettingsController.java:163)
F/art     ( 2121): art/runtime/runtime.cc:203]   at io.fabric.sdk.android.services.settings.DefaultSettingsController.loadSettingsData(DefaultSettingsController.java:75)
F/art     ( 2121): art/runtime/runtime.cc:203]   at io.fabric.sdk.android.services.settings.DefaultSettingsController.loadSettingsData(DefaultSettingsController.java:64)
F/art     ( 2121): art/runtime/runtime.cc:203]   at io.fabric.sdk.android.services.settings.Settings.loadSettingsData(Settings.java:156)
F/art     ( 2121): art/runtime/runtime.cc:203]   - locked <0x64f280a0> (a io.fabric.sdk.android.services.settings.Settings)
F/art     ( 2121): art/runtime/runtime.cc:203]   at io.fabric.sdk.android.Onboarding.retrieveSettingsData(Onboarding.java:123)
F/art     ( 2121): art/runtime/runtime.cc:203]   at io.fabric.sdk.android.Onboarding.doInBackground(Onboarding.java:99)
F/art     ( 2121): art/runtime/runtime.cc:203]   at io.fabric.sdk.android.Onboarding.doInBackground(Onboarding.java:45)
F/art     ( 2121): art/runtime/runtime.cc:203]   at io.fabric.sdk.android.InitializationTask.doInBackground(InitializationTask.java:63)
F/art     ( 2121): art/runtime/runtime.cc:203]   at io.fabric.sdk.android.InitializationTask.doInBackground(InitializationTask.java:28)
F/art     ( 2121): art/runtime/runtime.cc:203]   at io.fabric.sdk.android.services.concurrency.AsyncTask$2.call(AsyncTask.java:311)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.util.concurrent.FutureTask.run(FutureTask.java:237)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.util.concurrent.FutureTask.run(FutureTask.java:237)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.lang.Thread.run(Thread.java:811)
F/art     ( 2121): art/runtime/runtime.cc:203] 
F/art     ( 2121): art/runtime/runtime.cc:203] "Answers Events Handler1" prio=5 tid=13 Runnable
F/art     ( 2121): art/runtime/runtime.cc:203]   | group="main" sCount=0 dsCount=0 obj=0x65029960 self=0x438fbf70
F/art     ( 2121): art/runtime/runtime.cc:203]   | sysTid=2164 nice=10 cgrp=apps/bg_non_interactive sched=0/0 handle=0x4004d008
F/art     ( 2121): art/runtime/runtime.cc:203]   | state=R schedstat=( 0 0 0 ) utm=2 stm=0 core=0 HZ=100
F/art     ( 2121): art/runtime/runtime.cc:203]   | stack=0x49b38000-0x49b3c000 stackSize=1040KB
F/art     ( 2121): art/runtime/runtime.cc:203]   kernel: ret_slow_syscall+0x0/0x4
F/art     ( 2121): art/runtime/runtime.cc:203]   native: ??? [0x418d1775] (libart.so)
F/art     ( 2121): art/runtime/runtime.cc:203]   native: art::InternTable::Insert(art::mirror::String*, bool)+130 [0x418d1b77] (libart.so)
F/art     ( 2121): art/runtime/runtime.cc:203]   native: art::ClassLinker::ResolveString(art::DexFile const&, unsigned int, art::mirror::DexCache*)+86 [0x41866967] (libart.so)
F/art     ( 2121): art/runtime/runtime.cc:203]   native: art_quick_resolve_string+10 [0x4184f48b] (libart.so)
F/art     ( 2121): art/runtime/runtime.cc:203]   native: oatdata+1948263 [0x490fda67] (data@[email protected]@classes.dex)
F/art     ( 2121): art/runtime/runtime.cc:203]   at com.crashlytics.android.answers.SessionEventMetadata.toString(SessionEventMetadata.java:42)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.lang.StringBuilder.append(StringBuilder.java:202)
F/art     ( 2121): art/runtime/runtime.cc:203]   at com.crashlytics.android.answers.SessionEvent.toString(SessionEvent.java:140)
F/art     ( 2121): art/runtime/runtime.cc:203]   at io.fabric.sdk.android.services.events.EnabledEventsStrategy.recordEvent(EnabledEventsStrategy.java:88)
F/art     ( 2121): art/runtime/runtime.cc:203]   at com.crashlytics.android.answers.EnabledSessionAnalyticsManagerStrategy.processEvent(EnabledSessionAnalyticsManagerStrategy.java:97)
F/art     ( 2121): art/runtime/runtime.cc:203]   at com.crashlytics.android.answers.AnswersEventsHandler$5.run(AnswersEventsHandler.java:148)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.util.concurrent.FutureTask.run(FutureTask.java:237)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:152)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:265)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
F/art     ( 2121): art/runtime/runtime.cc:203]   at io.fabric.sdk.android.services.common.ExecutorUtils$1$1.onRun(ExecutorUtils.java:75)
F/art     ( 2121): art/runtime/runtime.cc:203]   at io.fabric.sdk.android.services.common.BackgroundPriorityRunnable.run(BackgroundPriorityRunnable.java:30)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.lang.Thread.run(Thread.java:811)
F/art     ( 2121): art/runtime/runtime.cc:203] 
F/art     ( 2121): art/runtime/runtime.cc:203] "Crashlytics Exception Handler1" prio=5 tid=14 Waiting
F/art     ( 2121): art/runtime/runtime.cc:203]   | group="main" sCount=0 dsCount=0 obj=0x65065f00 self=0x4004fbc0
F/art     ( 2121): art/runtime/runtime.cc:203]   | sysTid=2173 nice=10 cgrp=apps/bg_non_interactive sched=0/0 handle=0x4004fef8
F/art     ( 2121): art/runtime/runtime.cc:203]   | state=S schedstat=( 0 0 0 ) utm=2 stm=0 core=0 HZ=100
F/art     ( 2121): art/runtime/runtime.cc:203]   | stack=0x49c3c000-0x49c40000 stackSize=1040KB
F/art     ( 2121): art/runtime/runtime.cc:203]   kernel: futex_wait_queue_me+0xfc/0x12c
F/art     ( 2121): art/runtime/runtime.cc:203]   kernel: futex_wait+0x19c/0x290
F/art     ( 2121): art/runtime/runtime.cc:203]   kernel: do_futex+0xd8/0xa80
F/art     ( 2121): art/runtime/runtime.cc:203]   kernel: sys_futex+0x94/0x178
F/art     ( 2121): art/runtime/runtime.cc:203]   kernel: ret_fast_syscall+0x0/0x30
F/art     ( 2121): art/runtime/runtime.cc:203]   native: (no native stack frames for thread 2173)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.lang.Object.wait(Native method)
F/art     ( 2121): art/runtime/runtime.cc:203]   - waiting on <0x64fb0678> (a java.lang.Object)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.lang.Thread.parkFor(Thread.java:1199)
F/art     ( 2121): art/runtime/runtime.cc:203]   - locked <0x64fb0678> (a java.lang.Object)
F/art     ( 2121): art/runtime/runtime.cc:203]   at sun.misc.Unsafe.park(Unsafe.java:313)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2017)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:410)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1035)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1097)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
F/art     ( 2121): art/runtime/runtime.cc:203]   at io.fabric.sdk.android.services.common.ExecutorUtils$1$1.onRun(ExecutorUtils.java:75)
F/art     ( 2121): art/runtime/runtime.cc:203]   at io.fabric.sdk.android.services.common.BackgroundPriorityRunnable.run(BackgroundPriorityRunnable.java:30)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.lang.Thread.run(Thread.java:811)
F/art     ( 2121): art/runtime/runtime.cc:203] 
F/art     ( 2121): art/runtime/runtime.cc:203] "Thread-285" prio=5 tid=15 Native
F/art     ( 2121): art/runtime/runtime.cc:203]   | group="main" sCount=0 dsCount=0 obj=0x65048490 self=0x439082f0
F/art     ( 2121): art/runtime/runtime.cc:203]   | sysTid=2175 nice=0 cgrp=apps sched=0/0 handle=0x43908570
F/art     ( 2121): art/runtime/runtime.cc:203]   | state=R schedstat=( 0 0 0 ) utm=63 stm=40 core=0 HZ=100
F/art     ( 2121): art/runtime/runtime.cc:203]   | stack=0x49e44000-0x49e48000 stackSize=1040KB
F/art     ( 2121): art/runtime/runtime.cc:203]   native: art::Thread::DumpStack(std::ostream&) const+87 [0x419a7f68] (libart.so)
F/art     ( 2121): art/runtime/runtime.cc:203]   native: art::ThreadList::DumpLocked(std::ostream&)+67 [0x419b2cb4] (libart.so)
F/art     ( 2121): art/runtime/runtime.cc:203]   native: ??? [0x419a0492] (libart.so)
F/art     ( 2121): art/runtime/runtime.cc:203]   native: art::Runtime::Abort()+79 [0x419a077c] (libart.so)
F/art     ( 2121): art/runtime/runtime.cc:203]   native: art::LogMessage::~LogMessage()+505 [0x41851a4a] (libart.so)
F/art     ( 2121): art/runtime/runtime.cc:203]   native: ??? [0x41859b08] (libart.so)
F/art     ( 2121): art/runtime/runtime.cc:203]   native: art::JniAbortF(char const*, char const*, ...)+51 [0x4185a264] (libart.so)
F/art     ( 2121): art/runtime/runtime.cc:203]   native: ??? [0x4185c0ec] (libart.so)
F/art     ( 2121): art/runtime/runtime.cc:203]   native: ??? [0x4185c352] (libart.so)
F/art     ( 2121): art/runtime/runtime.cc:203]   native: ??? [0x4185e4e2] (libart.so)
F/art     ( 2121): art/runtime/runtime.cc:203]   native: ??? [0x43dd7912] (libjnispeex.so)
F/art     ( 2121): art/runtime/runtime.cc:203]   native: ??? [0x43dd7b3c] (libjnispeex.so)
F/art     ( 2121): art/runtime/runtime.cc:203]   native: JNI_OnLoad+369 [0x43dd7d02] (libjnispeex.so)
F/art     ( 2121): art/runtime/runtime.cc:203]   native: art::JavaVMExt::LoadNativeLibrary(std::string const&, art::mirror::ClassLoader*, std::string&)+1145 [0x41964b5a] (libart.so)
F/art     ( 2121): art/runtime/runtime.cc:203]   native: ??? [0x419812d2] (libart.so)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.lang.Runtime.nativeLoad(Native method)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.lang.Runtime.doLoad(Runtime.java:421)
F/art     ( 2121): art/runtime/runtime.cc:203]   - locked <0x649e12d8> (a java.lang.Runtime)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.lang.Runtime.loadLibrary(Runtime.java:362)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.lang.System.loadLibrary(System.java:526)
F/art     ( 2121): art/runtime/runtime.cc:203]   at org.bytedeco.javacpp.Loader.loadLibrary(Loader.java:550)
F/art     ( 2121): art/runtime/runtime.cc:203]   at org.bytedeco.javacpp.Loader.load(Loader.java:415)
F/art     ( 2121): art/runtime/runtime.cc:203]   at org.bytedeco.javacpp.Loader.load(Loader.java:358)
F/art     ( 2121): art/runtime/runtime.cc:203]   at cz.master.annie.audio.javacpp.Speex.<clinit>(Speex.java:223)
F/art     ( 2121): art/runtime/runtime.cc:203]   - locked <0x65100ed0> (a java.lang.Class<cz.master.annie.audio.javacpp.Speex>)
F/art     ( 2121): art/runtime/runtime.cc:203]   at cz.master.annie.audio.javacpp.Speex$SpeexResampler.<init>(Speex.java:434)
F/art     ( 2121): art/runtime/runtime.cc:203]   at cz.master.annie.audio.processing.RecorderEncoder.<init>(RecorderEncoder.java:52)
F/art     ( 2121): art/runtime/runtime.cc:203]   at cz.master.annie.audio.processing.RecorderEncoder.getInstance(RecorderEncoder.java:60)
F/art     ( 2121): art/runtime/runtime.cc:203]   at cz.master.annie.audio.LolAudio.setRole(LolAudio.java:70)
F/art     ( 2121): art/runtime/runtime.cc:203]   at cz.master.annie.app.AppController.globalInitializerFinished(AppController.java:121)
F/art     ( 2121): art/runtime/runtime.cc:203]   at cz.master.annie.app.init.GlobalInitializerThread.run(GlobalInitializerThread.java:37)
F/art     ( 2121): art/runtime/runtime.cc:203] 
F/art     ( 2121): art/runtime/runtime.cc:203] "pool-3-thread-1" prio=5 tid=16 Waiting
F/art     ( 2121): art/runtime/runtime.cc:203]   | group="main" sCount=0 dsCount=0 obj=0x651eed80 self=0x4391e8d8
F/art     ( 2121): art/runtime/runtime.cc:203]   | sysTid=2193 nice=10 cgrp=apps/bg_non_interactive sched=0/0 handle=0x43a17c18
F/art     ( 2121): art/runtime/runtime.cc:203]   | state=S schedstat=( 0 0 0 ) utm=0 stm=0 core=0 HZ=100
F/art     ( 2121): art/runtime/runtime.cc:203]   | stack=0x49d40000-0x49d44000 stackSize=1040KB
F/art     ( 2121): art/runtime/runtime.cc:203]   kernel: futex_wait_queue_me+0xfc/0x12c
F/art     ( 2121): art/runtime/runtime.cc:203]   kernel: futex_wait+0x19c/0x290
F/art     ( 2121): art/runtime/runtime.cc:203]   kernel: do_futex+0xd8/0xa80
F/art     ( 2121): art/runtime/runtime.cc:203]   kernel: sys_futex+0x94/0x178
F/art     ( 2121): art/runtime/runtime.cc:203]   kernel: ret_fast_syscall+0x0/0x30
F/art     ( 2121): art/runtime/runtime.cc:203]   native: (no native stack frames for thread 2193)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.lang.Object.wait(Native method)
F/art     ( 2121): art/runtime/runtime.cc:203]   - waiting on <0x650e9998> (a java.lang.Object)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.lang.Thread.parkFor(Thread.java:1199)
F/art     ( 2121): art/runtime/runtime.cc:203]   - locked <0x650e9998> (a java.lang.Object)
F/art     ( 2121): art/runtime/runtime.cc:203]   at sun.misc.Unsafe.park(Unsafe.java:313)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2017)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:410)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1035)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1097)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
F/art     ( 2121): art/runtime/runtime.cc:203]   at java.lang.Thread.run(Thread.java:811)
F/art     ( 2121): art/runtime/runtime.cc:203] 
F/art     ( 2121): art/runtime/runtime.cc:203] 
I/art     ( 2121): GcCauseBackground partial concurrent mark sweep GC freed 166(13KB) AllocSpace objects, 0(0B) LOS objects, 12% free, 22MB/25MB, paused 22.307ms total 213.525ms
F/libc    ( 2121): Fatal signal 6 (SIGABRT) at 0x00000849 (code=-6), thread 2175 (Thread-285)
I/DEBUG   (   92): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
I/DEBUG   (   92): Build fingerprint: 'google/soju/crespo:4.1.2/JZO54K/485486:user/release-keys'
I/DEBUG   (   92): Revision: '52'
I/DEBUG   (   92): pid: 2121, tid: 2175, name: Thread-285  >>> cz.master.annie <<<
I/DEBUG   (   92): signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
I/DEBUG   (   92):     r0 00000000  r1 0000087f  r2 00000006  r3 00000000
I/DEBUG   (   92):     r4 49f47dd8  r5 00000006  r6 00000016  r7 0000010c
I/DEBUG   (   92):     r8 00000000  r9 49f46598  sl 49f46590  fp 000008d7
I/DEBUG   (   92):     ip 0000087f  sp 49f464f8  lr 4016111b  pc 401700ac  cpsr 000f0010
I/DEBUG   (   92):     d0  2e656d69746e7572  d1  542e676e616c2e72
I/DEBUG   (   92):     d2  75722e6461657274  d3  646165726854282f
I/DEBUG   (   92):     d4  636578456c6f6f50  d5  726f5724726f7475
I/DEBUG   (   92):     d6  286e75722e72656b  d7  6f50646165726854
I/DEBUG   (   92):     d8  0000024f9805efc9  d9  3e80000000000000
I/DEBUG   (   92):     d10 0000000000000000  d11 0000000000000000
I/DEBUG   (   92):     d12 0000000000000000  d13 0000000000000000
I/DEBUG   (   92):     d14 0000000000000000  d15 0000000000000000
I/DEBUG   (   92):     d16 722e646165726854  d17 6165726854286e75
I/DEBUG   (   92):     d18 40a83aa500000000  d19 0000000000000000
I/DEBUG   (   92):     d20 000000054485c0e4  d21 000000064485c0fc
I/DEBUG   (   92):     d22 000000054485c0dc  d23 000000054485c0c0
I/DEBUG   (   92):     d24 0000000000000000  d25 0000000000000000
I/DEBUG   (   92):     d26 0000000000000000  d27 0000000000000000
I/DEBUG   (   92):     d28 0000000000000000  d29 0000000000000000
I/DEBUG   (   92):     d30 0000000000000000  d31 0000000000000000
I/DEBUG   (   92):     scr 80000010
I/DEBUG   (   92): 
I/DEBUG   (   92): backtrace:
I/DEBUG   (   92):     #00  pc 000220ac  /system/lib/libc.so (tgkill+12)
I/DEBUG   (   92):     #01  pc 00013117  /system/lib/libc.so (pthread_kill+50)
I/DEBUG   (   92):     #02  pc 0001330f  /system/lib/libc.so (raise+10)
I/DEBUG   (   92):     #03  pc 0001200f  /system/lib/libc.so
I/DEBUG   (   92):     #04  pc 00021960  /system/lib/libc.so (abort+4)
I/DEBUG   (   92):     #05  pc 001917d5  /system/lib/libart.so (art::Runtime::Abort()+168)
I/DEBUG   (   92):     #06  pc 00042a4b  /system/lib/libart.so (art::LogMessage::~LogMessage()+506)
I/DEBUG   (   92):     #07  pc 0004ab09  /system/lib/libart.so
I/DEBUG   (   92):     #08  pc 0004b265  /system/lib/libart.so (art::JniAbortF(char const*, char const*, ...)+52)
I/DEBUG   (   92):     #09  pc 0004d0ed  /system/lib/libart.so
I/DEBUG   (   92):     #10  pc 0004d353  /system/lib/libart.so
I/DEBUG   (   92):     #11  pc 0004f4e3  /system/lib/libart.so
I/DEBUG   (   92):     #12  pc 00018915  /data/app-lib/cz.master.annie-1/libjnispeex.so
I/DEBUG   (   92):     #13  pc 00018b3d  /data/app-lib/cz.master.annie-1/libjnispeex.so
I/DEBUG   (   92):     #14  pc 00018d03  /data/app-lib/cz.master.annie-1/libjnispeex.so (JNI_OnLoad+370)
I/DEBUG   (   92):     #15  pc 00155b5d  /system/lib/libart.so (art::JavaVMExt::LoadNativeLibrary(std::string const&, art::mirror::ClassLoader*, std::string&)+1148)
I/DEBUG   (   92):     #16  pc 001722d3  /system/lib/libart.so
I/DEBUG   (   92):     #17  pc 000a2e7c  /data/dalvik-cache/system@[email protected]
I/DEBUG   (   92): 
I/DEBUG   (   92): stack:
I/DEBUG   (   92):          49f464b8  4035c390  /system/lib/libstlport.so
I/DEBUG   (   92):          49f464bc  00000016  
I/DEBUG   (   92):          49f464c0  4390e678  
I/DEBUG   (   92):          49f464c4  fffffbcc  
I/DEBUG   (   92):          49f464c8  49f46564  
I/DEBUG   (   92):          49f464cc  4390e680  
I/DEBUG   (   92):          49f464d0  00000000  
I/DEBUG   (   92):          49f464d4  4015f33b  /system/lib/libc.so (dlfree+50)
I/DEBUG   (   92):          49f464d8  40198000  /system/lib/libc.so
I/DEBUG   (   92):          49f464dc  4390e680  
I/DEBUG   (   92):          49f464e0  4390e680  
I/DEBUG   (   92):          49f464e4  fffffbcc  
I/DEBUG   (   92):          49f464e8  49f46564  
I/DEBUG   (   92):          49f464ec  4015bd19  /system/lib/libc.so (free+12)
I/DEBUG   (   92):          49f464f0  4035c390  /system/lib/libstlport.so
I/DEBUG   (   92):          49f464f4  41851987  /system/lib/libart.so (art::LogMessage::~LogMessage()+310)
I/DEBUG   (   92):     #00  49f464f8  49f47dd8  
I/DEBUG   (   92):          49f464fc  00000006  
I/DEBUG   (   92):          49f46500  00000016  
I/DEBUG   (   92):          49f46504  0000087f  
I/DEBUG   (   92):          49f46508  0000087f  
I/DEBUG   (   92):          49f4650c  4016111b  /system/lib/libc.so (pthread_kill+54)
I/DEBUG   (   92):     #01  49f46510  49f47dd0  
I/DEBUG   (   92):          49f46514  00000006  
I/DEBUG   (   92):          49f46518  00000000  
I/DEBUG   (   92):          49f4651c  49f4661c  
I/DEBUG   (   92):          49f46520  41a1eca8  /system/lib/libart.so
I/DEBUG   (   92):          49f46524  40161313  /system/lib/libc.so (raise+14)
I/DEBUG   (   92):     #02  49f46528  49f46534  
I/DEBUG   (   92):          49f4652c  40160013  /system/lib/libc.so
I/DEBUG   (   92): 
I/DEBUG   (   92): memory near r4:
I/DEBUG   (   92):     49f47db8 439082f0 43908570 40102f2c 0000000b  
I/DEBUG   (   92):     49f47dc8 00000078 4015b41c 49f47dd0 43908570  
I/DEBUG   (   92):     49f47dd8 00000016 00000000 00000000 213d6b4b  
I/DEBUG   (   92):     49f47de8 439085b0 00000000 00000000 00000000  
I/DEBUG   (   92):     49f47df8 00000000 00000000 00000000 00000000  
I/DEBUG   (   92):     49f47e08 00000000 439082f0 00000000 00000000  
I/DEBUG   (   92):     49f47e18 00000000 00000000 00000000 00000000  
I/DEBUG   (   92):     49f47e28 00000000 00000000 00000000 00000000  
I/DEBUG   (   92):     49f47e38 00000000 00000000 00000000 415df990  
I/DEBUG   (   92):     49f47e48 00000000 00000000 00000000 00000000  
I/DEBUG   (   92):     49f47e58 00000000 00000000 00000000 00000000  
I/DEBUG   (   92):     49f47e68 00000000 00000000 00000000 00000000  
I/DEBUG   (   92):     49f47e78 00000000 00000000 00000000 00000000  
I/DEBUG   (   92):     49f47e88 00000000 00000000 00000000 00000000  
I/DEBUG   (   92):     49f47e98 00000000 00000000 00000000 00000000  
I/DEBUG   (   92):     49f47ea8 00000000 00000000 00000000 00000000  
I/DEBUG   (   92): 
I/DEBUG   (   92): memory near r9:
I/DEBUG   (   92):     49f46578 4019c384 4160bf68 439082f0 41a1eca8  
I/DEBUG   (   92):     49f46588 439082f0 00000000 49f4660a 41852327  
I/DEBUG   (   92):     49f46598 4390e1b5 ffffffff 4394f174 4394f170  
I/DEBUG   (   92):     49f465a8 4390d8df 4390d008 41a1eca8 213d6b4b  
I/DEBUG   (   92):     49f465b8 ffffffff 49f46690 4394f170 41a1eca8  
I/DEBUG   (   92):     49f465c8 439082f0 439082f0 49f46828 49f4661c  
I/DEBUG   (   92):     49f465d8 41a1fcf8 41859b0d ffffffff 00000000  
I/DEBUG   (   92):     49f465e8 00000007 00000000 00000000 ebad607d  
I/DEBUG   (   92):     49f465f8 ebad607f 4019c384 41a1fd68 419ec5dc  
I/DEBUG   (   92):     49f46608 419ec5f0 419ec5a4 00000001 00000001  
I/DEBUG   (   92):     49f46618 00000001 4394f170 4035c3ec 4035c3fc  
I/DEBUG   (   92):     49f46628 439082f0 00000001 00000001 49f46600  
I/DEBUG   (   92):     49f46638 43908858 415cc8a8 00000020 43901bb0  
I/DEBUG   (   92):     49f46648 4035c3ec 4035c3fc 43901bb0 00000007  
I/DEBUG   (   92):     49f46658 4019c384 40354a6f 4024a0e8 0000003b  
I/DEBUG   (   92):     49f46668 0000003b 00000000 4024a0e0 4024a078  
I/DEBUG   (   92): 
I/DEBUG   (   92): memory near sl:
I/DEBUG   (   92):     49f46570 000008d6 41851a4f 4019c384 4160bf68  
I/DEBUG   (   92):     49f46580 439082f0 41a1eca8 439082f0 00000000  
I/DEBUG   (   92):     49f46590 49f4660a 41852327 4390e1b5 ffffffff  
I/DEBUG   (   92):     49f465a0 4394f174 4394f170 4390d8df 4390d008  
I/DEBUG   (   92):     49f465b0 41a1eca8 213d6b4b ffffffff 49f46690  
I/DEBUG   (   92):     49f465c0 4394f170 41a1eca8 439082f0 439082f0  
I/DEBUG   (   92):     49f465d0 49f46828 49f4661c 41a1fcf8 41859b0d  
I/DEBUG   (   92):     49f465e0 ffffffff 00000000 00000007 00000000  
I/DEBUG   (   92):     49f465f0 00000000 ebad607d ebad607f 4019c384  
I/DEBUG   (   92):     49f46600 41a1fd68 419ec5dc 419ec5f0 419ec5a4  
I/DEBUG   (   92):     49f46610 00000001 00000001 00000001 4394f170  
I/DEBUG   (   92):     49f46620 4035c3ec 4035c3fc 439082f0 00000001  
I/DEBUG   (   92):     49f46630 00000001 49f46600 43908858 415cc8a8  
I/DEBUG   (   92):     49f46640 00000020 43901bb0 4035c3ec 4035c3fc  
I/DEBUG   (   92):     49f46650 43901bb0 00000007 4019c384 40354a6f  
I/DEBUG   (   92):     49f46660 4024a0e8 0000003b 0000003b 00000000  
I/DEBUG   (   92): 
I/DEBUG   (   92): memory near sp:
I/DEBUG   (   92):     49f464d8 40198000 4390e680 4390e680 fffffbcc  
I/DEBUG   (   92):     49f464e8 49f46564 4015bd19 4035c390 41851987  
I/DEBUG   (   92):     49f464f8 49f47dd8 00000006 00000016 0000087f  
I/DEBUG   (   92):     49f46508 0000087f 4016111b 49f47dd0 00000006  
I/DEBUG   (   92):     49f46518 00000000 49f4661c 41a1eca8 40161313  
I/DEBUG   (   92):     49f46528 49f46534 40160013 4006e740 ffffffdf  
I/DEBUG   (   92):     49f46538 000000cb 41a1fd18 41a1fd68 49f4661c  
I/DEBUG   (   92):     49f46548 41a1eca8 41a1fd18 41a1fd68 4016f964  
I/DEBUG   (   92):     49f46558 00000000 419a07d9 41a1eca8 00000000  
I/DEBUG   (   92):     49f46568 49f46598 4390d008 000008d6 41851a4f  
I/DEBUG   (   92):     49f46578 4019c384 4160bf68 439082f0 41a1eca8  
I/DEBUG   (   92):     49f46588 439082f0 00000000 49f4660a 41852327  
I/DEBUG   (   92):     49f46598 4390e1b5 ffffffff 4394f174 4394f170  
I/DEBUG   (   92):     49f465a8 4390d8df 4390d008 41a1eca8 213d6b4b  
I/DEBUG   (   92):     49f465b8 ffffffff 49f46690 4394f170 41a1eca8  
I/DEBUG   (   92):     49f465c8 439082f0 439082f0 49f46828 49f4661c  
I/DEBUG   (   92): 
I/DEBUG   (   92): code around pc:
I/DEBUG   (   92):     4017008c e8bd00f0 e3700a01 912fff1e e2600000  
I/DEBUG   (   92):     4017009c ea006eab e92d50f0 e3a07f43 ef000000  
I/DEBUG   (   92):     401700ac e8bd50f0 e3700a01 912fff1e e2600000  
I/DEBUG   (   92):     401700bc ea006ea3 e92d50f0 e3a070ee ef000000  
I/DEBUG   (   92):     401700cc e8bd50f0 e3700a01 912fff1e e2600000  
I/DEBUG   (   92):     401700dc ea006e9b e1520003 8a00008c f5d1f040  
I/DEBUG   (   92):     401700ec e92d4001 e3520010 3a000024 e2603000  
I/DEBUG   (   92):     401700fc e213300f 0a00000e e0422003 e1b0cf83  
I/DEBUG   (   92):     4017010c 44d1e001 44c0e001 24d1c001 24d1e001  
I/DEBUG   (   92):     4017011c 24c0c001 24c0e001 e1b0ce83 aa000001  
I/DEBUG   (   92):     4017012c f4a1030d f480031d 3a000001 f421070d  
I/DEBUG   (   92):     4017013c f400071d e2522040 3a000006 f421020d  
I/DEBUG   (   92):     4017014c f421420d f5d1f100 e2522040 f400022d  
I/DEBUG   (   92):     4017015c f400422d 2afffff8 e2922020 3a000002  
I/DEBUG   (   92):     4017016c f421020d e2422020 f400022d e2822020  
I/DEBUG   (   92):     4017017c e3120010 0a000001 f4210a0d f4000a2d  
I/DEBUG   (   92): 
I/DEBUG   (   92): code around lr:
I/DEBUG   (   92):     401610f8 4b11ebf2 e010447b d10e42bb 480f6a1f  
I/DEBUG   (   92):     40161108 f7fb4478 f00dec66 4639ea02 f00e462a  
I/DEBUG   (   92):     40161118 3001efc4 2500d00a 681be009 d1eb2b00  
I/DEBUG   (   92):     40161128 25034807 f7fb4478 e000ec54 60266825  
I/DEBUG   (   92):     40161138 bdf84628 0003b2a8 0003b29c 0003b294  
I/DEBUG   (   92):     40161148 0003b270 bf82f7ff 4a3a4b39 e92d447b  
I/DEBUG   (   92):     40161158 b08a47f0 4607589e 6833460d 930946b1  
I/DEBUG   (   92):     40161168 f9fcf001 f8d04604 2d008000 4628d04a  
I/DEBUG   (   92):     40161178 ff62f00f 4606280f f7ffd846 4287ffe3  
I/DEBUG   (   92):     40161188 200fd106 f00d4629 2800e8d0 e032d03d  
I/DEBUG   (   92):     40161198 44784829 eb9ef7fb 44784828 42b8e015  
I/DEBUG   (   92):     401611a8 6a07d113 44784826 ec12f7fb 463b4a25  
I/DEBUG   (   92):     401611b8 447a2120 f013a801 2101fb3b f01aa801  
I/DEBUG   (   92):     401611c8 1c43fe4d d1044607 6800e015 d1e62800  
I/DEBUG   (   92):     401611d8 4638e023 46324629 e90af00d 3ffff1b0  
I/DEBUG   (   92):     401611e8 d1024682 29046821 4638d0f3 e95af00d  
I/art     (   96): Process 2121 terminated by signal (6)

java.lang.UnsatisfiedLinkError: no jniLauncher in java.library.path

On a clean install of Windows 7 with a newly installed Visual Studio 2013, I get this when trying to allocate a BytePointer:

Exception in thread "main" java.lang.RuntimeException: No native JavaCPP library in memory. (Has Loader.load() been called?)
    at org.bytedeco.javacpp.BytePointer.<init>(BytePointer.java:96)
    at ...
Caused by: java.lang.UnsatisfiedLinkError: org.bytedeco.javacpp.BytePointer.allocateArray(I)V
    at org.bytedeco.javacpp.BytePointer.allocateArray(Native Method)
    at org.bytedeco.javacpp.BytePointer.<init>(BytePointer.java:94)

If I call Loader.load() then the following happens:

Exception in thread "main" java.lang.UnsatisfiedLinkError: no jniLauncher in java.library.path
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1864)
    at java.lang.Runtime.loadLibrary0(Runtime.java:870)
    at java.lang.System.loadLibrary(System.java:1122)
    at org.bytedeco.javacpp.Loader.loadLibrary(Loader.java:550)
    at org.bytedeco.javacpp.Loader.load(Loader.java:415)
    at org.bytedeco.javacpp.Loader.load(Loader.java:358)
    at ...

Did I miss some crucial step into making this work? I play around with JavaCPP months ago on a machine with Visual Studio 2013 (and thus the C/C++ compilers) and it worked fine.

How can I fill an image?

Hi,

May I please ask how I can fill an image I have created with new opencv_core.Mat? Suppose for example I want to write a random value to every pixel location.

Thanks a lot

poor error handling x64,x86 jvm dedection

Hello ,
i set x64 jvm as a default JAVA_HOME

On MingW , i tried to generate dll ,
i got error like shown below:

[ERROR] Failed to execute goal org.bytedeco:javacpp:0.12:build (generate-sources
) on project ffmpeg: Failed to execute JavaCPP Builder: Could not parse "libavut
il\avutil.h": File does not exist -> [Help 1]

Then i understand i am using x64 bit jvm.
I need to use x86 JVM
You need to show warning for 64 bit compiling , check for JAVA_HOME is x64 JVM
for x86 , check for JAVA_HOME x86

OSX 10.10 + Java 8 issue loading native libraries

I have an applet with JavaCV running fine in all operating systems (Win32, Win64, OSX 10.9, 10.8, 10.7) but recently I've detected the following error in OSX 10.10 (yosemite) running with Java8 (the only runtime available for this OSX version):

./libopencv_core.2.4.dylib: malformed mach-o image: load command #12 length (0) too small in ./libopencv_core.2.4.dylib
    at java.lang.ClassLoader$NativeLibrary.load(Native Method)
    at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1929)
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1814)
    at java.lang.Runtime.load0(Runtime.java:809)
    at java.lang.System.load(System.java:1083)
    at org.bytedeco.javacpp.Loader.loadLibrary(Loader.java:524)
    ... 12 more

Anyone else with this problem? Any suggestion?

Thanks in advance!

Parser NPE

I am trying to create a new preset for Basler Pylon librarty. No files gets generated, only getting an error:

...
Caused by: org.apache.maven.plugin.MojoExecutionException: Failed to execute JavaCPP Builder
        at org.bytedeco.javacpp.tools.BuildMojo.execute(BuildMojo.java:276)
        at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:106)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
        ... 19 more
Caused by: java.lang.NullPointerException
        at org.bytedeco.javacpp.tools.Parser.function(Parser.java:1191)
        at org.bytedeco.javacpp.tools.Parser.declarations(Parser.java:2285)
        at org.bytedeco.javacpp.tools.Parser.group(Parser.java:1926)
        at org.bytedeco.javacpp.tools.Parser.declarations(Parser.java:2284)
        at org.bytedeco.javacpp.tools.Parser.namespace(Parser.java:2193)
        at org.bytedeco.javacpp.tools.Parser.declarations(Parser.java:2283)
        at org.bytedeco.javacpp.tools.Parser.parse(Parser.java:2359)
        at org.bytedeco.javacpp.tools.Parser.parse(Parser.java:2454)
        at org.bytedeco.javacpp.tools.Builder.parse(Builder.java:66)
        at org.bytedeco.javacpp.tools.Builder.build(Builder.java:623)
        at org.bytedeco.javacpp.tools.BuildMojo.execute(BuildMojo.java:269)
        ... 21 more

Could not initialize class org.bytedeco.javacpp.opencv_core$Mat

I see, there is something wrong with the Loader. Calling this before
everything works around this issue:
Loader.load(org.bytedeco.javacpp.opencv_core.class);

But I'll be checking how to fix this. If you have a GitHub account, can
you copy/paste that as an issue here?
https://github.com/bytedeco/javacpp/issues
Thanks!

Samuel

  • hide quoted text -

On 05/02/2014 01:01 AM, Darrel Riekhof wrote:

Thanks for the help. Not sure what "Demo" class you're talking about,
but I found a "BlobDemo" class in the /samples directory. I was able to
get it to run in Eclipse with only javacv.jar in the classpath.

So I tried doing this in my project, removing all the other jars besides
javacv.jar. I got the same error I was getting.

So then I went back to BlobDem and tried adding this line which is
causing the error:

 public static void main(String[] args)  { 
     System.out.println("STARTING...\n"); 

-----> FaceRecognizer recognizer = createLBPHFaceRecognizer(); // Line 22
demo();
System.out.println("ALL DONE");
}

And I get the same error.

Exception in thread "main" java.lang.NoClassDefFoundError: Could not
initialize class org.bytedeco.javacpp.opencv_core$Mat
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary1(Unknown Source)
at java.lang.ClassLoader.loadLibrary0(Unknown Source)
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.load0(Unknown Source)
at java.lang.System.load(Unknown Source)
at org.bytedeco.javacpp.Loader.loadLibrary(Loader.java:513)
at org.bytedeco.javacpp.Loader.load(Loader.java:399)
at org.bytedeco.javacpp.Loader.load(Loader.java:353)
at org.bytedeco.javacpp.opencv_contrib.(opencv_contrib.java:21)
at BlobDemo.main(BlobDemo.java:22)
Error loading class org/bytedeco/javacpp/opencv_core$Mat.
Error loading class org/bytedeco/javacpp/opencv_core$Mat.

How to use my own compiled library?

I want use gsl library on my android phone. I've tried the gsl of javacpp-presets but it didn't work. The error said that some .so library did not found. So I want to compile the gsl library myself. I've download the gsl library and do as the gsl presets's cppbuild.sh. The main three line:

./configure --prefix=*** .... arm-linux-androideabi-gcc ....
make -j4
make install-strip

It works fine. And now I have a gsl library compiled with arm-linux-androideabi-gcc. Now I'm using this C++ code:

// JavacppDemo.h
#include "gsl/gsl_sf_bessel.h"
class Demo {
public:
    int get() {
        double x = 5.0;
        double y = gsl_sf_bessel_J0(x);
        return (int) y;
    }
};

And the java code:

@Platform(include={"JavacppDemo.h"}, link={"gslcblas", "gsl"})
public class JavacppDemo {
****
}

And I've added the header file path and library path of my newly compiled gsl library to the gradle file. So now I can completely rebuild the project and no errors come out. But when I run it, it says that "could not load library "libgsl.so.19"". I unzip the generated apk file and libgsl.so is not there(only my libjniJavacppDemo.so).

If I copy the libgsl.so to the armeabi folder, it won't package into the apk file automatically. So how to fix this? Please help me.

Cannot loading third party DLL

Hi,

I want to load a dll, named MathFuncsDll.dll, that I created by MS VC++ 2013.
MathFuncsDll.h

#ifdef MATHFUNCSDLL_EXPORTS
#define MATHFUNCSDLL_API __declspec(dllexport) 
#else
#define MATHFUNCSDLL_API __declspec(dllimport) 
#endif

namespace MathFuncs
{
    // This class is exported from the MathFuncsDll.dll
    class MyMathFuncs
    {
    public:
        static MATHFUNCSDLL_API double Add(double a, double b);
        static MATHFUNCSDLL_API double Subtract(double a, double b);
        static MATHFUNCSDLL_API double Multiply(double a, double b);
        static MATHFUNCSDLL_API double Divide(double a, double b);
    };
}

I then created a java file, named MathFuncs.java:
MathFuncs.java

import org.bytedeco.javacpp.*;
import org.bytedeco.javacpp.annotation.*;

@Platform(include="MathFuncsDll.h", link="MathFuncsDll")
@Namespace("MathFuncs")
public class MathFuncs {
    public static class MyMathFuncs extends Pointer {
        static {    System.loadLibrary("jniMathFuncs"); }
        public MyMathFuncs() { allocate(); }
        private native void allocate();

        public native double Add(double a, double b);  
        public native double Subtract(double a, double b);  
        public native double Multiply(double a, double b);  
        public native double Divide(double a, double b);  

    }
    public static void main(String[] args) {
        MyMathFuncs mfdInstance = new MyMathFuncs();
        System.out.println("spiderDll.dll is successfully loading!!");
        System.out.println("3 x 4 = " + mfdInstance.Multiply(3,4));
    }
}

Then:

> javac -cp javacpp.jar MathFuncs.java
> java -jar javacpp.jar -d . -Xcompiler -L. MathFuncs

I got the error:

Microsoft (R) Incremental Linker Version 12.00.31101.0
Copyright (C) Microsoft Corporation.  All rights reserved.
/out:jniMathFuncs.dll
/ltcg
/dll
/implib:jniMathFuncs.lib
/OUT:.\jniMathFuncs.dll
MathFuncsDll.lib
jniMathFuncs.obj
LINK : fatal error LNK1181: cannot open input file 'MathFuncsDll.lib'
[Dynamic-linking native method java.lang.ProcessImpl.getExitCodeProcess ... JNI]
[Dynamic-linking native method java.lang.Shutdown.halt0 ... JNI]

The question is Why javacpp.jar requires the input file MathFuncsDll.lib.
I did put the name of MathFuncsDll.dll in the annotation:
@platform(include="MathFuncsDll.h", link="MathFuncsDll")

Could you please show me how to resolve this problem, please?
Thanks for your help.

Thanh Liem.

java.lang.UnsatisfiedLinkError: no jniopencv_core in java.library.path

hi @saudet ,
Im getting this error, i read all the issues with the same error here and i was wondering if you could tell me what exactly do i have to include in java.library.path

Exception in thread "main" java.lang.UnsatisfiedLinkError: no jniopencv_core in java.library.path
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1886)
    at java.lang.Runtime.loadLibrary0(Runtime.java:849)
    at java.lang.System.loadLibrary(System.java:1088)
    at org.bytedeco.javacpp.Loader.loadLibrary(Loader.java:550)
    at org.bytedeco.javacpp.Loader.load(Loader.java:415)
    at org.bytedeco.javacpp.Loader.load(Loader.java:358)
    at org.bytedeco.javacpp.opencv_core.<clinit>(opencv_core.java:10)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:274)
    at org.bytedeco.javacpp.Loader.load(Loader.java:390)
    at org.bytedeco.javacpp.Loader.load(Loader.java:358)
    at org.bytedeco.javacpp.opencv_imgcodecs.<clinit>(opencv_imgcodecs.java:13)
    at FaceDetect.main(FaceDetect.java:41)

Thank you!

Generated javadoc tags do not compile with Java 8

When attempting to build javacpp-presets with Java 8, compilation of documentation fails with numerous javadoc errors. For instance, FlyaCapture creates over 100 errors. Here is a sample:

...
Generating X:\javacpp-presets\flycapture\target\apidocs\help-doc.html...
100 errors
100 warnings
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-javadoc-plugin:2.9:jar (attach-javadocs) on project flycap
ture: MavenReportException: Error while creating archive:
[ERROR] Exit code: 1 - X:\javacpp-presets\flycapture\src\main\java\org\bytedeco\javacpp\
FlyCapture2.java:124: warning: no @return
[ERROR] @Namespace("FlyCapture2") @MemberGetter public static native @Cast("const unsigned int") int sk_maxStringLength(
);
[ERROR] ^
[ERROR] X:\javacpp-presets\flycapture\src\main\java\org\bytedeco\javacpp\FlyCapture2.java:127: warning: no @return
[ERROR] @Namespace("FlyCapture2") @MemberGetter public static native @Cast("const unsigned int") int sk_maxNumPorts();
[ERROR] ^
[ERROR] X:\javacpp-presets\flycapture\src\main\java\org\bytedeco\javacpp\FlyCapture2.java:3581: error: unknown tag: nosubgrouping
[ERROR] * @nosubgrouping
[ERROR] ^
...
[ERROR] X:\javacpp-presets\flycapture\src\main\java\org\bytedeco\javacpp\FlyCapture2_C.java:3418: error: reference not found
[ERROR] * @see SetChannelStatus()
[ERROR] ^
...

Windows temp directory not cleaned up when program messes with classpath

I'm calling code through javacpp in a plugin written for ImageJ/Fiji. Fiji, unfortunately, uses a native binary to startup the Java call and forces everything through its own launcher. This launcher in turn call everything else nicely, but as far as System.getProperty("java.class.path") is concerned, only that launcher's jar is on the classpath. On Windows, this results in the javacpp Loader class being unable to tie into the shutdown hook and clean up the temp directories (since the ImageJ launcher doesn't bother looking for the javacpp jar). To alleviate this, could line 572 in Loader.java be changed from:

command.add(System.getProperty("java.class.path"));

to

command.add( (new File(Loader.class.getProtectionDomain().getCodeSource().getLocation().toURI())).toString() );

That long and ugly string of commands locates the jar containing the javacpp Loader (and converts it so system-native format). I've been using a similar bit of code to locate the jar with my own code and write files to the same directory.

I can put the change in a pull request if you think it's a good modification.

How about MIT license?

Hi bytedeco,

Thanks for creating the missing bridge to call C++ libraries.

However, the GPL licence is very strict to me. So is it possible to update the license into MIT or similar license?

Thanks a lot.

Android 4.0 UnpupportedOperationException

Hi,

I am developing broadcaster software on Android with FFmpegFrameRecorder. It works well on Android 4.0 > Phones but when I try it on Android 4.0.4 tablet (Samsung Galaxy Tab GT-P5110) this error raised:

java.lang.UnsupportedOperationException
09-18 11:48:17.078  12919-12919/ W/System.err﹕ at java.nio.DirectByteBuffer.protectedArray(DirectByteBuffer.java:211)
09-18 11:48:17.078  12919-12919/ W/System.err﹕ at java.nio.DirectByteBuffer.protectedHasArray(DirectByteBuffer.java:222)
09-18 11:48:17.078  12919-12919/ W/System.err﹕ at java.nio.ByteBuffer.hasArray(ByteBuffer.java:597)
09-18 11:48:17.078  12919-12919/ W/System.err﹕ at org.bytedeco.javacpp.BytePointer.<init>(BytePointer.java:79)
09-18 11:48:17.078  12919-12919/ W/System.err﹕ at org.bytedeco.javacv.FFmpegFrameRecorder.recordImage(FFmpegFrameRecorder.java:706)
09-18 11:48:17.078  12919-12919/ W/System.err﹕ at org.bytedeco.javacv.FFmpegFrameRecorder.record(FFmpegFrameRecorder.java:684)
09-18 11:48:17.078  12919-12919/ W/System.err﹕ at org.bytedeco.javacv.FFmpegFrameRecorder.record(FFmpegFrameRecorder.java:677)

Use the runtime C++ type when instantiating a pointer

For example in Caffe, Net.layer_by_name tries to create an instance of the root layer class, a java FloatLayer. This class is abstract, so the call fails. How could javacpp find the actual C++ type, and map it to the right java subclass?

How does feature detection work?

Hello,
I'm having a very hard time getting a simple Feature detector to work. Here is my code:

FeatureDetector featureDetector = new opencv_features2d.DenseFeatureDetector();
KeyPoint keypoints = new KeyPoint();
featureDetector.detect(frame, keypoints);

However, the KeyPoint class stands for a single keypoint, not an array of them as it should be. Is there a bug in your architecture?

NullPointerException at org.bytedeco.javacpp.opencv_features2d$DescriptorExtractor.create(Native Method)

I'm in the process of converting code, and most of it has been pretty
straightforward. But I must be missing something simple with the
DescriptorExtractor class. In JavaCV-0.7 I could do something like,

DescriptorExtractor de = DescriptorExtractor.create("SIFT");

But this isn't allowed in 0.8. So I tried,

DescriptorExtractor de = new DescriptorExtractor();
de.create("SIFT");

It compiles fine, but during runtime I get an exception,

Exception in thread "main" java.lang.NullPointerException: This pointer
address is NULL.
     at org.bytedeco.javacpp.opencv_features2d$DescriptorExtractor.create(Native Method).

Failed adding to JNI local ref table (has 512 entries)

Hi everyone,

I'm getting this error ('Failed adding to JNI local ref table (has 512 entries)') when I call to the next method 1000 times.

int JavaCPP_com_mypackage_MyClass_00024LocalizedCaseInsensitiveCompareCallback::operator()(const char * arg0, const char * arg1, int arg2) {
jint rarg = 0;    jthrowable exc = NULL;
    JNIEnv* env;
    bool attached = JavaCPP_getEnv(&env);
    if (env == NULL) {
        goto end;
    }
{
    jvalue args[3];
    jstring obj0 = (const char*)arg0 == NULL ? NULL : env->NewStringUTF((const char*)arg0);
    args[0].l = obj0;
    jstring obj1 = (const char*)arg1 == NULL ? NULL : env->NewStringUTF((const char*)arg1);
    args[1].l = obj1;
    args[2].i = (jint)arg2;
    if (obj == NULL) {
        obj = env->NewGlobalRef(JavaCPP_createPointer(env, 70));
        if (obj == NULL) {
            JavaCPP_log("Error creating global reference of com.mypackage.MyClass.LocalizedCaseInsensitiveCompareCallback instance for callback.");
        } else {
            env->SetLongField(obj, JavaCPP_addressFID, ptr_to_jlong(this));
        }
        ptr = &LocalizedCaseInsensitiveCompare;
    }
    if (mid == NULL) {
        mid = JavaCPP_getMethodID(env, 70, "call", "(Ljava/lang/String;Ljava/lang/String;I)I");
    }
    if (env->IsSameObject(obj, NULL)) {
        JavaCPP_log("Function pointer object is NULL in callback for com.mypackage.MyClass.LocalizedCaseInsensitiveCompareCallback.");
    } else if (mid == NULL) {
        JavaCPP_log("Error getting method ID of function caller \"public int com.mypackage.MyClass$LocalizedCaseInsensitiveCompareCallback.call(java.lang.String,java.lang.String,int)\" for callback.");
    } else {
        rarg = env->CallIntMethodA(obj, mid, args);
        if ((exc = env->ExceptionOccurred()) != NULL) {
            env->ExceptionClear();
        }
    }
    env->DeleteLocalRef(obj0);
    env->DeleteLocalRef(obj1);
}

Anyone can help me?

Thanks in advance

Failed to build with maven

In order to rebuild javacv, I need to rebuild javacpp and javacpp-presets, I have installed mingw and add to system path, and when I build the code, I failed to build, how do I fix this? I uses eclipse Juno with CDT, I find this issue may related http://www.eclipse.org/forums/index.php/t/367773/, but I do not have visual studio, so I wonder whether mingw is enough to build this applicaiton? thanks

[INFO] Scanning for projects...
[INFO] Inspecting build with total of 1 modules...
[INFO] Not installing Nexus Staging features:
[INFO] * Preexisting staging related goal bindings found in 1 modules.
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building JavaCPP 1.0
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ javacpp ---
[INFO] Deleting D:\dev\eclipsews-luna\javacpp-master\target
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ javacpp ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 23 resources
[INFO]
[INFO] --- maven-compiler-plugin:2.3:compile (default-compile) @ javacpp ---
[INFO] Compiling 104 source files to D:\dev\eclipsews-luna\javacpp-master\target\classes
[INFO]
[INFO] --- maven-plugin-plugin:3.2:descriptor (default-descriptor) @ javacpp ---
[INFO] Using 'UTF-8' encoding to read mojo metadata.
[INFO] Applying mojo extractor for language: java
[INFO] Mojo extractor for language: java found 1 mojo descriptors.
[INFO] Applying mojo extractor for language: bsh
[INFO] Mojo extractor for language: bsh found 0 mojo descriptors.
[INFO] Applying mojo extractor for language: java-annotations
[INFO] Mojo extractor for language: java-annotations found 0 mojo descriptors.
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ javacpp ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 1 resource
[INFO]
[INFO] --- maven-compiler-plugin:2.3:testCompile (default-testCompile) @ javacpp ---
[INFO] Compiling 2 source files to D:\dev\eclipsews-luna\javacpp-master\target\test-classes
[INFO]
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ javacpp ---
[INFO] Surefire report directory: D:\dev\eclipsews-luna\javacpp-master\target\surefire-reports


T E S T S

Running org.bytedeco.javacpp.IndexerTest
Generating D:\dev\eclipsews-luna\javacpp-master\target\test-classes\org\bytedeco\javacpp\jniIndexerTest.cpp
Compiling D:\dev\eclipsews-luna\javacpp-master\target\test-classes\org\bytedeco\javacpp\windows-x86_64\jniIndexerTest.dll
cl "/IC:\Program Files\Java\jdk1.8.0_40\include" "/IC:\Program Files\Java\jdk1.8.0_40\include\win32" D:\dev\eclipsews-luna\javacpp-master\target\test-classes\org\bytedeco\javacpp\jniIndexerTest.cpp /W3 /Oi /O2 /EHsc /Gy /GL /MD /LD /link /OUT:D:\dev\eclipsews-luna\javacpp-master\target\test-classes\org\bytedeco\javacpp\windows-x86_64\jniIndexerTest.dll
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.697 sec <<< FAILURE!
org.bytedeco.javacpp.IndexerTest Time elapsed: 0.695 sec <<< ERROR!
java.io.IOException: Cannot run program "cl": CreateProcess error=2, The system cannot find the file specified
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
at org.bytedeco.javacpp.tools.Builder.compile(Builder.java:317)
at org.bytedeco.javacpp.tools.Builder.generateAndCompile(Builder.java:371)
at org.bytedeco.javacpp.tools.Builder.build(Builder.java:642)
at org.bytedeco.javacpp.IndexerTest.setUpClass(IndexerTest.java:55)
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:497)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:24)
at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:252)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:141)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:112)
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:497)
at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189)
at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165)
at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85)
at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:115)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:75)
Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.(ProcessImpl.java:386)
at java.lang.ProcessImpl.start(ProcessImpl.java:137)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
... 25 more

Running org.bytedeco.javacpp.StringTest
Generating D:\dev\eclipsews-luna\javacpp-master\target\test-classes\org\bytedeco\javacpp\jniStringTest.cpp
Compiling D:\dev\eclipsews-luna\javacpp-master\target\test-classes\org\bytedeco\javacpp\windows-x86_64\jniStringTest.dll
cl "/IC:\Program Files\Java\jdk1.8.0_40\include" "/IC:\Program Files\Java\jdk1.8.0_40\include\win32" D:\dev\eclipsews-luna\javacpp-master\target\test-classes\org\bytedeco\javacpp\jniStringTest.cpp /W3 /Oi /O2 /EHsc /Gy /GL /MD /LD /link /OUT:D:\dev\eclipsews-luna\javacpp-master\target\test-classes\org\bytedeco\javacpp\windows-x86_64\jniStringTest.dll
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.347 sec <<< FAILURE!
org.bytedeco.javacpp.StringTest Time elapsed: 0.346 sec <<< ERROR!
java.io.IOException: Cannot run program "cl": CreateProcess error=2, The system cannot find the file specified
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
at org.bytedeco.javacpp.tools.Builder.compile(Builder.java:317)
at org.bytedeco.javacpp.tools.Builder.generateAndCompile(Builder.java:371)
at org.bytedeco.javacpp.tools.Builder.build(Builder.java:642)
at org.bytedeco.javacpp.StringTest.setUpClass(StringTest.java:54)
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:497)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:24)
at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:252)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:141)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:112)
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:497)
at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189)
at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165)
at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85)
at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:115)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:75)
Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.(ProcessImpl.java:386)
at java.lang.ProcessImpl.start(ProcessImpl.java:137)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
... 25 more

Results :

Tests in error:
org.bytedeco.javacpp.IndexerTest: Cannot run program "cl": CreateProcess error=2, The system cannot find the file specified
org.bytedeco.javacpp.StringTest: Cannot run program "cl": CreateProcess error=2, The system cannot find the file specified

Tests run: 2, Failures: 0, Errors: 2, Skipped: 0

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 27.428 s
[INFO] Finished at: 2015-08-24T15:40:24+08:00
[INFO] Final Memory: 32M/301M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12.4:test (default-test) on project javacpp: There are test failures.
[ERROR]
[ERROR] Please refer to D:\dev\eclipsews-luna\javacpp-master\target\surefire-reports for the individual test results.
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException

How to map typdef and struct

Hi,
I have a struct like the one below:

typedef std::vector<double*>        Vector_p_Double;
struct structTimeSeriesResults
{   
    Vector_p_Double         vpd_result;
    double*                 p_time;
    int                     nbPoints;
};

I've tried to use std:vector<double*> directly, it works. For example:
std:vector<double*> vpd_result;
But the problem appears when I use:

typedef std::vector<double*>        Vector_p_Double;

I've read this thread, which has the similar problem:
https://groups.google.com/forum/#!searchin/javacpp-project/typedef/javacpp-project/YhOOggLfkzc/0i7kp3YqrFoJ

but I really don't understand the code.

How could you map this into javacpp?

Thanks for your help

Support enum with long values

Currently enum values are generated as int.
Sometimes enum are defined with long values, like this one:

    typedef enum _EXMLValidation
    {
        xvLoad      = 0x00000001L,   
        xvCycles    = 0x00000002L,   
        xvSFNC      = 0x00000004L,    
        xvDefault   = 0x00000000L,   
        xvAll       = 0xffffffffL,    
        _UndefinedEXMLValidation = 0x8000000L 
    } EXMLValidation;

This example is taken from Pylon library: <geniapi/types.h>.

javacpp (0.7) compilation error (android target) for a simple c program

***What steps will reproduce the problem:
-compiling this c example:

/* simple c example */
double Foo = 3.0;
int gcd(int x, int y){
int g;
g = y;
while (x > 0) {
g = x ;
x = y % x;
y = g;
}
return g;
}

*** Procedure:

Create a config source file:

     import com.googlecode.javacpp.*; 
     import com.googlecode.javacpp.annotation.*; 

     @Properties(target="Example", value=@Platform(include="example.c")) 
     public class ExampleConfig implements Parser.InfoMapper { 
         public void map(Parser.InfoMap infoMap) { 
         } 
     } 
     $ javac -cp javacpp.jar ExampleConfig.java 
     $ java -jar javacpp.jar ExampleConfig 
     $ javac -cp javacpp.jar Example.java 
     $ java -jar javacpp.jar Example 


     $ java -jar javacpp.jar Example -nocompile 

     $ java -jar javacpp.jar Example -properties android-arm 
-Dplatform.root=/path/to/android-ndk/ 
-Dplatform.compiler=/path/to/arm-linux-androideabi-g++ 

*** Operating system:

  • Compiling on OS X 10.9.1

*** Output

/13-05/In function '_jobject*
Java_com_googlecode_javacpp_IntPointer_get___3III(JNIEnv*, jobject,
jintArray, jint, jint)':

/13-05/jniExampleConfig.cpp:544:87: error: invalid conversion from
'jint* {aka long int*}' to 'int*' [-fpermissive]

/13-05/jniExampleConfig.cpp: In function '_jobject*
Java_com_googlecode_javacpp_IntPointer_put___3III(JNIEnv*, jobject,
jintArray, jint, jint)':

/13-05/jniExampleConfig.cpp:570:87: error: invalid conversion from
'jint* {aka long int*}' to 'int*' [-fpermissive]

Enums not replaced while templates are instantiated

Consider example from wrappers for Pylon library. Here is a snippet of the C++ code that defines an enum then uses it as a template parameter.

enum SequencerModeEnums
{
    SequencerMode_Off,  //!<Disables the sequencer for image acquisition.
    SequencerMode_On   //!<Enables the sequencer for image acquisition.

};
...
GenApi::IEnumerationT<SequencerModeEnums > &SequencerMode;

To instantiated the template I added to presets:

new Info("GenApi_3_0_Basler_pylon_v5_0::IEnumerationT<Basler_UsbCameraParams::SequencerModeEnums>").pointerTypes("IEnumerationT_SequencerModeEnums").define()

This results in the enum converted to set of constant values (as expected), and in creation of a class for instantiated template IEnumerationT_SequencerModeEnums. But within the IEnumerationT_SequencerModeEnums the enum is still referred to by its original C++ type SequencerModeEnums, see last line of the snippet below. This results in the compilation error of the Java wrapper.

/** enum Basler_UsbCameraParams::SequencerModeEnums */
public static final int
    /**Disables the sequencer for image acquisition. */
    SequencerMode_Off = 0,
    /**Enables the sequencer for image acquisition. */
    SequencerMode_On = 1;

...
@Name("GenApi_3_0_Basler_pylon_v5_0::IEnumerationT<Basler_UsbCameraParams::SequencerModeEnums>") 
public static class IEnumerationT_SequencerModeEnums extends IEnumeration {
...
  public native void SetValue(@ByVal SequencerModeEnums Value, @Cast("bool") boolean Verify/*=true*/);

Complete code illustrating the issue is at commit f35d4c48.

Loader.java Memory Leak (StrictMode Failure to Load Class)

So - I'm using Android Studio 1.5 and Gradle 2.8 and Proguard 5.2.1. My project is running ProGuard settings and stripping things out per the instructions here:

https://github.com/bytedeco/javacv/wiki/Configuring-Proguard-for-JavaCV

However, what I'm finding is that there is an issue where line 131 of Loader.java opens an InputStream, which isn't ever closed. Here is the stacktrace.

E/StrictMode: A resource was acquired at attached stack trace but never released. See java.io.Closeable for information on avoiding resource leaks.
E/StrictMode: java.lang.Throwable: Explicit termination method 'end' not called
E/StrictMode:     at dalvik.system.CloseGuard.open(CloseGuard.java:184)
E/StrictMode:     at java.util.zip.Inflater.<init>(Inflater.java:82)
E/StrictMode:     at java.util.zip.ZipFile.getInputStream(ZipFile.java:331)
E/StrictMode:     at java.util.jar.JarFile.getInputStream(JarFile.java:390)
E/StrictMode:     at libcore.net.url.JarURLConnectionImpl.getInputStream(JarURLConnectionImpl.java:222)
E/StrictMode:     at java.net.URL.openStream(URL.java:470)
E/StrictMode:     at java.lang.ClassLoader.getResourceAsStream(ClassLoader.java:444)
E/StrictMode:     at java.lang.Class.getResourceAsStream(Class.java:1412)
E/StrictMode:     at org.bytedeco.javacpp.Loader.loadProperties(Loader.java:131)
E/StrictMode:     at org.bytedeco.javacpp.Loader.loadProperties(Loader.java:114)
E/StrictMode:     at org.bytedeco.javacpp.Loader.load(Loader.java:399)
E/StrictMode:     at org.bytedeco.javacv.b.a(FFmpegFrameRecorder.java:91)
E/StrictMode:     at org.bytedeco.javacv.b.<clinit>(FFmpegFrameRecorder.java:112)
E/StrictMode:     at [myTestAppBundleIDRedacted].onCreate(TestActivity.java:90)
E/StrictMode:     at android.app.Activity.performCreate(Activity.java:6374)
E/StrictMode:     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119)
E/StrictMode:     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2767)
E/StrictMode:     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2879)
E/StrictMode:     at android.app.ActivityThread.access$900(ActivityThread.java:182)
E/StrictMode:     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1475)
E/StrictMode:     at android.os.Handler.dispatchMessage(Handler.java:102)
E/StrictMode:     at android.os.Looper.loop(Looper.java:145)
E/StrictMode:     at android.app.ActivityThread.main(ActivityThread.java:6141)
E/StrictMode:     at java.lang.reflect.Method.invoke(Native Method)
E/StrictMode:     at java.lang.reflect.Method.invoke(Method.java:372)
E/StrictMode:     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)
E/StrictMode:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)

Specifically: org.bytedeco.javacpp.Loader.loadProperties(Loader.java:131) : InputStream is = Loader.class.getResourceAsStream(name);

I think the try statement just below this needs a finally clause added to close the stream so that StrictMode doesn't complain that it is never closed. Couldn't this cause a memory leak?

JavaCv Mat to Opencv Mat

Hi guys

First of all I would like to apologize to create a label almost similar to Issue #4. I am not a expert in Java as well as c++.
However I have been spent last 4 days to take a solution and I got frozen.

I have rewrite c++ code of Mastering Opencv book , chapter 5, regard Licence plate detecting to java code. But the original c++ code uses filestorage that is not yet implemented in opencv wrapper. So I found FileStorage for javacv (javacPP-presets) that is working fine and can be used to return a CvMat class.

The issue is the CvMat data should reflect in opencv.Mat instance. But I know they are not compatible and I really dont know how to build a parser to them.

I tried to run all CvMat data and use "put" method to pass it to opencv.mat. But
data got wrong.

if someone can help with a tip. Source code is really great, but if shows me the way to take would be really helpful.

thanks in advance

Master Caffe doesn't build

It seems there is a pure abstract method that the parser chokes on:

javacpp-presets/caffe/cppbuild/linux-x86_64/include/caffe/data_layers.hpp:83: Could not parse declaration at '0'

Javacpp Not Working on IBM AIX

Hi Samuel
After getting Javacpp work on linux and with caffe, I have to shift to a new environment ie IBM AIX.
Trying to compile a very basic example just to check the functionality:

prediction.h

#include cstring
#include cstdlib 
#include vector 
#include string 
#include iostream 
#include stdio.h
#include assert.h
using namespace std;
static inline int process(int a,int b)
{ printf("hello"); return a+b;}

PredictionClass.java

import org.bytedeco.javacpp.*;
import org.bytedeco.javacpp.annotation.*;

@Platform(include="prediction.h")
public class PredictClass {
    static {
    Loader.load();
    }
    public static native int process(int  a, int b);
    public static void main(String[] args) {
         int a=3,b=5;
      int c= process(a, b);
    System.out.println("sum is "+c);
    }
}

It compiles fine. But when I run

java -jar javacpp.jar PredictClass

It give the following error.

Generating /home/testing/jniPredictClass.cpp
Compiling /home/testing/aix-ppc64/libjniPredictClass.so
g++ -I/usr/java6_64/include /home/testing/jniPredictClass.cpp -Wall -O3 -fPIC -shared -s -o /home/testing/aix-ppc64/libjniPredictClass.so
/home/testing/jniPredictClass.cpp: In function 'void JNI_OnUnload(JavaVM*, void*)':
/home/testing/jniPredictClass.cpp:350:52: error: no matching function for call to 'JNIEnv_::DeleteWeakGlobalRef(_jclass*&)'
         env->DeleteWeakGlobalRef(JavaCPP_classes[i]);
                                                    ^
/home/testing/jniPredictClass.cpp:350:52: note: candidate is:
In file included from /home/testing/jniPredictClass.cpp:26:0:
/usr/java6_64/include/jni.h:648:7: note: void JNIEnv_::DeleteWeakGlobalRef(jweak)
  void DeleteWeakGlobalRef(jweak obj) { functions->DeleteWeakGlobalRef(this, obj); }
       ^
/usr/java6_64/include/jni.h:648:7: note:   no known conversion for argument 1 from 'jclass {aka _jclass*}' to 'jweak {aka _jweak*}'

It worked fine on Centos. Do you see any reason why it's showing it on AIX?

Thanks in advance

Regards

Crash on Android 2.3

After upgrading to 1.1, our app crashes on Android 2.3.

FATAL EXCEPTION: Thread-17
java.lang.NoClassDefFoundError: org.bytedeco.javacpp.Pointer
    at java.lang.Runtime.nativeLoad(Native Method)
    at java.lang.Runtime.nativeLoad(Native Method)
    at java.lang.Runtime.loadLibrary(Runtime.java:432)
    at java.lang.System.loadLibrary(System.java:554)
    at cz.master.annie.audio.LolAudio.init(LolAudio.java:202)
    at cz.master.annie.app.init.GlobalInitializerThread.run(GlobalInitializerThread.java:24)
 Caused by: java.lang.ClassNotFoundException: org.bytedeco.javacpp.Pointer
    at java.lang.Class.classForName(Native Method)
    at java.lang.Class.forName(Class.java:234)
    at org.bytedeco.javacpp.Loader.putMemberOffset(Loader.java:693)
    at java.lang.Runtime.nativeLoad(Native Method) 
    at java.lang.Runtime.nativeLoad(Native Method) 
    at java.lang.Runtime.loadLibrary(Runtime.java:432) 
    at java.lang.System.loadLibrary(System.java:554) 
    at cz.master.annie.audio.LolAudio.init(LolAudio.java:202) 
    at cz.master.annie.app.init.GlobalInitializerThread.run(GlobalInitializerThread.java:24) 
 Caused by: java.lang.NoClassDefFoundError: org.bytedeco.javacpp.Pointer
    at java.lang.Class.classForName(Native Method) 
    at java.lang.Class.forName(Class.java:234) 
    at org.bytedeco.javacpp.Loader.putMemberOffset(Loader.java:693) 
    at java.lang.Runtime.nativeLoad(Native Method) 
    at java.lang.Runtime.nativeLoad(Native Method) 
    at java.lang.Runtime.loadLibrary(Runtime.java:432) 
    at java.lang.System.loadLibrary(System.java:554) 
    at cz.master.annie.audio.LolAudio.init(LolAudio.java:202) 
    at cz.master.annie.app.init.GlobalInitializerThread.run(GlobalInitializerThread.java:24) 
 Caused by: java.lang.ClassNotFoundException: org.bytedeco.javacpp.Pointer in loader dalvik.system.PathClassLoader[/data/app/cz.master.annie-1.apk]
    at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:240)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:551)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
    at java.lang.Class.classForName(Native Method) 
    at java.lang.Class.forName(Class.java:234) 
    at org.bytedeco.javacpp.Loader.putMemberOffset(Loader.java:693) 
    at java.lang.Runtime.nativeLoad(Native Method) 
    at java.lang.Runtime.nativeLoad(Native Method) 
    at java.lang.Runtime.loadLibrary(Runtime.java:432) 
    at java.lang.System.loadLibrary(System.java:554) 
    at cz.master.annie.audio.LolAudio.init(LolAudio.java:202) 
    at cz.master.annie.app.init.GlobalInitializerThread.run(GlobalInitializerThread.java:24) 

It works fine on devices with 4.x and newer.

Also, ProGuard config:

-dontwarn org.bytedeco.javacpp.tools.BuildMojo
-dontwarn org.apache.maven.plugin.logging.Log
-dontwarn org.slf4j.**
-keep class org.bytedeco.javacpp.** { *; }
-keep class cz.master.annie.audio.javacpp.** { *; } # Without this, it doesn't work on Nexus S

array of devices - reopen

Hi, i appreciate the help immensely, and i am thinking that i actually just got it. Reporting here in one place in case others are looking for similar things

i am trying to use this call in C ...

uvc_error_t uvc_get_device_list(uvc_context_t *ctx, uvc_device_t ***list) { .... }

i am wrapping it in java ...

public static native int uvc_get_device_list(UVCContext ctx, @Cast("uvc_device***") @ByPtrPtr PointerPointer<?> uvcDevList);

i then try to access a device from the list with the following code ...

public class Load { 
    public static void main(String... arg) throws InterruptedException {
        UVCDevice dev = new UVCController.UVCDevice();
        UVCContext ctx = new UVCController.UVCContext();
        UVCStreamCtrl sctrl = new UVCController.UVCStreamCtrl();
        System.out.println("Initialize : " + UVCController.uvc_init(ctx, null));

//      it works if I access the device directly with ...
//      System.out.println("Find Camera: " + UVCController.uvc_find_device(ctx, dev, 0x0, 0x0, null));
//      or I first get the list, then pull a device from it with ...

        PointerPointer<UVCDevice> uvcDevList = new PointerPointer<UVCDevice>();
        UVCController.uvc_get_device_list(ctx, uvcDevList);        
        dev = (UVCDevice) uvcDevList.get(UVCDevice.class, 0);

//      then again free everything at the end. freeing the device list does not work yet
//      UVCController.uvc_free_device_list(uvcDevList,(byte)1);
        UVCController.uvc_unref_device(dev);
        UVCController.uvc_exit(ctx);
    }
}

i tried to free the device list by wrapping C call ...

void uvc_free_device_list(uvc_device_t **list, uint8_t unref_devices)

with

public static native void uvc_free_device_list(@Cast("uvc_device**") @ByPtrPtr PointerPointer<?> uvcDevList, @Cast("uint8_t") byte unref_devices);

but calling the latter reports

java(30903,0x1005b7000) malloc: *** error for object 0x1005b6800: pointer being freed was not allocated *** set a breakpoint in malloc_error_break to debug

in any case though, this is pretty darn magical, thanks for the effort that has gone into javacpp ...

Annotation question

I need some help with parameter annotations. It would be nice if the answer could make it to the README or at least some tips to better understand the annotations for someone familiar with C++, but not so much Java.

I'm not using the javacpp-presets for opencv, just what is built by opencv itself. I have a function that takes a const reference to a cv::Mat:

void foo(const cv::Mat& image);

I know how to annotate my java function for the following sort of call:

void bar(const cv::Mat* image)
public native void bar(@Cast("Mat*") long imagePtr);
public void foo(Mat image) { bar(imagePtr.getNativeObjAddr()); }

What annotations do I need to specify to get it to dereference the pointer after doing the cast to get it to work with foo above?

Here's what is generated for bar:

bar((Mat*)arg0);

Here's what I'd like for foo:

foo(*(Mat*)arg0);

Parser issue with empty comment

There is an issue with the CommentBefore method:

Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: 3
        at java.lang.String.charAt(Unknown Source)
        at org.bytedeco.javacpp.tools.Parser.commentBefore(Parser.java:900)
        at org.bytedeco.javacpp.tools.Parser.enumeration(Parser.java:1974)
        at org.bytedeco.javacpp.tools.Parser.declarations(Parser.java:2191)
        at org.bytedeco.javacpp.tools.Parser.parse(Parser.java:2266)
        at org.bytedeco.javacpp.tools.Parser.parse(Parser.java:2361)
        at org.bytedeco.javacpp.tools.Builder.parse(Builder.java:64)
        at org.bytedeco.javacpp.tools.Builder.build(Builder.java:608)
        at org.bytedeco.javacpp.tools.BuildMojo.execute(BuildMojo.java:267)
        ... 21 more

It happen when there is an empty comment like just ///

The line 900

if (s.charAt(3) == '<') {

need to check the size first:

if (error.length() > 3 && s.charAt(3) == '<') {

Thanks

CODEC_ID_MPEG1VIDEO,PIX_FMT_YUV420P cannot be resolved to a variable

I am getting the above error for the below code.

public class Recordvideo extends Activity {

//  @Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.create);
    opencv_core.IplImage img = cvLoadImage("/sdcard/folder/img1.jpg");
    FFmpegFrameRecorder recorder = new FFmpegFrameRecorder("/sdcard/folder/test.mpeg",200,150);
    try {
        recorder.setCodecID( CODEC_ID_MPEG1VIDEO);
        recorder.setFrameRate(30);
        recorder.setPixelFormat(  PIX_FMT_YUV420P);
        recorder.start();

        for (int i=0;i<100;i++)
        {
           recorder.record(img);
        }
        recorder.stop();
     }
     catch (Exception e){
        e.printStackTrace();
     }
}

}

previously i was using javacv 0.7 and as per the commands in the below link i tried with javacv 0.10. but still same error.
https://code.google.com/p/javacv/issues/detail?id=495.

some quick help is appreciaed

@opaque

i am halfway through creating presets for another module and so far things are going well but i am running into a tag and i was hoping someone could clear it up for me what the @opaque tag means on the java end and how to replace it with a full featured object definition ...

So I have a struct in the libuvc.h file

/** UVC streaming interface.
*/
struct uvc_streaming_interface;
typedef struct uvc_streaming_interface uvc_streaming_interface_t;

which is defined in libuvc_internal.h

/** VideoStream interface */
typedef struct uvc_streaming_interface {
   struct uvc_device_info *parent;
   struct uvc_streaming_interface *prev, *next;
   uint8_t bInterfaceNumber;
   struct uvc_format_desc *format_descs;
   uint8_t bEndpointAddress;
   uint8_t bTerminalLink;
} uvc_streaming_interface_t;

in my java wrapper this struct maps onto

@Opaque
@Name("uvc_streaming_interface")
public static class UVCStreamingInterface extends Pointer {
    public UVCStreamingInterface() { }
    public UVCStreamingInterface(Pointer p) { super(p); }
}

this works just fine to get the object, but i cannot access the individual items in the struct. Another similar java definition lacks the @opaque tag and is defined as:

@Name("timeval")
public static class TimeVal extends Pointer {
    static { Loader.load(); }
    public TimeVal() { allocate(); }
    public TimeVal(int size) { allocateArray(size); }
    public TimeVal(Pointer p) { super(p); }
    private native void allocate();
    private native void allocateArray(int size);
    public native long tv_sec(); public native TimeVal tv_sec (long tv_sec);
    public native long tv_usec(); public native TimeVal tv_usec(long tv_usec);
}

on the second I can get my grubby hands on all the individual fields of the struct and I am thinking that the way to solve my pickle is by switching the uvc_streaming-interface from @opaque to the full declaration. unfortunately, i can't find any explanation of the tag and no suggestions on how to change it. my random trial and error attempts have not yielded anything that works. any suggestion greatly appreciated.

when i try to model the definition after another non opaque struct, i get a bunch of errors during mvn compile of the java wrapper like ...

/usr/local/include/libuvc/libuvc.h:156:10: note: forward declaration of 'uvc_streaming_interface'
   struct uvc_streaming_interface *parent;

Can any one tell me how to use javacpp in android studio?

I have spend some time on this, but I just cannot make it work.

I can't find enough reference material on google. And finally I do it as this:
https://www.snip2code.com/Snippet/271596/gradle-build-file-for-JavaCPP

And I changed it to something like this:

android.applicationVariants.all { variant ->
    variant.javaCompile.doLast {
        println 'Hello world!'
        javaexec {
            main "org.bytedeco.javacpp.tools.Builder"
            classpath files('path/to/javacpp.jar')
            args '-cp', "variant.javaCompile.destinationDir",
                    '-properties', 'android-arm',
                    '-Dplatform.root', 'path/to/ndk',
                    '-Dplatform.compiler', 'path/to/ndk/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-g++',
                    '-d', 'libs/armeabi'
        }
    }
}

But the gradle build failed. The error says that 'org.bytedeco.javacpp.tools.builder' not found. And the 'command '/path/to/java'' return nono zero (return 1).

Can any one helps me. Appreciate!

Improve Parser: Use the Clang API

I'm in the process of doing this right now. Currently, the following issues exists with the approach I'm taking:

  • Preprocessor directives are not supported: This is fixable, because Clang can be made aware of those, but it doesn't by default. I'll leave this for later.
  • Normal comments cannot be read: Unless I've missed some Clang flag, non-doc comments are completely ignored. I'm not sure this is a big deal, but nonetheless, it's different from the current behavior.

Wrong method signature using c++ vector

As said in bytedeco/javacpp-presets#28, I'm trying to use the method

void CascadeClassifier::detectMultiScale(const Mat& image, vector<Rect>& objects, double scaleFactor=1.1, int minNeighbors=3, int flags=0, Size minSize=Size(), Size maxSize=Size())

of opencv presets, which was converted to

public native void detectMultiScale( @Const @ByRef Mat image,
                               @StdVector Rect objects,
                               double scaleFactor/*=1.1*/,
                               int minNeighbors/*=3*/, int flags/*=0*/,
                               @ByVal Size minSize/*=Size()*/,
                               @ByVal Size maxSize/*=Size()*/ );

in Java bindings.

My problem is that the objects parameter is a vector<Rect>& in C++ and a simple Rect in Java. So how can I access the other elements of the vector using the java binding after the call to that method?

Was it a problem during Java bindings generation? Or is there a way to use an @StdVector anotated parameter like a vector in Java?

Incorrect handling of comment starting with `//!`

When C++ has a comment starting with //!, like:

//! Interface to instant camera parameters
class CInstantCameraParams_Params
{ ...

The generated Java code is missing initial / in the comment, so we get:

 *  Interface to instant camera parameters */
@Namespace("Basler_InstantCameraParams") @NoOffset public static class CInstantCameraParams_Params extends Pointer {

And the code does not compile.

Notice that there is space-star (*) instead of slash-star (/*).

Intellij Idea issue

Dear developers,
Thanks for this very useful library.

I am trying to play with simple classes in intellij idea and it seems I'm missing something. My c++ class header:

#ifndef IMMANAGER_H
#define IMMANAGER_H
class imManager 
{
    imManager();
};
#endif  /* IMMANAGER_H */

I've build correspondent library libCppDynamicLibrary.dylib and try to use in Java in the next way:

import org.bytedeco.javacpp.*;
import org.bytedeco.javacpp.annotation.*;
@Platform(include = "/path/CppDynamicLibrary/imManager.h", link = "CppDynamicLibrary")
    public class imManager extends Pointer {
        static { Loader.load(); }
        public imManager() { allocate(); }
        private native void allocate();
}

After compiling and running that with Intellij Idea I'm getting:

Exception in thread "main" java.lang.UnsatisfiedLinkError: no jniimManager in java.library.path
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1857)
    at java.lang.Runtime.loadLibrary0(Runtime.java:870)
    at java.lang.System.loadLibrary(System.java:1119)
    at org.bytedeco.javacpp.Loader.loadLibrary(Loader.java:550)
    at org.bytedeco.javacpp.Loader.load(Loader.java:415)
    at org.bytedeco.javacpp.Loader.load(Loader.java:358)
    at imManager.<clinit>(imManager.java:26)
    at entryClass.main(entryClass.java:102)
    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:483)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:140)

Process finished with exit code 1

the C++ library (libCppDynamicLibrary.dylib) is in
-Djava.library.path="/path/GNU_macpors-MacOSX" which added to "VM options" of "Edit configurations..." dialog

Could you help me to resolve that issue?
Thanks a lot.

UPDATE:
I have renamed library to the jniimManager but now getting

Exception in thread "main" java.lang.UnsatisfiedLinkError: imManager.allocate()V

With best regards,
Sergey

array of devices

hi all,

I am not familiar with using the *** notation in javacpp. I aim to access an array of uvc_device_t defined in C with...

uvc_error_t uvc_get_device_list (uvc_context_t *ctx, uvc_device_t ***list)

C and arrays in C are not my strong point but I assume list is holding the pointer to the first device and I am taking a stab at the java call to access the array with

public static native int uvc_get_device_list(UVCContext ctx, @Cast("uvc_device_t []") Pointer ucvDevList);

would anyone please be willing to share a brief snippet that shows how to access the device array correctly? thanks

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.