Skip to content
This repository has been archived by the owner on Feb 20, 2023. It is now read-only.

Address current LeakCanary reports #747

Closed
cadeyrn opened this issue Feb 28, 2019 · 17 comments
Closed

Address current LeakCanary reports #747

cadeyrn opened this issue Feb 28, 2019 · 17 comments
Labels
🐞 bug Crashes, Something isn't working, .. E5 Estimation Point: about 5 days Hacktoberfest Highlights issues for Hacktoberfest contributors to help us! help wanted Help wanted from a contributor. More complex than good first issue. P3 Some future sprint performance Possible performance wins

Comments

@cadeyrn
Copy link
Contributor

cadeyrn commented Feb 28, 2019

A good follow-up is #4506 to prevent future memory leaks.

What

We have reports of a memory leak and we should fix memory leaks because they lead to out-of-memory crashes.

Impact

If we do not resolve this issue, there's a chance the user crashes. These are easy to detect as shown below.

Acceptance criteria

  • Examine LeakCanary reports to better understand the problem & verify it still exists
  • Fix all discovered memory leaks, or file follow-up issues for triage if specific leaks are taking too long to fix

I got two LeakCanary reports.

  1. ReportFragment was never GCed but no leak detected
  2. HomeActivity was never GCed but no leak detected

I attached a ZIP with the two .hprof files.

archive.zip

Device information

  • Android device: HTC U11 / Android 8.0.0
  • Fenix version: Fenix revision 84a2b24

┆Issue is synchronized with this Jira Task

@cadeyrn cadeyrn changed the title LeakCanaray Reports LeakCanary Reports Mar 1, 2019
@colintheshots
Copy link
Contributor

We'll take a look. There appear to be an increasing number of leaks lately.

colintheshots added a commit to colintheshots/fenix that referenced this issue Mar 1, 2019
boek pushed a commit that referenced this issue Mar 4, 2019
@cadeyrn
Copy link
Contributor Author

cadeyrn commented Mar 6, 2019

I have two new LeakCanary reports with ReportFragment and HomeActivity involved. While the previous reports were "never GCed but no leak detected" reports, this time the reports are "excluded leak" reports.

Fenix version: Fenix revision 8b793cd

In org.mozilla.fenix.debug:1.0.1910:1.
* EXCLUDED LEAK.
* androidx.lifecycle.ReportFragment has leaked:
* thread HandlerThread.<Java Local> (named 'queued-work-looper')
* ↳ Message.obj , matching exclusion field android.os.Message#obj
* ↳ SessionBottomSheetFragment.onArchive
* ↳ HomeFragment$openSessionMenu$$inlined$also$lambda$1.this$0 (anonymous subclass of kotlin.jvm.internal.Lambda)
* ↳ HomeFragment.!(sessionsComponent)!
* ↳ SessionsComponent.!(container)!
* ↳ LinearLayout.mContext
* ↳ HomeActivity.mFragments
* ↳ FragmentController.mHost
* ↳ Activity$HostCallbacks.mFragmentManager
* ↳ FragmentManagerImpl.mAdded
* ↳ ArrayList.elementData
* ↳ array Object[].[0]
* ↳ ReportFragment

* Reference Key: 2a746aad-e297-4f4d-856f-46b89e36620a
* Device: HTC htc HTC U11 ocndugl_00401
* Android Version: 8.0.0 API: 26 LeakCanary: 1.6.3 31007b4
* Durations: watch=5034ms, gc=188ms, heap dump=923ms, analysis=8153ms

* Details:
* Instance of android.os.HandlerThread
|   static $classOverhead = byte[424]@1884402137 (0x7051b1d9)
|   mHandler = null
|   mLooper = android.os.Looper@323493408 (0x13481e20)
|   mPriority = -2
|   mTid = 13033
|   blocker = null
|   blockerLock = java.lang.Object@331460176 (0x13c1ae50)
|   contextClassLoader = dalvik.system.PathClassLoader@323603216 (0x1349cb10)
|   daemon = false
|   eetop = 0
|   group = java.lang.ThreadGroup@1878098720 (0x6ff18320)
|   inheritableThreadLocals = null
|   inheritedAccessControlContext = java.security.AccessControlContext@331460184 (0x13c1ae58)
|   lock = java.lang.Object@331460192 (0x13c1ae60)
|   name = "queued-work-looper"
|   nativeParkEventPointer = 0
|   nativePeer = 508941795840
|   parkBlocker = null
|   parkState = 1
|   priority = 5
|   single_step = false
|   stackSize = 0
|   started = true
|   stillborn = false
|   target = null
|   threadLocalRandomProbe = 0
|   threadLocalRandomSecondarySeed = 0
|   threadLocalRandomSeed = 0
|   threadLocals = java.lang.ThreadLocal$ThreadLocalMap@331460200 (0x13c1ae68)
|   threadQ = null
|   threadStatus = 0
|   tid = 182307
|   uncaughtExceptionHandler = null
|   shadow$_klass_ = android.os.HandlerThread
|   shadow$_monitor_ = 0
* Instance of android.os.Message
|   static gCheckRecycle = true
|   static sPoolSync = java.lang.Object@1883021736 (0x703ca1a8)
|   static FLAG_IN_USE = 1
|   static sPoolSize = 18
|   static sPool = android.os.Message@323774840 (0x134c6978)
|   static FLAG_ASYNCHRONOUS = 2
|   static MAX_POOL_SIZE = 50
|   static $classOverhead = byte[297]@1883616673 (0x7045b5a1)
|   static CREATOR = android.os.Message$1@1883122776 (0x703e2c58)
|   static FLAGS_TO_CLEAR_ON_COPY_FROM = 1
|   arg1 = 0
|   arg2 = 0
|   callback = null
|   data = null
|   flags = 0
|   next = null
|   obj = org.mozilla.fenix.home.sessions.SessionBottomSheetFragment@328894416 (0x139a87d0)
|   replyTo = null
|   sendingUid = -1
|   target = android.app.Dialog$ListenersHandler@328894592 (0x139a8880)
|   what = 67
|   when = 0
|   shadow$_klass_ = android.os.Message
|   shadow$_monitor_ = 0
* Instance of org.mozilla.fenix.home.sessions.SessionBottomSheetFragment
|   static overflowFragmentTag = "sessionOverflow"
|   static $change = null
|   static Companion = org.mozilla.fenix.home.sessions.SessionBottomSheetFragment$Companion@325653368 (0x13691378)
|   static $classOverhead = byte[1656]@325615985 (0x13688171)
|   static serialVersionUID = 5463426055467058451
|   static maxTitleLength = 20
|   _$_findViewCache = null
|   archivedSession = org.mozilla.fenix.home.sessions.ArchivedSession@328894648 (0x139a88b8)
|   isCurrentSession = false
|   onArchive = org.mozilla.fenix.home.HomeFragment$openSessionMenu$$inlined$also$lambda$1@328894696 (0x139a88e8)
|   onDelete = org.mozilla.fenix.home.HomeFragment$openSessionMenu$$inlined$also$lambda$2@328894720 (0x139a8900)
|   tabTitles = "soeren-hentzschel.at..."
|   mBackStackId = -1
|   mCancelable = true
|   mDialog = null
|   mDismissed = true
|   mShownByMe = false
|   mShowsDialog = true
|   mStyle = 0
|   mTheme = 2131820742
|   mViewDestroyed = true
|   mAdded = false
|   mAnimationInfo = null
|   mArguments = null
|   mBackStackNesting = 0
|   mCalled = true
|   mChildFragmentManager = null
|   mContainer = null
|   mContainerId = 0
|   mDeferStart = false
|   mDetached = false
|   mFragmentId = 0
|   mFragmentManager = null
|   mFromLayout = false
|   mHasMenu = false
|   mHidden = false
|   mHiddenChanged = false
|   mHost = null
|   mInLayout = false
|   mInnerView = null
|   mIsCreated = false
|   mIsNewlyAdded = false
|   mLayoutInflater = null
|   mLifecycleRegistry = androidx.lifecycle.LifecycleRegistry@328894784 (0x139a8940)
|   mMenuVisible = true
|   mParentFragment = null
|   mPerformedCreateView = false
|   mPostponedAlpha = 0.0
|   mRemoving = false
|   mRestored = false
|   mRetainInstance = false
|   mRetainInstanceChangedWhileDetached = false
|   mSavedFragmentState = null
|   mSavedStateRegistry = androidx.savedstate.bundle.BundleSavedStateRegistry@328894816 (0x139a8960)
|   mSavedUserVisibleHint = null
|   mSavedViewState = android.util.SparseArray@328894840 (0x139a8978)
|   mState = 0
|   mTag = null
|   mTarget = null
|   mTargetRequestCode = 0
|   mTargetWho = null
|   mUserVisibleHint = true
|   mView = null
|   mViewLifecycleOwner = null
|   mViewLifecycleOwnerLiveData = androidx.lifecycle.MutableLiveData@328894864 (0x139a8990)
|   mWho = "fed7411a-df6e-41eb-86ae-b319e358469c"
|   shadow$_klass_ = org.mozilla.fenix.home.sessions.SessionBottomSheetFragment
|   shadow$_monitor_ = -1992379087
* Instance of org.mozilla.fenix.home.HomeFragment$openSessionMenu$$inlined$also$lambda$1
|   static $change = null
|   static $classOverhead = byte[144]@325600553 (0x13684529)
|   static serialVersionUID = 4437534369494348226
|   $archivedSession$inlined = org.mozilla.fenix.home.sessions.ArchivedSession@328894648 (0x139a88b8)
|   $isCurrentSession$inlined = false
|   this$0 = org.mozilla.fenix.home.HomeFragment@328895984 (0x139a8df0)
|   arity = 0
|   shadow$_klass_ = org.mozilla.fenix.home.HomeFragment$openSessionMenu$$inlined$also$lambda$1
|   shadow$_monitor_ = 0
* Instance of org.mozilla.fenix.home.HomeFragment
|   static addTabButtonIncreaseDps = 8
|   static toolbarPaddingDp = 12.0
|   static $change = null
|   static overflowButtonIncreaseDps = 8
|   static Companion = org.mozilla.fenix.home.HomeFragment$Companion@325661656 (0x136933d8)
|   static $classOverhead = byte[1456]@325601897 (0x13684a69)
|   static secondKeyTriggerFrame = 90
|   static serialVersionUID = -3317648408223501943
|   static temporaryNumberOfSessions = 25
|   static firstKeyTriggerFrame = 55
|   _$_findViewCache = java.util.HashMap@328896144 (0x139a8e90)
|   bus = org.mozilla.fenix.mvi.ActionBusFactory@328896184 (0x139a8eb8)
|   homeMenu = null
|   sessionObserver = org.mozilla.fenix.home.HomeFragment$subscribeToSessions$observer$1@328896208 (0x139a8ed0)
|   sessionsComponent = org.mozilla.fenix.home.sessions.SessionsComponent@328896224 (0x139a8ee0)
|   tabsComponent = org.mozilla.fenix.home.tabs.TabsComponent@328896256 (0x139a8f00)
|   mAdded = false
|   mAnimationInfo = null
|   mArguments = android.os.Bundle@328896296 (0x139a8f28)
|   mBackStackNesting = 0
|   mCalled = true
|   mChildFragmentManager = null
|   mContainer = null
|   mContainerId = 0
|   mDeferStart = false
|   mDetached = false
|   mFragmentId = 0
|   mFragmentManager = null
|   mFromLayout = false
|   mHasMenu = false
|   mHidden = false
|   mHiddenChanged = false
|   mHost = null
|   mInLayout = false
|   mInnerView = null
|   mIsCreated = false
|   mIsNewlyAdded = false
|   mLayoutInflater = null
|   mLifecycleRegistry = androidx.lifecycle.LifecycleRegistry@328896320 (0x139a8f40)
|   mMenuVisible = true
|   mParentFragment = androidx.navigation.fragment.NavHostFragment@328896352 (0x139a8f60)
|   mPerformedCreateView = false
|   mPostponedAlpha = 0.0
|   mRemoving = false
|   mRestored = false
|   mRetainInstance = false
|   mRetainInstanceChangedWhileDetached = false
|   mSavedFragmentState = null
|   mSavedStateRegistry = androidx.savedstate.bundle.BundleSavedStateRegistry@328896496 (0x139a8ff0)
|   mSavedUserVisibleHint = null
|   mSavedViewState = android.util.SparseArray@328896520 (0x139a9008)
|   mState = 0
|   mTag = null
|   mTarget = null
|   mTargetRequestCode = 0
|   mTargetWho = null
|   mUserVisibleHint = true
|   mView = null
|   mViewLifecycleOwner = null
|   mViewLifecycleOwnerLiveData = androidx.lifecycle.MutableLiveData@328896544 (0x139a9020)
|   mWho = "2d541309-cbf3-413b-81dd-d43a21259b07"
|   shadow$_klass_ = org.mozilla.fenix.home.HomeFragment
|   shadow$_monitor_ = -1947769262
* Instance of org.mozilla.fenix.home.sessions.SessionsComponent
|   static $change = null
|   static $classOverhead = byte[232]@325619089 (0x13688d91)
|   static serialVersionUID = -7718152907179452763
|   container = android.widget.LinearLayout@331194912 (0x13bda220)
|   initialState = org.mozilla.fenix.home.sessions.SessionsState@331458224 (0x13c1a6b0)
|   reducer = org.mozilla.fenix.home.sessions.SessionsComponent$reducer$1@325651536 (0x13690c50)
|   actionEmitter = io.reactivex.subjects.SerializedSubject@331299520 (0x13bf3ac0)
|   changesObservable = io.reactivex.subjects.SerializedSubject@331458176 (0x13c1a680)
|   uiView$delegate = kotlin.SynchronizedLazyImpl@331458200 (0x13c1a698)
|   shadow$_klass_ = org.mozilla.fenix.home.sessions.SessionsComponent
|   shadow$_monitor_ = 0
* Instance of android.widget.LinearLayout
|   static INDEX_TOP = 1
|   static SHOW_DIVIDER_BEGINNING = 1
|   static INDEX_FILL = 3
|   static SHOW_DIVIDER_NONE = 0
|   static HORIZONTAL = 0
|   static VERTICAL_GRAVITY_COUNT = 4
|   static INDEX_BOTTOM = 2
|   static SHOW_DIVIDER_END = 4
|   static $classOverhead = byte[7828]@1884088409 (0x704ce859)
|   static VERTICAL = 1
|   static SHOW_DIVIDER_MIDDLE = 2
|   static INDEX_CENTER_VERTICAL = 0
|   mAllowInconsistentMeasurement = false
|   mBaselineAligned = true
|   mBaselineAlignedChildIndex = -1
|   mBaselineChildTop = 0
|   mDivider = null
|   mDividerHeight = 0
|   mDividerPadding = 0
|   mDividerWidth = 0
|   mGravity = 8388659
|   mLayoutDirection = 0
|   mMaxAscent = null
|   mMaxDescent = null
|   mOrientation = 1
|   mShowDividers = 0
|   mTotalLength = 909
|   mUseLargestChild = false
|   mWeightSum = -1.0
|   mAnimationListener = null
|   mCachePaint = null
|   mChildCountWithTransientState = 0
|   mChildTransformation = null
|   mChildren = android.view.View[12]@331195672 (0x13bda518)
|   mChildrenCount = 6
|   mChildrenInterestedInDrag = null
|   mCurrentDragChild = null
|   mCurrentDragStartEvent = null
|   mDefaultFocus = null
|   mDisappearingChildren = null
|   mFirstHoverTarget = null
|   mFirstTouchTarget = null
|   mFocused = null
|   mFocusedInCluster = null
|   mGroupFlags = 2506835
|   mHoveredSelf = false
|   mInvalidateRegion = null
|   mInvalidationTransformation = null
|   mIsInterestedInDrag = false
|   mLastTouchDownIndex = 5
|   mLastTouchDownTime = 1259389759
|   mLastTouchDownX = 1356.0
|   mLastTouchDownY = 417.0
|   mLayoutAnimationController = null
|   mLayoutCalledWhileSuppressed = false
|   mLayoutMode = -1
|   mLayoutTransitionListener = android.view.ViewGroup$2@331195736 (0x13bda558)
|   mLocalPoint = null
|   mNestedScrollAxes = 0
|   mOnHierarchyChangeListener = null
|   mPersistentDrawingCache = 2
|   mPreSortedChildren = null
|   mSuppressLayout = false
|   mTempPoint = float[2]@331195752 (0x13bda568)
|   mTooltipHoverTarget = null
|   mTooltipHoveredSelf = false
|   mTransientIndices = null
|   mTransientViews = null
|   mTransition = null
|   mTransitioningViews = null
|   mVisibilityChangingChildren = null
|   mAccessibilityCursorPosition = -1
|   mAccessibilityDelegate = null
|   mAccessibilityTraversalAfterId = -1
|   mAccessibilityTraversalBeforeId = -1
|   mAccessibilityViewId = -1
|   mAnimator = null
|   mAttachInfo = null
|   mAttributes = null
|   mAutofillHints = null
|   mAutofillId = null
|   mAutofillViewId = -1
|   mBackground = null
|   mBackgroundRenderNode = null
|   mBackgroundResource = 0
|   mBackgroundSizeChanged = true
|   mBackgroundTint = null
|   mBottom = 909
|   mCachingFailed = false
|   mClipBounds = null
|   mContentDescription = null
|   mContext = org.mozilla.fenix.HomeActivity@328898472 (0x139a97a8)
|   mCurrentAnimation = null
|   mDefaultFocusHighlight = null
|   mDefaultFocusHighlightCache = null
|   mDefaultFocusHighlightEnabled = true
|   mDefaultFocusHighlightSizeChanged = true
|   mDrawableState = int[3]@1883422592 (0x7042bf80)
|   mDrawingCache = null
|   mDrawingCacheBackgroundColor = 0
|   mFloatingTreeObserver = null
|   mForegroundInfo = null
|   mFrameMetricsObservers = null
|   mGhostView = null
|   mHasPerformedLongPress = false
|   mID = 2131230921
|   mIgnoreNextUpEvent = false
|   mInContextButtonPress = false
|   mInputEventConsistencyVerifier = null
|   mIsDispatchedAccessTouchEvent = false
|   mKeyedTags = null
|   mLabelForId = -1
|   mLastIsOpaque = false
|   mLayerPaint = null
|   mLayerType = 0
|   mLayoutInsets = null
|   mLayoutParams = android.widget.FrameLayout$LayoutParams@331195776 (0x13bda580)
|   mLeft = 0
|   mLeftPaddingDefined = false
|   mListenerInfo = null
|   mLongClickX = NaN
|   mLongClickY = NaN
|   mMatchIdPredicate = null
|   mMatchLabelForPredicate = null
|   mMeasureCache = android.util.LongSparseLongArray@331195832 (0x13bda5b8)
|   mMeasuredHeight = 909
|   mMeasuredWidth = 1440
|   mMinHeight = 0
|   mMinWidth = 0
|   mNestedScrollingParent = null
|   mNextClusterForwardId = -1
|   mNextFocusDownId = -1
|   mNextFocusForwardId = -1
|   mNextFocusLeftId = -1
|   mNextFocusRightId = -1
|   mNextFocusUpId = -1
|   mOldHeightMeasureSpec = 0
|   mOldWidthMeasureSpec = 1073743264
|   mOutlineProvider = android.view.ViewOutlineProvider$1@1883145312 (0x703e8460)
|   mOverScrollMode = 1
|   mOverlay = null
|   mPaddingBottom = 0
|   mPaddingLeft = 0
|   mPaddingRight = 0
|   mPaddingTop = 0
|   mParent = androidx.core.widget.NestedScrollView@331195856 (0x13bda5d0)
|   mPendingCheckForLongPress = null
|   mPendingCheckForTap = null
|   mPerformClick = null
|   mPointerIcon = null
|   mPrivateFlags = 19007664
|   mPrivateFlags2 = 1610819112
|   mPrivateFlags3 = 16
|   mRecreateDisplayList = false
|   mRenderNode = android.view.RenderNode@331196592 (0x13bda8b0)
|   mResources = android.content.res.Resources@326808072 (0x137ab208)
|   mRight = 1440
|   mRightPaddingDefined = false
|   mRoundScrollbarRenderer = null
|   mRunQueue = null
|   mScrollCache = null
|   mScrollIndicatorDrawable = null
|   mScrollX = 0
|   mScrollY = 0
|   mSendViewScrolledAccessibilityEvent = null
|   mSendViewStateChangedAccessibilityEvent = null
|   mSendingHoverAccessibilityEvents = false
|   mStartActivityRequestWho = null
|   mStateListAnimator = null
|   mSystemUiVisibility = 0
|   mTag = null
|   mTempNestedScrollConsumed = null
|   mTooltipInfo = null
|   mTop = 0
|   mTouchDelegate = null
|   mTouchSlop = 28
|   mTransformationInfo = null
|   mTransientStateCount = 0
|   mTransitionName = null
|   mUnscaledDrawingCache = null
|   mUnsetPressedState = null
|   mUserPaddingBottom = 0
|   mUserPaddingEnd = -2147483648
|   mUserPaddingLeft = 0
|   mUserPaddingLeftInitial = 0
|   mUserPaddingRight = 0
|   mUserPaddingRightInitial = 0
|   mUserPaddingStart = -2147483648
|   mVerticalScrollFactor = 0.0
|   mVerticalScrollbarPosition = 0
|   mViewFlags = 402653328
|   mVisibilityChangeForAutofillHandler = null
|   mWindowAttachCount = 1
|   shadow$_klass_ = android.widget.LinearLayout
|   shadow$_monitor_ = 0
* Instance of org.mozilla.fenix.HomeActivity
|   static OPEN_TO_BROWSER = "open_to_browser"
|   static $change = null
|   static Companion = org.mozilla.fenix.HomeActivity$Companion@325678552 (0x136975d8)
|   static $classOverhead = byte[4312]@324715897 (0x135ac579)
|   static serialVersionUID = -7313422557430804236
|   _$_findViewCache = null
|   browsingModeManager = org.mozilla.fenix.DefaultBrowsingModeManager@331144568 (0x13bcdd78)
|   themeManager = org.mozilla.fenix.DefaultThemeManager@331144584 (0x13bcdd88)
|   mDelegate = androidx.appcompat.app.AppCompatDelegateImpl@331144600 (0x13bcdd98)
|   mResources = null
|   mThemeId = 2131820744
|   mCreated = true
|   mFragments = androidx.fragment.app.FragmentController@331144736 (0x13bcde20)
|   mNextCandidateRequestIndex = 0
|   mPendingFragmentActivityResults = androidx.collection.SparseArrayCompat@331144752 (0x13bcde30)
|   mRequestedPermissionsFromFragment = false
|   mResumed = false
|   mStartedActivityFromFragment = false
|   mStartedIntentSenderFromFragment = false
|   mStopped = true
|   mLifecycleRegistry = androidx.lifecycle.LifecycleRegistry@331144776 (0x13bcde48)
|   mOnBackPressedCallbacks = java.util.concurrent.CopyOnWriteArrayList@331144808 (0x13bcde68)
|   mSavedStateRegistry = androidx.savedstate.bundle.BundleSavedStateRegistry@331144824 (0x13bcde78)
|   mViewModelStore = androidx.lifecycle.ViewModelStore@331144848 (0x13bcde90)
|   mExtraDataMap = androidx.collection.SimpleArrayMap@331144864 (0x13bcdea0)
|   mActionBar = null
|   mActionModeTypeStarting = 0
|   mActivityInfo = android.content.pm.ActivityInfo@331144888 (0x13bcdeb8)
|   mActivityTransitionState = android.app.ActivityTransitionState@331145040 (0x13bcdf50)
|   mApplication = org.mozilla.fenix.DebugFenixApplication@323603040 (0x1349ca60)
|   mAutoFillResetNeeded = true
|   mAutofillManager = android.view.autofill.AutofillManager@331145096 (0x13bcdf88)
|   mAutofillPopupWindow = null
|   mCalled = true
|   mChangeCanvasToTranslucent = false
|   mChangingConfigurations = false
|   mComponent = android.content.ComponentName@331145152 (0x13bcdfc0)
|   mConfigChangeFlags = 0
|   mCurrentConfig = android.content.res.Configuration@331145168 (0x13bcdfd0)
|   mDecor = null
|   mDefaultKeyMode = 0
|   mDefaultKeySsb = null
|   mDestroyed = true
|   mDoReportFullyDrawn = false
|   mEmbeddedID = null
|   mEnableDefaultActionBarUp = false
|   mEnterTransitionListener = android.app.SharedElementCallback$1@1883110576 (0x703dfcb0)
|   mExitTransitionListener = android.app.SharedElementCallback$1@1883110576 (0x703dfcb0)
|   mFinished = true
|   mFragments = android.app.FragmentController@331145288 (0x13bce048)
|   mHandler = android.os.Handler@331145304 (0x13bce058)
|   mHasCurrentPermissionsRequest = false
|   mIdent = 195508218
|   mInstanceTracker = android.os.StrictMode$InstanceTracker@331145336 (0x13bce078)
|   mInstrumentation = android.app.Instrumentation@323773880 (0x134c65b8)
|   mIntent = android.content.Intent@331145352 (0x13bce088)
|   mLastAutofillId = 1073741848
|   mLastNonConfigurationInstances = null
|   mMainThread = android.app.ActivityThread@323486776 (0x13480438)
|   mManagedCursors = java.util.ArrayList@331145416 (0x13bce0c8)
|   mManagedDialogs = null
|   mMenuInflater = null
|   mParent = null
|   mReferrer = "com.htc.launcher"
|   mResultCode = 0
|   mResultData = null
|   mResumed = false
|   mSearchEvent = null
|   mSearchManager = null
|   mStartedActivity = false
|   mStopped = true
|   mTaskDescription = android.app.ActivityManager$TaskDescription@331145472 (0x13bce100)
|   mTemporaryPause = false
|   mTitle = "Fenix"
|   mTitleColor = 0
|   mTitleReady = true
|   mToken = android.os.BinderProxy@331145512 (0x13bce128)
|   mTranslucentCallback = null
|   mUiThread = java.lang.Thread@1938317680 (0x73886170)
|   mVisibleBehind = false
|   mVisibleFromClient = true
|   mVisibleFromServer = true
|   mVoiceInteractor = null
|   mWindow = com.android.internal.policy.PhoneWindow@331145544 (0x13bce148)
|   mWindowAdded = true
|   mWindowManager = android.view.WindowManagerImpl@331145912 (0x13bce2b8)
|   mInflater = com.android.internal.policy.PhoneLayoutInflater@331145936 (0x13bce2d0)
|   mOverrideConfiguration = null
|   mResources = android.content.res.Resources@326808072 (0x137ab208)
|   mTheme = android.content.res.Resources$Theme@331145984 (0x13bce300)
|   mThemeResource = 2131820744
|   mBase = android.app.ContextImpl@331146000 (0x13bce310)
|   shadow$_klass_ = org.mozilla.fenix.HomeActivity
|   shadow$_monitor_ = 1073742659
* Instance of android.app.FragmentController
|   static $classOverhead = byte[416]@1884213649 (0x704ed191)
|   mHost = android.app.Activity$HostCallbacks@331185344 (0x13bd7cc0)
|   shadow$_klass_ = android.app.FragmentController
|   shadow$_monitor_ = 0
* Instance of android.app.Activity$HostCallbacks
|   static $classOverhead = byte[368]@1883853665 (0x70495361)
|   this$0 = org.mozilla.fenix.HomeActivity@328898472 (0x139a97a8)
|   mActivity = org.mozilla.fenix.HomeActivity@328898472 (0x139a97a8)
|   mAllLoaderManagers = android.util.ArrayMap@331185392 (0x13bd7cf0)
|   mCheckedForLoaderManager = true
|   mContext = org.mozilla.fenix.HomeActivity@328898472 (0x139a97a8)
|   mFragmentManager = android.app.FragmentManagerImpl@331185424 (0x13bd7d10)
|   mHandler = android.os.Handler@331145304 (0x13bce058)
|   mLoaderManager = null
|   mLoadersStarted = true
|   mRetainLoaders = false
|   mWindowAnimations = 0
|   shadow$_klass_ = android.app.Activity$HostCallbacks
|   shadow$_monitor_ = 0
* Instance of android.app.FragmentManagerImpl
|   static TARGET_STATE_TAG = "android:target_state"
|   static USER_VISIBLE_HINT_TAG = "android:user_visible_hint"
|   static TAG = "FragmentManager"
|   static TARGET_REQUEST_CODE_STATE_TAG = "android:target_req_state"
|   static $classOverhead = byte[941]@1883056169 (0x703d2829)
|   static DEBUG = false
|   static VIEW_STATE_TAG = "android:view_state"
|   mActive = android.util.SparseArray@331185536 (0x13bd7d80)
|   mAdded = java.util.ArrayList@331185560 (0x13bd7d98)
|   mAllowOldReentrantBehavior = false
|   mAvailBackStackIndices = null
|   mBackStack = null
|   mBackStackChangeListeners = null
|   mBackStackIndices = null
|   mContainer = null
|   mCreatedMenus = null
|   mCurState = 0
|   mDestroyed = true
|   mExecCommit = android.app.FragmentManagerImpl$1@331185584 (0x13bd7db0)
|   mExecutingActions = false
|   mHavePendingDeferredStart = false
|   mHost = null
|   mLifecycleCallbacks = java.util.concurrent.CopyOnWriteArrayList@331185600 (0x13bd7dc0)
|   mNeedMenuInvalidate = false
|   mNextFragmentIndex = 1
|   mNoTransactionsBecause = null
|   mParent = null
|   mPendingActions = java.util.ArrayList@331185616 (0x13bd7dd0)
|   mPostponedTransactions = null
|   mPrimaryNav = null
|   mSavedNonConfig = null
|   mStateArray = null
|   mStateBundle = android.os.Bundle@331185640 (0x13bd7de8)
|   mStateSaved = false
|   mTmpAddedFragments = java.util.ArrayList@331185664 (0x13bd7e00)
|   mTmpIsPop = java.util.ArrayList@331185688 (0x13bd7e18)
|   mTmpRecords = java.util.ArrayList@331185712 (0x13bd7e30)
|   shadow$_klass_ = android.app.FragmentManagerImpl
|   shadow$_monitor_ = 0
* Instance of java.util.ArrayList
|   static MAX_ARRAY_SIZE = 2147483639
|   static DEFAULTCAPACITY_EMPTY_ELEMENTDATA = java.lang.Object[0]@1883335224 (0x70416a38)
|   static DEFAULT_CAPACITY = 10
|   static $classOverhead = byte[392]@1878534825 (0x6ff82aa9)
|   static serialVersionUID = 8683452581122892189
|   static EMPTY_ELEMENTDATA = java.lang.Object[0]@1880957160 (0x701d20e8)
|   elementData = java.lang.Object[10]@331186032 (0x13bd7f70)
|   size = 1
|   modCount = 1
|   shadow$_klass_ = java.util.ArrayList
|   shadow$_monitor_ = 0
* Array of java.lang.Object[]
|   [0] = androidx.lifecycle.ReportFragment@331186088 (0x13bd7fa8)
|   [1] = null
|   [2] = null
|   [3] = null
|   [4] = null
|   [5] = null
|   [6] = null
|   [7] = null
|   [8] = null
|   [9] = null
* Instance of androidx.lifecycle.ReportFragment
|   static REPORT_FRAGMENT_TAG = "androidx.lifecycle.LifecycleDispatcher.report_fragment_tag"
|   static $classOverhead = byte[1332]@324254529 (0x1353bb41)
|   mProcessListener = null
|   mAdded = false
|   mAnimationInfo = null
|   mArguments = null
|   mBackStackNesting = 0
|   mCalled = true
|   mCheckedForLoaderManager = false
|   mChildFragmentManager = null
|   mChildNonConfig = null
|   mContainer = null
|   mContainerId = 0
|   mDeferStart = false
|   mDetached = false
|   mFragmentId = 0
|   mFragmentManager = null
|   mFromLayout = false
|   mHasMenu = false
|   mHidden = false
|   mHiddenChanged = false
|   mHost = null
|   mInLayout = false
|   mIndex = -1
|   mIsNewlyAdded = false
|   mLayoutInflater = null
|   mLoaderManager = null
|   mLoadersStarted = false
|   mMenuVisible = true
|   mParentFragment = null
|   mPerformedCreateView = false
|   mRemoving = false
|   mRestored = false
|   mRetainInstance = false
|   mRetaining = false
|   mSavedFragmentState = null
|   mSavedViewState = null
|   mState = 0
|   mTag = null
|   mTarget = null
|   mTargetIndex = -1
|   mTargetRequestCode = 0
|   mUserVisibleHint = true
|   mView = null
|   mWho = null
|   shadow$_klass_ = androidx.lifecycle.ReportFragment
|   shadow$_monitor_ = 0
* Excluded Refs:
| Field: android.os.Message.obj
| Field: android.os.Message.next
| Field: android.os.Message.target
| Field: android.view.inputmethod.InputMethodManager.mNextServedView
| Field: android.view.inputmethod.InputMethodManager.mServedView
| Field: android.view.inputmethod.InputMethodManager.mServedInputConnection
| Field: android.view.inputmethod.InputMethodManager.mCurRootView
| Field: android.accounts.AccountManager$AmsTask$Response.this$1
| Field: android.view.accessibility.AccessibilityNodeInfo.mOriginalText
| Field: com.android.internal.policy.BackdropFrameRenderer.mDecorView
| Field: android.view.Choreographer$FrameDisplayEventReceiver.mMessageQueue (always)
| Thread:FinalizerWatchdogDaemon (always)
| Thread:main (always)
| Thread:LeakCanary-Heap-Dump (always)
| Class:java.lang.ref.WeakReference (always)
| Class:java.lang.ref.SoftReference (always)
| Class:java.lang.ref.PhantomReference (always)
| Class:java.lang.ref.Finalizer (always)
| Class:java.lang.ref.FinalizerReference (always)
In org.mozilla.fenix.debug:1.0.1910:1.
* EXCLUDED LEAK.
* org.mozilla.fenix.HomeActivity has leaked:
* thread HandlerThread.<Java Local> (named 'queued-work-looper')
* ↳ Message.obj , matching exclusion field android.os.Message#obj
* ↳ SessionBottomSheetFragment.onArchive
* ↳ HomeFragment$openSessionMenu$$inlined$also$lambda$1.this$0 (anonymous subclass of kotlin.jvm.internal.Lambda)
* ↳ HomeFragment.!(sessionsComponent)!
* ↳ SessionsComponent.!(container)!
* ↳ LinearLayout.mContext
* ↳ HomeActivity

* Reference Key: 8bed214e-ba9f-48a1-bdda-81862ca7991d
* Device: HTC htc HTC U11 ocndugl_00401
* Android Version: 8.0.0 API: 26 LeakCanary: 1.6.3 31007b4
* Durations: watch=16331ms, gc=187ms, heap dump=842ms, analysis=7328ms

* Details:
* Instance of android.os.HandlerThread
|   static $classOverhead = byte[424]@1884402137 (0x7051b1d9)
|   mHandler = null
|   mLooper = android.os.Looper@321133376 (0x13241b40)
|   mPriority = -2
|   mTid = 13033
|   blocker = null
|   blockerLock = java.lang.Object@325786152 (0x136b1a28)
|   contextClassLoader = dalvik.system.PathClassLoader@321256528 (0x1325fc50)
|   daemon = false
|   eetop = 0
|   group = java.lang.ThreadGroup@1878098720 (0x6ff18320)
|   inheritableThreadLocals = null
|   inheritedAccessControlContext = java.security.AccessControlContext@325786160 (0x136b1a30)
|   lock = java.lang.Object@325786168 (0x136b1a38)
|   name = "queued-work-looper"
|   nativeParkEventPointer = 0
|   nativePeer = 508941795840
|   parkBlocker = null
|   parkState = 1
|   priority = 5
|   single_step = false
|   stackSize = 0
|   started = true
|   stillborn = false
|   target = null
|   threadLocalRandomProbe = 0
|   threadLocalRandomSecondarySeed = 0
|   threadLocalRandomSeed = 0
|   threadLocals = java.lang.ThreadLocal$ThreadLocalMap@325786176 (0x136b1a40)
|   threadQ = null
|   threadStatus = 0
|   tid = 182307
|   uncaughtExceptionHandler = null
|   shadow$_klass_ = android.os.HandlerThread
|   shadow$_monitor_ = 0
* Instance of android.os.Message
|   static gCheckRecycle = true
|   static sPoolSync = java.lang.Object@1883021736 (0x703ca1a8)
|   static FLAG_IN_USE = 1
|   static sPoolSize = 20
|   static sPool = android.os.Message@321159992 (0x13248338)
|   static FLAG_ASYNCHRONOUS = 2
|   static MAX_POOL_SIZE = 50
|   static $classOverhead = byte[297]@1883616673 (0x7045b5a1)
|   static CREATOR = android.os.Message$1@1883122776 (0x703e2c58)
|   static FLAGS_TO_CLEAR_ON_COPY_FROM = 1
|   arg1 = 0
|   arg2 = 0
|   callback = null
|   data = null
|   flags = 0
|   next = null
|   obj = org.mozilla.fenix.home.sessions.SessionBottomSheetFragment@325317304 (0x1363f2b8)
|   replyTo = null
|   sendingUid = -1
|   target = android.app.Dialog$ListenersHandler@325317480 (0x1363f368)
|   what = 67
|   when = 0
|   shadow$_klass_ = android.os.Message
|   shadow$_monitor_ = 0
* Instance of org.mozilla.fenix.home.sessions.SessionBottomSheetFragment
|   static overflowFragmentTag = "sessionOverflow"
|   static $change = null
|   static Companion = org.mozilla.fenix.home.sessions.SessionBottomSheetFragment$Companion@322252264 (0x13352de8)
|   static $classOverhead = byte[1656]@322212801 (0x133493c1)
|   static serialVersionUID = 5463426055467058451
|   static maxTitleLength = 20
|   _$_findViewCache = null
|   archivedSession = org.mozilla.fenix.home.sessions.ArchivedSession@325317536 (0x1363f3a0)
|   isCurrentSession = false
|   onArchive = org.mozilla.fenix.home.HomeFragment$openSessionMenu$$inlined$also$lambda$1@325317584 (0x1363f3d0)
|   onDelete = org.mozilla.fenix.home.HomeFragment$openSessionMenu$$inlined$also$lambda$2@325317608 (0x1363f3e8)
|   tabTitles = "soeren-hentzschel.at..."
|   mBackStackId = -1
|   mCancelable = true
|   mDialog = null
|   mDismissed = true
|   mShownByMe = false
|   mShowsDialog = true
|   mStyle = 0
|   mTheme = 2131820742
|   mViewDestroyed = true
|   mAdded = false
|   mAnimationInfo = null
|   mArguments = null
|   mBackStackNesting = 0
|   mCalled = true
|   mChildFragmentManager = null
|   mContainer = null
|   mContainerId = 0
|   mDeferStart = false
|   mDetached = false
|   mFragmentId = 0
|   mFragmentManager = null
|   mFromLayout = false
|   mHasMenu = false
|   mHidden = false
|   mHiddenChanged = false
|   mHost = null
|   mInLayout = false
|   mInnerView = null
|   mIsCreated = false
|   mIsNewlyAdded = false
|   mLayoutInflater = null
|   mLifecycleRegistry = androidx.lifecycle.LifecycleRegistry@325317672 (0x1363f428)
|   mMenuVisible = true
|   mParentFragment = null
|   mPerformedCreateView = false
|   mPostponedAlpha = 0.0
|   mRemoving = false
|   mRestored = false
|   mRetainInstance = false
|   mRetainInstanceChangedWhileDetached = false
|   mSavedFragmentState = null
|   mSavedStateRegistry = androidx.savedstate.bundle.BundleSavedStateRegistry@325317704 (0x1363f448)
|   mSavedUserVisibleHint = null
|   mSavedViewState = android.util.SparseArray@325317728 (0x1363f460)
|   mState = 0
|   mTag = null
|   mTarget = null
|   mTargetRequestCode = 0
|   mTargetWho = null
|   mUserVisibleHint = true
|   mView = null
|   mViewLifecycleOwner = null
|   mViewLifecycleOwnerLiveData = androidx.lifecycle.MutableLiveData@325317752 (0x1363f478)
|   mWho = "fed7411a-df6e-41eb-86ae-b319e358469c"
|   shadow$_klass_ = org.mozilla.fenix.home.sessions.SessionBottomSheetFragment
|   shadow$_monitor_ = -1992379087
* Instance of org.mozilla.fenix.home.HomeFragment$openSessionMenu$$inlined$also$lambda$1
|   static $change = null
|   static $classOverhead = byte[144]@322197369 (0x13345779)
|   static serialVersionUID = 4437534369494348226
|   $archivedSession$inlined = org.mozilla.fenix.home.sessions.ArchivedSession@325317536 (0x1363f3a0)
|   $isCurrentSession$inlined = false
|   this$0 = org.mozilla.fenix.home.HomeFragment@325318872 (0x1363f8d8)
|   arity = 0
|   shadow$_klass_ = org.mozilla.fenix.home.HomeFragment$openSessionMenu$$inlined$also$lambda$1
|   shadow$_monitor_ = 0
* Instance of org.mozilla.fenix.home.HomeFragment
|   static addTabButtonIncreaseDps = 8
|   static toolbarPaddingDp = 12.0
|   static $change = null
|   static overflowButtonIncreaseDps = 8
|   static Companion = org.mozilla.fenix.home.HomeFragment$Companion@322260552 (0x13354e48)
|   static $classOverhead = byte[1456]@322198713 (0x13345cb9)
|   static secondKeyTriggerFrame = 90
|   static serialVersionUID = -3317648408223501943
|   static temporaryNumberOfSessions = 25
|   static firstKeyTriggerFrame = 55
|   _$_findViewCache = java.util.HashMap@325319032 (0x1363f978)
|   bus = org.mozilla.fenix.mvi.ActionBusFactory@325319072 (0x1363f9a0)
|   homeMenu = null
|   sessionObserver = org.mozilla.fenix.home.HomeFragment$subscribeToSessions$observer$1@325319096 (0x1363f9b8)
|   sessionsComponent = org.mozilla.fenix.home.sessions.SessionsComponent@325319112 (0x1363f9c8)
|   tabsComponent = org.mozilla.fenix.home.tabs.TabsComponent@325319144 (0x1363f9e8)
|   mAdded = false
|   mAnimationInfo = null
|   mArguments = android.os.Bundle@325319184 (0x1363fa10)
|   mBackStackNesting = 0
|   mCalled = true
|   mChildFragmentManager = null
|   mContainer = null
|   mContainerId = 0
|   mDeferStart = false
|   mDetached = false
|   mFragmentId = 0
|   mFragmentManager = null
|   mFromLayout = false
|   mHasMenu = false
|   mHidden = false
|   mHiddenChanged = false
|   mHost = null
|   mInLayout = false
|   mInnerView = null
|   mIsCreated = false
|   mIsNewlyAdded = false
|   mLayoutInflater = null
|   mLifecycleRegistry = androidx.lifecycle.LifecycleRegistry@325319208 (0x1363fa28)
|   mMenuVisible = true
|   mParentFragment = androidx.navigation.fragment.NavHostFragment@325319240 (0x1363fa48)
|   mPerformedCreateView = false
|   mPostponedAlpha = 0.0
|   mRemoving = false
|   mRestored = false
|   mRetainInstance = false
|   mRetainInstanceChangedWhileDetached = false
|   mSavedFragmentState = null
|   mSavedStateRegistry = androidx.savedstate.bundle.BundleSavedStateRegistry@325319384 (0x1363fad8)
|   mSavedUserVisibleHint = null
|   mSavedViewState = android.util.SparseArray@325319408 (0x1363faf0)
|   mState = 0
|   mTag = null
|   mTarget = null
|   mTargetRequestCode = 0
|   mTargetWho = null
|   mUserVisibleHint = true
|   mView = null
|   mViewLifecycleOwner = null
|   mViewLifecycleOwnerLiveData = androidx.lifecycle.MutableLiveData@325319432 (0x1363fb08)
|   mWho = "2d541309-cbf3-413b-81dd-d43a21259b07"
|   shadow$_klass_ = org.mozilla.fenix.home.HomeFragment
|   shadow$_monitor_ = -1947769262
* Instance of org.mozilla.fenix.home.sessions.SessionsComponent
|   static $change = null
|   static $classOverhead = byte[232]@322215905 (0x13349fe1)
|   static serialVersionUID = -7718152907179452763
|   container = android.widget.LinearLayout@325520720 (0x13670d50)
|   initialState = org.mozilla.fenix.home.sessions.SessionsState@325784200 (0x136b1288)
|   reducer = org.mozilla.fenix.home.sessions.SessionsComponent$reducer$1@322250080 (0x13352560)
|   actionEmitter = io.reactivex.subjects.SerializedSubject@325625528 (0x1368a6b8)
|   changesObservable = io.reactivex.subjects.SerializedSubject@325784152 (0x136b1258)
|   uiView$delegate = kotlin.SynchronizedLazyImpl@325784176 (0x136b1270)
|   shadow$_klass_ = org.mozilla.fenix.home.sessions.SessionsComponent
|   shadow$_monitor_ = 0
* Instance of android.widget.LinearLayout
|   static INDEX_TOP = 1
|   static SHOW_DIVIDER_BEGINNING = 1
|   static INDEX_FILL = 3
|   static SHOW_DIVIDER_NONE = 0
|   static HORIZONTAL = 0
|   static VERTICAL_GRAVITY_COUNT = 4
|   static INDEX_BOTTOM = 2
|   static SHOW_DIVIDER_END = 4
|   static $classOverhead = byte[7828]@1884088409 (0x704ce859)
|   static VERTICAL = 1
|   static SHOW_DIVIDER_MIDDLE = 2
|   static INDEX_CENTER_VERTICAL = 0
|   mAllowInconsistentMeasurement = false
|   mBaselineAligned = true
|   mBaselineAlignedChildIndex = -1
|   mBaselineChildTop = 0
|   mDivider = null
|   mDividerHeight = 0
|   mDividerPadding = 0
|   mDividerWidth = 0
|   mGravity = 8388659
|   mLayoutDirection = 0
|   mMaxAscent = null
|   mMaxDescent = null
|   mOrientation = 1
|   mShowDividers = 0
|   mTotalLength = 909
|   mUseLargestChild = false
|   mWeightSum = -1.0
|   mAnimationListener = null
|   mCachePaint = null
|   mChildCountWithTransientState = 0
|   mChildTransformation = null
|   mChildren = android.view.View[12]@325521480 (0x13671048)
|   mChildrenCount = 6
|   mChildrenInterestedInDrag = null
|   mCurrentDragChild = null
|   mCurrentDragStartEvent = null
|   mDefaultFocus = null
|   mDisappearingChildren = null
|   mFirstHoverTarget = null
|   mFirstTouchTarget = null
|   mFocused = null
|   mFocusedInCluster = null
|   mGroupFlags = 2506835
|   mHoveredSelf = false
|   mInvalidateRegion = null
|   mInvalidationTransformation = null
|   mIsInterestedInDrag = false
|   mLastTouchDownIndex = 5
|   mLastTouchDownTime = 1259389759
|   mLastTouchDownX = 1356.0
|   mLastTouchDownY = 417.0
|   mLayoutAnimationController = null
|   mLayoutCalledWhileSuppressed = false
|   mLayoutMode = -1
|   mLayoutTransitionListener = android.view.ViewGroup$2@325521544 (0x13671088)
|   mLocalPoint = null
|   mNestedScrollAxes = 0
|   mOnHierarchyChangeListener = null
|   mPersistentDrawingCache = 2
|   mPreSortedChildren = null
|   mSuppressLayout = false
|   mTempPoint = float[2]@325521560 (0x13671098)
|   mTooltipHoverTarget = null
|   mTooltipHoveredSelf = false
|   mTransientIndices = null
|   mTransientViews = null
|   mTransition = null
|   mTransitioningViews = null
|   mVisibilityChangingChildren = null
|   mAccessibilityCursorPosition = -1
|   mAccessibilityDelegate = null
|   mAccessibilityTraversalAfterId = -1
|   mAccessibilityTraversalBeforeId = -1
|   mAccessibilityViewId = -1
|   mAnimator = null
|   mAttachInfo = null
|   mAttributes = null
|   mAutofillHints = null
|   mAutofillId = null
|   mAutofillViewId = -1
|   mBackground = null
|   mBackgroundRenderNode = null
|   mBackgroundResource = 0
|   mBackgroundSizeChanged = true
|   mBackgroundTint = null
|   mBottom = 909
|   mCachingFailed = false
|   mClipBounds = null
|   mContentDescription = null
|   mContext = org.mozilla.fenix.HomeActivity@325321456 (0x136402f0)
|   mCurrentAnimation = null
|   mDefaultFocusHighlight = null
|   mDefaultFocusHighlightCache = null
|   mDefaultFocusHighlightEnabled = true
|   mDefaultFocusHighlightSizeChanged = true
|   mDrawableState = int[3]@1883422592 (0x7042bf80)
|   mDrawingCache = null
|   mDrawingCacheBackgroundColor = 0
|   mFloatingTreeObserver = null
|   mForegroundInfo = null
|   mFrameMetricsObservers = null
|   mGhostView = null
|   mHasPerformedLongPress = false
|   mID = 2131230921
|   mIgnoreNextUpEvent = false
|   mInContextButtonPress = false
|   mInputEventConsistencyVerifier = null
|   mIsDispatchedAccessTouchEvent = false
|   mKeyedTags = null
|   mLabelForId = -1
|   mLastIsOpaque = false
|   mLayerPaint = null
|   mLayerType = 0
|   mLayoutInsets = null
|   mLayoutParams = android.widget.FrameLayout$LayoutParams@325521584 (0x136710b0)
|   mLeft = 0
|   mLeftPaddingDefined = false
|   mListenerInfo = null
|   mLongClickX = NaN
|   mLongClickY = NaN
|   mMatchIdPredicate = null
|   mMatchLabelForPredicate = null
|   mMeasureCache = android.util.LongSparseLongArray@325521640 (0x136710e8)
|   mMeasuredHeight = 909
|   mMeasuredWidth = 1440
|   mMinHeight = 0
|   mMinWidth = 0
|   mNestedScrollingParent = null
|   mNextClusterForwardId = -1
|   mNextFocusDownId = -1
|   mNextFocusForwardId = -1
|   mNextFocusLeftId = -1
|   mNextFocusRightId = -1
|   mNextFocusUpId = -1
|   mOldHeightMeasureSpec = 0
|   mOldWidthMeasureSpec = 1073743264
|   mOutlineProvider = android.view.ViewOutlineProvider$1@1883145312 (0x703e8460)
|   mOverScrollMode = 1
|   mOverlay = null
|   mPaddingBottom = 0
|   mPaddingLeft = 0
|   mPaddingRight = 0
|   mPaddingTop = 0
|   mParent = androidx.core.widget.NestedScrollView@325521664 (0x13671100)
|   mPendingCheckForLongPress = null
|   mPendingCheckForTap = null
|   mPerformClick = null
|   mPointerIcon = null
|   mPrivateFlags = 19007664
|   mPrivateFlags2 = 1610819112
|   mPrivateFlags3 = 16
|   mRecreateDisplayList = false
|   mRenderNode = android.view.RenderNode@325522400 (0x136713e0)
|   mResources = android.content.res.Resources@323484976 (0x1347fd30)
|   mRight = 1440
|   mRightPaddingDefined = false
|   mRoundScrollbarRenderer = null
|   mRunQueue = null
|   mScrollCache = null
|   mScrollIndicatorDrawable = null
|   mScrollX = 0
|   mScrollY = 0
|   mSendViewScrolledAccessibilityEvent = null
|   mSendViewStateChangedAccessibilityEvent = null
|   mSendingHoverAccessibilityEvents = false
|   mStartActivityRequestWho = null
|   mStateListAnimator = null
|   mSystemUiVisibility = 0
|   mTag = null
|   mTempNestedScrollConsumed = null
|   mTooltipInfo = null
|   mTop = 0
|   mTouchDelegate = null
|   mTouchSlop = 28
|   mTransformationInfo = null
|   mTransientStateCount = 0
|   mTransitionName = null
|   mUnscaledDrawingCache = null
|   mUnsetPressedState = null
|   mUserPaddingBottom = 0
|   mUserPaddingEnd = -2147483648
|   mUserPaddingLeft = 0
|   mUserPaddingLeftInitial = 0
|   mUserPaddingRight = 0
|   mUserPaddingRightInitial = 0
|   mUserPaddingStart = -2147483648
|   mVerticalScrollFactor = 0.0
|   mVerticalScrollbarPosition = 0
|   mViewFlags = 402653328
|   mVisibilityChangeForAutofillHandler = null
|   mWindowAttachCount = 1
|   shadow$_klass_ = android.widget.LinearLayout
|   shadow$_monitor_ = 0
* Instance of org.mozilla.fenix.HomeActivity
|   static OPEN_TO_BROWSER = "open_to_browser"
|   static $change = null
|   static Companion = org.mozilla.fenix.HomeActivity$Companion@323038360 (0x13412c98)
|   static $classOverhead = byte[4312]@321471001 (0x13294219)
|   static serialVersionUID = -7313422557430804236
|   _$_findViewCache = null
|   browsingModeManager = org.mozilla.fenix.DefaultBrowsingModeManager@325470376 (0x136648a8)
|   themeManager = org.mozilla.fenix.DefaultThemeManager@325470392 (0x136648b8)
|   mDelegate = androidx.appcompat.app.AppCompatDelegateImpl@325470408 (0x136648c8)
|   mResources = null
|   mThemeId = 2131820744
|   mCreated = true
|   mFragments = androidx.fragment.app.FragmentController@325470544 (0x13664950)
|   mNextCandidateRequestIndex = 0
|   mPendingFragmentActivityResults = androidx.collection.SparseArrayCompat@325470560 (0x13664960)
|   mRequestedPermissionsFromFragment = false
|   mResumed = false
|   mStartedActivityFromFragment = false
|   mStartedIntentSenderFromFragment = false
|   mStopped = true
|   mLifecycleRegistry = androidx.lifecycle.LifecycleRegistry@325470584 (0x13664978)
|   mOnBackPressedCallbacks = java.util.concurrent.CopyOnWriteArrayList@325470616 (0x13664998)
|   mSavedStateRegistry = androidx.savedstate.bundle.BundleSavedStateRegistry@325470632 (0x136649a8)
|   mViewModelStore = androidx.lifecycle.ViewModelStore@325470656 (0x136649c0)
|   mExtraDataMap = androidx.collection.SimpleArrayMap@325470672 (0x136649d0)
|   mActionBar = null
|   mActionModeTypeStarting = 0
|   mActivityInfo = android.content.pm.ActivityInfo@325470696 (0x136649e8)
|   mActivityTransitionState = android.app.ActivityTransitionState@325470848 (0x13664a80)
|   mApplication = org.mozilla.fenix.DebugFenixApplication@321256352 (0x1325fba0)
|   mAutoFillResetNeeded = true
|   mAutofillManager = android.view.autofill.AutofillManager@325470904 (0x13664ab8)
|   mAutofillPopupWindow = null
|   mCalled = true
|   mChangeCanvasToTranslucent = false
|   mChangingConfigurations = false
|   mComponent = android.content.ComponentName@325470960 (0x13664af0)
|   mConfigChangeFlags = 0
|   mCurrentConfig = android.content.res.Configuration@325470976 (0x13664b00)
|   mDecor = null
|   mDefaultKeyMode = 0
|   mDefaultKeySsb = null
|   mDestroyed = true
|   mDoReportFullyDrawn = false
|   mEmbeddedID = null
|   mEnableDefaultActionBarUp = false
|   mEnterTransitionListener = android.app.SharedElementCallback$1@1883110576 (0x703dfcb0)
|   mExitTransitionListener = android.app.SharedElementCallback$1@1883110576 (0x703dfcb0)
|   mFinished = true
|   mFragments = android.app.FragmentController@325471096 (0x13664b78)
|   mHandler = android.os.Handler@325471112 (0x13664b88)
|   mHasCurrentPermissionsRequest = false
|   mIdent = 195508218
|   mInstanceTracker = android.os.StrictMode$InstanceTracker@325471144 (0x13664ba8)
|   mInstrumentation = android.app.Instrumentation@321476160 (0x13295640)
|   mIntent = android.content.Intent@325471160 (0x13664bb8)
|   mLastAutofillId = 1073741848
|   mLastNonConfigurationInstances = null
|   mMainThread = android.app.ActivityThread@321126560 (0x132400a0)
|   mManagedCursors = java.util.ArrayList@325471224 (0x13664bf8)
|   mManagedDialogs = null
|   mMenuInflater = null
|   mParent = null
|   mReferrer = "com.htc.launcher"
|   mResultCode = 0
|   mResultData = null
|   mResumed = false
|   mSearchEvent = null
|   mSearchManager = null
|   mStartedActivity = false
|   mStopped = true
|   mTaskDescription = android.app.ActivityManager$TaskDescription@325471280 (0x13664c30)
|   mTemporaryPause = false
|   mTitle = "Fenix"
|   mTitleColor = 0
|   mTitleReady = true
|   mToken = android.os.BinderProxy@325471320 (0x13664c58)
|   mTranslucentCallback = null
|   mUiThread = java.lang.Thread@1938317680 (0x73886170)
|   mVisibleBehind = false
|   mVisibleFromClient = true
|   mVisibleFromServer = true
|   mVoiceInteractor = null
|   mWindow = com.android.internal.policy.PhoneWindow@325471352 (0x13664c78)
|   mWindowAdded = true
|   mWindowManager = android.view.WindowManagerImpl@325471720 (0x13664de8)
|   mInflater = com.android.internal.policy.PhoneLayoutInflater@325471744 (0x13664e00)
|   mOverrideConfiguration = null
|   mResources = android.content.res.Resources@323484976 (0x1347fd30)
|   mTheme = android.content.res.Resources$Theme@325471792 (0x13664e30)
|   mThemeResource = 2131820744
|   mBase = android.app.ContextImpl@325471808 (0x13664e40)
|   shadow$_klass_ = org.mozilla.fenix.HomeActivity
|   shadow$_monitor_ = 1073742659
* Excluded Refs:
| Field: android.os.Message.obj
| Field: android.os.Message.next
| Field: android.os.Message.target
| Field: android.view.inputmethod.InputMethodManager.mNextServedView
| Field: android.view.inputmethod.InputMethodManager.mServedView
| Field: android.view.inputmethod.InputMethodManager.mServedInputConnection
| Field: android.view.inputmethod.InputMethodManager.mCurRootView
| Field: android.accounts.AccountManager$AmsTask$Response.this$1
| Field: android.view.accessibility.AccessibilityNodeInfo.mOriginalText
| Field: com.android.internal.policy.BackdropFrameRenderer.mDecorView
| Field: android.view.Choreographer$FrameDisplayEventReceiver.mMessageQueue (always)
| Thread:FinalizerWatchdogDaemon (always)
| Thread:main (always)
| Thread:LeakCanary-Heap-Dump (always)
| Class:java.lang.ref.WeakReference (always)
| Class:java.lang.ref.SoftReference (always)
| Class:java.lang.ref.PhantomReference (always)
| Class:java.lang.ref.Finalizer (always)
| Class:java.lang.ref.FinalizerReference (always)

@cadeyrn
Copy link
Contributor Author

cadeyrn commented Mar 8, 2019

New leaks, again different ones:

In org.mozilla.fenix.debug:1.0.1910:1.
* androidx.lifecycle.ReportFragment has leaked:
* static ActionBusFactory.buses
* ↳ LinkedHashMap.head
* ↳ LinkedHashMap$LinkedHashMapEntry.key
* ↳ HomeFragment.mFragmentManager
* ↳ FragmentManagerImpl.mPrimaryNav
* ↳ BrowserFragment.!(toolbarComponent)!
* ↳ ToolbarComponent.!(container)!
* ↳ CoordinatorLayout.mContext
* ↳ HomeActivity.mFragments
* ↳ FragmentController.mHost
* ↳ Activity$HostCallbacks.mFragmentManager
* ↳ FragmentManagerImpl.mAdded
* ↳ ArrayList.elementData
* ↳ array Object[].[0]
* ↳ ReportFragment

* Reference Key: e4f8784a-dd10-47ae-a717-f8229a3c83b3
* Device: HTC htc HTC U11 ocndugl_00401
* Android Version: 8.0.0 API: 26 LeakCanary: 1.6.3 31007b4
* Durations: watch=5087ms, gc=188ms, heap dump=1862ms, analysis=7397ms

* Details:
* Class org.mozilla.fenix.mvi.ActionBusFactory
|   static serialVersionUID = 9207631619776038553
|   static buses = java.util.LinkedHashMap@316495208 (0x12dd5568)
|   static $change = null
|   static Companion = org.mozilla.fenix.mvi.ActionBusFactory$Companion@316495200 (0x12dd5560)
|   static $classOverhead = byte[200]@315946913 (0x12d4f7a1)
* Instance of java.util.LinkedHashMap
|   static serialVersionUID = 3801124242820219131
|   static $classOverhead = byte[448]@1878825449 (0x6ffc99e9)
|   accessOrder = false
|   head = java.util.LinkedHashMap$LinkedHashMapEntry@316495344 (0x12dd55f0)
|   tail = java.util.LinkedHashMap$LinkedHashMapEntry@316495344 (0x12dd55f0)
|   entrySet = null
|   loadFactor = 0.75
|   modCount = 5
|   size = 1
|   table = java.util.HashMap$Node[16]@316495264 (0x12dd55a0)
|   threshold = 12
|   keySet = null
|   values = null
|   shadow$_klass_ = java.util.LinkedHashMap
|   shadow$_monitor_ = 0
* Instance of java.util.LinkedHashMap$LinkedHashMapEntry
|   static $classOverhead = byte[128]@1878829873 (0x6ffcab31)
|   after = null
|   before = null
|   hash = 181551823
|   key = org.mozilla.fenix.home.HomeFragment@316495376 (0x12dd5610)
|   next = null
|   value = org.mozilla.fenix.mvi.ActionBusFactory@316495536 (0x12dd56b0)
|   shadow$_klass_ = java.util.LinkedHashMap$LinkedHashMapEntry
|   shadow$_monitor_ = 0
* Instance of org.mozilla.fenix.home.HomeFragment
|   static serialVersionUID = -3317648408223501943
|   static temporaryNumberOfSessions = 25
|   static overflowButtonIncreaseDps = 8
|   static firstKeyTriggerFrame = 55
|   static secondKeyTriggerFrame = 90
|   static toolbarPaddingDp = 12.0
|   static $change = null
|   static addTabButtonIncreaseDps = 8
|   static Companion = org.mozilla.fenix.home.HomeFragment$Companion@316300968 (0x12da5ea8)
|   static $classOverhead = byte[1456]@316282001 (0x12da1491)
|   _$_findViewCache = null
|   bus = org.mozilla.fenix.mvi.ActionBusFactory@316495536 (0x12dd56b0)
|   homeMenu = null
|   sessionObserver = null
|   sessionsComponent = null
|   tabsComponent = null
|   mAdded = false
|   mAnimationInfo = null
|   mArguments = null
|   mBackStackNesting = 0
|   mCalled = false
|   mChildFragmentManager = null
|   mContainer = null
|   mContainerId = 2131230839
|   mDeferStart = false
|   mDetached = false
|   mFragmentId = 2131230839
|   mFragmentManager = androidx.fragment.app.FragmentManagerImpl@316495616 (0x12dd5700)
|   mFromLayout = false
|   mHasMenu = false
|   mHidden = false
|   mHiddenChanged = false
|   mHost = null
|   mInLayout = false
|   mInnerView = null
|   mIsCreated = false
|   mIsNewlyAdded = false
|   mLayoutInflater = null
|   mLifecycleRegistry = androidx.lifecycle.LifecycleRegistry@316495728 (0x12dd5770)
|   mMenuVisible = true
|   mParentFragment = null
|   mPerformedCreateView = false
|   mPostponedAlpha = 0.0
|   mRemoving = true
|   mRestored = false
|   mRetainInstance = false
|   mRetainInstanceChangedWhileDetached = false
|   mSavedFragmentState = null
|   mSavedStateRegistry = androidx.savedstate.bundle.BundleSavedStateRegistry@316495760 (0x12dd5790)
|   mSavedUserVisibleHint = null
|   mSavedViewState = null
|   mState = 0
|   mTag = null
|   mTarget = null
|   mTargetRequestCode = 0
|   mTargetWho = null
|   mUserVisibleHint = true
|   mView = null
|   mViewLifecycleOwner = null
|   mViewLifecycleOwnerLiveData = androidx.lifecycle.MutableLiveData@316495784 (0x12dd57a8)
|   mWho = "be444d9b-84d6-4b4b-b2fb-a1ab4cde8025"
|   shadow$_klass_ = org.mozilla.fenix.home.HomeFragment
|   shadow$_monitor_ = -1965930467
* Instance of androidx.fragment.app.FragmentManagerImpl
|   static ANIM_DUR = 220
|   static DEBUG = false
|   static TARGET_STATE_TAG = "android:target_state"
|   static ANIM_STYLE_CLOSE_EXIT = 4
|   static ANIM_STYLE_OPEN_EXIT = 2
|   static sAnimationListenerField = null
|   static DECELERATE_CUBIC = android.view.animation.DecelerateInterpolator@316897520 (0x12e378f0)
|   static USER_VISIBLE_HINT_TAG = "android:user_visible_hint"
|   static DECELERATE_QUINT = android.view.animation.DecelerateInterpolator@316897536 (0x12e37900)
|   static ANIM_STYLE_FADE_EXIT = 6
|   static TARGET_REQUEST_CODE_STATE_TAG = "android:target_req_state"
|   static TAG = "FragmentManager"
|   static ANIM_STYLE_CLOSE_ENTER = 3
|   static ANIM_STYLE_OPEN_ENTER = 1
|   static ANIM_STYLE_FADE_ENTER = 5
|   static $classOverhead = byte[1021]@315335849 (0x12cba4a9)
|   static VIEW_STATE_TAG = "android:view_state"
|   mActive = java.util.HashMap@316497696 (0x12dd5f20)
|   mAdded = java.util.ArrayList@316497736 (0x12dd5f48)
|   mAvailBackStackIndices = null
|   mBackStack = null
|   mBackStackChangeListeners = java.util.ArrayList@316497760 (0x12dd5f60)
|   mBackStackIndices = null
|   mContainer = null
|   mCreatedMenus = null
|   mCurState = 0
|   mDestroyed = true
|   mExecCommit = androidx.fragment.app.FragmentManagerImpl$1@316497784 (0x12dd5f78)
|   mExecutingActions = false
|   mHavePendingDeferredStart = false
|   mHost = null
|   mLifecycleCallbacks = java.util.concurrent.CopyOnWriteArrayList@316497800 (0x12dd5f88)
|   mNeedMenuInvalidate = false
|   mNextFragmentIndex = 0
|   mNonConfig = androidx.fragment.app.FragmentManagerViewModel@316497816 (0x12dd5f98)
|   mParent = null
|   mPendingActions = java.util.ArrayList@316497848 (0x12dd5fb8)
|   mPostponedTransactions = null
|   mPrimaryNav = org.mozilla.fenix.browser.BrowserFragment@316497872 (0x12dd5fd0)
|   mStateArray = null
|   mStateBundle = null
|   mStateSaved = false
|   mStopped = true
|   mTmpAddedFragments = java.util.ArrayList@316498056 (0x12dd6088)
|   mTmpIsPop = java.util.ArrayList@316498080 (0x12dd60a0)
|   mTmpRecords = java.util.ArrayList@316498104 (0x12dd60b8)
|   mFragmentFactory = null
|   shadow$_klass_ = androidx.fragment.app.FragmentManagerImpl
|   shadow$_monitor_ = 0
* Instance of org.mozilla.fenix.browser.BrowserFragment
|   static serialVersionUID = 7903370502870768598
|   static REQUEST_CODE_DOWNLOAD_PERMISSIONS = 1
|   static REQUEST_CODE_APP_PERMISSIONS = 3
|   static TOOLBAR_HEIGHT = 56.0
|   static $change = null
|   static Companion = org.mozilla.fenix.browser.BrowserFragment$Companion@316773544 (0x12e194a8)
|   static $classOverhead = byte[1476]@315928857 (0x12d4b119)
|   static REPORT_SITE_ISSUE_URL = "https://webcompat.com/issues/new?url=%s&label=browser-fenix"
|   static REQUEST_CODE_PROMPT_PERMISSIONS = 2
|   _$_findViewCache = null
|   contextMenuFeature = mozilla.components.support.base.feature.ViewBoundFeatureWrapper@316498296 (0x12dd6178)
|   customTabsToolbarFeature = mozilla.components.support.base.feature.ViewBoundFeatureWrapper@316498328 (0x12dd6198)
|   downloadsFeature = mozilla.components.support.base.feature.ViewBoundFeatureWrapper@316498360 (0x12dd61b8)
|   findInPageIntegration = mozilla.components.support.base.feature.ViewBoundFeatureWrapper@316498392 (0x12dd61d8)
|   fullScreenFeature = mozilla.components.support.base.feature.ViewBoundFeatureWrapper@316498424 (0x12dd61f8)
|   promptsFeature = mozilla.components.support.base.feature.ViewBoundFeatureWrapper@316498456 (0x12dd6218)
|   sessionFeature = mozilla.components.support.base.feature.ViewBoundFeatureWrapper@316498488 (0x12dd6238)
|   sessionId = null
|   sitePermissionsFeature = mozilla.components.support.base.feature.ViewBoundFeatureWrapper@316498520 (0x12dd6258)
|   toolbarComponent = org.mozilla.fenix.components.toolbar.ToolbarComponent@316498552 (0x12dd6278)
|   toolbarIntegration = mozilla.components.support.base.feature.ViewBoundFeatureWrapper@316498592 (0x12dd62a0)
|   mAdded = false
|   mAnimationInfo = null
|   mArguments = android.os.Bundle@316498624 (0x12dd62c0)
|   mBackStackNesting = 0
|   mCalled = true
|   mChildFragmentManager = null
|   mContainer = null
|   mContainerId = 0
|   mDeferStart = false
|   mDetached = false
|   mFragmentId = 0
|   mFragmentManager = null
|   mFromLayout = false
|   mHasMenu = false
|   mHidden = false
|   mHiddenChanged = false
|   mHost = null
|   mInLayout = false
|   mInnerView = null
|   mIsCreated = false
|   mIsNewlyAdded = false
|   mLayoutInflater = null
|   mLifecycleRegistry = androidx.lifecycle.LifecycleRegistry@316498648 (0x12dd62d8)
|   mMenuVisible = true
|   mParentFragment = androidx.navigation.fragment.NavHostFragment@316498680 (0x12dd62f8)
|   mPerformedCreateView = false
|   mPostponedAlpha = 0.0
|   mRemoving = false
|   mRestored = false
|   mRetainInstance = false
|   mRetainInstanceChangedWhileDetached = false
|   mSavedFragmentState = null
|   mSavedStateRegistry = androidx.savedstate.bundle.BundleSavedStateRegistry@316498824 (0x12dd6388)
|   mSavedUserVisibleHint = null
|   mSavedViewState = null
|   mState = 0
|   mTag = null
|   mTarget = null
|   mTargetRequestCode = 0
|   mTargetWho = null
|   mUserVisibleHint = true
|   mView = null
|   mViewLifecycleOwner = null
|   mViewLifecycleOwnerLiveData = androidx.lifecycle.MutableLiveData@316498848 (0x12dd63a0)
|   mWho = "dfa491a9-8a9f-4065-8bd4-72fcb9c9882b"
|   shadow$_klass_ = org.mozilla.fenix.browser.BrowserFragment
|   shadow$_monitor_ = -1998483855
* Instance of org.mozilla.fenix.components.toolbar.ToolbarComponent
|   static serialVersionUID = -3448913190523384436
|   static $change = null
|   static $classOverhead = byte[232]@315934721 (0x12d4c801)
|   container = androidx.coordinatorlayout.widget.CoordinatorLayout@316613720 (0x12df2458)
|   initialState = org.mozilla.fenix.components.toolbar.SearchState@316614400 (0x12df2700)
|   isPrivate = false
|   reducer = org.mozilla.fenix.components.toolbar.ToolbarComponent$reducer$1@316614416 (0x12df2710)
|   sessionId = null
|   actionEmitter = io.reactivex.subjects.SerializedSubject@316613648 (0x12df2410)
|   changesObservable = io.reactivex.subjects.SerializedSubject@316613672 (0x12df2428)
|   uiView$delegate = kotlin.SynchronizedLazyImpl@316613696 (0x12df2440)
|   shadow$_klass_ = org.mozilla.fenix.components.toolbar.ToolbarComponent
|   shadow$_monitor_ = 0
* Instance of androidx.coordinatorlayout.widget.CoordinatorLayout
|   static EVENT_VIEW_REMOVED = 2
|   static TOP_SORTED_CHILDREN_COMPARATOR = androidx.coordinatorlayout.widget.CoordinatorLayout$ViewElevationComparator@316830272 (0x12e27240)
|   static TYPE_ON_TOUCH = 1
|   static sRectPool = androidx.core.util.Pools$SynchronizedPool@316830352 (0x12e27290)
|   static EVENT_PRE_DRAW = 0
|   static TAG = "CoordinatorLayout"
|   static WIDGET_PACKAGE_NAME = "androidx.coordinatorlayout.widget"
|   static sConstructors = java.lang.ThreadLocal@316830336 (0x12e27280)
|   static TYPE_ON_INTERCEPT = 0
|   static $classOverhead = byte[7772]@315693489 (0x12d119b1)
|   static CONSTRUCTOR_PARAMS = java.lang.Class[2]@316830248 (0x12e27228)
|   static EVENT_NESTED_SCROLL = 1
|   mApplyWindowInsetsListener = null
|   mBehaviorTouchView = null
|   mChildDag = androidx.coordinatorlayout.widget.DirectedAcyclicGraph@316614432 (0x12df2720)
|   mDependencySortedChildren = java.util.ArrayList@316614456 (0x12df2738)
|   mDisallowInterceptReset = false
|   mDrawStatusBarBackground = false
|   mIsAttachedToWindow = false
|   mKeylines = null
|   mLastInsets = null
|   mNeedsPreDrawListener = true
|   mNestedScrollingParentHelper = androidx.core.view.NestedScrollingParentHelper@316614480 (0x12df2750)
|   mNestedScrollingTarget = null
|   mOnHierarchyChangeListener = null
|   mOnPreDrawListener = androidx.coordinatorlayout.widget.CoordinatorLayout$OnPreDrawListener@316614496 (0x12df2760)
|   mScrimPaint = null
|   mStatusBarBackground = null
|   mTempDependenciesList = java.util.ArrayList@316614512 (0x12df2770)
|   mTempIntPair = int[2]@316614536 (0x12df2788)
|   mTempList1 = java.util.ArrayList@316614560 (0x12df27a0)
|   mAnimationListener = null
|   mCachePaint = null
|   mChildCountWithTransientState = 0
|   mChildTransformation = null
|   mChildren = android.view.View[12]@316614584 (0x12df27b8)
|   mChildrenCount = 3
|   mChildrenInterestedInDrag = null
|   mCurrentDragChild = null
|   mCurrentDragStartEvent = null
|   mDefaultFocus = null
|   mDisappearingChildren = null
|   mFirstHoverTarget = null
|   mFirstTouchTarget = null
|   mFocused = null
|   mFocusedInCluster = null
|   mGroupFlags = 2244691
|   mHoveredSelf = false
|   mInvalidateRegion = null
|   mInvalidationTransformation = null
|   mIsInterestedInDrag = false
|   mLastTouchDownIndex = 0
|   mLastTouchDownTime = 1291038175
|   mLastTouchDownX = 977.0
|   mLastTouchDownY = 1948.0
|   mLayoutAnimationController = null
|   mLayoutCalledWhileSuppressed = false
|   mLayoutMode = -1
|   mLayoutTransitionListener = android.view.ViewGroup$2@316614648 (0x12df27f8)
|   mLocalPoint = null
|   mNestedScrollAxes = 0
|   mOnHierarchyChangeListener = androidx.coordinatorlayout.widget.CoordinatorLayout$HierarchyChangeListener@316614664 (0x12df2808)
|   mPersistentDrawingCache = 2
|   mPreSortedChildren = null
|   mSuppressLayout = false
|   mTempPoint = float[2]@316614680 (0x12df2818)
|   mTooltipHoverTarget = null
|   mTooltipHoveredSelf = false
|   mTransientIndices = null
|   mTransientViews = null
|   mTransition = null
|   mTransitioningViews = null
|   mVisibilityChangingChildren = null
|   mAccessibilityCursorPosition = -1
|   mAccessibilityDelegate = null
|   mAccessibilityTraversalAfterId = -1
|   mAccessibilityTraversalBeforeId = -1
|   mAccessibilityViewId = -1
|   mAnimator = null
|   mAttachInfo = null
|   mAttributes = null
|   mAutofillHints = null
|   mAutofillId = null
|   mAutofillViewId = -1
|   mBackground = null
|   mBackgroundRenderNode = null
|   mBackgroundResource = 0
|   mBackgroundSizeChanged = true
|   mBackgroundTint = null
|   mBottom = 2464
|   mCachingFailed = false
|   mClipBounds = null
|   mContentDescription = null
|   mContext = org.mozilla.fenix.HomeActivity@316500456 (0x12dd69e8)
|   mCurrentAnimation = null
|   mDefaultFocusHighlight = null
|   mDefaultFocusHighlightCache = null
|   mDefaultFocusHighlightEnabled = true
|   mDefaultFocusHighlightSizeChanged = true
|   mDrawableState = int[2]@1883422568 (0x7042bf68)
|   mDrawingCache = null
|   mDrawingCacheBackgroundColor = 0
|   mFloatingTreeObserver = null
|   mForegroundInfo = null
|   mFrameMetricsObservers = null
|   mGhostView = null
|   mHasPerformedLongPress = false
|   mID = 2131230817
|   mIgnoreNextUpEvent = false
|   mInContextButtonPress = false
|   mInputEventConsistencyVerifier = null
|   mIsDispatchedAccessTouchEvent = false
|   mKeyedTags = null
|   mLabelForId = -1
|   mLastIsOpaque = false
|   mLayerPaint = null
|   mLayerType = 0
|   mLayoutInsets = null
|   mLayoutParams = android.widget.FrameLayout$LayoutParams@316614704 (0x12df2830)
|   mLeft = 0
|   mLeftPaddingDefined = false
|   mListenerInfo = android.view.View$ListenerInfo@316614760 (0x12df2868)
|   mLongClickX = NaN
|   mLongClickY = NaN
|   mMatchIdPredicate = null
|   mMatchLabelForPredicate = null
|   mMeasureCache = android.util.LongSparseLongArray@316614832 (0x12df28b0)
|   mMeasuredHeight = 2464
|   mMeasuredWidth = 1440
|   mMinHeight = 0
|   mMinWidth = 0
|   mNestedScrollingParent = null
|   mNextClusterForwardId = -1
|   mNextFocusDownId = -1
|   mNextFocusForwardId = -1
|   mNextFocusLeftId = -1
|   mNextFocusRightId = -1
|   mNextFocusUpId = -1
|   mOldHeightMeasureSpec = 1073744288
|   mOldWidthMeasureSpec = 1073743264
|   mOutlineProvider = android.view.ViewOutlineProvider$1@1883145312 (0x703e8460)
|   mOverScrollMode = 1
|   mOverlay = null
|   mPaddingBottom = 0
|   mPaddingLeft = 0
|   mPaddingRight = 0
|   mPaddingTop = 0
|   mParent = null
|   mPendingCheckForLongPress = null
|   mPendingCheckForTap = null
|   mPerformClick = null
|   mPointerIcon = null
|   mPrivateFlags = -2128606544
|   mPrivateFlags2 = 1610819112
|   mPrivateFlags3 = 16
|   mRecreateDisplayList = false
|   mRenderNode = android.view.RenderNode@316614856 (0x12df28c8)
|   mResources = android.content.res.Resources@316510600 (0x12dd9188)
|   mRight = 1440
|   mRightPaddingDefined = false
|   mRoundScrollbarRenderer = null
|   mRunQueue = null
|   mScrollCache = null
|   mScrollIndicatorDrawable = null
|   mScrollX = 0
|   mScrollY = 0
|   mSendViewScrolledAccessibilityEvent = null
|   mSendViewStateChangedAccessibilityEvent = null
|   mSendingHoverAccessibilityEvents = false
|   mStartActivityRequestWho = null
|   mStateListAnimator = null
|   mSystemUiVisibility = 0
|   mTag = null
|   mTempNestedScrollConsumed = null
|   mTooltipInfo = null
|   mTop = 0
|   mTouchDelegate = null
|   mTouchSlop = 28
|   mTransformationInfo = null
|   mTransientStateCount = 0
|   mTransitionName = null
|   mUnscaledDrawingCache = null
|   mUnsetPressedState = null
|   mUserPaddingBottom = 0
|   mUserPaddingEnd = -2147483648
|   mUserPaddingLeft = 0
|   mUserPaddingLeftInitial = 0
|   mUserPaddingRight = 0
|   mUserPaddingRightInitial = 0
|   mUserPaddingStart = -2147483648
|   mVerticalScrollFactor = 0.0
|   mVerticalScrollbarPosition = 0
|   mViewFlags = 939524240
|   mVisibilityChangeForAutofillHandler = null
|   mWindowAttachCount = 1
|   shadow$_klass_ = androidx.coordinatorlayout.widget.CoordinatorLayout
|   shadow$_monitor_ = 0
* Instance of org.mozilla.fenix.HomeActivity
|   static serialVersionUID = 4111946002713664296
|   static OPEN_TO_BROWSER = "open_to_browser"
|   static $change = null
|   static Companion = org.mozilla.fenix.HomeActivity$Companion@316774832 (0x12e199b0)
|   static $classOverhead = byte[4312]@315919177 (0x12d48b49)
|   _$_findViewCache = null
|   browsingModeManager = org.mozilla.fenix.DefaultBrowsingModeManager@316509136 (0x12dd8bd0)
|   themeManager = org.mozilla.fenix.DefaultThemeManager@316509152 (0x12dd8be0)
|   mDelegate = androidx.appcompat.app.AppCompatDelegateImpl@316509168 (0x12dd8bf0)
|   mResources = null
|   mThemeId = 2131820744
|   mCreated = true
|   mFragments = androidx.fragment.app.FragmentController@316509304 (0x12dd8c78)
|   mNextCandidateRequestIndex = 0
|   mPendingFragmentActivityResults = androidx.collection.SparseArrayCompat@316509320 (0x12dd8c88)
|   mRequestedPermissionsFromFragment = false
|   mResumed = false
|   mStartedActivityFromFragment = false
|   mStartedIntentSenderFromFragment = false
|   mStopped = true
|   mLifecycleRegistry = androidx.lifecycle.LifecycleRegistry@316509344 (0x12dd8ca0)
|   mOnBackPressedCallbacks = java.util.concurrent.CopyOnWriteArrayList@316509376 (0x12dd8cc0)
|   mSavedStateRegistry = androidx.savedstate.bundle.BundleSavedStateRegistry@316509392 (0x12dd8cd0)
|   mViewModelStore = androidx.lifecycle.ViewModelStore@316509416 (0x12dd8ce8)
|   mExtraDataMap = androidx.collection.SimpleArrayMap@316509432 (0x12dd8cf8)
|   mActionBar = null
|   mActionModeTypeStarting = 0
|   mActivityInfo = android.content.pm.ActivityInfo@316509456 (0x12dd8d10)
|   mActivityTransitionState = android.app.ActivityTransitionState@316509608 (0x12dd8da8)
|   mApplication = org.mozilla.fenix.DebugFenixApplication@315173320 (0x12c929c8)
|   mAutoFillResetNeeded = false
|   mAutofillManager = null
|   mAutofillPopupWindow = null
|   mCalled = true
|   mChangeCanvasToTranslucent = false
|   mChangingConfigurations = false
|   mComponent = android.content.ComponentName@316509664 (0x12dd8de0)
|   mConfigChangeFlags = 0
|   mCurrentConfig = android.content.res.Configuration@316509680 (0x12dd8df0)
|   mDecor = null
|   mDefaultKeyMode = 0
|   mDefaultKeySsb = null
|   mDestroyed = true
|   mDoReportFullyDrawn = false
|   mEmbeddedID = null
|   mEnableDefaultActionBarUp = false
|   mEnterTransitionListener = android.app.SharedElementCallback$1@1883110576 (0x703dfcb0)
|   mExitTransitionListener = android.app.SharedElementCallback$1@1883110576 (0x703dfcb0)
|   mFinished = true
|   mFragments = android.app.FragmentController@316509800 (0x12dd8e68)
|   mHandler = android.os.Handler@316509816 (0x12dd8e78)
|   mHasCurrentPermissionsRequest = false
|   mIdent = 226164561
|   mInstanceTracker = android.os.StrictMode$InstanceTracker@316509848 (0x12dd8e98)
|   mInstrumentation = android.app.Instrumentation@316509864 (0x12dd8ea8)
|   mIntent = android.content.Intent@316509936 (0x12dd8ef0)
|   mLastAutofillId = 1073741825
|   mLastNonConfigurationInstances = null
|   mMainThread = android.app.ActivityThread@315097248 (0x12c800a0)
|   mManagedCursors = java.util.ArrayList@316510000 (0x12dd8f30)
|   mManagedDialogs = null
|   mMenuInflater = null
|   mParent = null
|   mReferrer = "org.mozilla.fenix.debug"
|   mResultCode = 0
|   mResultData = null
|   mResumed = false
|   mSearchEvent = null
|   mSearchManager = null
|   mStartedActivity = false
|   mStopped = true
|   mTaskDescription = android.app.ActivityManager$TaskDescription@316510064 (0x12dd8f70)
|   mTemporaryPause = false
|   mTitle = "Fenix"
|   mTitleColor = 0
|   mTitleReady = true
|   mToken = android.os.BinderProxy@316510128 (0x12dd8fb0)
|   mTranslucentCallback = null
|   mUiThread = java.lang.Thread@1938317680 (0x73886170)
|   mVisibleBehind = false
|   mVisibleFromClient = true
|   mVisibleFromServer = true
|   mVoiceInteractor = null
|   mWindow = com.android.internal.policy.PhoneWindow@316510160 (0x12dd8fd0)
|   mWindowAdded = true
|   mWindowManager = android.view.WindowManagerImpl@316510528 (0x12dd9140)
|   mInflater = com.android.internal.policy.PhoneLayoutInflater@316510552 (0x12dd9158)
|   mOverrideConfiguration = null
|   mResources = android.content.res.Resources@316510600 (0x12dd9188)
|   mTheme = android.content.res.Resources$Theme@316510640 (0x12dd91b0)
|   mThemeResource = 2131820744
|   mBase = android.app.ContextImpl@316510656 (0x12dd91c0)
|   shadow$_klass_ = org.mozilla.fenix.HomeActivity
|   shadow$_monitor_ = 1073751268
* Instance of android.app.FragmentController
|   static $classOverhead = byte[416]@1884213649 (0x704ed191)
|   mHost = android.app.Activity$HostCallbacks@316601992 (0x12def688)
|   shadow$_klass_ = android.app.FragmentController
|   shadow$_monitor_ = 0
* Instance of android.app.Activity$HostCallbacks
|   static $classOverhead = byte[368]@1883853665 (0x70495361)
|   this$0 = org.mozilla.fenix.HomeActivity@316500456 (0x12dd69e8)
|   mActivity = org.mozilla.fenix.HomeActivity@316500456 (0x12dd69e8)
|   mAllLoaderManagers = android.util.ArrayMap@316602040 (0x12def6b8)
|   mCheckedForLoaderManager = true
|   mContext = org.mozilla.fenix.HomeActivity@316500456 (0x12dd69e8)
|   mFragmentManager = android.app.FragmentManagerImpl@316602072 (0x12def6d8)
|   mHandler = android.os.Handler@316509816 (0x12dd8e78)
|   mLoaderManager = null
|   mLoadersStarted = true
|   mRetainLoaders = false
|   mWindowAnimations = 0
|   shadow$_klass_ = android.app.Activity$HostCallbacks
|   shadow$_monitor_ = 0
* Instance of android.app.FragmentManagerImpl
|   static USER_VISIBLE_HINT_TAG = "android:user_visible_hint"
|   static DEBUG = false
|   static TARGET_STATE_TAG = "android:target_state"
|   static TARGET_REQUEST_CODE_STATE_TAG = "android:target_req_state"
|   static TAG = "FragmentManager"
|   static $classOverhead = byte[941]@1883056169 (0x703d2829)
|   static VIEW_STATE_TAG = "android:view_state"
|   mActive = android.util.SparseArray@316602184 (0x12def748)
|   mAdded = java.util.ArrayList@316602208 (0x12def760)
|   mAllowOldReentrantBehavior = false
|   mAvailBackStackIndices = null
|   mBackStack = null
|   mBackStackChangeListeners = null
|   mBackStackIndices = null
|   mContainer = null
|   mCreatedMenus = null
|   mCurState = 0
|   mDestroyed = true
|   mExecCommit = android.app.FragmentManagerImpl$1@316602232 (0x12def778)
|   mExecutingActions = false
|   mHavePendingDeferredStart = false
|   mHost = null
|   mLifecycleCallbacks = java.util.concurrent.CopyOnWriteArrayList@316602248 (0x12def788)
|   mNeedMenuInvalidate = false
|   mNextFragmentIndex = 1
|   mNoTransactionsBecause = null
|   mParent = null
|   mPendingActions = java.util.ArrayList@316602264 (0x12def798)
|   mPostponedTransactions = null
|   mPrimaryNav = null
|   mSavedNonConfig = null
|   mStateArray = null
|   mStateBundle = android.os.Bundle@316602288 (0x12def7b0)
|   mStateSaved = false
|   mTmpAddedFragments = java.util.ArrayList@316602312 (0x12def7c8)
|   mTmpIsPop = java.util.ArrayList@316602336 (0x12def7e0)
|   mTmpRecords = java.util.ArrayList@316602360 (0x12def7f8)
|   shadow$_klass_ = android.app.FragmentManagerImpl
|   shadow$_monitor_ = 0
* Instance of java.util.ArrayList
|   static serialVersionUID = 8683452581122892189
|   static MAX_ARRAY_SIZE = 2147483639
|   static DEFAULTCAPACITY_EMPTY_ELEMENTDATA = java.lang.Object[0]@1883335224 (0x70416a38)
|   static $classOverhead = byte[392]@1878534825 (0x6ff82aa9)
|   static DEFAULT_CAPACITY = 10
|   static EMPTY_ELEMENTDATA = java.lang.Object[0]@1880957160 (0x701d20e8)
|   elementData = java.lang.Object[10]@316603328 (0x12defbc0)
|   size = 1
|   modCount = 1
|   shadow$_klass_ = java.util.ArrayList
|   shadow$_monitor_ = 0
* Array of java.lang.Object[]
|   [0] = androidx.lifecycle.ReportFragment@316603384 (0x12defbf8)
|   [1] = null
|   [2] = null
|   [3] = null
|   [4] = null
|   [5] = null
|   [6] = null
|   [7] = null
|   [8] = null
|   [9] = null
* Instance of androidx.lifecycle.ReportFragment
|   static REPORT_FRAGMENT_TAG = "androidx.lifecycle.LifecycleDispatcher.report_fragment_tag"
|   static $classOverhead = byte[1332]@315371913 (0x12cc3189)
|   mProcessListener = null
|   mAdded = false
|   mAnimationInfo = null
|   mArguments = null
|   mBackStackNesting = 0
|   mCalled = true
|   mCheckedForLoaderManager = false
|   mChildFragmentManager = null
|   mChildNonConfig = null
|   mContainer = null
|   mContainerId = 0
|   mDeferStart = false
|   mDetached = false
|   mFragmentId = 0
|   mFragmentManager = null
|   mFromLayout = false
|   mHasMenu = false
|   mHidden = false
|   mHiddenChanged = false
|   mHost = null
|   mInLayout = false
|   mIndex = -1
|   mIsNewlyAdded = false
|   mLayoutInflater = null
|   mLoaderManager = null
|   mLoadersStarted = false
|   mMenuVisible = true
|   mParentFragment = null
|   mPerformedCreateView = false
|   mRemoving = false
|   mRestored = false
|   mRetainInstance = false
|   mRetaining = false
|   mSavedFragmentState = null
|   mSavedViewState = null
|   mState = 0
|   mTag = null
|   mTarget = null
|   mTargetIndex = -1
|   mTargetRequestCode = 0
|   mUserVisibleHint = true
|   mView = null
|   mWho = null
|   shadow$_klass_ = androidx.lifecycle.ReportFragment
|   shadow$_monitor_ = 0
* Excluded Refs:
| Field: android.os.Message.obj
| Field: android.os.Message.next
| Field: android.os.Message.target
| Field: android.view.inputmethod.InputMethodManager.mNextServedView
| Field: android.view.inputmethod.InputMethodManager.mServedView
| Field: android.view.inputmethod.InputMethodManager.mServedInputConnection
| Field: android.view.inputmethod.InputMethodManager.mCurRootView
| Field: android.accounts.AccountManager$AmsTask$Response.this$1
| Field: android.view.accessibility.AccessibilityNodeInfo.mOriginalText
| Field: com.android.internal.policy.BackdropFrameRenderer.mDecorView
| Field: android.view.Choreographer$FrameDisplayEventReceiver.mMessageQueue (always)
| Thread:FinalizerWatchdogDaemon (always)
| Thread:main (always)
| Thread:LeakCanary-Heap-Dump (always)
| Class:java.lang.ref.WeakReference (always)
| Class:java.lang.ref.SoftReference (always)
| Class:java.lang.ref.PhantomReference (always)
| Class:java.lang.ref.Finalizer (always)
| Class:java.lang.ref.FinalizerReference (always)
In org.mozilla.fenix.debug:1.0.1910:1.
* org.mozilla.fenix.HomeActivity has leaked:
* static ActionBusFactory.buses
* ↳ LinkedHashMap.head
* ↳ LinkedHashMap$LinkedHashMapEntry.key
* ↳ HomeFragment.mFragmentManager
* ↳ FragmentManagerImpl.mPrimaryNav
* ↳ BrowserFragment.!(toolbarComponent)!
* ↳ ToolbarComponent.!(container)!
* ↳ CoordinatorLayout.mContext
* ↳ HomeActivity

* Reference Key: f94af49c-d37a-4d67-b802-907122d0c706
* Device: HTC htc HTC U11 ocndugl_00401
* Android Version: 8.0.0 API: 26 LeakCanary: 1.6.3 31007b4
* Durations: watch=17450ms, gc=196ms, heap dump=1853ms, analysis=6261ms

* Details:
* Class org.mozilla.fenix.mvi.ActionBusFactory
|   static serialVersionUID = 9207631619776038553
|   static buses = java.util.LinkedHashMap@316489528 (0x12dd3f38)
|   static $change = null
|   static Companion = org.mozilla.fenix.mvi.ActionBusFactory$Companion@316489520 (0x12dd3f30)
|   static $classOverhead = byte[200]@316471201 (0x12dcf7a1)
* Instance of java.util.LinkedHashMap
|   static serialVersionUID = 3801124242820219131
|   static $classOverhead = byte[448]@1878825449 (0x6ffc99e9)
|   accessOrder = false
|   head = java.util.LinkedHashMap$LinkedHashMapEntry@316489664 (0x12dd3fc0)
|   tail = java.util.LinkedHashMap$LinkedHashMapEntry@316489664 (0x12dd3fc0)
|   entrySet = null
|   loadFactor = 0.75
|   modCount = 5
|   size = 1
|   table = java.util.HashMap$Node[16]@316489584 (0x12dd3f70)
|   threshold = 12
|   keySet = null
|   values = null
|   shadow$_klass_ = java.util.LinkedHashMap
|   shadow$_monitor_ = 0
* Instance of java.util.LinkedHashMap$LinkedHashMapEntry
|   static $classOverhead = byte[128]@1878829873 (0x6ffcab31)
|   after = null
|   before = null
|   hash = 181551823
|   key = org.mozilla.fenix.home.HomeFragment@316489696 (0x12dd3fe0)
|   next = null
|   value = org.mozilla.fenix.mvi.ActionBusFactory@316489856 (0x12dd4080)
|   shadow$_klass_ = java.util.LinkedHashMap$LinkedHashMapEntry
|   shadow$_monitor_ = 0
* Instance of org.mozilla.fenix.home.HomeFragment
|   static serialVersionUID = -3317648408223501943
|   static temporaryNumberOfSessions = 25
|   static overflowButtonIncreaseDps = 8
|   static firstKeyTriggerFrame = 55
|   static secondKeyTriggerFrame = 90
|   static toolbarPaddingDp = 12.0
|   static $change = null
|   static addTabButtonIncreaseDps = 8
|   static Companion = org.mozilla.fenix.home.HomeFragment$Companion@317037784 (0x12e59cd8)
|   static $classOverhead = byte[1456]@316489937 (0x12dd40d1)
|   _$_findViewCache = null
|   bus = org.mozilla.fenix.mvi.ActionBusFactory@316489856 (0x12dd4080)
|   homeMenu = null
|   sessionObserver = null
|   sessionsComponent = null
|   tabsComponent = null
|   mAdded = false
|   mAnimationInfo = null
|   mArguments = null
|   mBackStackNesting = 0
|   mCalled = false
|   mChildFragmentManager = null
|   mContainer = null
|   mContainerId = 2131230839
|   mDeferStart = false
|   mDetached = false
|   mFragmentId = 2131230839
|   mFragmentManager = androidx.fragment.app.FragmentManagerImpl@316491512 (0x12dd46f8)
|   mFromLayout = false
|   mHasMenu = false
|   mHidden = false
|   mHiddenChanged = false
|   mHost = null
|   mInLayout = false
|   mInnerView = null
|   mIsCreated = false
|   mIsNewlyAdded = false
|   mLayoutInflater = null
|   mLifecycleRegistry = androidx.lifecycle.LifecycleRegistry@316491624 (0x12dd4768)
|   mMenuVisible = true
|   mParentFragment = null
|   mPerformedCreateView = false
|   mPostponedAlpha = 0.0
|   mRemoving = true
|   mRestored = false
|   mRetainInstance = false
|   mRetainInstanceChangedWhileDetached = false
|   mSavedFragmentState = null
|   mSavedStateRegistry = androidx.savedstate.bundle.BundleSavedStateRegistry@316491656 (0x12dd4788)
|   mSavedUserVisibleHint = null
|   mSavedViewState = null
|   mState = 0
|   mTag = null
|   mTarget = null
|   mTargetRequestCode = 0
|   mTargetWho = null
|   mUserVisibleHint = true
|   mView = null
|   mViewLifecycleOwner = null
|   mViewLifecycleOwnerLiveData = androidx.lifecycle.MutableLiveData@316491680 (0x12dd47a0)
|   mWho = "be444d9b-84d6-4b4b-b2fb-a1ab4cde8025"
|   shadow$_klass_ = org.mozilla.fenix.home.HomeFragment
|   shadow$_monitor_ = -1965930467
* Instance of androidx.fragment.app.FragmentManagerImpl
|   static ANIM_DUR = 220
|   static DEBUG = false
|   static TARGET_STATE_TAG = "android:target_state"
|   static ANIM_STYLE_CLOSE_EXIT = 4
|   static ANIM_STYLE_OPEN_EXIT = 2
|   static sAnimationListenerField = null
|   static DECELERATE_CUBIC = android.view.animation.DecelerateInterpolator@317184880 (0x12e7db70)
|   static USER_VISIBLE_HINT_TAG = "android:user_visible_hint"
|   static DECELERATE_QUINT = android.view.animation.DecelerateInterpolator@317184896 (0x12e7db80)
|   static ANIM_STYLE_FADE_EXIT = 6
|   static TARGET_REQUEST_CODE_STATE_TAG = "android:target_req_state"
|   static TAG = "FragmentManager"
|   static ANIM_STYLE_CLOSE_ENTER = 3
|   static ANIM_STYLE_OPEN_ENTER = 1
|   static ANIM_STYLE_FADE_ENTER = 5
|   static $classOverhead = byte[1021]@315875281 (0x12d3dfd1)
|   static VIEW_STATE_TAG = "android:view_state"
|   mActive = java.util.HashMap@316494984 (0x12dd5488)
|   mAdded = java.util.ArrayList@316495024 (0x12dd54b0)
|   mAvailBackStackIndices = null
|   mBackStack = null
|   mBackStackChangeListeners = java.util.ArrayList@316495048 (0x12dd54c8)
|   mBackStackIndices = null
|   mContainer = null
|   mCreatedMenus = null
|   mCurState = 0
|   mDestroyed = true
|   mExecCommit = androidx.fragment.app.FragmentManagerImpl$1@316495072 (0x12dd54e0)
|   mExecutingActions = false
|   mHavePendingDeferredStart = false
|   mHost = null
|   mLifecycleCallbacks = java.util.concurrent.CopyOnWriteArrayList@316495088 (0x12dd54f0)
|   mNeedMenuInvalidate = false
|   mNextFragmentIndex = 0
|   mNonConfig = androidx.fragment.app.FragmentManagerViewModel@316495104 (0x12dd5500)
|   mParent = null
|   mPendingActions = java.util.ArrayList@316495136 (0x12dd5520)
|   mPostponedTransactions = null
|   mPrimaryNav = org.mozilla.fenix.browser.BrowserFragment@316495160 (0x12dd5538)
|   mStateArray = null
|   mStateBundle = null
|   mStateSaved = false
|   mStopped = true
|   mTmpAddedFragments = java.util.ArrayList@316495344 (0x12dd55f0)
|   mTmpIsPop = java.util.ArrayList@316495368 (0x12dd5608)
|   mTmpRecords = java.util.ArrayList@316495392 (0x12dd5620)
|   mFragmentFactory = null
|   shadow$_klass_ = androidx.fragment.app.FragmentManagerImpl
|   shadow$_monitor_ = 0
* Instance of org.mozilla.fenix.browser.BrowserFragment
|   static serialVersionUID = 7903370502870768598
|   static REQUEST_CODE_DOWNLOAD_PERMISSIONS = 1
|   static REQUEST_CODE_APP_PERMISSIONS = 3
|   static TOOLBAR_HEIGHT = 56.0
|   static $change = null
|   static Companion = org.mozilla.fenix.browser.BrowserFragment$Companion@317052616 (0x12e5d6c8)
|   static $classOverhead = byte[1476]@316453145 (0x12dcb119)
|   static REPORT_SITE_ISSUE_URL = "https://webcompat.com/issues/new?url=%s&label=browser-fenix"
|   static REQUEST_CODE_PROMPT_PERMISSIONS = 2
|   _$_findViewCache = null
|   contextMenuFeature = mozilla.components.support.base.feature.ViewBoundFeatureWrapper@316495584 (0x12dd56e0)
|   customTabsToolbarFeature = mozilla.components.support.base.feature.ViewBoundFeatureWrapper@316495616 (0x12dd5700)
|   downloadsFeature = mozilla.components.support.base.feature.ViewBoundFeatureWrapper@316495648 (0x12dd5720)
|   findInPageIntegration = mozilla.components.support.base.feature.ViewBoundFeatureWrapper@316495680 (0x12dd5740)
|   fullScreenFeature = mozilla.components.support.base.feature.ViewBoundFeatureWrapper@316495712 (0x12dd5760)
|   promptsFeature = mozilla.components.support.base.feature.ViewBoundFeatureWrapper@316495744 (0x12dd5780)
|   sessionFeature = mozilla.components.support.base.feature.ViewBoundFeatureWrapper@316495776 (0x12dd57a0)
|   sessionId = null
|   sitePermissionsFeature = mozilla.components.support.base.feature.ViewBoundFeatureWrapper@316495808 (0x12dd57c0)
|   toolbarComponent = org.mozilla.fenix.components.toolbar.ToolbarComponent@316495840 (0x12dd57e0)
|   toolbarIntegration = mozilla.components.support.base.feature.ViewBoundFeatureWrapper@316495880 (0x12dd5808)
|   mAdded = false
|   mAnimationInfo = null
|   mArguments = android.os.Bundle@316495912 (0x12dd5828)
|   mBackStackNesting = 0
|   mCalled = true
|   mChildFragmentManager = null
|   mContainer = null
|   mContainerId = 0
|   mDeferStart = false
|   mDetached = false
|   mFragmentId = 0
|   mFragmentManager = null
|   mFromLayout = false
|   mHasMenu = false
|   mHidden = false
|   mHiddenChanged = false
|   mHost = null
|   mInLayout = false
|   mInnerView = null
|   mIsCreated = false
|   mIsNewlyAdded = false
|   mLayoutInflater = null
|   mLifecycleRegistry = androidx.lifecycle.LifecycleRegistry@316495936 (0x12dd5840)
|   mMenuVisible = true
|   mParentFragment = androidx.navigation.fragment.NavHostFragment@316495968 (0x12dd5860)
|   mPerformedCreateView = false
|   mPostponedAlpha = 0.0
|   mRemoving = false
|   mRestored = false
|   mRetainInstance = false
|   mRetainInstanceChangedWhileDetached = false
|   mSavedFragmentState = null
|   mSavedStateRegistry = androidx.savedstate.bundle.BundleSavedStateRegistry@316496112 (0x12dd58f0)
|   mSavedUserVisibleHint = null
|   mSavedViewState = null
|   mState = 0
|   mTag = null
|   mTarget = null
|   mTargetRequestCode = 0
|   mTargetWho = null
|   mUserVisibleHint = true
|   mView = null
|   mViewLifecycleOwner = null
|   mViewLifecycleOwnerLiveData = androidx.lifecycle.MutableLiveData@316496136 (0x12dd5908)
|   mWho = "dfa491a9-8a9f-4065-8bd4-72fcb9c9882b"
|   shadow$_klass_ = org.mozilla.fenix.browser.BrowserFragment
|   shadow$_monitor_ = -1998483855
* Instance of org.mozilla.fenix.components.toolbar.ToolbarComponent
|   static serialVersionUID = -3448913190523384436
|   static $change = null
|   static $classOverhead = byte[232]@316459009 (0x12dcc801)
|   container = androidx.coordinatorlayout.widget.CoordinatorLayout@316758952 (0x12e15ba8)
|   initialState = org.mozilla.fenix.components.toolbar.SearchState@316759632 (0x12e15e50)
|   isPrivate = false
|   reducer = org.mozilla.fenix.components.toolbar.ToolbarComponent$reducer$1@316759648 (0x12e15e60)
|   sessionId = null
|   actionEmitter = io.reactivex.subjects.SerializedSubject@316758880 (0x12e15b60)
|   changesObservable = io.reactivex.subjects.SerializedSubject@316758904 (0x12e15b78)
|   uiView$delegate = kotlin.SynchronizedLazyImpl@316758928 (0x12e15b90)
|   shadow$_klass_ = org.mozilla.fenix.components.toolbar.ToolbarComponent
|   shadow$_monitor_ = 0
* Instance of androidx.coordinatorlayout.widget.CoordinatorLayout
|   static EVENT_VIEW_REMOVED = 2
|   static TOP_SORTED_CHILDREN_COMPARATOR = androidx.coordinatorlayout.widget.CoordinatorLayout$ViewElevationComparator@317110536 (0x12e6b908)
|   static TYPE_ON_TOUCH = 1
|   static sRectPool = androidx.core.util.Pools$SynchronizedPool@317110616 (0x12e6b958)
|   static EVENT_PRE_DRAW = 0
|   static TAG = "CoordinatorLayout"
|   static WIDGET_PACKAGE_NAME = "androidx.coordinatorlayout.widget"
|   static sConstructors = java.lang.ThreadLocal@317110600 (0x12e6b948)
|   static TYPE_ON_INTERCEPT = 0
|   static $classOverhead = byte[7772]@316216857 (0x12d91619)
|   static CONSTRUCTOR_PARAMS = java.lang.Class[2]@317110512 (0x12e6b8f0)
|   static EVENT_NESTED_SCROLL = 1
|   mApplyWindowInsetsListener = null
|   mBehaviorTouchView = null
|   mChildDag = androidx.coordinatorlayout.widget.DirectedAcyclicGraph@316759664 (0x12e15e70)
|   mDependencySortedChildren = java.util.ArrayList@316759688 (0x12e15e88)
|   mDisallowInterceptReset = false
|   mDrawStatusBarBackground = false
|   mIsAttachedToWindow = false
|   mKeylines = null
|   mLastInsets = null
|   mNeedsPreDrawListener = true
|   mNestedScrollingParentHelper = androidx.core.view.NestedScrollingParentHelper@316759712 (0x12e15ea0)
|   mNestedScrollingTarget = null
|   mOnHierarchyChangeListener = null
|   mOnPreDrawListener = androidx.coordinatorlayout.widget.CoordinatorLayout$OnPreDrawListener@316759728 (0x12e15eb0)
|   mScrimPaint = null
|   mStatusBarBackground = null
|   mTempDependenciesList = java.util.ArrayList@316759744 (0x12e15ec0)
|   mTempIntPair = int[2]@316759768 (0x12e15ed8)
|   mTempList1 = java.util.ArrayList@316759792 (0x12e15ef0)
|   mAnimationListener = null
|   mCachePaint = null
|   mChildCountWithTransientState = 0
|   mChildTransformation = null
|   mChildren = android.view.View[12]@316759816 (0x12e15f08)
|   mChildrenCount = 3
|   mChildrenInterestedInDrag = null
|   mCurrentDragChild = null
|   mCurrentDragStartEvent = null
|   mDefaultFocus = null
|   mDisappearingChildren = null
|   mFirstHoverTarget = null
|   mFirstTouchTarget = null
|   mFocused = null
|   mFocusedInCluster = null
|   mGroupFlags = 2244691
|   mHoveredSelf = false
|   mInvalidateRegion = null
|   mInvalidationTransformation = null
|   mIsInterestedInDrag = false
|   mLastTouchDownIndex = 0
|   mLastTouchDownTime = 1291038175
|   mLastTouchDownX = 977.0
|   mLastTouchDownY = 1948.0
|   mLayoutAnimationController = null
|   mLayoutCalledWhileSuppressed = false
|   mLayoutMode = -1
|   mLayoutTransitionListener = android.view.ViewGroup$2@316759880 (0x12e15f48)
|   mLocalPoint = null
|   mNestedScrollAxes = 0
|   mOnHierarchyChangeListener = androidx.coordinatorlayout.widget.CoordinatorLayout$HierarchyChangeListener@316759896 (0x12e15f58)
|   mPersistentDrawingCache = 2
|   mPreSortedChildren = null
|   mSuppressLayout = false
|   mTempPoint = float[2]@316759912 (0x12e15f68)
|   mTooltipHoverTarget = null
|   mTooltipHoveredSelf = false
|   mTransientIndices = null
|   mTransientViews = null
|   mTransition = null
|   mTransitioningViews = null
|   mVisibilityChangingChildren = null
|   mAccessibilityCursorPosition = -1
|   mAccessibilityDelegate = null
|   mAccessibilityTraversalAfterId = -1
|   mAccessibilityTraversalBeforeId = -1
|   mAccessibilityViewId = -1
|   mAnimator = null
|   mAttachInfo = null
|   mAttributes = null
|   mAutofillHints = null
|   mAutofillId = null
|   mAutofillViewId = -1
|   mBackground = null
|   mBackgroundRenderNode = null
|   mBackgroundResource = 0
|   mBackgroundSizeChanged = true
|   mBackgroundTint = null
|   mBottom = 2464
|   mCachingFailed = false
|   mClipBounds = null
|   mContentDescription = null
|   mContext = org.mozilla.fenix.HomeActivity@316499296 (0x12dd6560)
|   mCurrentAnimation = null
|   mDefaultFocusHighlight = null
|   mDefaultFocusHighlightCache = null
|   mDefaultFocusHighlightEnabled = true
|   mDefaultFocusHighlightSizeChanged = true
|   mDrawableState = int[2]@1883422568 (0x7042bf68)
|   mDrawingCache = null
|   mDrawingCacheBackgroundColor = 0
|   mFloatingTreeObserver = null
|   mForegroundInfo = null
|   mFrameMetricsObservers = null
|   mGhostView = null
|   mHasPerformedLongPress = false
|   mID = 2131230817
|   mIgnoreNextUpEvent = false
|   mInContextButtonPress = false
|   mInputEventConsistencyVerifier = null
|   mIsDispatchedAccessTouchEvent = false
|   mKeyedTags = null
|   mLabelForId = -1
|   mLastIsOpaque = false
|   mLayerPaint = null
|   mLayerType = 0
|   mLayoutInsets = null
|   mLayoutParams = android.widget.FrameLayout$LayoutParams@316759936 (0x12e15f80)
|   mLeft = 0
|   mLeftPaddingDefined = false
|   mListenerInfo = android.view.View$ListenerInfo@316759992 (0x12e15fb8)
|   mLongClickX = NaN
|   mLongClickY = NaN
|   mMatchIdPredicate = null
|   mMatchLabelForPredicate = null
|   mMeasureCache = android.util.LongSparseLongArray@316760064 (0x12e16000)
|   mMeasuredHeight = 2464
|   mMeasuredWidth = 1440
|   mMinHeight = 0
|   mMinWidth = 0
|   mNestedScrollingParent = null
|   mNextClusterForwardId = -1
|   mNextFocusDownId = -1
|   mNextFocusForwardId = -1
|   mNextFocusLeftId = -1
|   mNextFocusRightId = -1
|   mNextFocusUpId = -1
|   mOldHeightMeasureSpec = 1073744288
|   mOldWidthMeasureSpec = 1073743264
|   mOutlineProvider = android.view.ViewOutlineProvider$1@1883145312 (0x703e8460)
|   mOverScrollMode = 1
|   mOverlay = null
|   mPaddingBottom = 0
|   mPaddingLeft = 0
|   mPaddingRight = 0
|   mPaddingTop = 0
|   mParent = null
|   mPendingCheckForLongPress = null
|   mPendingCheckForTap = null
|   mPerformClick = null
|   mPointerIcon = null
|   mPrivateFlags = -2128606544
|   mPrivateFlags2 = 1610819112
|   mPrivateFlags3 = 16
|   mRecreateDisplayList = false
|   mRenderNode = android.view.RenderNode@316760088 (0x12e16018)
|   mResources = android.content.res.Resources@316511128 (0x12dd9398)
|   mRight = 1440
|   mRightPaddingDefined = false
|   mRoundScrollbarRenderer = null
|   mRunQueue = null
|   mScrollCache = null
|   mScrollIndicatorDrawable = null
|   mScrollX = 0
|   mScrollY = 0
|   mSendViewScrolledAccessibilityEvent = null
|   mSendViewStateChangedAccessibilityEvent = null
|   mSendingHoverAccessibilityEvents = false
|   mStartActivityRequestWho = null
|   mStateListAnimator = null
|   mSystemUiVisibility = 0
|   mTag = null
|   mTempNestedScrollConsumed = null
|   mTooltipInfo = null
|   mTop = 0
|   mTouchDelegate = null
|   mTouchSlop = 28
|   mTransformationInfo = null
|   mTransientStateCount = 0
|   mTransitionName = null
|   mUnscaledDrawingCache = null
|   mUnsetPressedState = null
|   mUserPaddingBottom = 0
|   mUserPaddingEnd = -2147483648
|   mUserPaddingLeft = 0
|   mUserPaddingLeftInitial = 0
|   mUserPaddingRight = 0
|   mUserPaddingRightInitial = 0
|   mUserPaddingStart = -2147483648
|   mVerticalScrollFactor = 0.0
|   mVerticalScrollbarPosition = 0
|   mViewFlags = 939524240
|   mVisibilityChangeForAutofillHandler = null
|   mWindowAttachCount = 1
|   shadow$_klass_ = androidx.coordinatorlayout.widget.CoordinatorLayout
|   shadow$_monitor_ = 0
* Instance of org.mozilla.fenix.HomeActivity
|   static serialVersionUID = 4111946002713664296
|   static OPEN_TO_BROWSER = "open_to_browser"
|   static $change = null
|   static Companion = org.mozilla.fenix.HomeActivity$Companion@317053904 (0x12e5dbd0)
|   static $classOverhead = byte[4312]@316443465 (0x12dc8b49)
|   _$_findViewCache = null
|   browsingModeManager = org.mozilla.fenix.DefaultBrowsingModeManager@316509736 (0x12dd8e28)
|   themeManager = org.mozilla.fenix.DefaultThemeManager@316509752 (0x12dd8e38)
|   mDelegate = androidx.appcompat.app.AppCompatDelegateImpl@316509768 (0x12dd8e48)
|   mResources = null
|   mThemeId = 2131820744
|   mCreated = true
|   mFragments = androidx.fragment.app.FragmentController@316509904 (0x12dd8ed0)
|   mNextCandidateRequestIndex = 0
|   mPendingFragmentActivityResults = androidx.collection.SparseArrayCompat@316509920 (0x12dd8ee0)
|   mRequestedPermissionsFromFragment = false
|   mResumed = false
|   mStartedActivityFromFragment = false
|   mStartedIntentSenderFromFragment = false
|   mStopped = true
|   mLifecycleRegistry = androidx.lifecycle.LifecycleRegistry@316509944 (0x12dd8ef8)
|   mOnBackPressedCallbacks = java.util.concurrent.CopyOnWriteArrayList@316509976 (0x12dd8f18)
|   mSavedStateRegistry = androidx.savedstate.bundle.BundleSavedStateRegistry@316509992 (0x12dd8f28)
|   mViewModelStore = androidx.lifecycle.ViewModelStore@316510016 (0x12dd8f40)
|   mExtraDataMap = androidx.collection.SimpleArrayMap@316510032 (0x12dd8f50)
|   mActionBar = null
|   mActionModeTypeStarting = 0
|   mActivityInfo = android.content.pm.ActivityInfo@316510056 (0x12dd8f68)
|   mActivityTransitionState = android.app.ActivityTransitionState@316510208 (0x12dd9000)
|   mApplication = org.mozilla.fenix.DebugFenixApplication@315709088 (0x12d156a0)
|   mAutoFillResetNeeded = false
|   mAutofillManager = null
|   mAutofillPopupWindow = null
|   mCalled = true
|   mChangeCanvasToTranslucent = false
|   mChangingConfigurations = false
|   mComponent = android.content.ComponentName@316510264 (0x12dd9038)
|   mConfigChangeFlags = 0
|   mCurrentConfig = android.content.res.Configuration@316510280 (0x12dd9048)
|   mDecor = null
|   mDefaultKeyMode = 0
|   mDefaultKeySsb = null
|   mDestroyed = true
|   mDoReportFullyDrawn = false
|   mEmbeddedID = null
|   mEnableDefaultActionBarUp = false
|   mEnterTransitionListener = android.app.SharedElementCallback$1@1883110576 (0x703dfcb0)
|   mExitTransitionListener = android.app.SharedElementCallback$1@1883110576 (0x703dfcb0)
|   mFinished = true
|   mFragments = android.app.FragmentController@316510400 (0x12dd90c0)
|   mHandler = android.os.Handler@316510416 (0x12dd90d0)
|   mHasCurrentPermissionsRequest = false
|   mIdent = 226164561
|   mInstanceTracker = android.os.StrictMode$InstanceTracker@316510448 (0x12dd90f0)
|   mInstrumentation = android.app.Instrumentation@315851008 (0x12d38100)
|   mIntent = android.content.Intent@316510464 (0x12dd9100)
|   mLastAutofillId = 1073741825
|   mLastNonConfigurationInstances = null
|   mMainThread = android.app.ActivityThread@315627032 (0x12d01618)
|   mManagedCursors = java.util.ArrayList@316510528 (0x12dd9140)
|   mManagedDialogs = null
|   mMenuInflater = null
|   mParent = null
|   mReferrer = "org.mozilla.fenix.debug"
|   mResultCode = 0
|   mResultData = null
|   mResumed = false
|   mSearchEvent = null
|   mSearchManager = null
|   mStartedActivity = false
|   mStopped = true
|   mTaskDescription = android.app.ActivityManager$TaskDescription@316510592 (0x12dd9180)
|   mTemporaryPause = false
|   mTitle = "Fenix"
|   mTitleColor = 0
|   mTitleReady = true
|   mToken = android.os.BinderProxy@316510656 (0x12dd91c0)
|   mTranslucentCallback = null
|   mUiThread = java.lang.Thread@1938317680 (0x73886170)
|   mVisibleBehind = false
|   mVisibleFromClient = true
|   mVisibleFromServer = true
|   mVoiceInteractor = null
|   mWindow = com.android.internal.policy.PhoneWindow@316510688 (0x12dd91e0)
|   mWindowAdded = true
|   mWindowManager = android.view.WindowManagerImpl@316511056 (0x12dd9350)
|   mInflater = com.android.internal.policy.PhoneLayoutInflater@316511080 (0x12dd9368)
|   mOverrideConfiguration = null
|   mResources = android.content.res.Resources@316511128 (0x12dd9398)
|   mTheme = android.content.res.Resources$Theme@316511168 (0x12dd93c0)
|   mThemeResource = 2131820744
|   mBase = android.app.ContextImpl@316511184 (0x12dd93d0)
|   shadow$_klass_ = org.mozilla.fenix.HomeActivity
|   shadow$_monitor_ = -2054555306
* Excluded Refs:
| Field: android.os.Message.obj
| Field: android.os.Message.next
| Field: android.os.Message.target
| Field: android.view.inputmethod.InputMethodManager.mNextServedView
| Field: android.view.inputmethod.InputMethodManager.mServedView
| Field: android.view.inputmethod.InputMethodManager.mServedInputConnection
| Field: android.view.inputmethod.InputMethodManager.mCurRootView
| Field: android.accounts.AccountManager$AmsTask$Response.this$1
| Field: android.view.accessibility.AccessibilityNodeInfo.mOriginalText
| Field: com.android.internal.policy.BackdropFrameRenderer.mDecorView
| Field: android.view.Choreographer$FrameDisplayEventReceiver.mMessageQueue (always)
| Thread:FinalizerWatchdogDaemon (always)
| Thread:main (always)
| Thread:LeakCanary-Heap-Dump (always)
| Class:java.lang.ref.WeakReference (always)
| Class:java.lang.ref.SoftReference (always)
| Class:java.lang.ref.PhantomReference (always)
| Class:java.lang.ref.Finalizer (always)
| Class:java.lang.ref.FinalizerReference (always)

@cadeyrn
Copy link
Contributor Author

cadeyrn commented Mar 13, 2019

Now I have STR to reproduce one kind of these leaks:

  1. Start Fenix
  2. press mask icon for enabling private mode
  3. press mask icon for disabling private mode again
  4. repeat the steps 2 and 3 a few times

This works in 100% for me to cause a HomeActivity and a ReportFragment leak.

@vesta0 vesta0 added P1 Current sprint 🐞 bug Crashes, Something isn't working, .. labels Apr 3, 2019
@vesta0 vesta0 added this to the Bugs milestone Apr 3, 2019
@cadeyrn
Copy link
Contributor Author

cadeyrn commented Apr 10, 2019

The number of leaks increased noticeably - there are now leaks on more places. But I can no longer find the LeakCanary app on my device so I can't share any reports.

dector added a commit to dector/fenix that referenced this issue May 12, 2019
dector added a commit to dector/fenix that referenced this issue May 14, 2019
dector added a commit to dector/fenix that referenced this issue May 21, 2019
dector added a commit to dector/fenix that referenced this issue May 21, 2019
dector added a commit to dector/fenix that referenced this issue May 25, 2019
dector added a commit to dector/fenix that referenced this issue May 25, 2019
dector added a commit to dector/fenix that referenced this issue May 29, 2019
dector added a commit to dector/fenix that referenced this issue May 29, 2019
boek pushed a commit that referenced this issue May 29, 2019
@sblatz
Copy link
Contributor

sblatz commented Jul 16, 2019

@cadeyrn @colintheshots are these reports still happening?

@cadeyrn
Copy link
Contributor Author

cadeyrn commented Jul 16, 2019

@sblatz Yes, LeakCanary is still reporting leaks (build from 7/12, I can test with latest version from master tomorrow). Unfortunately I can't find the LeakCanary app in my apps anymore so I don't know how I can share more details. :-/

@cadeyrn
Copy link
Contributor Author

cadeyrn commented Jul 17, 2019

Retested with latest build from master (revision 95367c2).

The following steps still always trigger a leak:

  1. press the mask icon on the Fenix home screen to launch private mode
  2. repeat step 1 to leave private mode
  3. repeat step 1 again

@boek boek removed this from the Bugs and Polish milestone Jul 17, 2019
@vesta0 vesta0 removed this from the Bugs and Polish milestone Jul 24, 2019
@sblatz sblatz changed the title LeakCanary Reports Address current LeakCanary reports Aug 2, 2019
@liuche liuche added the E5 Estimation Point: about 5 days label Aug 2, 2019
@sblatz
Copy link
Contributor

sblatz commented Aug 30, 2019

I'm not able to reproduce the original LeakCanary report found here. I spent a bit of time playing around with the app and found very few leak reports (when running monkey). I think we should punt on this ticket for now as none of them seem super critical.

@cadeyrn
Copy link
Contributor Author

cadeyrn commented Aug 30, 2019

I'm not able to reproduce the original LeakCanary report found here.

Did you try the steps from here?
#747 (comment)

Because this is still reproducible in 100% for me.

@liuche
Copy link
Contributor

liuche commented Aug 30, 2019

We'll look at this in a future sprint, since there are fewer reports than when this was first filed and leaks were a huge problem.

@liuche
Copy link
Contributor

liuche commented Aug 30, 2019

@kbrosnan and @rpappalax can also look into this because getting leak testing into our UI tests is very important.

@cadeyrn
Copy link
Contributor Author

cadeyrn commented Aug 31, 2019

There is now also a leak when opening a custom tab and then pressing the back button.

@sblatz sblatz removed their assignment Sep 3, 2019
@colintheshots colintheshots modified the milestones: v1.4, v2.0 Sep 5, 2019
@boek boek removed this from the v2.0 milestone Sep 24, 2019
@sblatz sblatz added P3 Some future sprint and removed P1 Current sprint labels Sep 27, 2019
@liuche liuche added help wanted Help wanted from a contributor. More complex than good first issue. Hacktoberfest Highlights issues for Hacktoberfest contributors to help us! performance Possible performance wins labels Oct 5, 2019
@cadeyrn
Copy link
Contributor Author

cadeyrn commented Oct 24, 2019

Retested with latest build from master (revision 95367c2).

The following steps still always trigger a leak:

1. press the mask icon on the Fenix home screen to launch private mode
2. repeat step 1 to leave private mode
3. repeat step 1 again

The leak is still present but with the new LeakCanary version the user interface is finally back so I can share more details.

Download .hprof file:
https://drive.google.com/open?id=13dnKqhDJxrlCnOELzG1xb7xJTnxHEqeB

@cadeyrn
Copy link
Contributor Author

cadeyrn commented Feb 22, 2020

I can no longer reproduce the reported leaks and #8619 seems to fix some leaks. Maybe it's time to close this issue? Or are there still some known leaks?

@ekager
Copy link
Contributor

ekager commented May 15, 2020

Let's close this issue I think #8619 #10033 and #10012 addressed most of the found leaks.

@ekager ekager closed this as completed May 15, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
🐞 bug Crashes, Something isn't working, .. E5 Estimation Point: about 5 days Hacktoberfest Highlights issues for Hacktoberfest contributors to help us! help wanted Help wanted from a contributor. More complex than good first issue. P3 Some future sprint performance Possible performance wins
Projects
None yet
Development

No branches or pull requests

9 participants