Description
Hi,
Im using jnigen for the first time.
I have an exception: JNI DETECTED ERROR IN APPLICATION: can't call java.lang.String java.lang.Object.toString() on null object
.
it is caused by calling:
final connectedDevice = deviceManager.getLastConnectedDeviceInfo(JObject.fromReference(Jni.getCurrentActivity()));
.
getLastConnectedDeviceInfo
java function is returning null
when there is no last connected device to return. I tried wrap it in try catch
block or to check connectedDevice.isNull
but the exception is thrown while I'm calling that function. Is there a way to handle that situation?
For now I wrote additional function in Java which is a facade to that function and returns true/false instead of using original function.
Dart code:
void initialize() async { removeCallback();
_managerCallback = DeviceManagerCallback.implement(this); final localCallback = _managerCallback!; deviceManager = await runOnPlatformThread<DeviceManager>( () => DeviceManager.getInstance(JObject.fromReference(Jni.getCurrentActivity())) ..addDeviceManagerCallback(localCallback),); final connectedDevice = deviceManager.getLastConnectedDeviceInfo(JObject.fromReference(Jni.getCurrentActivity())); if (connectedDevice.isNull) { startPairing(); } else { startMeasurement(); }
}
DeviceInfo:
import 'dart:core' show Object, String, bool, double, int; import 'dart:core' as _$core;
import 'package:jni/_internal.dart' as _$jni;
import 'package:jni/jni.dart' as _$jni;/// from:
com.bp.bloodpressuresdk.DeviceInfo
class DeviceInfo extends $jni.JObject {
@$jni.internal
@_$core.override
final _$jni.JObjType $type;@_$jni.internal
DeviceInfo.fromReference(
_$jni.JReference reference,
) : $type = type,
super.fromReference(reference);static final _class =
_$jni.JClass.forName(r'com/bp/bloodpressuresdk/DeviceInfo');/// The type which includes information such as the signature of this class.
static const type = $DeviceInfo$Type();
static final _id_new$ = _class.constructorId(
r'(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V',
);static final _new$ = _$jni.ProtectedJniExtensions.lookup<
_$jni.NativeFunction<
_$jni.JniResult Function(
$jni.Pointer<$jni.Void>,
_$jni.JMethodIDPtr,
_$jni.VarArgs<
(
$jni.Pointer<$jni.Void>,
$jni.Pointer<$jni.Void>,
$jni.Pointer<$jni.Void>,
$jni.Pointer<$jni.Void>,
$jni.Pointer<$jni.Void>
)>)>>('globalEnv_NewObject')
.asFunction<
_$jni.JniResult Function(
$jni.Pointer<$jni.Void>,
_$jni.JMethodIDPtr,
$jni.Pointer<$jni.Void>,
$jni.Pointer<$jni.Void>,
$jni.Pointer<$jni.Void>,
$jni.Pointer<$jni.Void>,
$jni.Pointer<$jni.Void>)>();/// from:
public void <init>(java.lang.String string, java.lang.String string1, java.lang.String string2, java.lang.String string3, java.lang.String string4)
/// The returned object must be released after use, by calling the [release] method.
factory DeviceInfo(
_$jni.JString string,
_$jni.JString string1,
_$jni.JString string2,
_$jni.JString string3,
_$jni.JString string4,
) {
return DeviceInfo.fromReference(_new$(
_class.reference.pointer,
_id_new$ as _$jni.JMethodIDPtr,
string.reference.pointer,
string1.reference.pointer,
string2.reference.pointer,
string3.reference.pointer,
string4.reference.pointer)
.reference);
}static final _id_new$1 = _class.constructorId(
r'(Landroid/bluetooth/BluetoothDevice;)V',
);static final _new$1 = _$jni.ProtectedJniExtensions.lookup<
_$jni.NativeFunction<
$jni.JniResult Function(
$jni.Pointer<$jni.Void>,
$jni.JMethodIDPtr,
$jni.VarArgs<($jni.Pointer<$jni.Void>,)>)>>(
'globalEnv_NewObject')
.asFunction<
$jni.JniResult Function($jni.Pointer<$jni.Void>,
_$jni.JMethodIDPtr, $jni.Pointer<$jni.Void>)>();/// from:
public void <init>(android.bluetooth.BluetoothDevice bluetoothDevice)
/// The returned object must be released after use, by calling the [release] method.
factory DeviceInfo.new$1(
_$jni.JObject bluetoothDevice,
) {
return DeviceInfo.fromReference(_new$1(_class.reference.pointer,
_id_new$1 as _$jni.JMethodIDPtr, bluetoothDevice.reference.pointer)
.reference);
}static final _id_getAdvertisementDataName = _class.instanceMethodId(
r'getAdvertisementDataName',
r'()Ljava/lang/String;',
);static final _getAdvertisementDataName = _$jni.ProtectedJniExtensions.lookup<
_$jni.NativeFunction<
_$jni.JniResult Function(
$jni.Pointer<$jni.Void>,
_$jni.JMethodIDPtr,
)>>('globalEnv_CallObjectMethod')
.asFunction<
_$jni.JniResult Function(
$jni.Pointer<$jni.Void>,
_$jni.JMethodIDPtr,
)>();/// from:
public java.lang.String getAdvertisementDataName()
/// The returned object must be released after use, by calling the [release] method.
_$jni.JString getAdvertisementDataName() {
return _getAdvertisementDataName(reference.pointer,
_id_getAdvertisementDataName as _$jni.JMethodIDPtr)
.object(const _$jni.JStringType());
}static final _id_getAddress = _class.instanceMethodId(
r'getAddress',
r'()Ljava/lang/String;',
);static final _getAddress = _$jni.ProtectedJniExtensions.lookup<
_$jni.NativeFunction<
_$jni.JniResult Function(
$jni.Pointer<$jni.Void>,
_$jni.JMethodIDPtr,
)>>('globalEnv_CallObjectMethod')
.asFunction<
_$jni.JniResult Function(
$jni.Pointer<$jni.Void>,
_$jni.JMethodIDPtr,
)>();/// from:
public java.lang.String getAddress()
/// The returned object must be released after use, by calling the [release] method.
_$jni.JString getAddress() {
return _getAddress(reference.pointer, _id_getAddress as _$jni.JMethodIDPtr)
.object(const _$jni.JStringType());
}static final _id_getName = _class.instanceMethodId(
r'getName',
r'()Ljava/lang/String;',
);static final _getName = _$jni.ProtectedJniExtensions.lookup<
_$jni.NativeFunction<
_$jni.JniResult Function(
$jni.Pointer<$jni.Void>,
_$jni.JMethodIDPtr,
)>>('globalEnv_CallObjectMethod')
.asFunction<
_$jni.JniResult Function(
$jni.Pointer<$jni.Void>,
_$jni.JMethodIDPtr,
)>();/// from:
public java.lang.String getName()
/// The returned object must be released after use, by calling the [release] method.
_$jni.JString getName() {
return _getName(reference.pointer, _id_getName as _$jni.JMethodIDPtr)
.object(const _$jni.JStringType());
}static final _id_getProtocol = _class.instanceMethodId(
r'getProtocol',
r'()Ljava/lang/String;',
);static final _getProtocol = _$jni.ProtectedJniExtensions.lookup<
_$jni.NativeFunction<
_$jni.JniResult Function(
$jni.Pointer<$jni.Void>,
_$jni.JMethodIDPtr,
)>>('globalEnv_CallObjectMethod')
.asFunction<
_$jni.JniResult Function(
$jni.Pointer<$jni.Void>,
_$jni.JMethodIDPtr,
)>();/// from:
public java.lang.String getProtocol()
/// The returned object must be released after use, by calling the [release] method.
_$jni.JString getProtocol() {
return _getProtocol(
reference.pointer, _id_getProtocol as _$jni.JMethodIDPtr)
.object(const _$jni.JStringType());
}static final _id_getSerialNumber = _class.instanceMethodId(
r'getSerialNumber',
r'()Ljava/lang/String;',
);static final _getSerialNumber = _$jni.ProtectedJniExtensions.lookup<
_$jni.NativeFunction<
_$jni.JniResult Function(
$jni.Pointer<$jni.Void>,
_$jni.JMethodIDPtr,
)>>('globalEnv_CallObjectMethod')
.asFunction<
_$jni.JniResult Function(
$jni.Pointer<$jni.Void>,
_$jni.JMethodIDPtr,
)>();/// from:
public java.lang.String getSerialNumber()
/// The returned object must be released after use, by calling the [release] method.
_$jni.JString getSerialNumber() {
return _getSerialNumber(
reference.pointer, _id_getSerialNumber as _$jni.JMethodIDPtr)
.object(const _$jni.JStringType());
}static final _id_getBootId = _class.instanceMethodId(
r'getBootId',
r'()Ljava/lang/String;',
);static final _getBootId = _$jni.ProtectedJniExtensions.lookup<
_$jni.NativeFunction<
_$jni.JniResult Function(
$jni.Pointer<$jni.Void>,
_$jni.JMethodIDPtr,
)>>('globalEnv_CallObjectMethod')
.asFunction<
_$jni.JniResult Function(
$jni.Pointer<$jni.Void>,
_$jni.JMethodIDPtr,
)>();/// from:
public java.lang.String getBootId()
/// The returned object must be released after use, by calling the [release] method.
_$jni.JString getBootId() {
return _getBootId(reference.pointer, _id_getBootId as _$jni.JMethodIDPtr)
.object(const _$jni.JStringType());
}static final _id_getDeviceType = _class.instanceMethodId(
r'getDeviceType',
r'()Lcom/bp/bloodpressuresdk/DeviceType;',
);static final _getDeviceType = _$jni.ProtectedJniExtensions.lookup<
_$jni.NativeFunction<
_$jni.JniResult Function(
$jni.Pointer<$jni.Void>,
_$jni.JMethodIDPtr,
)>>('globalEnv_CallObjectMethod')
.asFunction<
_$jni.JniResult Function(
$jni.Pointer<$jni.Void>,
_$jni.JMethodIDPtr,
)>();/// from:
public com.bp.bloodpressuresdk.DeviceType getDeviceType()
/// The returned object must be released after use, by calling the [release] method.
_$jni.JObject getDeviceType() {
return _getDeviceType(
reference.pointer, _id_getDeviceType as _$jni.JMethodIDPtr)
.object(const _$jni.JObjectType());
}static final _id_getAtsStandard = _class.instanceMethodId(
r'getAtsStandard',
r'()Lcom/bp/bloodpressuresdk/AtsStandard;',
);static final _getAtsStandard = _$jni.ProtectedJniExtensions.lookup<
_$jni.NativeFunction<
_$jni.JniResult Function(
$jni.Pointer<$jni.Void>,
_$jni.JMethodIDPtr,
)>>('globalEnv_CallObjectMethod')
.asFunction<
_$jni.JniResult Function(
$jni.Pointer<$jni.Void>,
_$jni.JMethodIDPtr,
)>();/// from:
public com.bp.bloodpressuresdk.AtsStandard getAtsStandard()
/// The returned object must be released after use, by calling the [release] method.
_$jni.JObject getAtsStandard() {
return _getAtsStandard(
reference.pointer, _id_getAtsStandard as _$jni.JMethodIDPtr)
.object(const _$jni.JObjectType());
}static final _id_toString$1 = _class.instanceMethodId(
r'toString',
r'()Ljava/lang/String;',
);static final _toString$1 = _$jni.ProtectedJniExtensions.lookup<
_$jni.NativeFunction<
_$jni.JniResult Function(
$jni.Pointer<$jni.Void>,
_$jni.JMethodIDPtr,
)>>('globalEnv_CallObjectMethod')
.asFunction<
_$jni.JniResult Function(
$jni.Pointer<$jni.Void>,
_$jni.JMethodIDPtr,
)>();/// from:
public java.lang.String toString()
/// The returned object must be released after use, by calling the [release] method.
_$jni.JString toString$1() {
return _toString$1(reference.pointer, _id_toString$1 as _$jni.JMethodIDPtr)
.object(const _$jni.JStringType());
}static final _id_equals = _class.instanceMethodId(
r'equals',
r'(Ljava/lang/Object;)Z',
);static final _equals = _$jni.ProtectedJniExtensions.lookup<
_$jni.NativeFunction<
$jni.JniResult Function(
$jni.Pointer<$jni.Void>,
$jni.JMethodIDPtr,
$jni.VarArgs<($jni.Pointer<$jni.Void>,)>)>>(
'globalEnv_CallBooleanMethod')
.asFunction<
$jni.JniResult Function($jni.Pointer<$jni.Void>,
_$jni.JMethodIDPtr, $jni.Pointer<$jni.Void>)>();/// from:
public boolean equals(java.lang.Object object)
bool equals(
_$jni.JObject object,
) {
return _equals(reference.pointer, _id_equals as _$jni.JMethodIDPtr,
object.reference.pointer)
.boolean;
}static final _id_hashCode$1 = _class.instanceMethodId(
r'hashCode',
r'()I',
);static final _hashCode$1 = _$jni.ProtectedJniExtensions.lookup<
_$jni.NativeFunction<
_$jni.JniResult Function(
$jni.Pointer<$jni.Void>,
_$jni.JMethodIDPtr,
)>>('globalEnv_CallIntMethod')
.asFunction<
_$jni.JniResult Function(
$jni.Pointer<$jni.Void>,
_$jni.JMethodIDPtr,
)>();/// from:
public int hashCode()
int hashCode$1() {
return _hashCode$1(reference.pointer, _id_hashCode$1 as _$jni.JMethodIDPtr)
.integer;
}
}final class $DeviceInfo$Type extends $jni.JObjType {
@$jni.internal
const $DeviceInfo$Type();@$jni.internal
@$core.override
String get signature => r'Lcom/bp/bloodpressuresdk/DeviceInfo;';@$jni.internal
@$core.override
DeviceInfo fromReference(_$jni.JReference reference) =>
DeviceInfo.fromReference(reference);@$jni.internal
@$core.override
_$jni.JObjType get superType => const _$jni.JObjectType();@$jni.internal
@$core.override
final superCount = 1;@_$core.override
int get hashCode => ($DeviceInfo$Type).hashCode;
@_$core.override
bool operator ==(Object other) {
return other.runtimeType == ($DeviceInfo$Type) && other is $DeviceInfo$Type;
}
}
getLastConnectedDevicInfo in Java:
public DeviceInfo getLastConnectedDeviceInfo(Context context) {
Validator.ensureNotNull(context, "context");
SharedPreferences myPreference = context.getSharedPreferences("com.myapp", 0);
String address = myPreference.getString("deviceaddress", "");
if (address.equals("")) {
Logger.logDeviceManagerWarning("getLastConnectedDeviceInfo: SharedPreference not set");
return null;
} else {
String name = myPreference.getString("deviceName", "");
String protocol = myPreference.getString("deviceProtocol", "");
String serialNumber = myPreference.getString("deviceSerialNumber", "");
String advertisementDataName = myPreference.getString("deviceAdvertisementDataName", "");
return new DeviceInfo(address, name, protocol, serialNumber, advertisementDataName);
}
}
Console log:
F/nextgen.staging( 2451): java_vm_ext.cc:591] JNI DETECTED ERROR IN APPLICATION: can't call java.lang.String java.lang.Object.toString() on null object F/nextgen.staging( 2451): java_vm_ext.cc:591] in call to CallObjectMethodA F/nextgen.staging( 2451): runtime.cc:691] Runtime aborting... F/nextgen.staging( 2451): runtime.cc:691] Dumping all threads without mutator lock held F/nextgen.staging( 2451): runtime.cc:691] All threads: F/nextgen.staging( 2451): runtime.cc:691] DALVIK THREADS (63): F/nextgen.staging( 2451): runtime.cc:691] "main" prio=10 tid=1 Native F/nextgen.staging( 2451): runtime.cc:691] | group="" sCount=1 ucsCount=0 flags=1 obj=0x72230cd8 self=0xb4000079ca21a2c0 F/nextgen.staging( 2451): runtime.cc:691] | sysTid=2451 nice=-10 cgrp=top-app sched=0/0 handle=0x7c5e0d44f8 F/nextgen.staging( 2451): runtime.cc:691] | state=S schedstat=( 1295472853 326322364 2285 ) utm=110 stm=18 core=2 HZ=100 F/nextgen.staging( 2451): runtime.cc:691] | stack=0x7fcca6f000-0x7fcca71000 stackSize=8188KB F/nextgen.staging( 2451): runtime.cc:691] | held mutexes= F/nextgen.staging( 2451): runtime.cc:691] native: #00 pc 000b8658 /apex/com.android.runtime/lib64/bionic/libc.so (__epoll_pwait+8) (BuildId: a87908b48b368e6282bcc9f34bcfc28c) F/nextgen.staging( 2451): runtime.cc:691] native: #01 pc 000101d8 /system/lib64/libutils.so (android::Looper::pollOnce+204) (BuildId: 4ad4af87e8ab16b872cdbdaf84188131) F/nextgen.staging( 2451): runtime.cc:691] native: #02 pc 00183604 /system/lib64/libandroid_runtime.so (android::android_os_MessageQueue_nativePollOnce+44) (BuildId: c741d6d101847b558f8cdb0633f23335) F/nextgen.staging( 2451): runtime.cc:691] native: #03 pc 00377030 /apex/com.android.art/lib64/libart.so (art_quick_generic_jni_trampoline+144) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #04 pc 003605a4 /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+612) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #05 pc 004906b4 /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall+1248) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #06 pc 0050a5d4 /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp+2380) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #07 pc 003797d8 /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #08 pc 001fce24 /system/framework/framework.jar (android.os.MessageQueue.next) F/nextgen.staging( 2451): runtime.cc:691] native: #09 pc 0037cde0 /apex/com.android.art/lib64/libart.so (art::interpreter::Execute +356) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #10 pc 0049120c /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall+4152) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #11 pc 00509f94 /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp+780) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #12 pc 003797d8 /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #13 pc 001fbe08 /system/framework/framework.jar (android.os.Looper.loopOnce) F/nextgen.staging( 2451): runtime.cc:691] native: #14 pc 0037cde0 /apex/com.android.art/lib64/libart.so (art::interpreter::Execute +356) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #15 pc 0049120c /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall+4152) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #16 pc 0050a2f8 /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp+1648) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #17 pc 003797d8 /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #18 pc 001fc57c /system/framework/framework.jar (android.os.Looper.loop) F/nextgen.staging( 2451): runtime.cc:691] native: #19 pc 0037cde0 /apex/com.android.art/lib64/libart.so (art::interpreter::Execute +356) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #20 pc 0049120c /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall+4152) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #21 pc 0050a2f8 /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp+1648) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #22 pc 003797d8 /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #23 pc 001c3970 /system/framework/framework.jar (android.app.ActivityThread.main) F/nextgen.staging( 2451): runtime.cc:691] native: #24 pc 0037cde0 /apex/com.android.art/lib64/libart.so (art::interpreter::Execute +356) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #25 pc 0037c560 /apex/com.android.art/lib64/libart.so (artQuickToInterpreterBridge+672) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #26 pc 00377168 /apex/com.android.art/lib64/libart.so (art_quick_to_interpreter_bridge+88) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #27 pc 00360880 /apex/com.android.art/lib64/libart.so (art_quick_invoke_static_stub+640) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #28 pc 0026a904 /apex/com.android.art/lib64/libart.so (_jobject* art::InvokeMethod<8>+780) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #29 pc 0026a5e8 /apex/com.android.art/lib64/libart.so (art::Method_invoke +32) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #30 pc 00377030 /apex/com.android.art/lib64/libart.so (art_quick_generic_jni_trampoline+144) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #31 pc 003605a4 /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+612) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #32 pc 004906b4 /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall+1248) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #33 pc 00509f94 /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp+780) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #34 pc 003797d8 /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #35 pc 0050cd00 /system/framework/framework.jar (com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run) F/nextgen.staging( 2451): runtime.cc:691] native: #36 pc 0037cde0 /apex/com.android.art/lib64/libart.so (art::interpreter::Execute +356) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #37 pc 0037c560 /apex/com.android.art/lib64/libart.so (artQuickToInterpreterBridge+672) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #38 pc 00377168 /apex/com.android.art/lib64/libart.so (art_quick_to_interpreter_bridge+88) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] at android.os.MessageQueue.nativePollOnce(Native method) F/nextgen.staging( 2451): runtime.cc:691] at android.os.MessageQueue.next(MessageQueue.java:335) F/nextgen.staging( 2451): runtime.cc:691] at android.os.Looper.loopOnce(Looper.java:162) F/nextgen.staging( 2451): runtime.cc:691] at android.os.Looper.loop(Looper.java:294) F/nextgen.staging( 2451): runtime.cc:691] at android.app.ActivityThread.main(ActivityThread.java:8177) F/nextgen.staging( 2451): runtime.cc:691] at java.lang.reflect.Method.invoke(Native method) F/nextgen.staging( 2451): runtime.cc:691] at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552) F/nextgen.staging( 2451): runtime.cc:691] at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:971) F/nextgen.staging( 2451): runtime.cc:691] F/nextgen.staging( 2451): runtime.cc:691] "ReferenceQueueDaemon" prio=5 tid=10 Waiting F/nextgen.staging( 2451): runtime.cc:691] | group="" sCount=1 ucsCount=0 flags=1 obj=0x14fc0330 self=0xb4000079ca242270 F/nextgen.staging( 2451): runtime.cc:691] | sysTid=2464 nice=4 cgrp=top-app sched=0/0 handle=0x792da73cb0 F/nextgen.staging( 2451): runtime.cc:691] | state=S schedstat=( 23068407 5189886 637 ) utm=0 stm=1 core=1 HZ=100 F/nextgen.staging( 2451): runtime.cc:691] | stack=0x792d970000-0x792d972000 stackSize=1039KB F/nextgen.staging( 2451): runtime.cc:691] | held mutexes= F/nextgen.staging( 2451): runtime.cc:691] native: #00 pc 00062e1c /apex/com.android.runtime/lib64/bionic/libc.so (syscall+28) (BuildId: a87908b48b368e6282bcc9f34bcfc28c) F/nextgen.staging( 2451): runtime.cc:691] native: #01 pc 0022cfac /apex/com.android.art/lib64/libart.so (art::ConditionVariable::WaitHoldingLocks+140) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #02 pc 002baf6c /apex/com.android.art/lib64/libart.so (art::Monitor::Wait+4808) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #03 pc 00377030 /apex/com.android.art/lib64/libart.so (art_quick_generic_jni_trampoline+144) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #04 pc 003605a4 /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+612) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #05 pc 004906b4 /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall+1248) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #06 pc 00509f94 /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp+780) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #07 pc 003797d8 /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #08 pc 000fdf70 /apex/com.android.art/javalib/core-oj.jar (java.lang.Object.wait) F/nextgen.staging( 2451): runtime.cc:691] native: #09 pc 0037cde0 /apex/com.android.art/lib64/libart.so (art::interpreter::Execute +356) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #10 pc 0049120c /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall+4152) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #11 pc 00509f94 /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp+780) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #12 pc 003797d8 /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #13 pc 000fdf54 /apex/com.android.art/javalib/core-oj.jar (java.lang.Object.wait) F/nextgen.staging( 2451): runtime.cc:691] native: #14 pc 0037cde0 /apex/com.android.art/lib64/libart.so (art::interpreter::Execute +356) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #15 pc 0049120c /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall+4152) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #16 pc 00509f94 /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp+780) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #17 pc 003797d8 /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #18 pc 0002bc00 /apex/com.android.art/javalib/core-libart.jar (java.lang.Daemons$ReferenceQueueDaemon.runInternal) F/nextgen.staging( 2451): runtime.cc:691] native: #19 pc 0037cde0 /apex/com.android.art/lib64/libart.so (art::interpreter::Execute +356) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #20 pc 0049120c /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall+4152) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #21 pc 00509f94 /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp+780) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #22 pc 003797d8 /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #23 pc 0002ae3c /apex/com.android.art/javalib/core-libart.jar (java.lang.Daemons$Daemon.run) F/nextgen.staging( 2451): runtime.cc:691] native: #24 pc 0037cde0 /apex/com.android.art/lib64/libart.so (art::interpreter::Execute +356) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #25 pc 0049120c /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall+4152) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #26 pc 0050aca4 /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp+4124) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #27 pc 003797d8 /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #28 pc 0010ee0c /apex/com.android.art/javalib/core-oj.jar (java.lang.Thread.run) F/nextgen.staging( 2451): runtime.cc:691] native: #29 pc 0037cde0 /apex/com.android.art/lib64/libart.so (art::interpreter::Execute +356) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #30 pc 0037c560 /apex/com.android.art/lib64/libart.so (artQuickToInterpreterBridge+672) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #31 pc 00377168 /apex/com.android.art/lib64/libart.so (art_quick_to_interpreter_bridge+88) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #32 pc 003605a4 /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+612) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #33 pc 0034b8a4 /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke+144) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #34 pc 004f3e30 /apex/com.android.art/lib64/libart.so (art::Thread::CreateCallback+1888) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #35 pc 000cb6a8 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start+208) (BuildId: a87908b48b368e6282bcc9f34bcfc28c) F/nextgen.staging( 2451): runtime.cc:691] native: #36 pc 0006821c /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64) (BuildId: a87908b48b368e6282bcc9f34bcfc28c) F/nextgen.staging( 2451): runtime.cc:691] at java.lang.Object.wait(Native method) F/nextgen.staging( 2451): runtime.cc:691] - waiting on <0x07b8a47e> (a java.lang.Class) F/nextgen.staging( 2451): runtime.cc:691] at java.lang.Object.wait(Object.java:386) F/nextgen.staging( 2451): runtime.cc:691] at java.lang.Object.wait(Object.java:524) F/nextgen.staging( 2451): runtime.cc:691] at java.lang.Daemons$ReferenceQueueDaemon.runInternal(Daemons.java:239) F/nextgen.staging( 2451): runtime.cc:691] - locked <0x07b8a47e> (a java.lang.Class) F/nextgen.staging( 2451): runtime.cc:691] at java.lang.Daemons$Daemon.run(Daemons.java:145) F/nextgen.staging( 2451): runtime.cc:691] at java.lang.Thread.run(Thread.java:1012) F/nextgen.staging( 2451): runtime.cc:691] F/nextgen.staging( 2451): runtime.cc:691] "FinalizerDaemon" prio=5 tid=12 Waiting F/nextgen.staging( 2451): runtime.cc:691] | group="" sCount=1 ucsCount=0 flags=1 obj=0x14fc0420 self=0xb4000079ca243e40 F/nextgen.staging( 2451): runtime.cc:691] | sysTid=2465 nice=4 cgrp=top-app sched=0/0 handle=0x792c969cb0 F/nextgen.staging( 2451): runtime.cc:691] | state=S schedstat=( 17163668 1759875 37 ) utm=1 stm=0 core=2 HZ=100 F/nextgen.staging( 2451): runtime.cc:691] | stack=0x792c866000-0x792c868000 stackSize=1039KB F/nextgen.staging( 2451): runtime.cc:691] | held mutexes= F/nextgen.staging( 2451): runtime.cc:691] native: #00 pc 00062e1c /apex/com.android.runtime/lib64/bionic/libc.so (syscall+28) (BuildId: a87908b48b368e6282bcc9f34bcfc28c) F/nextgen.staging( 2451): runtime.cc:691] native: #01 pc 0022cfac /apex/com.android.art/lib64/libart.so (art::ConditionVariable::WaitHoldingLocks+140) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #02 pc 002baf6c /apex/com.android.art/lib64/libart.so (art::Monitor::Wait+4808) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #03 pc 00377030 /apex/com.android.art/lib64/libart.so (art_quick_generic_jni_trampoline+144) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #04 pc 003605a4 /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+612) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #05 pc 004906b4 /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall+1248) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #06 pc 00509f94 /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp+780) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #07 pc 003797d8 /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #08 pc 000fdf70 /apex/com.android.art/javalib/core-oj.jar (java.lang.Object.wait) F/nextgen.staging( 2451): runtime.cc:691] native: #09 pc 0037cde0 /apex/com.android.art/lib64/libart.so (art::interpreter::Execute +356) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #10 pc 0049120c /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall+4152) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #11 pc 00509f94 /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp+780) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #12 pc 003797d8 /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #13 pc 00122b0c /apex/com.android.art/javalib/core-oj.jar (java.lang.ref.ReferenceQueue.remove) F/nextgen.staging( 2451): runtime.cc:691] native: #14 pc 0037cde0 /apex/com.android.art/lib64/libart.so (art::interpreter::Execute +356) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #15 pc 0049120c /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall+4152) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #16 pc 00509f94 /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp+780) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #17 pc 003797d8 /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #18 pc 00122aec /apex/com.android.art/javalib/core-oj.jar (java.lang.ref.ReferenceQueue.remove) F/nextgen.staging( 2451): runtime.cc:691] native: #19 pc 0037cde0 /apex/com.android.art/lib64/libart.so (art::interpreter::Execute +356) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #20 pc 0049120c /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall+4152) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #21 pc 00509f94 /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp+780) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #22 pc 003797d8 /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #23 pc 0002b1d4 /apex/com.android.art/javalib/core-libart.jar (java.lang.Daemons$FinalizerDaemon.runInternal) F/nextgen.staging( 2451): runtime.cc:691] native: #24 pc 0037cde0 /apex/com.android.art/lib64/libart.so (art::interpreter::Execute +356) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #25 pc 0049120c /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall+4152) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #26 pc 00509f94 /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp+780) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #27 pc 003797d8 /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #28 pc 0002ae3c /apex/com.android.art/javalib/core-libart.jar (java.lang.Daemons$Daemon.run) F/nextgen.staging( 2451): runtime.cc:691] native: #29 pc 0037cde0 /apex/com.android.art/lib64/libart.so (art::interpreter::Execute +356) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #30 pc 0049120c /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall+4152) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #31 pc 0050aca4 /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp+4124) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #32 pc 003797d8 /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #33 pc 0010ee0c /apex/com.android.art/javalib/core-oj.jar (java.lang.Thread.run) F/nextgen.staging( 2451): runtime.cc:691] native: #34 pc 0037cde0 /apex/com.android.art/lib64/libart.so (art::interpreter::Execute +356) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #35 pc 0037c560 /apex/com.android.art/lib64/libart.so (artQuickToInterpreterBridge+672) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #36 pc 00377168 /apex/com.android.art/lib64/libart.so (art_quick_to_interpreter_bridge+88) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #37 pc 003605a4 /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+612) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #38 pc 0034b8a4 /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke+144) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #39 pc 004f3e30 /apex/com.android.art/lib64/libart.so (art::Thread::CreateCallback+1888) (BuildId: b10f5696fea1b32039b162aef3850ed3) F/nextgen.staging( 2451): runtime.cc:691] native: #40 pc 000cb6a8 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start+208) (BuildId: a87908b48b368e6282bcc9f34bcfc28c) F/nextgen.staging( 2451): runtime.cc:691] native: #41 pc 0006821c /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64) (BuildId: a87908b48b368e6282bcc9f34bcfc28c) F/nextgen.staging( 2451): runtime.cc:691] at java.lang.Object.wait(Native method) F/nextgen.staging( 2451): runtime.cc:691] - waiting on <0x03309ddf> (a java.lang.Object) F/nextgen.staging( 2451): runtime.cc:691] at java.lang.Object.wait(Object.java:386) F/nextgen.staging( 2451): runtime.cc:691] at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:210) F/nextgen.staging( 2451): runtime.cc:691] - locked <0x03309ddf> (a java.lang.Object) F/nextgen.staging( 2451): runtime.cc:691] at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:231) F/nextgen.staging( 2451): runtime.cc:691] at java.lang.Daemons$FinalizerDaemon.runInternal(Daemons.java:309) F/nextgen.staging( 2451): runtime.cc:691] at java.lang.Daemons$Daemon.run(Daemons.java:145) F/nextgen.staging( 2451): runtime.cc:691] at java.lang.Thread.run(Thread.java:1012) F/nextgen.staging( 2451): runtime.cc:691] F/nextgen.staging( 2451): runtime.cc:691] "FinalizerWatchdogDaemon" prio=5 tid=13 Sleeping F/nextgen.staging( 2451): runtime.cc:691] | group="" sCount=1 ucsCount=0 flags=1 obj=0x14fc0498 self=0xb4000079ca23ead0 F/nextgen.staging( 2451): runtime.cc:691] | sysTid=2466 nice=4 cgrp=top-app sched=0/0 handle=0x792c85fcb0 F/nextgen.staging( 2451): runtime.cc:691] | state=S schedstat=( 2142876 4490376 38 ) utm=0 stm=0 core=2 HZ=100 F/nextgen.staging( 2451): runtime.cc:691] | stack=0x792c75c000-0x792c75e000 stackSize=1039KB F/nextgen.staging( 2451): runtime.cc:691] | held mutexes= F/nextgen.staging( 2451): runtime.cc:691] native: #00 pc 00062e20 /apex/com.android.runtime/lib64/bionic/libc.so (syscall+32) (BuildId: a87908b48b368e6282bcc9f34bcfc28c)
Metadata
Metadata
Assignees
Type
Projects
Status