Closed
Bug 1935182
Opened 1 year ago
Closed 1 year ago
Memory leak: AwesomeBarWrapper is leaking in SearchDialogFragment
Categories
(Firefox for Android :: Search, defect)
Tracking
()
RESOLVED
FIXED
139 Branch
| Tracking | Status | |
|---|---|---|
| firefox139 | --- | fixed |
People
(Reporter: segun, Assigned: segun)
References
(Blocks 1 open bug)
Details
(Keywords: memory-leak)
Crash Data
Attachments
(1 file)
User Agent: Mozilla/5.0 (Android 15; Mobile; rv:135.0) Gecko/135.0 Firefox/135.0
Leak signatures
- baa8adaa2f0b3448a00fc2ac028fb4f4db9452b7
- 985005fccaea04494f5121553bf267712abf3eed
Leak trace
====================================
HEAP ANALYSIS RESULT
====================================
2 APPLICATION LEAKS
References underlined with "~~~" are likely causes.
Learn more at https://squ.re/leaks.
123113 bytes retained by leaking objects
Signature: baa8adaa2f0b3448a00fc2ac028fb4f4db9452b7
┬───
│ GC Root: Global variable in native code
│
├─ dalvik.system.PathClassLoader instance
│ Leaking: NO (SnapshotKt↓ is not leaking and A ClassLoader is never leaking)
│ ↓ ClassLoader.runtimeInternalObjects
├─ java.lang.Object[] array
│ Leaking: NO (SnapshotKt↓ is not leaking)
│ ↓ Object[2951]
├─ androidx.compose.runtime.snapshots.SnapshotKt class
│ Leaking: NO (a class is never leaking)
│ ↓ static SnapshotKt.applyObservers
│ ~~~~~~~~~~~~~~
├─ java.util.ArrayList instance
│ Leaking: UNKNOWN
│ Retaining 88 B in 5 objects
│ ↓ ArrayList[0]
│ ~~~
├─ androidx.compose.runtime.Recomposer$recompositionRunner$2$unregisterApplyObserver$1 instance
│ Leaking: UNKNOWN
│ Retaining 16 B in 1 objects
│ Anonymous subclass of kotlin.jvm.internal.Lambda
│ ↓ Recomposer$recompositionRunner$2$unregisterApplyObserver$1.this$0
│ ~~~~~~
├─ androidx.compose.runtime.Recomposer instance
│ Leaking: UNKNOWN
│ Retaining 1.8 MB in 6571 objects
│ ↓ Recomposer.snapshotInvalidations
│ ~~~~~~~~~~~~~~~~~~~~~
├─ androidx.collection.MutableScatterSet instance
│ Leaking: UNKNOWN
│ Retaining 1.8 MB in 6553 objects
│ ↓ ScatterSet.elements
│ ~~~~~~~~
├─ java.lang.Object[] array
│ Leaking: UNKNOWN
│ Retaining 1.8 MB in 6551 objects
│ ↓ Object[1]
│ ~~~
├─ androidx.compose.runtime.ParcelableSnapshotMutableState instance
│ Leaking: UNKNOWN
│ Retaining 421.6 kB in 6496 objects
│ ↓ SnapshotMutableStateImpl.next
│ ~~~~
├─ androidx.compose.runtime.SnapshotMutableStateImpl$StateStateRecord instance
│ Leaking: UNKNOWN
│ Retaining 421.5 kB in 6494 objects
│ ↓ SnapshotMutableStateImpl$StateStateRecord.value
│ ~~~~~
├─ java.util.ArrayList instance
│ Leaking: UNKNOWN
│ Retaining 421.5 kB in 6492 objects
│ ↓ ArrayList[0]
│ ~~~
├─ mozilla.components.feature.awesomebar.provider.SearchTermSuggestionsProvider instance
│ Leaking: UNKNOWN
│ Retaining 16.0 kB in 4 objects
│ ↓ SearchTermSuggestionsProvider.searchUseCase
│ ~~~~~~~~~~~~~
├─ org.mozilla.fenix.search.awesomebar.AwesomeBarView$historySearchTermUseCase$1 instance
│ Leaking: UNKNOWN
│ Retaining 12 B in 1 objects
│ Anonymous class implementing mozilla.components.feature.search.SearchUseCases$SearchUseCase
│ ↓ AwesomeBarView$historySearchTermUseCase$1.this$0
│ ~~~~~~
├─ org.mozilla.fenix.search.awesomebar.AwesomeBarView instance
│ Leaking: UNKNOWN
│ Retaining 123.6 kB in 2366 objects
│ activity instance of org.mozilla.fenix.HomeActivity with mDestroyed = false
│ ↓ AwesomeBarView.view
│ ~~~~
├─ org.mozilla.fenix.search.awesomebar.AwesomeBarWrapper instance
│ Leaking: YES (View detached yet still part of window view hierarchy)
│ Retaining 123.1 kB in 2353 objects
│ View is part of a window view hierarchy
│ View.mAttachInfo is null (view detached)
│ View.mWindowAttachCount = 1
│ mContext instance of android.view.ContextThemeWrapper, wrapping activity org.mozilla.fenix.HomeActivity with mDestroyed = false
│ ↓ View.mParent
╰→ org.mozilla.fenix.perf.SearchDialogFragmentConstraintLayout instance
Leaking: YES (ObjectWatcher was watching this because org.mozilla.fenix.search.SearchDialogFragment received Fragment#onDestroyView() callback (references to its views should be cleared to prevent leaks) and View detached yet still part of window view hierarchy)
Retaining 30.0 kB in 549 objects
key = 360ff845-caa7-48ad-845d-293845273c0f
watchDurationMillis = 8193
retainedDurationMillis = 3193
View is part of a window view hierarchy
View.mAttachInfo is null (view detached)
View.mWindowAttachCount = 1
mContext instance of android.view.ContextThemeWrapper, wrapping activity org.mozilla.fenix.HomeActivity with mDestroyed = false
4203 bytes retained by leaking objects
Signature: 985005fccaea04494f5121553bf267712abf3eed
┬───
│ GC Root: Global variable in native code
│
├─ dalvik.system.PathClassLoader instance
│ Leaking: NO (SnapshotKt↓ is not leaking and A ClassLoader is never leaking)
│ ↓ ClassLoader.runtimeInternalObjects
├─ java.lang.Object[] array
│ Leaking: NO (SnapshotKt↓ is not leaking)
│ ↓ Object[2951]
├─ androidx.compose.runtime.snapshots.SnapshotKt class
│ Leaking: NO (a class is never leaking)
│ ↓ static SnapshotKt.applyObservers
│ ~~~~~~~~~~~~~~
├─ java.util.ArrayList instance
│ Leaking: UNKNOWN
│ Retaining 88 B in 5 objects
│ ↓ ArrayList[0]
│ ~~~
├─ androidx.compose.runtime.Recomposer$recompositionRunner$2$unregisterApplyObserver$1 instance
│ Leaking: UNKNOWN
│ Retaining 16 B in 1 objects
│ Anonymous subclass of kotlin.jvm.internal.Lambda
│ ↓ Recomposer$recompositionRunner$2$unregisterApplyObserver$1.this$0
│ ~~~~~~
├─ androidx.compose.runtime.Recomposer instance
│ Leaking: UNKNOWN
│ Retaining 1.8 MB in 6571 objects
│ ↓ Recomposer.snapshotInvalidations
│ ~~~~~~~~~~~~~~~~~~~~~
├─ androidx.collection.MutableScatterSet instance
│ Leaking: UNKNOWN
│ Retaining 1.8 MB in 6553 objects
│ ↓ ScatterSet.elements
│ ~~~~~~~~
├─ java.lang.Object[] array
│ Leaking: UNKNOWN
│ Retaining 1.8 MB in 6551 objects
│ ↓ Object[1]
│ ~~~
├─ androidx.compose.runtime.ParcelableSnapshotMutableState instance
│ Leaking: UNKNOWN
│ Retaining 421.6 kB in 6496 objects
│ ↓ SnapshotMutableStateImpl.next
│ ~~~~
├─ androidx.compose.runtime.SnapshotMutableStateImpl$StateStateRecord instance
│ Leaking: UNKNOWN
│ Retaining 421.5 kB in 6494 objects
│ ↓ SnapshotMutableStateImpl$StateStateRecord.value
│ ~~~~~
├─ java.util.ArrayList instance
│ Leaking: UNKNOWN
│ Retaining 421.5 kB in 6492 objects
│ ↓ ArrayList[8]
│ ~~~
├─ mozilla.components.feature.awesomebar.provider.SearchEngineSuggestionProvider instance
│ Leaking: UNKNOWN
│ Retaining 16.1 kB in 6 objects
│ context instance of org.mozilla.fenix.HomeActivity with mDestroyed = false
│ ↓ SearchEngineSuggestionProvider.selectShortcutEngine
│ ~~~~~~~~~~~~~~~~~~~~
├─ org.mozilla.fenix.search.awesomebar.AwesomeBarView$3 instance
│ Leaking: UNKNOWN
│ Retaining 40 B in 1 objects
│ Anonymous subclass of kotlin.jvm.internal.FunctionReferenceImpl
│ ↓ CallableReference.receiver
│ ~~~~~~~~
├─ org.mozilla.fenix.search.SearchDialogInteractor instance
│ Leaking: UNKNOWN
│ Retaining 168 B in 7 objects
│ ↓ SearchDialogInteractor.searchController
│ ~~~~~~~~~~~~~~~~
├─ org.mozilla.fenix.search.SearchDialogController instance
│ Leaking: UNKNOWN
│ Retaining 156 B in 6 objects
│ activity instance of org.mozilla.fenix.HomeActivity with mDestroyed = false
│ ↓ SearchDialogController.clearToolbar
│ ~~~~~~~~~~~~
├─ org.mozilla.fenix.search.SearchDialogFragment$onCreateView$5 instance
│ Leaking: UNKNOWN
│ Retaining 16 B in 1 objects
│ Anonymous subclass of kotlin.jvm.internal.Lambda
│ ↓ SearchDialogFragment$onCreateView$5.this$0
│ ~~~~~~
╰→ org.mozilla.fenix.search.SearchDialogFragment instance
Leaking: YES (ObjectWatcher was watching this because org.mozilla.fenix.search.SearchDialogFragment received Fragment#onDestroy() callback. Conflicts with Fragment.mLifecycleRegistry.state is INITIALIZED)
Retaining 4.2 kB in 108 objects
key = 87322446-cf3b-43e9-8fd4-355755eddbbe
watchDurationMillis = 8189
retainedDurationMillis = 3187
Comment 1•1 year ago
|
||
The severity field is not set for this bug.
:skhan, could you have a look please?
For more information, please visit BugBot documentation.
Flags: needinfo?(skhan)
| Assignee | ||
Updated•1 year ago
|
Assignee: nobody → sfamisa
Status: NEW → ASSIGNED
| Assignee | ||
Comment 2•1 year ago
|
||
Pushed by sfamisa@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/c83f88f7a452
Fix AwesomeBarView memory leaks in SearchDialogFragment r=android-reviewers,kaya
Comment 4•1 year ago
|
||
| bugherder | ||
Status: ASSIGNED → RESOLVED
Closed: 1 year ago
status-firefox139:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → 139 Branch
Updated•10 months ago
|
Keywords: memory-leak
You need to log in
before you can comment on or make changes to this bug.
Description
•