Assigned
Status Update
Comments
vi...@google.com <vi...@google.com> #2
I see same issue and have been debugging it.
NOTE: It DOES NOT happen if not using support package, but use android level 14/15 library. I believe Honeycomb works well too.
My current workaround is to provide my own DialogFragment.show() method, like below:
public int show(FragmentTransaction transaction, String tag) {
return show(transaction, tag, false);
}
public int show(FragmentTransaction transaction, String tag, boolean allowStateLoss) {
transaction.add(this, tag);
mRemoved = false;
mBackStackId = allowStateLoss ? transaction.commitAllowingStateLoss() : transaction.commit();
return mBackStackId;
}
NOTE: It DOES NOT happen if not using support package, but use android level 14/15 library. I believe Honeycomb works well too.
My current workaround is to provide my own DialogFragment.show() method, like below:
public int show(FragmentTransaction transaction, String tag) {
return show(transaction, tag, false);
}
public int show(FragmentTransaction transaction, String tag, boolean allowStateLoss) {
transaction.add(this, tag);
mRemoved = false;
mBackStackId = allowStateLoss ? transaction.commitAllowingStateLoss() : transaction.commit();
return mBackStackId;
}
vi...@google.com <vi...@google.com> #3
[Comment deleted]
Description
main (waiting):tid=1 systid=17386
#00 pc 0x85a9c libc.so (syscall + 28) (BuildId: 86c1cf5355663d1bf73d5263da254ebc)
#01 pc 0x22a220 libart.so (art::ConditionVariable::WaitHoldingLocks + 136) (BuildId: 629e0ffca501d809c29dbbeef2f512d3)
#02 pc 0x5ae4a8 libart.so (art::gc::Heap::WaitForGcToCompleteLocked + 252) (BuildId: 629e0ffca501d809c29dbbeef2f512d3)
#03 pc 0x437448 libart.so (art::gc::Heap::CollectGarbageInternal + 284) (BuildId: 629e0ffca501d809c29dbbeef2f512d3)
at java.lang.Runtime.nativeGc(Native method)
at java.lang.Runtime.gc(Runtime.java:789)
main (waiting):tid=1 systid=22316
#00 pc 0x869cc libc.so (syscall + 28) (BuildId: d607b2dd86e0ffc603529ce13afab7fa)
#01 pc 0x22a29c libart.so (art::ConditionVariable::WaitHoldingLocks + 136) (BuildId: a0856b3dbc826e8cee9d66738ac739d8)
#02 pc 0x5b79e8 libart.so (art::gc::Heap::WaitForGcToCompleteLocked + 252) (BuildId: a0856b3dbc826e8cee9d66738ac739d8)
#03 pc 0x437428 libart.so (art::gc::Heap::CollectGarbageInternal + 284) (BuildId: a0856b3dbc826e8cee9d66738ac739d8)
#04 pc 0x6d42c8 libart.so (art::gc::Heap::AllocateInternalWithGc::$_8::operator const + 48) (BuildId: a0856b3dbc826e8cee9d66738ac739d8)
#05 pc 0x33c458 libart.so (art::gc::Heap::AllocateInternalWithGc + 1240) (BuildId: a0856b3dbc826e8cee9d66738ac739d8)
#06 pc 0x4ce3bc libart.so (art::mirror::Object* art::gc::Heap::AllocLargeObject<false, art::mirror::SetLengthVisitor> + 632) (BuildId: a0856b3dbc826e8cee9d66738ac739d8)
#07 pc 0x4cd7f4 libart.so (artAllocArrayFromCodeResolvedTLAB + 476) (BuildId: a0856b3dbc826e8cee9d66738ac739d8)
#08 pc 0x37e518 libart.so (art_quick_alloc_array_resolved32_tlab + 120) (BuildId: a0856b3dbc826e8cee9d66738ac739d8)
main (waiting):tid=1 systid=3192
#00 pc 0x85a9c libc.so (syscall + 28) (BuildId: 86c1cf5355663d1bf73d5263da254ebc)
#01 pc 0x22a220 libart.so (art::ConditionVariable::WaitHoldingLocks + 136) (BuildId: 629e0ffca501d809c29dbbeef2f512d3)
#02 pc 0x5ae4a8 libart.so (art::gc::Heap::WaitForGcToCompleteLocked + 252) (BuildId: 629e0ffca501d809c29dbbeef2f512d3)
#03 pc 0x436cbc libart.so (art::gc::Heap::WaitForGcToComplete + 116) (BuildId: 629e0ffca501d809c29dbbeef2f512d3)
#04 pc 0x436c24 libart.so (art::gc::Heap::AllocateInternalWithGc::$_1::operator const + 28) (BuildId: 629e0ffca501d809c29dbbeef2f512d3)
#05 pc 0x33bfe4 libart.so (art::gc::Heap::AllocateInternalWithGc + 192) (BuildId: 629e0ffca501d809c29dbbeef2f512d3)
#06 pc 0x4d1268 libart.so (artAllocObjectFromCodeInitializedTLAB + 520) (BuildId: 629e0ffca501d809c29dbbeef2f512d3)
#07 pc 0x37d11c libart.so (art_quick_alloc_object_initialized_tlab + 92) (BuildId: 629e0ffca501d809c29dbbeef2f512d3)
All reports are GC related and occurs with different stack traces.
Link to the firebase console: