This repository has been archived by the owner on Feb 20, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
(fenix) MainDispatcherLoader.<clinit>
unexpectedly takes 266ms on COLD start up
#20824
Labels
Projects
Comments
I tried to downgrade to AGP v4.2.0 or v4.2.2, as suggested in the other bug, but I get a compilation error, similar to the other bug:
|
This regression is from 08afc2e. As far as I can tell, it's not in the release channel (v91.1.0):
But it's in v92.0.0-beta2:
I also double checked by checking out the revisions locally and verifying the version number in Next merge to release is in 24 days so we should address this by then. |
See mozilla-mobile/focus-android#5122 for the proposed fix in Focus. |
mcomella
added a commit
to mcomella/fenix
that referenced
this issue
Aug 13, 2021
…erFactory. For details on the root cause, see the commit. We replaced the similar proguard rules because: - the key line was returning false instead of true - the other line had the same outcome as the written code. I believe it was a micro-optimization. Since perf seems fine without it, let's remove it I benchmarked this change on COLD MAIN first frame. We see an improvement of 89ms: - before: 1346ms - after: 1257ms
mcomella
added a commit
to mcomella/fenix
that referenced
this issue
Aug 13, 2021
…actory. For details on the root cause, see the commit. We replaced the similar proguard rules because: - the key line was returning false instead of true - the other line had the same outcome as the written code. I believe it was a micro-optimization. Since perf seems fine without it, let's remove it I benchmarked this change on COLD MAIN first frame. We see an improvement of 89ms: - before: 1346ms - after: 1257ms
PR: #20844 |
eliserichards
pushed a commit
to mcomella/fenix
that referenced
this issue
Aug 17, 2021
…actory. For details on the root cause, see the commit. We replaced the similar proguard rules because: - the key line was returning false instead of true - the other line had the same outcome as the written code. I believe it was a micro-optimization. Since perf seems fine without it, let's remove it I benchmarked this change on COLD MAIN first frame. We see an improvement of 89ms: - before: 1346ms - after: 1257ms
Once my PR lands, I'm also going to backport to v92 beta. |
mergify bot
pushed a commit
that referenced
this issue
Aug 18, 2021
For details on the root cause, see the commit. We replaced the similar proguard rules because: - the key line was returning false instead of true - the other line had the same outcome as the written code. I believe it was a micro-optimization. Since perf seems fine without it, let's remove it I benchmarked this change on COLD MAIN first frame. We see an improvement of 89ms: - before: 1346ms - after: 1257ms
mergify bot
pushed a commit
that referenced
this issue
Aug 18, 2021
For details on the root cause, see the commit. We replaced the similar proguard rules because: - the key line was returning false instead of true - the other line had the same outcome as the written code. I believe it was a micro-optimization. Since perf seems fine without it, let's remove it I benchmarked this change on COLD MAIN first frame. We see an improvement of 89ms: - before: 1346ms - after: 1257ms (cherry picked from commit f74e63c)
Backport PR: #20908 |
jonalmeida
pushed a commit
that referenced
this issue
Aug 18, 2021
For details on the root cause, see the commit. We replaced the similar proguard rules because: - the key line was returning false instead of true - the other line had the same outcome as the written code. I believe it was a micro-optimization. Since perf seems fine without it, let's remove it I benchmarked this change on COLD MAIN first frame. We see an improvement of 89ms: - before: 1346ms - after: 1257ms (cherry picked from commit f74e63c)
PR landed & backported: closing. |
pkirakosyan
pushed a commit
to gexsi/user-agent-android
that referenced
this issue
Aug 23, 2021
…actory. For details on the root cause, see the commit. We replaced the similar proguard rules because: - the key line was returning false instead of true - the other line had the same outcome as the written code. I believe it was a micro-optimization. Since perf seems fine without it, let's remove it I benchmarked this change on COLD MAIN first frame. We see an improvement of 89ms: - before: 1346ms - after: 1257ms
pkirakosyan
added a commit
to gexsi/user-agent-android
that referenced
this issue
Sep 15, 2021
* Update Android Components version to 93.0.20210812143121. * Update the description for an inactive tabs string * Use header20 style on collections to match other home items. Add margin above collections. (mozilla-mobile#20633) * No issue: move kotlin-allopen outside appVariants loop. The kotlin-allopen plugin could be getting applied for each variant we have in the app. With the changed code, it will only get applied once. * Ship nightlies to Google Play twice a day This was moved to once per day in https://bugzilla.mozilla.org/show_bug.cgi?id=1628413 when Google Play reviews were very slow. That hasn't been a problem for awhile, and the less frequent nightlies are causing delays getting new Android Components bumps shipped out. * Filter out test target packages in Flank-x86 (mozilla-mobile#20841) * Filter out test target packages in Flank-x86 * Ignore verifyRunBlockingAndStrictModeSuppresionCount * Update Android Components version to 93.0.20210813143343. (mozilla-mobile#20839) Co-authored-by: Ryan VanderMeulen <ryanvm@gmail.com> * Close mozilla-mobile#20792: Fix intermittent test failures in QuickSettingsFragmentReducerTest * Close mozilla-mobile#20797: Fix intermittent test failures in ShortcutsSuggestionProviderTest * Close mozilla-mobile#20795: Speculative fix for intermittent test failures in HomeFragmentTest The expectation is that replacing `return` with `answers` will compute the return value for the extension function again in order to avoid the error, "no answer found for: Settings". * Close mozilla-mobile#20796: Fix intermittent test failure in TrackingProtectionExceptionsInteractorTest * Close mozilla-mobile#15168: Remove intermittent failing test in ToolbarViewTest This test seems to be hacking at the binding between Fenix and the BrowserToolbar to simulate toolbar events passing to the Fenix interactor. This is rather clumsy test that relies on the magic working of mockk instead of following a general unit testing strategy that would commonly require the class to be re-written to allow for better testing instead. It is far safer to remove this test since we are not guaranteeing anything in it and instead we see intermittent failures that make us lose more time. So therefore.. 🔥 * Update Android Components version to 93.0.20210814143348. * Update Android Components version to 93.0.20210815143147. (mozilla-mobile#20859) * Use theming in debug screen. * Remove duplicated line in TabsSettingsFragment * Android Autofill: Use AppCompat theme for UnlockActivity. * For mozilla-mobile#20764 separate learn more string * Update TabSessionState.createdAt for inactive tabs debugging * Close mozilla-mobile#20853: Fix intermittent failing test in HomeFragmentStoreTest * For mozilla-mobile#19886 - Remove the tracking protection indicator * For mozilla-mobile#19886 - Add navigation from quick settings to tracking protection panel * For mozilla-mobile#19886 - Handle toggling tracking protection in quick settings * For mozilla-mobile#19886 - Add right arrowheader to tracking protection navigators * For mozilla-mobile#19886 - Add favicon to website info view Co-authored-by: Arturo Mejia <arturomejiamarmol@gmail.com> * For mozilla-mobile#19886 - Add connection sub-menu. * For mozilla-mobile#19886 - Use the new "Details" text for navigating to ETP details * For mozilla-mobile#19886 - Remove tracking protection overlay CFR * For mozilla-mobile#19886 - Improve quick setting dialogs navigation * For mozilla-mobile#19886 - Add a back navigation to the Global Quick Settings from the Tracking Protection dialog * For mozilla-mobile#19886 fix ui tests * For mozilla-mobile#19886 integrate view binding. * Update Android Components version to 93.0.20210816143131. * Close mozilla-mobile#20796: Additional fixes for intermittent failing test Fixes for TrackingProtectionExceptionsInteractorTest to remove the lamba mocking and test actual BrowserState changes instead (where possible). * Import l10n. * For mozilla-mobile#19886 use block color on disabled permissions * Update Android Components version to 93.0.20210817143149. (mozilla-mobile#20891) * For mozilla-mobile#17917: Use View binding in Onboarding Tests * For mozilla-mobile#17917: Use View binding in Share views * For mozilla-mobile#20824: use fast service loader for MainDispatcherFactory. For details on the root cause, see the commit. We replaced the similar proguard rules because: - the key line was returning false instead of true - the other line had the same outcome as the written code. I believe it was a micro-optimization. Since perf seems fine without it, let's remove it I benchmarked this change on COLD MAIN first frame. We see an improvement of 89ms: - before: 1346ms - after: 1257ms * For mozilla-mobile#17917: Use View binding in tracking protection(2) * Issue mozilla-mobile#20864: Speculative fix for HomeFragmentTest failures * Update Android Components version * metrics.yaml: Add data review URL for Android Autofill metrics * For mozilla-mobile#20716 - Disables Intermittent failing UI test * Issue mozilla-mobile#2783: Add snackbar to collection deletion * Update Android Components version to 93.0.20210818190037. * Closes mozilla-mobile#20901: Do not record viewTime observations when we do not have a set lastAccess The bug here was that we'd try to record `now - 0` as a viewTime delta. This isn't just an obviously wrong value to record, but it will also overflow our storage - we'll end up with a value on disk that doesn't fit into an i32, but HistoryMetadata.total_view_time is i32 in our Rust struct. Once that happens, reads that touch this bad row will result in an overflow and a crash. * Restore unused string tab_collection_dialog_negative * For mozilla-mobile#20890 when TP is off globally hide TP section on quick settings. * Enable recording of history metadata for all builds This allows recording part of history metadata to ride the trains. The UI features are still guarded by the secret settings flag (or, enabled on debug builds). * Add event ping telemetry for the Baidu top site click * For mozilla-mobile#17917: Use View binding in Login Exceptions * For mozilla-mobile#17917 - Migrate `browser` from Kotlin synthetics to View Binding. * For mozilla-mobile#17917 - Migrate `home` from Kotlin synthetics to View Binding. * For mozilla-mobile#17917: Use View binding in tabs tray * For mozilla-mobile#20919 quit the after removing a study. * Update Android Components version to 93.0.20210820143116. * Speculative fixes intermittent test in DeleteAndQuitTest * Close mozilla-mobile#20945: Fix failing test in AccountSettingsInteractorTest * For mozilla-mobile#20596 remove startup timeline probes * Update Android Components version to 93.0.20210820190249. * Update Android Components version to 93.0.20210822143123. * For mozilla-mobile#20919 quite the app when turning on/off experiments * Use armeabi-v7a version code for MozillaOnline builds * For mozilla-mobile#20927: Replace icons with AC icons. * For mozilla-mobile#20892 update connection icons in quick settings * For mozilla-mobile#20586 - Basic Jetpack Compose implementation. * For mozilla-mobile#20586 - Put everything behing a secret setting Not ready for prime-time. Lot of work still to be done. * For mozilla-mobile#17917: Use View binding in add-ons * Update Android Components version to 93.0.20210823143136. * Disable run-ui in build-contributor-pr.yml (mozilla-mobile#20981) * Closes 20975: Run metadata cleanup after Megazord.init() This ensures that we do not attempt places initialization before Megazord.init() finishes, and that touching BrowserStore does not kick-off places initialization (due to the `cleanup` call being a side-effect of creating metadata middleware, used as part of the BrowserStore). Glean initialization happens before initialize megazord, and it touches core.store BrowserStore instance, kicking-off places initialization on an IO thread (due to the cleanup call), which raced megazord initialization on the main thread. App init sequence is a bit of a mine-field, so this patch takes the easy way out and doesn't attempt to re-order initialization sequence. Also, initializing places as a side-effect of touching BrowserStore was also, clearly, a bug. * For mozilla-mobile#20868, mozilla-mobile#18764: Update Tracking Protection UI tests * For mozilla-mobile#20716: re-enables mainMenuInstallPWATest UI test * For mozilla-mobile#20328 - Adds telemetry for recentlyClosed button ...from tabsTray, inactiveTabs section. * For mozilla-mobile#17917 - Finish migrating all synthetics usages * For mozilla-mobile#17917 - Remove the `kotlin-android-extensions` plugin This means no code will be generated by Kotlin Android Extensions for caching views and also for @parcelize annotated classes. As recommended in the official documentation https://developer.android.com/topic/libraries/view-binding/migration#gradle we need to switch on using `kotlinx.parcelize.Parcelize` instead of `import kotlinx.android.parcel.Parcelize` For mozilla-mobile#17917 - Remove the `kotlin-android-extensions` plugin This means no code will be generated by Kotlin Android Extensions for caching views and also for @parcelize annotated classes. As recommended in the official documentation https://developer.android.com/topic/libraries/view-binding/migration#gradle we need to switch on using `kotlinx.parcelize.Parcelize` instead of `import kotlinx.android.parcel.Parcelize` * For mozilla-mobile#17917 - Remove the Kotlin synthetics Lint detector Since all usages of Kotlin synthetics are removed and no such code is generated anymore there is no need to keep around this Detector anymore. * For mozilla-mobile#20507 - Inactive tabs telemetry Two new events are added: - "inactive_tabs_expanded" for when the inactive tabs section is expanded - "inactive_tabs_collapsed" for when the inactive tabs section is collapsed For tracking when an inactive tab is opened / closed I've repurposed the existing tabs tray telemetry (since the functionality uses the same code) - tabs_tray.opened_existing_tab - tabs_tray.closed_existing_tab to support an extra "source" key indicating the feature from which a tab was opened or closed. The current values for this new key are: - "Tabs tray" for when a tab was opened/closed from tabs tray - "Inactive tabs" for when a tab was openes/closed from the Inactive tabs section of the tabs tray. * For mozilla-mobile#19931: Add telemetry probes for recent bookmarks on home screen (mozilla-mobile#20316) * Add telemetry probes for recent bookmarks on home screen. Tests for controller. * Make the events into counters in the metrics ping Update tests to reflect new metrics Add data review link for new metrics Mock new settings for startup metrics tests Update metrics Add test for recent bookmark glean events * Recent bookmarks controller tests * For mozilla-mobile#20871 mark strings for removal * For mozilla-mobile#20919 add confirm dialog when turning on/off experiments * Update Android Components version to 93.0.20210824190140. * No issue: Fix workflow if statement in build-contributor-pr.yml (mozilla-mobile#20982) * No issue: Update Flank to v21.08.1 Flank https://github.com/Flank/flank/releases/tag/v21.08.1 has the fix for avoiding crash one of their API calls that we hit a couple times. * Update Android Components version to 93.0.20210824190140. (mozilla-mobile#21010) Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> * Update search metric expiration dates (mozilla-mobile#21016) * Dedupe history metadata in groups based on url * For mozilla-mobile#21002: added page main menu items tests * Update Android Components version to 93.0.20210826143110. * For mozilla-mobile#21035 - Refactor HistoryViewInteractor from HistoryView into HistoryInteractor * Fixed build issue. * Update Android Components version to 93.0.20210827143341. * Update Android Components version to 93.0.20210828143405. * Import l10n. * Update Android Components version to 93.0.20210828190210. * Update Android Components version to 93.0.20210829143149. * Enable Android Autofill support in all build types. * Upgrade from node 10 -> 12 to support upgraded browsertime toolchain (mozilla-mobile#21064) * For mozilla-mobile#20702: fix tests flakiness * Update Android Components version to 93.0.20210830143255. (mozilla-mobile#21081) * For mozilla-mobile#21002 update and add missing tabs setting validations * Add tint to settings icon on Tracking protection panel * Update Android Components version to 93.0.20210830220733. * For mozilla-mobile#21037 - Add a delete history menu item This removes the existing "Delete history" button in the History in favour of a menu item * Renew probes set to expire in October * Renew probes set to expire in September * Remove master password telemetry. * Remove download notification telemetry. * Remove downloads misc telemetry. * Remove downloads management telemetry * Remove about page telemetry. * Remove total uri count telemetry * Remove find in page telemetry * Remove open links in private tab telemetry * Remove enable private search suggestions telemetry * Remove tip telemetry * Remove private browsing mode telemetry * Fix data-review listed for default_browser_changed, toolbar_menu_visible, and toolbar_menu_clicked * Remove private browsing shortcut telemetry * Remove user specified search engine telemetry * Remove search suggestions in private telemetry * Remove banner open in app telemetry * Include data review for renewed metrics * For mozilla-mobile#21078 - Remove unused creditCardsFeature feature flag * For mozilla-mobile#19166: Increases tab_tray_list bottom padding ... to fit snackbar and FAB * Do not run unit tests in parallel This is to investigate the intermittent mockk class generation/loading issues. Since we can not reproduce locally and the failures are intermittent they could be caused by us running unit tests in parallel. * Update Android Components version (mozilla-mobile#21109) * Update Android Components version to 93.0.20210901143120. * For mozilla-mobile#21043 - Integrate AC changes * Fix breaking API changes of RestoreAction Co-authored-by: Mugurell <Mugurell@users.noreply.github.com> Co-authored-by: Christian Sadilek <christian.sadilek@gmail.com> * For mozilla-mobile#18727: Exit PiP when launched externally with Intents * Force rebuild of Docker image. * Print Java version in test tasks. * Import l10n. * Rollback Flank to v21.08.1 (mozilla-mobile#21123) * Update Android Components version to 93.0.20210901190054. * Add missing androidx.lifecycle dependencies * Remove mocked lambdas from AccountSettingsInteractorTest * For 20892 Update connection icons in address bar * Import l10n. * Update Android Components version to 93.0.20210903143410. * Import l10n. * Update Android Components version to 93.0.20210903190252. * Import l10n. * Update Android Components version to 93.0.20210905143045. * Import l10n. * Update Android Components version to 93.0.20210906143419. * Import l10n. * Update Android Components version to 93.0.20210907143236. * Closes mozilla-mobile#21128: remove measure_start_up.py. This script was moved to the perf-tools repository for easy to access from other perf tools & to be accessible for multiple apps: https://github.com/mozilla-mobile/perf-tools * Issue mozilla-mobile#18711: Telemetry for credit card autofill * Update Android Components version to 94.0.20210907172517. * For mozilla-mobile#21138: re-enable excessive resource use test. This test wasn't running in CI mozilla-mobile#20386 so we changed the CI configuration so that it will. However, the test was then failing so this is the revision that unignores the test. I wonder if componentInit count is useful - it seems like it'd cause more false positives than not - but I figure we can leave it in and see how it goes. * For mozilla-mobile#21138: change EXPECTED_RUNBLOCKING to range. Compared with my local runs, CI sees +1 runBlockingIncrement calls so seems to take other code paths. As such, we search for a range of rather than a single value. The main downside I can think of is this could make the test trickier to debug but we can wait and see if that's a problem in practice before taking action on it. * Set version to 94.0.0 * Dont clip bounds on recently saved bookmarks * For mozilla-mobile#20881 print if the build is a MozillaOnline * Issue mozilla-mobile#21184: Update artifacts format * Update Android Components version to 94.0.20210908143400. * Issue mozilla-mobile#21140 - Updated recent tab logic to show media tab and second-to-last tab, if the media tab was the last active tab. (mozilla-mobile#21141) * Issue mozilla-mobile#21140 - Updated recent tab logic to show media tab and second-to-last tab, if the media tab was the last active tab. * Fixed RecentTabsListFeatureTest unit test Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> * For mozilla-mobile#20892 update connection panel strings * For mozilla-mobile#21183: remove component init check from excessive resource test. This check doesn't seem high value because initializing a component only indicates a performance problem if it's slow, which is not most components, so it's likely to result in many false positives. To fix the intermittent, we won't lose much if we remove it. * For mozilla-mobile#21183: remove lazyMonitored wrapper functionality. We're not using the functionality so there's no sense in doing the work. However, we keep the wrapper: see the code comments for details. * For mozilla-mobile#21183: remove view hierarchy depth check from excessive resource test. This doesn't seem to be a high value test: increasing the view hierarchy depth will only result in a performance problem on low end devices if there is enough content on the new layer to cause the traversal to take longer. It's more likely to result in a hard-to-workaround false positive so we can remove it, like component init count. * For mozilla-mobile#19947: manually add login (mozilla-mobile#21199) * [WIP] New Layout for adding login and 'add login' button in 'SavedLoginsListView' to launch it. Fixed bindings. * [WIP] Removed "reveal password" button * [WIP] Added interactor for the add login screen * [WIP] Trying to check for duplicates * [WIP] Renaming "addNew..." with "add..." * [WIP] Check for duplicates * [WIP] Fixes after merge * Cleaning up the layout and making edit text for hostname selectable * Error handling on add login screen. Tests for interactors and controllers Co-authored-by: Vitaly V. Pinchuk <vetal.978@gmail.com> Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> * For mozilla-mobile#21095 allow users to configure their home screen. * Update Android Components version to 94.0.20210909143340. (mozilla-mobile#21214) Co-authored-by: Ryan VanderMeulen <rvandermeulen@mozilla.com> * Fix TaskCluster badge in README * For mozilla-mobile#6968: Use close instead of read to close the response stream. * Issue mozilla-mobile#20637 - Fixed bug causing the tabs tray to scroll to the wrong tab when opened * Handle breaking changes from a-s 83.0.0 (mozilla-mobile#21215) * Update Android Components version to 94.0.20210910083224. * For mozilla-mobile#21133 fix openMainMenuSyncItemTest UI test * Update Android Components version to 94.0.20210910143108. * Import l10n. * Update Android Components version to 94.0.20210910190342. * Update Android Components version to 94.0.20210912143220. * For mozilla-mobile#21211 hide the ETP in custom tabs. * For mozilla-mobile#21226 only show the "Customize Home" menu on home screen. * Update Android Components version to 94.0.20210913143315. * For mozilla-mobile#18629: add support for SmartBlock exceptions * Improve coverage for addPrivateBrowsingShortcut Ui test * For mozilla-mobile#20634: remove some unused color resources Co-authored-by: MickeyMoz <sebastian@mozilla.com> Co-authored-by: Jonathan Almeida <jalmeida@mozilla.com> Co-authored-by: Elise Richards <erichards@mozilla.com> Co-authored-by: Michael Comella <michael.l.comella@gmail.com> Co-authored-by: Ben Hearsum <bhearsum@mozilla.com> Co-authored-by: Aaron Train <aaron.train@gmail.com> Co-authored-by: Mickey Moz <33347735+MickeyMoz@users.noreply.github.com> Co-authored-by: Ryan VanderMeulen <ryanvm@gmail.com> Co-authored-by: Sebastian Kaspari <s.kaspari@gmail.com> Co-authored-by: Arturo Mejia <arturomejiamarmol@gmail.com> Co-authored-by: Gabriel Luong <gabriel.luong@gmail.com> Co-authored-by: Mozilla L10n Automation Bot <release+l10n-automation-bot@mozilla.com> Co-authored-by: codrut.topliceanu <codrut.topliceanu@softvision.ro> Co-authored-by: Roger Yang <royang@mozilla.com> Co-authored-by: Grisha Kruglov <gkruglov@mozilla.com> Co-authored-by: rxu <rxu@mozilla.com> Co-authored-by: Mugurell <Mugurell@users.noreply.github.com> Co-authored-by: Rohan Maity <rmrohan03@gmail.com> Co-authored-by: mcarare <mihai.carare.dev@gmail.com> Co-authored-by: Oana Horvath <oana.horvath@softvision.ro> Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> Co-authored-by: Christian Sadilek <christian.sadilek@gmail.com> Co-authored-by: Joel Maher <jmaher@mozilla.com> Co-authored-by: AndiAJ <andiaj@users.noreply.github.com> Co-authored-by: czlucius <58442255+czlucius@users.noreply.github.com> Co-authored-by: Alex Ionescu <aionescu@mozilla.com> Co-authored-by: Noah Bond <87384386+MozillaNoah@users.noreply.github.com> Co-authored-by: Vitaly V. Pinchuk <vetal.978@gmail.com> Co-authored-by: Ryan VanderMeulen <rvandermeulen@mozilla.com> Co-authored-by: Noah Bond <nbond@mozilla.com> Co-authored-by: bendk <bdk@mozilla.com> Co-authored-by: Rohan Maity <rohan.maity@keeptruckin.com>
pkirakosyan
pushed a commit
to gexsi/user-agent-android
that referenced
this issue
Sep 15, 2021
…actory. For details on the root cause, see the commit. We replaced the similar proguard rules because: - the key line was returning false instead of true - the other line had the same outcome as the written code. I believe it was a micro-optimization. Since perf seems fine without it, let's remove it I benchmarked this change on COLD MAIN first frame. We see an improvement of 89ms: - before: 1346ms - after: 1257ms
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
See mozilla-mobile/focus-android#5102 for details and analysis.
┆Issue is synchronized with this Jira Task
The text was updated successfully, but these errors were encountered: