Dear Marcus,
Thank you very much!

Kind regards,
Robert Iakobashvili
............................
On Mon, Nov 5, 2018 at 10:50 AM Markus Maier <markus.maier...@gmail.com> wrote:
>
> Hi,
>
> I didn't look through your logs in detail, but the issue sounds like it might 
> be related to https://bugreports.qt.io/browse/QTBUG-68813 - I needed the 
> workaround from the end of the bug's description in order to get my JNI calls 
> working again. My code also works with Qt 5.9 and doesn't work with 5.11.2, 
> just like in this report.
>
> The workaround might however have some bad side effects, as mentioned by 
> Bogdan Vatra (the Qt for Android maintainer) in one of the comments - the 
> issue is unresolved ...
>
> Best regards
> Markus
>
>
> Am Do., 1. Nov. 2018 um 20:31 Uhr schrieb coroberti . <corobe...@gmail.com>:
>>
>> Hi,
>> I was trying to build my Qt widget app that is working on Android
>> since Qt 5.3, later 5.7 and 5.9
>> using downloaded offline Qt 5.11.2.
>>
>> Using Qt JNI seems to be working properly, like:
>> RequestPermissions =
>>
>> QAndroidJniObject("com/domain/myapp/permissions/RequestPermissions",
>>                                   "(Landroid/app/Activity;)V",
>>                                   
>> QtAndroid::androidActivity().object<jobject>()
>>                                   );
>>
>>         // Checking for errors in the JNI
>>         QAndroidJniEnvironment env;
>>         if (env->ExceptionCheck()) {
>>             // Handle exception here.
>>             env->ExceptionClear();
>>         }
>>
>> Unfortunately, the very first non-Qt JNI in my app crashes it.
>> JNIEnv* env;
>>     if (g_javaVM->AttachCurrentThread(&env, NULL)<0)
>>     {
>>         return false;
>>     }
>>     jboolean res = env->CallStaticBooleanMethod(s_sharingClassID,
>> s_sharingMyFuncMethodID);
>>     g_javaVM->DetachCurrentThread();
>>
>> This is not something specific JNI, but really the first one non-Qt
>> JNI crashes it.
>>
>>
>> Is there any initialization or some magic in the new Qt JNI that could impact
>> non-Qt JNI?
>>
>> Should I detach thread manually after Qt JNI?
>>
>>
>> rt : art/runtime/runtime.cc:1537]
>> Thread[11,tid=6741,Native,Thread*=0xe4ab5f00,peer=0x12c11ee0,"qtMainLoopThread"]
>> attempting to detach while still running code
>> F art : art/runtime/runtime.cc:424] Runtime aborting...
>> F art : art/runtime/runtime.cc:424] Aborting thread:
>> F art : art/runtime/runtime.cc:424] "qtMainLoopThread" prio=5 tid=11 Native
>> F art : art/runtime/runtime.cc:424] | group="" sCount=0 dsCount=0
>> obj=0x12c11ee0 self=0xe4ab5f00
>> F art : art/runtime/runtime.cc:424] | sysTid=6741 nice=0 cgrp=default
>> sched=0/0 handle=0xf07bc920
>> F art : art/runtime/runtime.cc:424] | state=R schedstat=( 78120491
>> 95764296 62 ) utm=6 stm=1 core=0 HZ=100
>> F art : art/runtime/runtime.cc:424] | stack=0xf06ba000-0xf06bc000
>> stackSize=1038KB
>> F art : art/runtime/runtime.cc:424] | held mutexes= "abort lock"
>>
>> F art : art/runtime/runtime.cc:424] native: #00 pc 0058848e
>> /system/lib/libart.so
>> (_ZN3art15DumpNativeStackERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEEiP12BacktraceMapPKcPNS_9ArtMethodEPv+238)
>> F art : art/runtime/runtime.cc:424] native: #01 pc 00553ebe
>> /system/lib/libart.so
>> (_ZNK3art6Thread9DumpStackERNSt3__113basic_ostreamIcNS1_11char_traitsIcEEEEbP12BacktraceMap+526)
>> F art : art/runtime/runtime.cc:424] native: #02 pc 00550ebb
>> /system/lib/libart.so
>> (_ZNK3art6Thread4DumpERNSt3__113basic_ostreamIcNS1_11char_traitsIcEEEEbP12BacktraceMap+75)
>> F art : art/runtime/runtime.cc:424] native: #03 pc 0053c8d3
>> /system/lib/libart.so
>> (_ZNK3art10AbortState10DumpThreadERNSt3__113basic_ostreamIcNS1_11char_traitsIcEEEEPNS_6ThreadE+67)
>> F art : art/runtime/runtime.cc:424] native: #04 pc 0053c6a7
>> /system/lib/libart.so
>> (_ZNK3art10AbortState4DumpERNSt3__113basic_ostreamIcNS1_11char_traitsIcEEEE+615)
>> F art : art/runtime/runtime.cc:424] native: #05 pc 0052cc0b
>> /system/lib/libart.so (_ZN3art7Runtime5AbortEPKc+155)
>> F art : art/runtime/runtime.cc:424] native: #06 pc 0011def3
>> /system/lib/libart.so (_ZN3art10LogMessageD1Ev+1939)
>> F art : art/runtime/runtime.cc:424] native: #07 pc 0052c679
>> /system/lib/libart.so (_ZN3art7Runtime19DetachCurrentThreadEv+377)
>> F art : art/runtime/runtime.cc:424] native: #08 pc 003a1d85
>> /system/lib/libart.so (_ZN3art3JII19DetachCurrentThreadEP7_JavaVM+69)
>> F art : art/runtime/runtime.cc:424] native: #09 pc 0013572d
>> /data/app/com.domain.myapplication-2/lib/x86/libMyapplication.so
>> (_ZN14AndroidSharing12isMyFuncEv+109)
>> F art : art/runtime/runtime.cc:424] native: #10 pc 00099f30
>> /data/app/com.domain.myapplication-2/lib/x86/libMyapplication.so
>> (_ZN12GPreferences19check_if_myfuncEv+48)
>> F art : art/runtime/runtime.cc:424] native: #11 pc 00074d09
>> /data/app/com.domain.myapplication-2/lib/x86/libMyapplication.so
>> (_ZN8TextEditC1EP7QWidget+2377)
>> F art : art/runtime/runtime.cc:424] native: #12 pc 00051b7b
>> /data/app/com.domain.myapplication-2/lib/x86/libMyapplication.so
>> (main+747)
>> F art : art/runtime/runtime.cc:424] at
>> org.qtproject.qt5.android.QtNative$6.run(QtNative.java:359)
>> F art : art/runtime/runtime.cc:424] at
>> org.qtproject.qt5.android.QtThread$1.run(QtThread.java:61)
>> F art : art/runtime/runtime.cc:424] at java.lang.Thread.run(Thread.java:761)
>> F art : art/runtime/runtime.cc:424] Dumping all threads without
>> appropriate locks held: thread list lock mutator lock
>> F art : art/runtime/runtime.cc:424] All threads:
>>
>> F art : art/runtime/runtime.cc:424] DALVIK THREADS (14):
>>
>> F art : art/runtime/runtime.cc:424] "qtMainLoopThread" prio=5 tid=11 Runnable
>> F art : art/runtime/runtime.cc:424] | sysTid=6741 nice=0 cgrp=default
>> sched=0/0 handle=0xf07bc920
>> F art : art/runtime/runtime.cc:424] | state=R schedstat=( 92273427
>> 100558772 70 ) utm=6 stm=2 core=0 HZ=100
>> F art : art/runtime/runtime.cc:424] | stack=0xf06ba000-0xf06bc000
>> stackSize=1038KB
>> F art : art/runtime/runtime.cc:424] | held mutexes= "abort lock"
>> "mutator lock"(shared held)
>>
>> F art : art/runtime/runtime.cc:424] native: #00 pc 0058848e
>> /system/lib/libart.so
>> (_ZN3art15DumpNativeStackERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEEiP12BacktraceMapPKcPNS_9ArtMethodEPv+238)
>> F art : art/runtime/runtime.cc:424] native: #01 pc 00553ebe
>> /system/lib/libart.so
>> (_ZNK3art6Thread9DumpStackERNSt3__113basic_ostreamIcNS1_11char_traitsIcEEEEbP12BacktraceMap+526)
>> F art : art/runtime/runtime.cc:424] native: #02 pc 00550ebb
>> /system/lib/libart.so
>> (_ZNK3art6Thread4DumpERNSt3__113basic_ostreamIcNS1_11char_traitsIcEEEEbP12BacktraceMap+75)
>> F art : art/runtime/runtime.cc:424] native: #03 pc 00570d44
>> /system/lib/libart.so (_ZN3art14DumpCheckpoint3RunEPNS_6ThreadE+1092)
>> F art : art/runtime/runtime.cc:424] native: #04 pc 00566d8e
>> /system/lib/libart.so
>> (_ZN3art10ThreadList13RunCheckpointEPNS_7ClosureE+590)
>> F art : art/runtime/runtime.cc:424] native: #05 pc 00566902
>> /system/lib/libart.so
>> (_ZN3art10ThreadList4DumpERNSt3__113basic_ostreamIcNS1_11char_traitsIcEEEEb+962)
>> F art : art/runtime/runtime.cc:424] native: #06 pc 0053cb28
>> /system/lib/libart.so
>> (_ZNK3art10AbortState14DumpAllThreadsERNSt3__113basic_ostreamIcNS1_11char_traitsIcEEEEPNS_6ThreadE+424)
>> F art : art/runtime/runtime.cc:424] native: #07 pc 0053c876
>> /system/lib/libart.so
>> (_ZNK3art10AbortState4DumpERNSt3__113basic_ostreamIcNS1_11char_traitsIcEEEE+1078)
>> F art : art/runtime/runtime.cc:424] native: #08 pc 0052cc0b
>> /system/lib/libart.so (_ZN3art7Runtime5AbortEPKc+155)
>> F art : art/runtime/runtime.cc:424] native: #09 pc 0011def3
>> /system/lib/libart.so (_ZN3art10LogMessageD1Ev+1939)
>> F art : art/runtime/runtime.cc:424] native: #10 pc 0052c679
>> /system/lib/libart.so (_ZN3art7Runtime19DetachCurrentThreadEv+377)
>> F art : art/runtime/runtime.cc:424] native: #11 pc 003a1d85
>> /system/lib/libart.so (_ZN3art3JII19DetachCurrentThreadEP7_JavaVM+69)
>> F art : art/runtime/runtime.cc:424] native: #12 pc 0013572d
>> /data/app/com.domain.myapplication-2/lib/x86/libMyapplication.so
>> (_ZN14AndroidSharing12isMyFuncEv+109)
>> F art : art/runtime/runtime.cc:424] native: #13 pc 00099f30
>> /data/app/com.domain.myapplication-2/lib/x86/libMyapplication.so
>> (_ZN12GPreferences19check_if_myfuncEv+48)
>> F art : art/runtime/runtime.cc:424] native: #14 pc 00074d09
>> /data/app/com.domain.myapplication-2/lib/x86/libMyapplication.so
>> (_ZN8TextEditC1EP7QWidget+2377)
>> F art : art/runtime/runtime.cc:424] native: #15 pc 00051b7b
>> /data/app/com.domain.myapplication-2/lib/x86/libMyapplication.so
>> (main+747)
>> F art : art/runtime/runtime.cc:424] native: #16 pc 0001ca00
>> /data/data/com.domain.myapplication/qt-reserved-files/plugins/platforms/android/libqtforandroid.so
>> (???)
>> F art : art/runtime/runtime.cc:424] native: #17 pc 0003bef6
>> /data/app/com.domain.myapplication-2/oat/x86/base.odex
>> (Java_org_qtproject_qt5_android_QtNative_startQtApplication__+98)
>> F art : art/runtime/runtime.cc:424] at
>> org.qtproject.qt5.android.QtNative.startQtApplication(Native method)
>> F art : art/runtime/runtime.cc:424] at
>> org.qtproject.qt5.android.QtNative$6.run(QtNative.java:359)
>> F art : art/runtime/runtime.cc:424] at
>> org.qtproject.qt5.android.QtThread$1.run(QtThread.java:61)
>> F art : art/runtime/runtime.cc:424] at java.lang.Thread.run(Thread.java:761)
>> F art : art/runtime/runtime.cc:424]
>> F art : art/runtime/runtime.cc:424] "Jit thread pool worker thread 0"
>> prio=5 tid=2 Runnable (still starting up)
>> F art : art/runtime/runtime.cc:424] | group="" sCount=0 dsCount=0
>> obj=0x0 self=0xe9c08000
>>
>>
>> Thanks in advance
>>
>> Kind regards,
>> Robert
>> _______________________________________________
>> Interest mailing list
>> Interest@qt-project.org
>> http://lists.qt-project.org/mailman/listinfo/interest
_______________________________________________
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest

Reply via email to