Skip to content
This repository has been archived by the owner on May 26, 2022. It is now read-only.

crash on call to NewByteArray #57

Closed
ttym opened this issue Jan 8, 2019 · 4 comments
Closed

crash on call to NewByteArray #57

ttym opened this issue Jan 8, 2019 · 4 comments

Comments

@ttym
Copy link

ttym commented Jan 8, 2019

when i call the discovery method multiple times then i got this crash on JNI method:

A/art: art/runtime/java_vm_ext.cc:470] JNI DETECTED ERROR IN APPLICATION: thread Thread[63,tid=22000,Native,Thread*=0x7f85f45e00,peer=0x12df10d0,"DNS-SD"] using JNIEnv* from thread Thread[63,tid=22000,Native,Thread*=0x7f85f45e00,peer=0x12df10d0,"DNS-SD"]
A/art: art/runtime/java_vm_ext.cc:470] in call to NewByteArray
A/art: art/runtime/java_vm_ext.cc:470] from int com.github.druk.dnssd.DNSSDEmbedded.nativeLoop()
A/art: art/runtime/java_vm_ext.cc:470] "DNS-SD" daemon prio=10 tid=63 Runnable
A/art: art/runtime/java_vm_ext.cc:470] | group="main" sCount=0 dsCount=0 obj=0x12df10d0 self=0x7f85f45e00
A/art: art/runtime/java_vm_ext.cc:470] | sysTid=22000 nice=-8 cgrp=default sched=0/0 handle=0x7f801ff450
A/art: art/runtime/java_vm_ext.cc:470] | state=R schedstat=( 14498181 7960363 30 ) utm=0 stm=1 core=4 HZ=100
A/art: art/runtime/java_vm_ext.cc:470] | stack=0x7f800fd000-0x7f800ff000 stackSize=1037KB
A/art: art/runtime/java_vm_ext.cc:470] | held mutexes= "mutator lock"(shared held)
A/art: art/runtime/java_vm_ext.cc:470] native: #00 pc 000000000047a0a0 /system/lib64/libart.so (_ZN3art15DumpNativeStackERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEEiP12BacktraceMapPKcPNS_9ArtMethodEPv+220)
A/art: art/runtime/java_vm_ext.cc:470] native: #1 pc 000000000047a09c /system/lib64/libart.so (_ZN3art15DumpNativeStackERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEEiP12BacktraceMapPKcPNS_9ArtMethodEPv+216)
A/art: art/runtime/java_vm_ext.cc:470] native: #2 pc 000000000044e6ac /system/lib64/libart.so (_ZNK3art6Thread9DumpStackERNSt3__113basic_ostreamIcNS1_11char_traitsIcEEEEbP12BacktraceMap+472)
A/art: art/runtime/java_vm_ext.cc:470] native: #3 pc 00000000002eea0c /system/lib64/libart.so (ZN3art9JavaVMExt8JniAbortEPKcS2+1128)
A/art: art/runtime/java_vm_ext.cc:470] native: #4 pc 00000000002ef0f4 /system/lib64/libart.so (_ZN3art9JavaVMExt9JniAbortVEPKcS2_St9__va_list+120)
A/art: art/runtime/java_vm_ext.cc:470] native: #5 pc 0000000000102474 /system/lib64/libart.so (_ZN3art11ScopedCheck6AbortFEPKcz+156)
A/art: art/runtime/java_vm_ext.cc:470] native: #6 pc 0000000000101d10 /system/lib64/libart.so (_ZN3art11ScopedCheck11CheckThreadEP7_JNIEnv+172)
A/art: art/runtime/java_vm_ext.cc:470] native: #7 pc 00000000000ff9bc /system/lib64/libart.so (_ZN3art11ScopedCheck5CheckERNS_18ScopedObjectAccessEbPKcPNS_12JniValueTypeE+1120)
A/art: art/runtime/java_vm_ext.cc:470] native: #8 pc 0000000000109264 /system/lib64/libart.so (_ZN3art8CheckJNI17NewPrimitiveArrayEPKcP7_JNIEnviNS_9Primitive4TypeE+636)
A/art: art/runtime/java_vm_ext.cc:470] native: #9 pc 0000000000047a98 /data/app/com.weicantimes.weican.intl-2/lib/arm64/libjdns_sd_embedded.so (???)
A/art: art/runtime/java_vm_ext.cc:470] native: #10 pc 0000000000031d68 /data/app/com.weicantimes.weican.intl-2/lib/arm64/libjdns_sd_embedded.so (???)
A/art: art/runtime/java_vm_ext.cc:470] native: #11 pc 0000000000005b30 /data/app/com.weicantimes.weican.intl-2/lib/arm64/libjdns_sd_embedded.so (???)
A/art: art/runtime/java_vm_ext.cc:470] native: #12 pc 000000000000fedc /data/app/com.weicantimes.weican.intl-2/lib/arm64/libjdns_sd_embedded.so (???)
A/art: art/runtime/java_vm_ext.cc:470] native: #13 pc 0000000000011750 /data/app/com.weicantimes.weican.intl-2/lib/arm64/libjdns_sd_embedded.so (???)
A/art: art/runtime/java_vm_ext.cc:470] native: #14 pc 000000000002f6d0 /data/app/com.weicantimes.weican.intl-2/lib/arm64/libjdns_sd_embedded.so (???)
A/art: art/runtime/java_vm_ext.cc:470] native: #15 pc 000000000002f4e8 /data/app/com.weicantimes.weican.intl-2/lib/arm64/libjdns_sd_embedded.so (???)
A/art: art/runtime/java_vm_ext.cc:470] native: #16 pc 000000000002faa8 /data/app/com.weicantimes.weican.intl-2/lib/arm64/libjdns_sd_embedded.so (???)
A/art: art/runtime/java_vm_ext.cc:470] native: #17 pc 000000000003d6b0 /data/app/com.weicantimes.weican.intl-2/lib/arm64/libjdns_sd_embedded.so (???)
A/art: art/runtime/java_vm_ext.cc:470] native: #18 pc 000000000003d7d8 /data/app/com.weicantimes.weican.intl-2/lib/arm64/libjdns_sd_embedded.so (???)
A/art: art/runtime/java_vm_ext.cc:470] native: #19 pc 00000000000dbb10 /system/lib64/libart.so (art_quick_generic_jni_trampoline+144)
A/art: art/runtime/java_vm_ext.cc:470] native: #20 pc 00000000000d27e8 /system/lib64/libart.so (art_quick_invoke_static_stub+600)
A/art: art/runtime/java_vm_ext.cc:470] native: #21 pc 00000000000df230 /system/lib64/libart.so (_ZN3art9ArtMethod6InvokeEPNS_6ThreadEPjjPNS_6JValueEPKc+252)
A/art: art/runtime/java_vm_ext.cc:470] native: #22 pc 000000000028eefc /system/lib64/libart.so (_ZN3art11interpreter34ArtInterpreterToCompiledCodeBridgeEPNS_6ThreadEPNS_9ArtMethodEPKNS_7DexFile8CodeItemEPNS_11ShadowFrameEPNS_6JValueE+312)
A/art: art/runtime/java_vm_ext.cc:470] native: #23 pc 0000000000287ed8 /system/lib64/libart.so (_ZN3art11interpreter6DoCallILb0ELb0EEEbPNS_9ArtMethodEPNS_6ThreadERNS_11ShadowFrameEPKNS_11InstructionEtPNS_6JValueE+592)
A/art: art/runtime/java_vm_ext.cc:470] native: #24 pc 0000000000555d90 /system/lib64/libart.so (MterpInvokeStatic+356)
A/art: art/runtime/java_vm_ext.cc:470] native: #25 pc 00000000000c5094 /system/lib64/libart.so (ExecuteMterpImpl+14612)
A/art: art/runtime/java_vm_ext.cc:470] at com.github.druk.dnssd.DNSSDEmbedded.nativeLoop(Native method)
A/art: art/runtime/java_vm_ext.cc:470] at com.github.druk.dnssd.DNSSDEmbedded$1.run(DNSSDEmbedded.java:87)
A/art: art/runtime/java_vm_ext.cc:470]

here is my code snippet:

public void startDiscover(String nsdType) {
rxDnssd.browse(nsdType, "local.")
                    .compose(rxDnssd.resolve())
                    .compose(rxDnssd.queryIPRecords())
                    .subscribeOn(Schedulers.io())
                    .observeOn(AndroidSchedulers.mainThread())
                    .subscribe(bonjourService -> {
                        if (bonjourService.isLost()) {
                            xxxx
                        } else {
                           xxxx
                        }
                    }, throwable -> Log.e("TAG", "error", throwable));
}

and this startDiscovery method may call multiple times

@andriydruk
Copy link
Owner

Looks like a memory leak. Please write what version do you use? What version of rxDnssd did you create?

@ttym
Copy link
Author

ttym commented Jan 22, 2019

Looks like a memory leak. Please write what version do you use? What version of rxDnssd did you create?

I use Version is 0.9.11
rxDnssd create by rx2Dnssd

Thanks for you time

@andriydruk
Copy link
Owner

It looks like you use DNSSDEmbedded version of Rx2DNSSD
Please, try 0.9.12. I added fix for an embedded version of library

@ttym
Copy link
Author

ttym commented Jan 26, 2019

It looks like you use DNSSDEmbedded version of Rx2DNSSD
Please, try 0.9.12. I added fix for an embedded version of library

I have update 0.9.12, and it works for me
thanks for u time.

@ttym ttym closed this as completed Jan 26, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants