Assigned
Status Update
Comments
ra...@google.com <ra...@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;
}
eu...@google.com <eu...@google.com> #3
[Comment deleted]
ta...@arm.com <ta...@arm.com> #4
But Google pls fix this issue, as the expected behaviors must be consistent with ICS DialogFragment + FragmentManager and support package DialogFragment + FragmentManager.
It happens with both Support Package v4 r6 and v13 r6.
It happens with both Support Package v4 r6 and v13 r6.
eu...@google.com <eu...@google.com> #5
I have this problem too.
As a workaround I use a boolean in the onActivityResult to mark the desired dialog and show the dialog in the onResume.
As a workaround I use a boolean in the onActivityResult to mark the desired dialog and show the dialog in the onResume.
Description
I was investigating the Champion Island Google Doodle game performance on a Pixel 8 device with MTE enabled, in a developer build of the Chromium project configured with full mte option enabled (that means I've used the flag
use_full_mte=true
in my args.gn while compiling Chromium). The "Full MTE" option implies MTE in sync mode, currently. Android version is[ro.build.description]: [aosp_shiba-userdebug 14 AP1A.240405.002 eng.xxxxxx.20240412.155842 test-keys]
The Doodle performs very badly (decreased framerate) with this configuration. Looking into the
simpleperf
reports, it shows Scudo consuming a high %, specially considering the time spent oncollectStackTrace
:Callstack wrt
sigaltstack
:Expected behaviour: Scudo performance shouldn't be affected that much in the presence of MTE (Regardless of the MTE mode).
Looking into the code, it looks like when MTE is in Sync mode, Scudo has it's own stack trace tracking mechanism (https://android.googlesource.com/platform/bionic/+/master/libc/bionic/heap_tagging.cpp#83 )
I tried manually disabling it by calling
scudo_malloc_set_track_allocation_stacks(0)
from application code (Chromium), but seems like it is a local symbol in Bionic, which means I cannot call it.If this is not a bug and it is the expected behaviour, then I'd like to ask if there is any way I can use MTE on sync mode and disable the stack trace tracking on Scudo?