Status Update
Comments
hu...@google.com <hu...@google.com>
bo...@google.com <bo...@google.com>
ya...@google.com <ya...@google.com> #2
Branch: androidx-master-dev
commit a071470cde57cf7eb6e39a67d331d716a0f8b842
Author: Ian Lake <ilake@google.com>
Date: Wed Jan 15 14:01:37 2020
Add SpecialEffectsController infrastructure
"Special Effects" is the blanket term for
Animation, Animator, framework Transition, and
AndroidX Transition that Fragments currently support.
Add the infrastructure around a SpecialEffectsController
which would operate on the container (i.e., ViewGroup)
level and coordinate all of the special effects.
This will eventually allow us to track the
postponed state at the container level.
Currently all APIs are purposefully package private
as they should not be used by external developers
at this time.
BUG: 147749580
Test: new test suites pass
Change-Id: I1e209bb4f55c21aa01afb49035d41f5b8d7d3eca
A fragment/fragment/src/androidTest/java/androidx/fragment/app/DefaultSpecialEffectsControllerTest.kt
A fragment/fragment/src/androidTest/java/androidx/fragment/app/SpecialEffectsControllerTest.kt
A fragment/fragment/src/main/java/androidx/fragment/app/DefaultSpecialEffectsController.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentManager.java
A fragment/fragment/src/main/java/androidx/fragment/app/SpecialEffectsController.java
A fragment/fragment/src/main/java/androidx/fragment/app/SpecialEffectsControllerFactory.java
M fragment/fragment/src/main/res/values/ids.xml
M jetifier/jetifier/migration.config
jb...@gtempaccount.com <jb...@gtempaccount.com> #3
Branch: androidx-master-dev
commit d990bffa6728272e139e1b5d58e764e9197b1adc
Author: Ian Lake <ilake@google.com>
Date: Thu Jan 16 14:05:14 2020
Find the appropriate SpecialEffectsControllerFactory
Instead of requiring each call to
getOrCreateController() require passing in the
factory, use findFragmentManager() to find the
containing FragmentManager and get the factory from
it.
Test: new test passes
BUG: 147749580
Change-Id: I44f747ba84feb2911a8d0811e40d1b46644429a5
M fragment/fragment/src/androidTest/java/androidx/fragment/app/DefaultSpecialEffectsControllerTest.kt
M fragment/fragment/src/main/java/androidx/fragment/app/SpecialEffectsController.java
ya...@google.com <ya...@google.com> #4
Branch: androidx-master-dev
commit 62e13263d9ee368a255cfb7db73eba061ca85f9c
Author: Ian Lake <ilake@google.com>
Date: Fri Jan 17 13:09:12 2020
Allow cancellation of special effects operations
Pipe through a CancellationSignal to Operation
so that a SpecialEffectsController can handle
cancellation.
Test: new test passes
BUG: 147749580
Change-Id: Iff9525a3d3e079a3b0b6818e43e6efdb16207a7a
M fragment/fragment/src/androidTest/java/androidx/fragment/app/SpecialEffectsControllerTest.kt
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentStateManager.java
M fragment/fragment/src/main/java/androidx/fragment/app/SpecialEffectsController.java
jb...@gtempaccount.com <jb...@gtempaccount.com> #5
Branch: androidx-master-dev
commit 9ea0884726565254629ff5c99ec919f56e0af1d9
Author: Ian Lake <ilake@google.com>
Date: Fri Jan 17 11:09:14 2020
Allow enqueuing special effects operations
Build the initial infrastructure for enqueuing
ADD and REMOVE operations to a SpecialEffectsController.
This currently doesn't change any runtime behavior
since DefaultSpecialEffectsController doesn't actually
do anything and FragmentStateManager isn't used to
move Fragments beyond CREATED with moveToExpectedState()
in production code.
Cancellation will be handled in a follow up CL.
Test: new SpecialEffectsControllerTest tests pass
BUG: 147749580
Change-Id: I6a3009de80419fd878f2f838bf8e234c20b933ae
M fragment/fragment/src/androidTest/java/androidx/fragment/app/SpecialEffectsControllerTest.kt
M fragment/fragment/src/main/java/androidx/fragment/app/DefaultSpecialEffectsController.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentManager.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentStateManager.java
M fragment/fragment/src/main/java/androidx/fragment/app/SpecialEffectsController.java
ya...@google.com <ya...@google.com> #6
Branch: androidx-master-dev
commit d67221893efc073415220d4d3635f159e728b905
Author: Ian Lake <ilake@google.com>
Date: Tue Jan 21 16:49:50 2020
Add isAwaitingCompletion() API
Build the infrastructure for allowing the
FragmentStateManager to check whether a
SpecialEffectsController is still awaiting
completion of queued up / executing
operations.
Test: updated tests to call new API
BUG: 147749580
Change-Id: I6ebd563c505dc2e7b65ced4932316986c478a8cf
M fragment/fragment/src/androidTest/java/androidx/fragment/app/SpecialEffectsControllerTest.kt
M fragment/fragment/src/main/java/androidx/fragment/app/SpecialEffectsController.java
ya...@google.com <ya...@google.com> #7
Branch: androidx-master-dev
commit 974d9e0f0f1ca4108fa653302c239f9025dcd0d9
Author: Ian Lake <ilake@google.com>
Date: Fri Feb 07 15:46:17 2020
Add animations to DefaultSpecialEffectsController
Build the base for running Animations / Animators
in DefaultSpecialEffectsController, correctly only
calling complete() when they finish.
Test: visual inspection, comparing the code to the existing code
BUG: 147749580
Change-Id: Ib0eaeb34bfac7ca5e32b3feea9a2730388dcfd60
M fragment/fragment/src/main/java/androidx/fragment/app/DefaultSpecialEffectsController.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentAnim.java
jb...@gtempaccount.com <jb...@gtempaccount.com> #8
Branch: androidx-master-dev
commit d08aad2c5c5da3127969d4243e93ea8f0e8eccd3
Author: Ian Lake <ilake@google.com>
Date: Tue Feb 11 15:36:30 2020
Add initial infrastructure for transitions
Allow DefaultSpecialEffectsController to
start framework or AndroidX transitions.
This just pipes the Fragment APIs through to
beginDelayedTransition(). It does not currently
handle shared element transitions.
Test: visual inspection, comparing the code to the existing code
BUG: 147749580
Change-Id: Ieb9b9de9bafd59d4a6b9036df389cff263cd737e
M fragment/fragment/src/main/java/androidx/fragment/app/DefaultSpecialEffectsController.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentTransition.java
ya...@google.com <ya...@google.com> #9
Branch: androidx-master-dev
commit 9c458049e7543914de98760102017b10dd04068e
Author: Ian Lake <ilake@google.com>
Date: Tue Feb 18 12:57:03 2020
Add cancelAllOperations() to SpecialEffectsController
Provide an API for cancelling all operations
(both pending and being executed) for a
SpecialEffectsController.
Test: new tests pass
BUG: 147749580
Change-Id: Id90f270869470bd44d73163a84343cf2cda3cd47
M fragment/fragment/src/androidTest/java/androidx/fragment/app/SpecialEffectsControllerTest.kt
M fragment/fragment/src/main/java/androidx/fragment/app/SpecialEffectsController.java
jb...@gtempaccount.com <jb...@gtempaccount.com> #10
Branch: androidx-master-dev
commit 4d3bac24c5a77c5ab5624795afa709b3f265bf74
Author: Ian Lake <ilake@google.com>
Date: Tue Feb 25 15:47:06 2020
Add infrastructure to fully switch to FragmentStateManager
Add the initial logic to fully replace all usages of
moveToState() with FragmentStateManager and its
moveToExpectedState().
Enabling this flag currently causes many tests to fail
(due to work not being completed on
this infrastructure will allow us to confirm our fixes
are actually applied while iterating through those
outstanding issues.
Test: tests all pass with USE_STATE_MANAGER = false
BUG: 139536619
Change-Id: I84340091ce1b0bcc3e26051e25a12d7b38b860c4
M fragment/fragment/src/main/java/androidx/fragment/app/BackStackRecord.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentManager.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentStore.java
ya...@google.com <ya...@google.com> #11
Branch: androidx-master-dev
commit 56a9dc625ea8a9f35569549b4c2f24c1fbc7ff48
Author: Ian Lake <ilake@google.com>
Date: Mon Mar 02 15:32:16 2020
Add infrastructure for awaiting enter/exit effects
Add new states for awaiting enter effects
(which block going to RESUMED) and awaiting
exit effects (which block going to CREATED).
Changed isAwaitingCompletion() to
getAwaitingCompletionType() to know what
type of Operation is uncompleted.
Test: existing tests pass
BUG: 147749580
Change-Id: Ifc28f62dfaadbcd222e3f2d8cf4a21e7eacf6091
M fragment/fragment/src/androidTest/java/androidx/fragment/app/SpecialEffectsControllerTest.kt
M fragment/fragment/src/main/java/androidx/fragment/app/Fragment.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentStateManager.java
M fragment/fragment/src/main/java/androidx/fragment/app/SpecialEffectsController.java
ni...@gmail.com <ni...@gmail.com> #12
Branch: androidx-master-dev
commit 5a7e88f9d605f0a735d922e73463d1c603683e22
Author: Ian Lake <ilake@google.com>
Date: Thu Mar 05 16:02:57 2020
Don't call postpone when using FragmentStateManager
Avoid calling through to postponePostponableTransactions
at all when USE_STATE_MANAGER is true as it will
be responsible for taking care of postponement in
the future.
Tightened up the state management in FragmentStateManager
to avoid crashes in the test suite due to bad
transitions between states.
Test: all tests pass with USE_STATE_MANAGER=false
Test: test suite doesn't crash with USE_STATE_MANAGER=true
BUG: 147749580
Change-Id: I6ff2c3fbe325c82ea5e33dd5c0cb07c908bbd613
M fragment/fragment/src/main/java/androidx/fragment/app/Fragment.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentManager.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentStateManager.java
sa...@exalt.ps <sa...@exalt.ps> #13
Branch: androidx-master-dev
commit 20090a3bd0d8392a165f56b3a9da4efd1a86875c
Author: Ian Lake <ilake@google.com>
Date: Mon Mar 09 15:04:48 2020
Start transitions before starting animations
Ensure that transitions start before animations
so that they properly capture the current state.
Test: existing tests pass
BUG: 147749580
Change-Id: Icc5bfae9b60554225307dadb278d7c2700527dfd
M fragment/fragment/src/main/java/androidx/fragment/app/DefaultSpecialEffectsController.java
ya...@google.com <ya...@google.com> #14
Branch: androidx-master-dev
commit ea897029344b96b61a86de8a0607d307c281ab3d
Author: Ian Lake <ilake@google.com>
Date: Mon Mar 09 16:44:41 2020
Correctly add/remove view using SpecialEffectsController
Ensure that DefaultSpecialEffectsController
correctly applies shows the View or removes
the View based on the appropriate
operation type.
Test: existing tests pass
Test: more tests pass when using USE_STATE_MANAGER
BUG: 147749580
Change-Id: I5dc190adc85a357a74862e25567769575dd135ef
M fragment/fragment/src/main/java/androidx/fragment/app/DefaultSpecialEffectsController.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentStateManager.java
rv...@gmail.com <rv...@gmail.com> #15
le...@gmail.com <le...@gmail.com> #16
Re #15 - having a sample project that reproduces your issue would be very helpful in confirming that it no longer occurs in the new infrastructure.
ya...@google.com <ya...@google.com> #17
RE #16 - I can try to set up a new repo that reproduces that, although it may be a week or so until I have enough time to build it out.
[Deleted User] <[Deleted User]> #18
Re #17 - that'd be fine. I might suggest making a separate issue (which we can mark as blocked by this issue) when you do create the repo project just so that we can track it to completion if it turns out to be a bigger / separate issue. Just reference your original comment here in your description.
su...@innomatic.ca <su...@innomatic.ca> #19
Re #18 - sounds good and will do. Thank you.
da...@gmail.com <da...@gmail.com> #20
Branch: androidx-master-dev
commit 385938be24095f3b32c9687c9d2468c60bdb84fb
Author: Ian Lake <ilake@google.com>
Date: Wed Apr 08 15:34:33 2020
Don't start special effects when destroyed
When the FragmentManager is destroyed, we
shouldn't kick off any new special effects.
Test: failing tests use USE_STATE_MANAGER now pass
BUG: 147749580
Change-Id: Ib0ce087b81adaf87bd5e76d92a90785f6aa673a7
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentStateManager.java
iv...@gmail.com <iv...@gmail.com> #21
Branch: androidx-master-dev
commit 0650e2e4b6e7e428970acd4fa31fe7fb44cd1b8e
Author: Ian Lake <ilake@google.com>
Date: Wed Apr 08 16:08:12 2020
Call saveViewState() in moveToExpectedState()
Ensure that saveViewState() is called before
the View's special effects start.
Test: less tests fail with USE_STATE_MANAGER
BUG: 147749580
Change-Id: I9a2b683396e1fb2efc032a4eda689e63fcf9e038
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentStateManager.java
cc...@logitech.com <cc...@logitech.com> #22
Branch: androidx-master-dev
commit d5d98e981e20b76b09a3da4635ad3c5bfd5fdedb
Author: Ian Lake <ilake@google.com>
Date: Fri Apr 10 13:47:39 2020
Make FragmentManager state changes execute special effects
Each change to the FragmentManager's state should
result in any pending special effects operations
being executed.
This avoids fragments getting stuck in
AWAITING_ENTER_EFFECTS after a configuration change.
Test: inflatedFragmentNotInLayout now passes with USE_STATE_MANAGER
BUG: 147749580
Change-Id: I3c82373dd5fa0a4447e41a0566b5c45c959150f8
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentManager.java
ya...@google.com <ya...@google.com> #23
Branch: androidx-master-dev
commit 0c3d420cc4bbb8c3c8b28ec2570a3a1d4a47e042
Author: Ian Lake <ilake@google.com>
Date: Wed Apr 15 09:52:10 2020
Move findFragmentUnder() into FragmentStateManager
Instead of moving the Fragment after the fact to
the right index in its container after the fact,
place the fragment at the right index when it is
added in the first place.
This fixes fragment ordering tests when using
USE_STATE_MANAGER.
Test: existing view ordering tests still pass
BUG: 147749580
Change-Id: I3c70ba71e8caf38f543b1601b564c1bf28d76dec
M fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentTest.kt
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentManager.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentStateManager.java
ca...@google.com <ca...@google.com> #24
Branch: androidx-master-dev
commit 0f294af6a0a98a55f1e6797695ccae31c62f26a6
Author: Ian Lake <ilake@google.com>
Date: Thu Apr 16 15:52:01 2020
Use under and over fragments for relative positioning
The index that a newly added fragment's view should
be added to its container should be relative to
*all* other fragments in that container. This means
it should be above any fragments that are before it
in mAdded order and below any fragments that are
after it in mAdded order.
If no other fragment exists in the container, the
fragment's view should be added at the end of the
container (i.e., an index of -1) so that the fragment
is after any non-fragment views in the same container.
Test: updated FragmentStoreTest tests
BUG: 147749580
BUG: 154241885
Change-Id: I51f5e4c5d30d2ead62c27b2d44c68d704f31713e
M fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentStoreTest.kt
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentStateManager.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentStore.java
ya...@google.com <ya...@google.com> #25
Branch: androidx-master-dev
commit f6bc21adad203544e66b8e23b7a181598172e7cb
Author: Ian Lake <ilake@google.com>
Date: Fri Apr 17 15:52:18 2020
Fix Animation listeners with USE_STATE_MANAGER
Since an Animation can only have a single
listener, we need to wrap enter animations
in an AnimationSet to ensure that we allow any
animation listener set on the Animation passed to
DefaultSpecialEffectsController still fires.
Test: FragmentAnimationTest#animationListenersAreCalled() passes
BUG: 147749580
Change-Id: Ibca0bd00b7408bf9a06b4831a782384437f0630d
M fragment/fragment/src/main/java/androidx/fragment/app/DefaultSpecialEffectsController.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentAnim.java
ya...@google.com <ya...@google.com> #26
Branch: androidx-master-dev
commit 263faa13f7a6f4a4a33bb404225ab776895a6350
Author: Ian Lake <ilake@google.com>
Date: Wed Apr 29 15:25:01 2020
Determine direction based on FragmentTransactions
Rather than have DefaultSpecialEffectsController
try to determine whether the set of Operations
should be considered a pop or not, pass that information
through from FragmentManager which determines
direction by looking at the the FragmentTransactions
themselves.
By using only the direction of the last
FragmentTransaction, we can ensure that all operations
being executed are going in the same direction - this is
important when using non symmetric animations (such as
sliding to the left vs right).
Test: no regressions when running tests with USE_STATE_MANAGER
BUG: 147749580
Change-Id: I458ad8e2e7f728881b76fb2bcb25c4bdecf276d4
M fragment/fragment/src/androidTest/java/androidx/fragment/app/SpecialEffectsControllerTest.kt
M fragment/fragment/src/main/java/androidx/fragment/app/DefaultSpecialEffectsController.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentManager.java
M fragment/fragment/src/main/java/androidx/fragment/app/SpecialEffectsController.java
aw...@google.com <aw...@google.com> #27
Branch: androidx-master-dev
commit 44240d845252dea7a7b4a2b2a1cddea3d93860e4
Author: Ian Lake <ilake@google.com>
Date: Thu May 07 14:10:50 2020
Explicitly target transitioning Views
Ensure that each Transition explicitly targets
the Views within the associated Fragment.
Test: many more tests pass with USE_STATE_MANAGER
BUG: 147749580
Change-Id: Ie3a4fee66d5490abc6234afe79f84b337a66b2b7
M fragment/fragment/src/main/java/androidx/fragment/app/DefaultSpecialEffectsController.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentTransition.java
ca...@google.com <ca...@google.com> #28
Branch: androidx-master-dev
commit 38d6b0aea86ce6884740849b841a3604a99ad6fe
Author: Ian Lake <ilake@google.com>
Date: Tue May 12 14:59:47 2020
Early return from startTransitions
When there is no Transition implementation
that can handle all transitions, we should
early return rather than have a giant else
statement.
Test: ./gradlew bOS
BUG: 147749580
Change-Id: I92aa1a5b020c81847e2cad831494b2a206294866
M fragment/fragment/src/main/java/androidx/fragment/app/DefaultSpecialEffectsController.java
wb...@gmail.com <wb...@gmail.com> #29
Branch: androidx-master-dev
commit 96f880a054ca70663071677b85b37b6eeba48ea8
Author: Ian Lake <ilake@google.com>
Date: Tue May 19 12:28:41 2020
Add initial support for shared element transitions
Allow DefaultSpecialEffectsController to determine
what shared element transition to run and build the
initial logic to determine what views should be
excluded from the regular transition and instead
added to the shared element transition.
Test: no regressions when USE_STATE_MANAGER = true
BUG: 147749580
Change-Id: I728194fc964b850ed9cf9f2b798dc2acdb763429
M fragment/fragment/src/main/java/androidx/fragment/app/BackStackRecord.java
M fragment/fragment/src/main/java/androidx/fragment/app/DefaultSpecialEffectsController.java
M fragment/fragment/src/main/java/androidx/fragment/app/Fragment.java
ya...@google.com <ya...@google.com> #30
Branch: androidx-master-dev
commit 28878f23fab386fdd299338c1a1cdda87927f199
Author: Ian Lake <ilake@google.com>
Date: Wed May 20 15:41:31 2020
Compute epicenter of transitions
Use the first shared element from
the firstOut fragment and the lastIn
fragment to drive the epicenters of
the exiting+shared element and entering
transitions, respectively.
Test: more tests pass epicenter tests
BUG: 147749580
Change-Id: I2697c3af1aa3dd8551a84ef1414bde02dbcd22fb
M fragment/fragment/src/main/java/androidx/fragment/app/DefaultSpecialEffectsController.java
wb...@gmail.com <wb...@gmail.com> #31
Branch: androidx-master-dev
commit e98420c2f846b7dc3e72efd0444a806a648d187c
Author: Ian Lake <ilake@google.com>
Date: Tue May 19 15:26:36 2020
Compute shared element views eagerly
Set up the complete set of target views
for the shared element transition before
iterating through the set of TransitionInfo
objects.
Test: no regressions when USE_STATE_MANAGER = true
BUG: 147749580
Change-Id: Iaf7cbdd80c66b7299fb41cf6a98b9a3b3823fd8a
M fragment/fragment/src/main/java/androidx/fragment/app/DefaultSpecialEffectsController.java
wb...@gmail.com <wb...@gmail.com> #32
Branch: androidx-master-dev
commit 992af3f5dd3661929c4dc62ddbf6028799196748
Author: Ian Lake <ilake@google.com>
Date: Thu May 28 17:12:47 2020
Track entering and exiting Views separately in tests
Rather than using a single varargs list for all
Views involved in transitions, track the set of
entering and exiting Views separately to allow for
easier debugging of test failures.
This switches the verifyAndClearTransition() test API
to using a receiver scope lambda to fill in a data
class on the information to pass through to the test.
This helps only pass the exact set of information
that is needed in a readable format rather than rely on
default parameters of a method.
Test: all existing tests still pass
BUG: 147749580
Change-Id: I072882a75a7393ac0dc4ea6797a6b6a91e50b94f
M fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentTestUtil.kt
M fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentTransitionAnimTest.kt
M fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentTransitionTest.kt
M fragment/fragment/src/androidTest/java/androidx/fragment/app/PostponedTransitionTest.kt
M fragment/fragment/src/androidTest/java/androidx/fragment/app/TrackingTransition.kt
M fragment/fragment/src/androidTest/java/androidx/fragment/app/TrackingVisibility.java
M testutils/testutils-runtime/src/main/java/androidx/fragment/app/TargetTracking.kt
M transition/transition/src/androidTest/java/androidx/transition/FragmentTestUtil.kt
M transition/transition/src/androidTest/java/androidx/transition/FragmentTransitionTest.kt
M transition/transition/src/androidTest/java/androidx/transition/TrackingTransition.kt
M transition/transition/src/androidTest/java/androidx/transition/TrackingVisibility.java
le...@gmail.com <le...@gmail.com> #33
Branch: androidx-master-dev
commit 5b1bdc8ce900dfb6a42caf870d58619ba603e70b
Author: Ian Lake <ilake@google.com>
Date: Fri May 29 15:16:41 2020
Convert getBoundsOnScreen(View) into Kotlin property
Add a Kotlin property extension for computing
the bounds on the screen.
Test: existing tests pass
BUG: 147749580
Change-Id: Ib78ec68cca3ffa30abbe7a046fabfbcadb5d1d61
M fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentTestUtil.kt
M fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentTransitionTest.kt
M transition/transition/src/androidTest/java/androidx/transition/FragmentTestUtil.kt
M transition/transition/src/androidTest/java/androidx/transition/FragmentTransitionTest.kt
aw...@google.com <aw...@google.com> #34
Branch: androidx-master-dev
commit 79fc88305070516c1329253c2b37c604f0ec44cb
Author: Ian Lake <ilake@google.com>
Date: Fri May 29 15:29:50 2020
Always verifyAndClear each transition in tests
Rather than only checking the number of
exiting and entering targets for each transition in
the PostponedTransitionTest tests, always use
verifyAndClearTransition to confirm the epicenters and
exact view instances are correct.
As the epicenter is almost always wrong if the
set of entering/exiting views is wrong, this
also changed the verify ordering so that the more
useful information is checked first.
Test: existing tests still pass
BUG: 147749580
Change-Id: I176b59ea0e6ba32300ffe3cc5d16e678ae1a4dee
M fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentTestUtil.kt
M fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentTransitionTest.kt
M fragment/fragment/src/androidTest/java/androidx/fragment/app/PostponedTransitionTest.kt
M testutils/testutils-runtime/src/main/java/androidx/fragment/app/TargetTracking.kt
M transition/transition/src/androidTest/java/androidx/transition/FragmentTestUtil.kt
M transition/transition/src/androidTest/java/androidx/transition/FragmentTransitionTest.kt
aw...@google.com <aw...@google.com> #35
Branch: androidx-master-dev
commit 77e5239eeef9445216860b03ea42c5c4ed82decd
Author: Ian Lake <ilake@google.com>
Date: Mon Jun 01 17:04:39 2020
Fix shared element name calculation
Simplify (and fix!) the logic in getting
the shared element names from the fragment
by ensuring that the source/target names
get mapped to the correct entering/exiting
fragment.
Test: FragmentTransitionTest#intermediateFragment gets farther
BUG: 147749580
Change-Id: I6096460a004831557db91032f782f30a527b8c7c
M fragment/fragment/src/main/java/androidx/fragment/app/DefaultSpecialEffectsController.java
le...@gmail.com <le...@gmail.com> #36
Branch: androidx-master-dev
commit 60a364248030a43715027ba6d5fb4af57968ce17
Author: Ian Lake <ilake@google.com>
Date: Thu Jun 04 15:57:10 2020
Improve assertions to verify elements, not size
Switch more assertions from using size and isEqualTo(0)
or isEmpty() and isTrue() to using the appropriate
assertions to check the exact elements or size.
Test: existing tests still pass
BUG: 147749580
Change-Id: Ie194694f60420e2c98b140c59b5d548acdf097c3
M fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentTestUtil.kt
M fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentTransitionTest.kt
M fragment/fragment/src/androidTest/java/androidx/fragment/app/PostponedTransitionTest.kt
M transition/transition/src/androidTest/java/androidx/transition/FragmentTestUtil.kt
oe...@gmail.com <oe...@gmail.com> #37
Branch: androidx-master-dev
commit 20ed2488bd0831701a916627d892374ca3667999
Author: Ian Lake <ilake@google.com>
Date: Thu Jun 04 15:40:39 2020
Ensure all transitions target a View
If the set of transitioningViews (the set not
handled by the shared element transition) is
empty, the enter/exit transition needs to
target the nonExistentView as otherwise it'll
fall back to the default of targeting all Views.
Test: tests proceed farther
BUG: 147749580
Change-Id: If2a2048e4a1caa5c4f7202d46c529668def6607e
M fragment/fragment/src/main/java/androidx/fragment/app/DefaultSpecialEffectsController.java
jo...@spork.tech <jo...@spork.tech> #38
Branch: androidx-master-dev
commit 0c0c837d1f72590e639a69e756da5134bfc6fa8c
Author: Ian Lake <ilake@google.com>
Date: Thu Jun 04 14:58:10 2020
Always find the lastIn Fragment
Due to how ordered transactions occur, we should
always look for the lastIn Fragment, even if it
occurs before the firstOut Fragment.
This has a side effect of sometimes there being
a lastIn Fragment but no firstOut Fragment
(such as is the case for the first add()), so
we ensure that we only compute the shared
element transition when there's both a
firstOut and lastIn Fragment.
Test: tests get slightly farther
BUG: 147749580
Change-Id: I5dc060b2b4ba6c200b772fd7a6dcfd251e8bdb25
M fragment/fragment/src/main/java/androidx/fragment/app/DefaultSpecialEffectsController.java
ro...@veeva.com <ro...@veeva.com> #39
Branch: androidx-master-dev
commit 7b7bba5cf0dc9dc14ed9d87117a7a96edcfaf222
Author: Ian Lake <ilake@google.com>
Date: Thu Jun 04 16:43:26 2020
Generate and use a mapping of shared element names
The whole point of shared element transitions is to
match up views from the firstOut Fragment with the
lastIn Fragment. In order to support missing Views and
a 1:1 matching of Views, we need to build a mapping
from the firstOut Views to the lastIn Views.
This mapping allows us to exclude Views that don't
exist in both Fragments as well as exclude shared
element transitions entirely that have no Views that
are shared (i.e., an empty mapping).
By applying this mapping, we can correctly swap
from the set of outgoing firstOut shared element Views
to the incoming lastIn shared element Views at the
appropriate times relative to beginDelayedTransition().
Test: considerably more shared element tests pass
BUG: 147749580
Change-Id: Id9159c510fd9af51954abc6d5564f9729089a736
M fragment/fragment/src/main/java/androidx/fragment/app/DefaultSpecialEffectsController.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentTransition.java
aw...@google.com <aw...@google.com> #40
Branch: androidx-master-dev
commit b22db2d9e5fc751936d921f9dd763679a66841ef
Author: Ian Lake <ilake@google.com>
Date: Thu Jun 04 16:18:04 2020
Find all shared element Views first
We should find the possible shared element
Views from both the firstOut and lastIn
Fragment first before capturing any Views.
Corrects the inline comments to better clarify
what is actually going on.
Test: existing tests pass
BUG: 147749580
Change-Id: I724996d1f51a4fb60c2930c6c641d8861f2a1f60
M fragment/fragment/src/main/java/androidx/fragment/app/DefaultSpecialEffectsController.java
ja...@gmail.com <ja...@gmail.com> #41
Branch: androidx-master-dev
commit 75e39d8d47387dcf0da3e9ba7ebb71a91cb78f5f
Author: Ian Lake <ilake@google.com>
Date: Wed Jun 10 11:20:14 2020
Add initial implementation of show/hide effects
Integrate show() and hide() operations into
SpecialEffectsController.
Test: more tests pass with USE_STATE_MANAGER
BUG: 147749580
Change-Id: I1fced4f4881f4caac6ea7024a506b1a54365d097
M fragment/fragment/src/main/java/androidx/fragment/app/DefaultSpecialEffectsController.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentStateManager.java
M fragment/fragment/src/main/java/androidx/fragment/app/SpecialEffectsController.java
ro...@veeva.com <ro...@veeva.com> #42
Branch: androidx-master-dev
commit 3ac68157a36925715dd3f181a3296f7b926de61a
Author: Ian Lake <ilake@google.com>
Date: Mon Jun 15 16:02:06 2020
Postpone effects at a container level
Rather than the global postponement that
involves rolling back transactions, integrate
postponement into SpecialEffectsController to
simply delay any effects from starting until the
container is no longer postponed (i.e., the last
ADD or SHOW operation is on a Fragment that is not
postponed).
Test: many more postponed tests pass
BUG: 147749580
Change-Id: I3d4983d2d637641730c0386de8d51c3317a99f84
M fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentAnimationTest.kt
M fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentAnimatorTest.kt
M fragment/fragment/src/androidTest/java/androidx/fragment/app/PostponedTransitionTest.kt
M fragment/fragment/src/androidTest/java/androidx/fragment/app/SpecialEffectsControllerTest.kt
M fragment/fragment/src/main/java/androidx/fragment/app/Fragment.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentManager.java
M fragment/fragment/src/main/java/androidx/fragment/app/SpecialEffectsController.java
aw...@google.com <aw...@google.com> #43
Branch: androidx-master-dev
commit 36389e987facf2e97e1ad2e56b671330f85a9674
Author: Ian Lake <ilake@google.com>
Date: Mon Jul 13 17:00:44 2020
Use onMapSharedElements in DefaultSpecialEffectsController
Integrate in the Fragment's SharedElementCallback
and its onMapSharedElements() into
DefaultSpecialEffectsController so that Fragments can
override the mapping of shared elements.
Test: onMapSharedElementIn()/Out() tests now pass
BUG: 147749580
Change-Id: Idc799d14c210ea6335edd13023f9419a1c930caf
M fragment/fragment/src/main/java/androidx/fragment/app/DefaultSpecialEffectsController.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentTransition.java
ro...@veeva.com <ro...@veeva.com> #44
Branch: androidx-master-dev
commit 1ce8b9353dcd682eca759d73f14b1549ea22750b
Author: Ian Lake <ilake@google.com>
Date: Tue Jul 14 11:42:19 2020
Call onSharedElementStart/End() in DefaultSpecialEffectsController
Ensure that onSharedElementStart() and
onSharedElementEnd() are called on the appropriate
SharedElementCallback at the appropriate
times in DefaultSpecialEffectsController.
Test: callStartEndWithSharedElements() test now passes
BUG: 147749580
Change-Id: Icf9a83daac38ade390925ac68da7dcbea3c9eef0
M fragment/fragment/src/main/java/androidx/fragment/app/DefaultSpecialEffectsController.java
hs...@google.com <hs...@google.com> #45
Branch: androidx-master-dev
commit a719fba6b63d6081e7b69de1a70e2d1e81bf52bf
Author: Ian Lake <ilake@google.com>
Date: Fri Jul 17 15:06:39 2020
Add experimental API for enabling FragmentStateManager
Provide an experimental API for controlling whether
the FragmentStateManager and new special effects system
should be enabled.
Currently this new system defaults to off, but will
be changed to true by default once all internal tests
pass. This API will then exist only to verify that
a regression is due to the new code path.
Test: tested in a sample app
BUG: 147749580
BUG: 139536619
Relnote: "Added a new *experimental* API for controlling
whether FragmentManager uses the new internal state
manager for controlling dispatching lifecycle methods,
animations and transitions, and handling postponed
transactions."
Change-Id: I7b6ee13ea89f3989beafe7c474455e8a04e929a3
M fragment/fragment/api/public_plus_experimental_1.3.0-alpha07.txt
M fragment/fragment/api/public_plus_experimental_current.txt
M fragment/fragment/build.gradle
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentManager.java
A fragment/fragment/src/main/java/androidx/fragment/app/FragmentStateManagerControl.java
pc...@gmail.com <pc...@gmail.com> #46
Branch: androidx-master-dev
commit d471ae700ee80a9893c09fddff1f20a85dc80b91
Author: Ian Lake <ilake@google.com>
Date: Thu Jul 23 10:26:39 2020
Merge multiple operations on the same fragment
When a SpecialEffectsController already has a
pending Operation for a given Fragment, it now
intelligently merges the new Operation into the
previous one rather than creating an entirely new
Operation.
This ensures that at any time, there's at most one
pending Operation for a fragment that captures two
important pieces of information:
- What the final state of the Fragment should be
after the Operation. This can one of the normal view
visibilities (VISIBLE, GONE, or INVISIBLE) or REMOVED
for the cases where the view should be removed entirely
from the container
- What impact that Operation has on the lifecycle
of the fragment which is used by FragmentStateManager's
computeExpectedState()
By moving to this model rather than explicit types,
we ensure that pairs of actions (such as a postponed
add + remove due to popping the back stack) do not result
in any special effects.
Test: many postponed tests that pop postponed ops now pass
BUG: 147749580
Change-Id: I7a0bdef0e0ba25d0eeca4b3c12222b6ccab776ba
M fragment/fragment/src/androidTest/java/androidx/fragment/app/SpecialEffectsControllerTest.kt
M fragment/fragment/src/main/java/androidx/fragment/app/DefaultSpecialEffectsController.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentStateManager.java
M fragment/fragment/src/main/java/androidx/fragment/app/SpecialEffectsController.java
t9...@gmail.com <t9...@gmail.com> #47
Branch: androidx-master-dev
commit 781397ddce37be950d570d236ce833b06c41c720
Author: Ian Lake <ilake@google.com>
Date: Thu Jul 23 14:07:21 2020
Handle Fragments that manually set themselves to INVISIBLE
Fragments technically have the ability to manually
change their view's visibility up through
onViewCreated(). We should respect what visibility they
set for themselves and pass that as the final state
to SpecialEffectsController.
Test: tests using invisible fragments now pass
BUG: 147749580
Change-Id: I11ea84a89076fd72535c1855e72bdbef6855d173
M fragment/fragment/src/main/java/androidx/fragment/app/Fragment.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentStateManager.java
M fragment/fragment/src/main/java/androidx/fragment/app/SpecialEffectsController.java
le...@gmail.com <le...@gmail.com> #48
Branch: androidx-master-dev
commit df1b6509720cbda8149b14fe62667d5def1275d8
Author: Ian Lake <ilake@google.com>
Date: Thu Jul 23 16:00:35 2020
Properly clean up transition targets
Ensure that any targets set on a Transition
are cleaned up after the Transition runs
so that no state is left over in cases where
the Transition is reused.
Test: many Postponed tests now pass
BUG: 147749580
Change-Id: Id251f2bd4e0e43dd7b649457564d15cd7d792856
M fragment/fragment/src/main/java/androidx/fragment/app/DefaultSpecialEffectsController.java
hs...@google.com <hs...@google.com> #49
Branch: androidx-master-dev
commit d0e8440dcc8ddb53e8e1e4f0a87a3a671a248492
Author: Ian Lake <ilake@google.com>
Date: Fri Jul 24 09:33:38 2020
Only call executeOperations with a non-empty list
Test: noExecuteIfEmpty() test passes
BUG: 147749580
Change-Id: Ic6b3a63d52a66f4f7883f8275a7ab07ae77894c8
M fragment/fragment/src/androidTest/java/androidx/fragment/app/SpecialEffectsControllerTest.kt
M fragment/fragment/src/main/java/androidx/fragment/app/SpecialEffectsController.java
hs...@google.com <hs...@google.com> #50
Branch: androidx-master-dev
commit 9cf490f8efd92b208d0a2228b098b9397039d67e
Author: Ian Lake <ilake@google.com>
Date: Fri Jul 24 11:19:17 2020
Force complete special effects on state changes
Whenever the FragmentManager's state changes, it
is important that both the FragmentManager's internal
state, and the state of its Fragments and their views
be in a consistent state.
Test: saveWhilePostponed() and removeParentWithAnimation()
tests now pass
BUG: 147749580
Change-Id: Ia8bce51b7ef7b38a117660bf3935bd865a1985c7
M fragment/fragment/src/androidTest/java/androidx/fragment/app/SpecialEffectsControllerTest.kt
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentManager.java
M fragment/fragment/src/main/java/androidx/fragment/app/SpecialEffectsController.java
ed...@gmail.com <ed...@gmail.com> #51
Branch: androidx-master-dev
commit 78f6c0185f148a8e8a9119c5de7fd6e97006240d
Author: Ian Lake <ilake@google.com>
Date: Fri Jul 24 13:23:55 2020
Fix replacePostponedFragment() test with state manager
Update the replacePostponedFragment() test for
USE_STATE_MANAGER - as postponed transactions aren't
rolled back when using the new state manager, the
expected set of change events is different between
the two cases.
Test: test now passes
BUG: 147749580
Change-Id: I50e1961608ad35fed82c90c10d4618a5bf0d255f
M fragment/fragment/src/androidTest/java/androidx/fragment/app/PrimaryNavFragmentTest.kt
ya...@google.com <ya...@google.com> #52
Branch: androidx-master-dev
commit 19f45aadaef63f7aa14ef66adf554b8a9ed7cb09
Author: Ian Lake <ilake@google.com>
Date: Fri Jul 24 14:02:34 2020
Wait for initial animations before continuing tests
When using FragmentStateManager, animations can
be cancelled or combined even when not reordering.
By waiting for the intial animation to complete, we
ensure that the replace animation later runs in
isolation.
We check the nullability of child views immediately
after kicking off the parent transaction since
Animation's waitforEnd() is based on sleep calls
which do not accurately catch the end before the
onDestroyView() happens synchronously with the
Animation ending.
Test: tests pass now
BUG: 147749580
Change-Id: Ib1572a82e70e62932482cae0ea9fc1e9ca704791
M fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentAnimationTest.kt
bo...@google.com <bo...@google.com> #53
Branch: androidx-master-dev
commit 1c8e89effc36ed211218a034f16faa0dfcb55a54
Author: Ian Lake <ilake@google.com>
Date: Fri Jul 24 16:10:08 2020
Fix PostponedTransitionTests for state manager
Fix tests that postpone multiple fragments
at a time to test the correct states when
USE_STATE_MANAGER is true. In those cases,
postpone works at a container level and not
at a transaction level.
Test: tests now pass
BUG: 147749580
Change-Id: I44f11e07e3fa5c818fb259779247aee2e1b8bb06
M fragment/fragment/src/androidTest/java/androidx/fragment/app/PostponedTransitionTest.kt
hs...@google.com <hs...@google.com> #54
Branch: androidx-master-dev
commit d1b80f0d53675b8bdb8c617e63856b390b34a7f1
Author: Ian Lake <ilake@google.com>
Date: Mon Jul 27 15:32:34 2020
Fix postponeDoesNotAllowReentrancy() with state manager
Postponed transactions are synchronously
commited in the USE_STATE_MANAGER world, so
there is no ability to be reentrant like was
possible in the previous world.
This updates the test to apply the correct logic.
Test: postponeDoesNotAllowReentrancy() passes
BUG: 147749580
Change-Id: I27a27fd747f3a71897b02fc405f25216d4f74b90
M fragment/fragment/src/androidTest/java/androidx/fragment/app/PostponedTransitionTest.kt
ya...@google.com <ya...@google.com>
hs...@google.com <hs...@google.com> #55
Branch: androidx-master-dev
commit aa4cf01985212d1e1476921dbec77d35405772d2
Author: Ian Lake <ilake@google.com>
Date: Mon Jul 27 17:36:30 2020
Fix shared element names when popping
When popping fragments with mismatching
shared element transition names, we should
always use the source names as the exiting
names and target names as the entering
names instead of trying to swap them
based on whether it is a pop or not.
Test: crossContainer() test now passes
BUG: 147749580
Change-Id: Ibcf14e45003e07b56a570cad277e7bb04c681908
M fragment/fragment/src/main/java/androidx/fragment/app/DefaultSpecialEffectsController.java
bo...@google.com <bo...@google.com> #56
Branch: androidx-master-dev
commit 175fad0f0f6dbfae4f5a8c2c0a12882fe4c2e37e
Author: Jeremy Woods <jbwoods@google.com>
Date: Tue Jul 28 16:14:19 2020
Ensure fragment views are re-added to the container
When using the new move to state (USE_STATE_MANAGER=true), if a fragment
has started animating out its view is removed from the container. If
the fragment is re-added to the fragment manager before the animation
has a chance to finish, the exit animation is cancelled and the
fragment reuses the same view. This view should be added back to the
container or there can be animation issues.
Test: FragmentContainerViewTest pass in new world (8 tests failing)
Bug: 147749580
Change-Id: Ie267edc514c53260fd9219f8fa99171f831149d2
M fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentContainerViewTest.kt
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentStateManager.java
hs...@google.com <hs...@google.com> #57
Branch: androidx-master-dev
commit f90440e0cfca0f3cbbddca65c4136f5577099e53
Author: Ian Lake <ilake@google.com>
Date: Tue Jul 28 16:56:43 2020
Fix tests failing when using reordered transactions
When USE_STATE_MANAGER is true, tests that made
assumptions about what can/can't be handled when
performing reordered transactions need to be updated
as the new system is more capable.
Test: affected tests now pass
BUG: 147749580
Change-Id: I5d78104271b814c05da7355303fe4d74e1423f7a
M fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentTransitionTest.kt
hs...@google.com <hs...@google.com> #58
Branch: androidx-master-dev
commit 25619f84f11efcb88069499c20b2051984635935
Author: Ian Lake <ilake@google.com>
Date: Thu Jul 30 15:56:26 2020
Fix removeThenAddBeforeTransitionFinishes()
Ensure that the removeThenAddBeforeTransitionFinishes()
test passes when using ordered transactions and
USE_STATE_MANAGER. In this configuration, the
transition gets correctly cancelled before completion.
Test: test now passes
BUG: 147749580
Change-Id: Ie3297754f792110884a5d44bf89ce8781ee20bce
M fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentTransitionTest.kt
hs...@google.com <hs...@google.com> #59
Branch: androidx-master-dev
commit 552a2f34ba97004d8b0a8bb24a9185c6d7908d04
Author: Ian Lake <ilake@google.com>
Date: Fri Jul 31 15:30:40 2020
Fix transitions with hide()
Ensure that transitions associated with
hide() work as expected.
Test: showHideTransition() test now passes
BUG: 147749580
Change-Id: I46662fcad3b3d95f3ab329db7232540d09ce0770
M fragment/fragment/src/main/java/androidx/fragment/app/DefaultSpecialEffectsController.java
bo...@google.com <bo...@google.com> #60
Branch: androidx-master-dev
commit 68785f1076beba95f2df10c822d87e3d13e641f2
Author: Ian Lake <ilake@google.com>
Date: Fri Jul 31 18:01:22 2020
Re-map shared element transitions for multiple transactions
When multiple transactions are done as part of
one executeOperations(), we may need to re-map
the shared element names rather than only using
the names from one of the transactions.
Test: intermediateFragment() test now passes
BUG: 147749580
Change-Id: I1785cf4665fb29f1b33fe5ad9b9277d885339d85
M fragment/fragment/src/main/java/androidx/fragment/app/DefaultSpecialEffectsController.java
rk...@google.com <rk...@google.com> #61
Branch: androidx-master-dev
commit 1052c3662c40176f7f02da9e06b989dcab21d500
Author: Ian Lake <ilake@google.com>
Date: Fri Jul 31 16:55:38 2020
Restore the focused view after special effects complete
By making views invisible until their special
effects run, any view that was focused from
requestFocus() or the <requestFocus/> tag was
cleared. By saving that view and calling
requestFocus() on it manually after the Operation
completes, we can ensure that the focus is not
lost.
Test: focusedView() test now passes
BUG: 147749580
Change-Id: I0436efb07c1015708430b196321465d20f7aa6f2
M fragment/fragment/src/main/java/androidx/fragment/app/DefaultSpecialEffectsController.java
M fragment/fragment/src/main/java/androidx/fragment/app/Fragment.java
M fragment/fragment/src/main/java/androidx/fragment/app/FragmentStateManager.java
bo...@google.com <bo...@google.com> #62
Branch: androidx-master-dev
commit 281235d26e08b136a32cb5051f89df4786975135
Author: Ian Lake <ilake@google.com>
Date: Sun Aug 02 15:23:18 2020
Ensure that cancelled operations have no lifecycle impact
When using forceCompleteAllOperations(), operations
are cancelled prior to calling complete(). The complete()
call that calls through to FragmentStateManager's
moveToExpectedState() synchronously calls through to
getAwaitingCompletionLifecycleImpact() to determine the
final state of the fragment. Since the operation is
already cancelled, it should not be considered in
terms of lifecycle impact.
This fixes an issue where changes in the FragmentManager's
state (specifically the destruction of the view due to
a parent fragment going on the back stack) would not be
properly reflected in the fragment's state, effectively
never moving below AWAITING_EXIT_EFFECTS.
Test: updated SpecialEffectsControllerTest tests pass
BUG: 147749580
Change-Id: I5a13e8674f9537aaef8c773b49749feb89492eb3
M fragment/fragment/src/androidTest/java/androidx/fragment/app/SpecialEffectsControllerTest.kt
M fragment/fragment/src/main/java/androidx/fragment/app/SpecialEffectsController.java
hs...@google.com <hs...@google.com> #63
All the work has completed with this effective complete rewrite of the internals of FragmentManager and how it handles animations and transitions. The new state manager is enabled by default for the Fragment 1.3.0-alpha08 release.
You can verify this by following the 6732061
and switching your fragment dependency to 1.3.0-SNAPSHOT
.
We'll be verifying the fix of each blocked issue and closing them one by one after verification.
hs...@google.com <hs...@google.com> #64
The allocation and KVM_SET_USER_MEMORY_REGION succeeded. But later, when accessing this memory from guest, qemu crashed as KVM cannot map the memory to the guest.
rk...@google.com <rk...@google.com> #65
The address space has reserved 32G (or 16G) of guest physical address space, which is plenty.
Yes, it allocates some significant amount of address space (not backed by anything) to hot-plug host memory there on demand.
hs...@google.com <hs...@google.com> #66
hs...@google.com <hs...@google.com> #67
Perhaps Yahan/Andrew needs to find a way not using this type of memory as the host/guest sharing memory.
rk...@google.com <rk...@google.com> #68
16777216 is 16 M bytes, and guest must have over-allocated somewhere
goldfish_address_space "over-allocates" on the host on purpose to split that into smaller actual allocations from the guest later.
ya...@google.com <ya...@google.com> #69
Does it work with the flag -feature -GLDirectMem,-VirtioGpuNext
(as we discussed offline)? It should disable some of the Vulkan shared memory.
bo...@google.com <bo...@google.com> #70
do you think there is synchronization issue here ?
when the memory is allocated on the host with call to KVM_SET_USER_MEMORY_REGION, does it mean
it is actually committed so that guest can only access afterwards ?
hs...@google.com <hs...@google.com> #71
Bo, if the memory is RAM, once the memory is allocated, in the case of KVM, they are NOT committed. It is committed when it is first accessed, just like the concept we know for virtual memory. The difference is that virtual memory brings in the physical page using page fault. The guest uses EPT violation (Intel term) or nested page fault (AMD term, and this "nested" is not nested virtualization but nested page tables). But the way they get a physical page should be the same (call get_user_pages supplying the QEMU virtual address).
With this Vulkan case, the memory is mapped to user space as MMIO. I highly suspect it is technically still regular RAM. But these RAM perhaps is dedicated to the GPU and managed like "device memory". In this MMIO case, I can see they are already committed in the QEMU's address space but not in the EPT/NPT. So EPT/NPT entry is setup when the memory is first accessed. And in this bug, KVM simply refused to setup EPT/NPT when the memory is first accessed.
hs...@google.com <hs...@google.com> #72
bo...@google.com <bo...@google.com> #73
"these RAM perhaps is dedicated to the GPU and managed like "device memory".", does that mean we some-how stepped over
the already reserved address space of GPU ? maybe we should check first when we call KVM_SET_USER_MEMORY_REGION
so it is un-reserved ?
hs...@google.com <hs...@google.com> #74
I think it is likely still RAM because I checked the physical memory address mapped and committed to the QEMU process via /dev/dri/renderD128, the address was in the RAM range in the E820 table (the one the kernel will print out at the beginning of kernel boot process). But that VMA is marked as VM_IO, which is more seen as "device memory" mapped as MMIO.
How does the GPU driver do this is unknown to me.
And I agree with you. Checking when making KVM_SET_USER_MEMORY_REGION call is more likely to give clearer error message. But I doubt whether the KVM would like to do this. Checking page by page is time consuming. And the only point you definitely need a check is when it is right about to be accessed. Before that and after KVM_SET_USER_MEMORY_REGION, things can change.
ro...@veeva.com <ro...@veeva.com> #77
Maybe we can wait?
Even if the issue will be fixed in a new version of the kernel, it will take years until it lands on Ubuntu LTS and other non rolling releases. A workaround downstream would be appreciated.
hs...@google.com <hs...@google.com> #78
BTW, I am just talking about all possibilities. The bug assignee will decide what to do in the end.
hs...@google.com <hs...@google.com> #79
bo...@google.com <bo...@google.com> #80
WARNING | Failed to load snapshot 'default_boot'
INFO | Activated packet streamer for bluetooth emulation
INFO | Boot completed in 21175 ms
INFO | Increasing screen off timeout, logcat buffer size to 2M.
I0920 10:33:08.667071 62608 VkDecoderGlobalState.cpp:444] Creating Vulkan instance for app: vkjson_info
I0920 10:33:08.667136 62608 VkDecoderGlobalState.cpp:447] Creating Vulkan instance for engine:
I0920 10:52:05.764396 72179 VkDecoderGlobalState.cpp:444] Creating Vulkan instance for app: vkjson_info
I0920 10:52:05.764482 72179 VkDecoderGlobalState.cpp:447] Creating Vulkan instance for engine:
I0920 10:54:22.277197 73517 VkDecoderGlobalState.cpp:444] Creating Vulkan instance for app: vkjson_info
I0920 10:54:22.277270 73517 VkDecoderGlobalState.cpp:447] Creating Vulkan instance for engine:
error: kvm run failed Bad address
error: kvm run failed Bad address
RAX=00007cb145a00598 RBX=00000000705057b0 RCX=000000000046d626 RDX=0000000000000008
RSI=0000000000000520 RDI=0000000000000020 RBP=00007cb145a00528 RSP=00007cb0de2a7d10
R8 =0000000000000008 R9 =0000000000000004 R10=00000000705d6400 R11=0000000000000000
R12=0000000000004e80 R13=00000000705057b0 R14=0000000000000000 R15=00000000ffffffff
RIP=00007cb146ce96df RFL=00010293 [--S-A-C] CPL=3 II=0 A20=1 SMM=0 HLT=0
ES =0000 0000000000000000 ffffffff 00c00000
CS =0033 0000000000000000 ffffffff 00a0fb00 DPL=3 CS64 [-RA]
SS =002b 0000000000000000 ffffffff 00c0f300 DPL=3 DS [-WA]
DS =0000 0000000000000000 ffffffff 00c00000
FS =0000 00007cb0de2a9000 ffffffff 00c00000
bo...@google.com <bo...@google.com> #81
aw...@google.com <aw...@google.com> #82
Workaround is up for review.
bo...@google.com <bo...@google.com> #83
INFO | Started GRPC server at
INFO | Advertising in: /run/user/249512/avd/running/pid_96595.ini
I0920 12:38:53.790703 96674 FrameBuffer.cpp:3682] setDisplayConfigs w 2208 h 1840 dpiX 420 dpiY 420
I0920 12:38:53.790743 96674 FrameBuffer.cpp:3695] setDisplayActiveConfig 0
INFO | Loading snapshot 'default_boot'...
WARNING | Device 'cache' does not have the requested snapshot 'default_boot'
WARNING | Failed to load snapshot 'default_boot'
INFO | Activated packet streamer for bluetooth emulation
INFO | Boot completed in 21646 ms
INFO | Increasing screen off timeout, logcat buffer size to 2M.
I0920 12:40:47.070483 97791 VkDecoderGlobalState.cpp:444] Creating Vulkan instance for app: vkjson_info
I0920 12:40:47.070518 97791 VkDecoderGlobalState.cpp:447] Creating Vulkan instance for engine:
error: kvm run failed Bad address
RAX=00000000164f29e0 RBX=0000000070f85dd4 RCX=0000000000000000 RDX=0000000070f85dd4
RSI=00007ffff520e830 RDI=000072aabc115530 RBP=0000000000000007 RSP=00007ffff520e6f0
R8 =0000000000000024 R9 =0000000000059621 R10=000000007085e400 R11=0000000016c022c8
R12=0000000000000007 R13=00000000163a6250 R14=00007ffff520e830 R15=000072aaec10bd00
RIP=000072aa76e270a8 RFL=00010206 [-----P-] CPL=3 II=0 A20=1 SMM=0 HLT=0
ES =0000 0000000000000000 ffffffff 00c00000
CS =0033 0000000000000000 ffffffff 00a0fb00 DPL=3 CS64 [-RA]
SS =002b 0000000000000000 ffffffff 00c0f300 DPL=3 DS [-WA]
DS =0000 0000000000000000 ffffffff 00c00000
FS =0000 000072ad38765000 ffffffff 00c00000
GS =0000 000072ac1c11f6f0 ffffffff 00c00000
LDT=0000 0000000000000000 ffffffff 00c00000
TR =0040 fffffe000003e000 00004087 00008b00 DPL=0 TSS64-busy
GDT= fffffe000003c000 0000007f
IDT= fffffe0000000000 00000fff
CR0=80050033 CR2=00000000130f9000 CR3=00000000a6da1000 CR4=000406a0
DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000
DR6=00000000fffe0ff0 DR7=0000000000000400
EFER=0000000000000d01
em...@gmail.com <em...@gmail.com> #84
bo...@google.com <bo...@google.com> #85
some hosts (e.g., AMD) appears to avoid the bad address problem with GLDirectMem feature disabled
bo...@google.com <bo...@google.com> #86
hs...@google.com <hs...@google.com> #87
It is better to let KVM return the faulting address before QEMU can dump more information. However, this need KVM modification and can only be done with a non-corp linux setup.
ro...@veeva.com <ro...@veeva.com> #88
I just want to confirm that using both Vulkan = off
and GLDirectMen = on
is the only way to not crash when opening Chrome.
$ emulator -avd Nexus_5_API_29_Play -verbose
INFO | Android emulator version 33.1.19.0 (build_id 10804368) (CL:N/A)
DEBUG | Current emulator version 33.1.19 is the same as the required version 33.1.19.
INFO | Found systemPath /home/rleinardi/android-sdk/system-images/android-29/google_apis_playstore/x86/
INFO | Storing crashdata in: , detection is enabled for process: 14617
INFO | Duplicate loglines will be removed, if you wish to see each individual line launch with the -log-nofilter flag.
DEBUG | autoconfig: -skin nexus_5
DEBUG | autoconfig: -skindir /home/rleinardi/android-sdk/skins/
DEBUG | autoconfig: -kernel /home/rleinardi/android-sdk/system-images/android-29/google_apis_playstore/x86//kernel-ranchu-64
DEBUG | Target arch = 'x86'
DEBUG | Auto-config: -qemu -cpu qemu32
DEBUG | Auto-detect: Kernel image requires new device naming scheme.
DEBUG | Auto-detect: Kernel does not support YAFFS2 partitions.
DEBUG | autoconfig: -ramdisk /home/rleinardi/android-sdk/system-images/android-29/google_apis_playstore/x86//ramdisk.img
DEBUG | Using initial system image: /home/rleinardi/android-sdk/system-images/android-29/google_apis_playstore/x86//system.img
DEBUG | Using initial vendor image: /home/rleinardi/android-sdk/system-images/android-29/google_apis_playstore/x86//vendor.img
DEBUG | autoconfig: -data /home/rleinardi/.android/avd/../avd/Nexus_5_API_29_Play.avd/userdata-qemu.img
DEBUG | autoconfig: -initdata /home/rleinardi/.android/avd/../avd/Nexus_5_API_29_Play.avd/userdata.img
DEBUG | autoconfig: -cache /home/rleinardi/.android/avd/../avd/Nexus_5_API_29_Play.avd/cache.img
DEBUG | autoconfig: -sdcard /home/rleinardi/.android/avd/../avd/Nexus_5_API_29_Play.avd/sdcard.img
INFO | Increasing RAM size to 2048MB
DEBUG | VM heap size 128MB is below hardware specified minimum of 512MB,setting it to that value
DEBUG | System image is read only
DEBUG | Found 1 DNS servers:
DEBUG | 127.0.0.53
DEBUG | trying to load skin file '/home/rleinardi/android-sdk/skins//nexus_5/layout'
DEBUG | CPU Acceleration: working
DEBUG | CPU Acceleration status: KVM (version 12) is installed and usable.
DEBUG | handleCpuAcceleration: feature check for hvf
DEBUG | registered 'boot-properties' qemud service
DEBUG | Adding boot property: 'qemu.cmdline' = 'androidboot.logcat=*:V androidboot.consolepipe=qemu_pipe,pipe:logcat'
DEBUG | Adding boot property: 'qemu.logcat' = 'start'
WARNING | FeatureControl is requesting a non existing feature.
library_mode host gpu mode host
DEBUG | GPU emulation enabled using 'host' mode
DEBUG | Initializing hardware OpenGLES emulation support
I0929 10:00:16.103935 14617 HealthMonitor.cpp:279] HealthMonitor disabled.
DEBUG | create display 0
DEBUG | setDisplayPose 0 x 0 y 0 w 1080 h 1920 dpi 0
I0929 10:00:16.190096 14617 FrameBuffer.cpp:486] Graphics Adapter Vendor Google (Intel)
I0929 10:00:16.190113 14617 FrameBuffer.cpp:487] Graphics Adapter Android Emulator OpenGL ES Translator (Mesa Intel(R) Graphics (RPL-P))
I0929 10:00:16.190115 14617 FrameBuffer.cpp:488] Graphics API Version OpenGL ES 3.0 (4.6 (Core Profile) Mesa 23.1.8 - kisak-mesa PPA)
I0929 10:00:16.190117 14617 FrameBuffer.cpp:489] Graphics API Extensions GL_OES_EGL_sync GL_OES_EGL_image GL_OES_EGL_image_external GL_OES_depth24 GL_OES_depth32 GL_OES_element_index_uint GL_OES_texture_float GL_OES_texture_float_linear GL_OES_compressed_paletted_texture GL_OES_compressed_ETC1_RGB8_texture GL_OES_depth_texture GL_OES_texture_half_float GL_OES_texture_half_float_linear GL_OES_packed_depth_stencil GL_OES_vertex_half_float GL_OES_texture_npot GL_OES_rgb8_rgba8 GL_EXT_color_buffer_float GL_EXT_color_buffer_half_float GL_EXT_shader_framebuffer_fetch GL_EXT_texture_format_BGRA8888 GL_APPLE_texture_format_BGRA8888
I0929 10:00:16.190120 14617 FrameBuffer.cpp:490] Graphics Device Extensions N/A
INFO | Setting vsync to 60 hz
DEBUG | Found 1 DNS servers:
DEBUG | 127.0.0.53
INFO | Content of hardware configuration file:
INFO | hw.cpu.arch = x86
INFO | hw.cpu.model = qemu32
INFO | hw.cpu.ncore = 4
INFO | hw.ramSize = 2048
INFO | hw.screen = multi-touch
INFO | hw.mainKeys = false
INFO | hw.trackBall = false
INFO | hw.keyboard = true
INFO | hw.keyboard.lid = false
INFO | hw.keyboard.charmap = qwerty2
INFO | hw.dPad = false
INFO | hw.rotaryInput = false
INFO | hw.gsmModem = true
INFO | hw.gps = true
INFO | hw.battery = true
INFO | hw.accelerometer = true
INFO | hw.accelerometer_uncalibrated = true
INFO | hw.gyroscope = true
INFO | hw.audioInput = true
INFO | hw.audioOutput = true
INFO | hw.sdCard = true
INFO | hw.sdCard.path = /home/rleinardi/.android/avd/../avd/Nexus_5_API_29_Play.avd/sdcard.img
INFO | disk.cachePartition = true
INFO | disk.cachePartition.path = /home/rleinardi/.android/avd/../avd/Nexus_5_API_29_Play.avd/cache.img
INFO | disk.cachePartition.size = 66m
INFO | test.quitAfterBootTimeOut = -1
INFO | test.delayAdbTillBootComplete = 0
INFO | test.monitorAdb = 0
INFO | hw.lcd.width = 1080
INFO | hw.lcd.height = 1920
INFO | hw.lcd.depth = 16
INFO | hw.lcd.circular = false
INFO | hw.lcd.density = 480
INFO | hw.lcd.backlight = true
INFO | hw.lcd.vsync = 60
INFO | hw.gltransport = pipe
INFO | hw.gltransport.asg.writeBufferSize = 1048576
INFO | hw.gltransport.asg.writeStepSize = 4096
INFO | hw.gltransport.asg.dataRingSize = 32768
INFO | hw.gltransport.drawFlushInterval = 800
INFO | hw.displayRegion.0.1.xOffset = -1
INFO | hw.displayRegion.0.1.yOffset = -1
INFO | hw.displayRegion.0.1.width = 0
INFO | hw.displayRegion.0.1.height = 0
INFO | hw.displayRegion.0.2.xOffset = -1
INFO | hw.displayRegion.0.2.yOffset = -1
INFO | hw.displayRegion.0.2.width = 0
INFO | hw.displayRegion.0.2.height = 0
INFO | hw.displayRegion.0.3.xOffset = -1
INFO | hw.displayRegion.0.3.yOffset = -1
INFO | hw.displayRegion.0.3.width = 0
INFO | hw.displayRegion.0.3.height = 0
INFO | hw.display1.width = 0
INFO | hw.display1.height = 0
INFO | hw.display1.density = 0
INFO | hw.display1.xOffset = -1
INFO | hw.display1.yOffset = -1
INFO | hw.display1.flag = 0
INFO | hw.display2.width = 0
INFO | hw.display2.height = 0
INFO | hw.display2.density = 0
INFO | hw.display2.xOffset = -1
INFO | hw.display2.yOffset = -1
INFO | hw.display2.flag = 0
INFO | hw.display3.width = 0
INFO | hw.display3.height = 0
INFO | hw.display3.density = 0
INFO | hw.display3.xOffset = -1
INFO | hw.display3.yOffset = -1
INFO | hw.display3.flag = 0
INFO | hw.multi_display_window = false
INFO | hw.hotplug_multi_display = false
INFO | hw.gpu.enabled = true
INFO | hw.gpu.mode = host
INFO | hw.initialOrientation = Portrait
INFO | hw.camera.back = virtualscene
INFO | hw.camera.front = emulated
INFO | vm.heapSize = 512
INFO | hw.sensors.light = true
INFO | hw.sensors.pressure = true
INFO | hw.sensors.humidity = true
INFO | hw.sensors.proximity = true
INFO | hw.sensors.magnetic_field = true
INFO | hw.sensors.magnetic_field_uncalibrated = true
INFO | hw.sensors.gyroscope_uncalibrated = true
INFO | hw.sensors.orientation = true
INFO | hw.sensors.temperature = true
INFO | hw.sensors.rgbclight = false
INFO | hw.sensor.hinge = false
INFO | hw.sensor.hinge.count = 0
INFO | hw.sensor.hinge.type = 0
INFO | hw.sensor.hinge.sub_type = 0
INFO | hw.sensor.hinge.fold_to_displayRegion.0.1_at_posture = 1
INFO | hw.sensor.roll = false
INFO | hw.sensor.roll.count = 0
INFO | hw.sensor.roll.resize_to_displayRegion.0.1_at_posture = 6
INFO | hw.sensor.roll.resize_to_displayRegion.0.2_at_posture = 6
INFO | hw.sensor.roll.resize_to_displayRegion.0.3_at_posture = 6
INFO | hw.sensors.heart_rate = false
INFO | hw.sensors.wrist_tilt = false
INFO | hw.useext4 = true
INFO | hw.arc = false
INFO | hw.arc.autologin = false
INFO | hw.device.name = Nexus 5
INFO | kernel.path = /home/rleinardi/android-sdk/system-images/android-29/google_apis_playstore/x86//kernel-ranchu-64
INFO | kernel.newDeviceNaming = yes
INFO | kernel.supportsYaffs2 = no
INFO | disk.ramdisk.path = /home/rleinardi/android-sdk/system-images/android-29/google_apis_playstore/x86//ramdisk.img
INFO | disk.systemPartition.initPath = /home/rleinardi/android-sdk/system-images/android-29/google_apis_playstore/x86//system.img
INFO | disk.systemPartition.size = 2284m
INFO | disk.vendorPartition.initPath = /home/rleinardi/android-sdk/system-images/android-29/google_apis_playstore/x86//vendor.img
INFO | disk.vendorPartition.size = 800m
INFO | disk.dataPartition.path = /home/rleinardi/.android/avd/../avd/Nexus_5_API_29_Play.avd/userdata-qemu.img
INFO | disk.dataPartition.size = 6g
INFO | disk.encryptionKeyPartition.path = /home/rleinardi/.android/avd/../avd/Nexus_5_API_29_Play.avd/encryptionkey.img
INFO | PlayStore.enabled = true
INFO | avd.name = Nexus_5_API_29_Play
INFO | avd.id = Nexus_5_API_29_Play
INFO | fastboot.forceColdBoot = false
INFO | userdata.useQcow2 = false
INFO | firstboot.bootFromDownloadableSnapshot = true
INFO | firstboot.bootFromLocalSnapshot = true
INFO | firstboot.saveToLocalSnapshot = true
INFO | android.sdk.root = /home/rleinardi/android-sdk
INFO | android.avd.home = /home/rleinardi/.android/avd
INFO | .
INFO | QEMU options list:
INFO | argv[00] = "/home/rleinardi/android-sdk/emulator/qemu/linux-x86_64/qemu-system-x86_64"
INFO | argv[01] = "-dns-server"
INFO | argv[02] = "127.0.0.53"
INFO | argv[03] = "-mem-path"
INFO | argv[04] = "/home/rleinardi/.android/avd/../avd/Nexus_5_API_29_Play.avd/snapshots/default_boot/ram.img"
INFO | argv[05] = "-mem-file-shared"
INFO | argv[06] = "-serial"
INFO | argv[07] = "null"
INFO | argv[08] = "-device"
INFO | argv[09] = "goldfish_pstore,addr=0xff018000,size=0x10000,file=/home/rleinardi/.android/avd/../avd/Nexus_5_API_29_Play.avd/data/misc/pstore/pstore.bin"
INFO | argv[10] = "-cpu"
INFO | argv[11] = "android64-xts"
INFO | argv[12] = "-enable-kvm"
INFO | argv[13] = "-smp"
INFO | argv[14] = "cores=4"
INFO | argv[15] = "-m"
INFO | argv[16] = "2048"
INFO | argv[17] = "-lcd-density"
INFO | argv[18] = "480"
INFO | argv[19] = "-object"
INFO | argv[20] = "iothread,id=disk-iothread"
INFO | argv[21] = "-nodefaults"
INFO | argv[22] = "-kernel"
INFO | argv[23] = "/home/rleinardi/android-sdk/system-images/android-29/google_apis_playstore/x86//kernel-ranchu-64"
INFO | argv[24] = "-initrd"
INFO | argv[25] = "/home/rleinardi/android-sdk/system-images/android-29/google_apis_playstore/x86//ramdisk.img"
INFO | argv[26] = "-drive"
INFO | argv[27] = "if=none,index=0,id=system,if=none,file=/home/rleinardi/android-sdk/system-images/android-29/google_apis_playstore/x86//system.img,read-only"
INFO | argv[28] = "-device"
INFO | argv[29] = "virtio-blk-pci,drive=system,iothread=disk-iothread,modern-pio-notify"
INFO | argv[30] = "-drive"
INFO | argv[31] = "if=none,index=1,id=cache,if=none,file=/home/rleinardi/.android/avd/../avd/Nexus_5_API_29_Play.avd/cache.img.qcow2,overlap-check=none,cache=unsafe,l2-cache-size=1048576"
INFO | argv[32] = "-device"
INFO | argv[33] = "virtio-blk-pci,drive=cache,iothread=disk-iothread,modern-pio-notify"
INFO | argv[34] = "-drive"
INFO | argv[35] = "if=none,index=2,id=userdata,if=none,file=/home/rleinardi/.android/avd/../avd/Nexus_5_API_29_Play.avd/userdata-qemu.img.qcow2,overlap-check=none,cache=unsafe,l2-cache-size=1048576"
INFO | argv[36] = "-device"
INFO | argv[37] = "virtio-blk-pci,drive=userdata,iothread=disk-iothread,modern-pio-notify"
INFO | argv[38] = "-drive"
INFO | argv[39] = "if=none,index=3,id=encrypt,if=none,file=/home/rleinardi/.android/avd/../avd/Nexus_5_API_29_Play.avd/encryptionkey.img.qcow2,overlap-check=none,cache=unsafe,l2-cache-size=1048576"
INFO | argv[40] = "-device"
INFO | argv[41] = "virtio-blk-pci,drive=encrypt,iothread=disk-iothread,modern-pio-notify"
INFO | argv[42] = "-drive"
INFO | argv[43] = "if=none,index=4,id=vendor,if=none,file=/home/rleinardi/android-sdk/system-images/android-29/google_apis_playstore/x86//vendor.img,read-only"
INFO | argv[44] = "-device"
INFO | argv[45] = "virtio-blk-pci,drive=vendor,iothread=disk-iothread,modern-pio-notify"
INFO | argv[46] = "-drive"
INFO | argv[47] = "if=none,index=5,id=sdcard,if=none,file=/home/rleinardi/.android/avd/../avd/Nexus_5_API_29_Play.avd/sdcard.img.qcow2,overlap-check=none,cache=unsafe,l2-cache-size=1048576"
INFO | argv[48] = "-device"
INFO | argv[49] = "virtio-blk-pci,drive=sdcard,iothread=disk-iothread,modern-pio-notify"
INFO | argv[50] = "-netdev"
INFO | argv[51] = "user,id=mynet"
INFO | argv[52] = "-device"
INFO | argv[53] = "virtio-net-pci,netdev=mynet"
INFO | argv[54] = "-device"
INFO | argv[55] = "virtio-rng-pci"
INFO | argv[56] = "-show-cursor"
INFO | argv[57] = "-device"
INFO | argv[58] = "virtio_input_multi_touch_pci_1"
INFO | argv[59] = "-device"
INFO | argv[60] = "virtio_input_multi_touch_pci_2"
INFO | argv[61] = "-device"
INFO | argv[62] = "virtio_input_multi_touch_pci_3"
INFO | argv[63] = "-device"
INFO | argv[64] = "virtio_input_multi_touch_pci_4"
INFO | argv[65] = "-device"
INFO | argv[66] = "virtio_input_multi_touch_pci_5"
INFO | argv[67] = "-device"
INFO | argv[68] = "virtio_input_multi_touch_pci_6"
INFO | argv[69] = "-device"
INFO | argv[70] = "virtio_input_multi_touch_pci_7"
INFO | argv[71] = "-device"
INFO | argv[72] = "virtio_input_multi_touch_pci_8"
INFO | argv[73] = "-device"
INFO | argv[74] = "virtio_input_multi_touch_pci_9"
INFO | argv[75] = "-device"
INFO | argv[76] = "virtio_input_multi_touch_pci_10"
INFO | argv[77] = "-device"
INFO | argv[78] = "virtio_input_multi_touch_pci_11"
INFO | argv[79] = "-device"
INFO | argv[80] = "virtio-keyboard-pci"
INFO | argv[81] = "-L"
INFO | argv[82] = "/home/rleinardi/android-sdk/emulator/lib/pc-bios"
INFO | argv[83] = "-soundhw"
INFO | argv[84] = "hda"
INFO | argv[85] = "-vga"
INFO | argv[86] = "none"
INFO | argv[87] = "-append"
INFO | argv[88] = "no_timer_check clocksource=pit no-kvmclock console=0 cma=288M@0-4G mac80211_hwsim.radios=2 mac80211_hwsim.channels=2 loop.max_part=7 ramoops.mem_address=0xff018000 ramoops.mem_size=0x10000 memmap=0x10000$0xff018000 printk.devkmsg=on qemu=1 androidboot.hardware=ranchu androidboot.serialno=EMULATOR33X1X19X0 qemu.gles=1 qemu.settings.system.screen_off_timeout=2147483647 qemu.encrypt=1 qemu.vsync=60 qemu.gltransport=pipe qemu.gltransport.drawFlushInterval=800 qemu.opengles.version=196608 qemu.uirenderer=skiagl qemu.dalvik.vm.heapsize=512m qemu.camera_hq_edge_processing=0 androidboot.vbmeta.size=4352 androidboot.vbmeta.hash_alg=sha256 androidboot.vbmeta.digest=aa5d679b2cc74ad1175fc8cda0edca57483440d4fcd5c4d3dca7e6376efb7171 androidboot.boot_devices=pci0000:00/0000:00:03.0 qemu.wifi=1 android.qemud=1 qemu.avd_name=Nexus_5_API_29_Play"
INFO | argv[89] = "-android-hw"
INFO | argv[90] = "/home/rleinardi/.android/avd/../avd/Nexus_5_API_29_Play.avd/hardware-qemu.ini"
INFO | Concatenated QEMU options: /home/rleinardi/android-sdk/emulator/qemu/linux-x86_64/qemu-system-x86_64 -dns-server 127.0.0.53 -mem-path /home/rleinardi/.android/avd/../avd/Nexus_5_API_29_Play.avd/snapshots/default_boot/ram.img -mem-file-shared -serial null -device goldfish_pstore,addr=0xff018000,size=0x10000,file=/home/rleinardi/.android/avd/../avd/Nexus_5_API_29_Play.avd/data/misc/pstore/pstore.bin -cpu android64-xts -enable-kvm -smp cores=4 -m 2048 -lcd-density 480 -object iothread,id=disk-iothread -nodefaults -kernel /home/rleinardi/android-sdk/system-images/android-29/google_apis_playstore/x86//kernel-ranchu-64 -initrd /home/rleinardi/android-sdk/system-images/android-29/google_apis_playstore/x86//ramdisk.img -drive if=none,index=0,id=system,if=none,file=/home/rleinardi/android-sdk/system-images/android-29/google_apis_playstore/x86//system.img,read-only -device virtio-blk-pci,drive=system,iothread=disk-iothread,modern-pio-notify -drive if=none,index=1,id=cache,if=none,file=/home/rleinardi/.android/avd/../avd/Nexus_5_API_29_Play.avd/cache.img.qcow2,overlap-check=none,cache=unsafe,l2-cache-size=1048576 -device virtio-blk-pci,drive=cache,iothread=disk-iothread,modern-pio-notify -drive if=none,index=2,id=userdata,if=none,file=/home/rleinardi/.android/avd/../avd/Nexus_5_API_29_Play.avd/userdata-qemu.img.qcow2,overlap-check=none,cache=unsafe,l2-cache-size=1048576 -device virtio-blk-pci,drive=userdata,iothread=disk-iothread,modern-pio-notify -drive if=none,index=3,id=encrypt,if=none,file=/home/rleinardi/.android/avd/../avd/Nexus_5_API_29_Play.avd/encryptionkey.img.qcow2,overlap-check=none,cache=unsafe,l2-cache-size=1048576 -device virtio-blk-pci,drive=encrypt,iothread=disk-iothread,modern-pio-notify -drive if=none,index=4,id=vendor,if=none,file=/home/rleinardi/android-sdk/system-images/android-29/google_apis_playstore/x86//vendor.img,read-only -device virtio-blk-pci,drive=vendor,iothread=disk-iothread,modern-pio-notify -drive if=none,index=5,id=sdcard,if=none,file=/home/rleinardi/.android/avd/../avd/Nexus_5
DEBUG | Android qemu version 33.1.19.0 (build_id 10804368) (CL:N/A)
DEBUG | Starting QEMU main loop
DEBUG | Adding boot property: 'ro.opengles.version' = '196608'
DEBUG | Adding boot property: 'qemu.sf.fake_camera' = 'front'
DEBUG | Adding boot property: 'qemu.adb.secure' = '1'
DEBUG | Adding boot property: 'dalvik.vm.heapsize' = '512m'
DEBUG | Adding boot property: 'qemu.hw.mainkeys' = '0'
DEBUG | Adding boot property: 'qemu.sf.lcd_density' = '480'
DEBUG | control console listening on port 5554, ADB on port 5555
DEBUG | goldfish_events.have-dpad: false
DEBUG | goldfish_events.have-trackball: false
DEBUG | goldfish_events.have-camera: true
DEBUG | goldfish_events.have-keyboard: false
DEBUG | goldfish_events.have-lidswitch: false
DEBUG | goldfish_events.have-tabletmode: false
DEBUG | goldfish_events.have-touch: false
DEBUG | goldfish_events.have-multitouch: false
DEBUG | Not using any http proxy
DEBUG | Adding boot property: 'qemu.timezone' = 'Europe/Berlin'
DEBUG | android_hw_fingerprint_init: fingerprint qemud listen service initialized
WARNING | The emulator now requires a signed jwt token for gRPC access! Use the -grpc flag if you really want an open unprotected grpc port
DEBUG | (input_volume_stats_reporter.cc:98): Will not log any `WebRTC.Audio.Apm.AppliedInputVolume.*` histogram stats.
DEBUG | (input_volume_stats_reporter.cc:98): Will not log any `WebRTC.Audio.Apm.RecommendedInputVolume.*` histogram stats.
DEBUG | (audio_processing_impl.cc:695): Injected APM submodules:
Echo control factory: 0
Echo detector: 0
Capture analyzer: 0
Capture post processor: 0
Render pre processor: 0
DEBUG | (audio_processing_impl.cc:708): AudioProcessing: AudioProcessing::Config{ pipeline: { maximum_internal_processing_rate: 48000, multi_channel_render: 0, multi_channel_capture: 0 }, pre_amplifier: { enabled: 0, fixed_gain_factor: 1 },capture_level_adjustment: { enabled: 0, pre_gain_factor: 1, post_gain_factor: 1, analog_mic_gain_emulation: { enabled: 0, initial_level: 255 }}, high_pass_filter: { enabled: 0 }, echo_canceller: { enabled: 0, mobile_mode: 0, enforce_high_pass_filtering: 1 }, noise_suppression: { enabled: 0, level: Moderate }, transient_suppression: { enabled: 0 }, gain_controller1: { enabled: 0, mode: AdaptiveAnalog, target_level_dbfs: 3, compression_gain_db: 9, enable_limiter: 1, analog_gain_controller { enabled: 1, startup_min_volume: 0, clipped_level_min: 70, enable_digital_adaptive: 1, clipped_level_step: 15, clipped_ratio_threshold: 0.1, clipped_wait_frames: 300, clipping_predictor: { enabled: 0, mode: 0, window_length: 5, reference_window_length: 5, reference_window_delay: 5, clipping_threshold: -1, crest_factor_margin: 3, use_predicted_step: 1 }}}, gain_controller2: { enabled: 0, fixed_digital: { gain_db: 0 }, adaptive_digital: { enabled: 0, headroom_db: 6, max_gain_db: 30, initial_gain_db: 8, max_gain_change_db_per_second: 3, max_output_noise_level_dbfs: -50 }, input_volume_control : { enabled 0}}
DEBUG | (webrtc_voice_engine.cc:311): WebRtcVoiceEngine::WebRtcVoiceEngine
DEBUG | (webrtc_voice_engine.cc:333): WebRtcVoiceEngine::Init
DEBUG | (webrtc_voice_engine.cc:424): WebRtcVoiceEngine::ApplyOptions: AudioOptions {aec: 1, agc: 1, ns: 1, hf: 1, swap: 0, audio_jitter_buffer_max_packets: 200, audio_jitter_buffer_fast_accelerate: 0, audio_jitter_buffer_min_delay_ms: 0, }
DEBUG | (audio_processing_impl.cc:911): AudioProcessing::ApplyConfig: AudioProcessing::Config{ pipeline: { maximum_internal_processing_rate: 48000, multi_channel_render: 0, multi_channel_capture: 0 }, pre_amplifier: { enabled: 0, fixed_gain_factor: 1 },capture_level_adjustment: { enabled: 0, pre_gain_factor: 1, post_gain_factor: 1, analog_mic_gain_emulation: { enabled: 0, initial_level: 255 }}, high_pass_filter: { enabled: 1 }, echo_canceller: { enabled: 1, mobile_mode: 0, enforce_high_pass_filtering: 1 }, noise_suppression: { enabled: 1, level: High }, transient_suppression: { enabled: 0 }, gain_controller1: { enabled: 1, mode: AdaptiveAnalog, target_level_dbfs: 3, compression_gain_db: 9, enable_limiter: 1, analog_gain_controller { enabled: 1, startup_min_volume: 0, clipped_level_min: 70, enable_digital_adaptive: 1, clipped_level_step: 15, clipped_ratio_threshold: 0.1, clipped_wait_frames: 300, clipping_predictor: { enabled: 0, mode: 0, window_length: 5, reference_window_length: 5, reference_window_delay: 5, clipping_threshold: -1, crest_factor_margin: 3, use_predicted_step: 1 }}}, gain_controller2: { enabled: 0, fixed_digital: { gain_db: 0 }, adaptive_digital: { enabled: 0, headroom_db: 6, max_gain_db: 30, initial_gain_db: 8, max_gain_change_db_per_second: 3, max_output_noise_level_dbfs: -50 }, input_volume_control : { enabled 0}}
DEBUG | (matched_filter.cc:139): AEC3: Pre echo configuration: threshold = 0.5, mode = 0.
DEBUG | (transparent_mode.cc:239): AEC3 Transparent Mode: Legacy
DEBUG | (echo_canceller3.cc:793): AEC3 created with sample rate: 16000 Hz, num render channels: 1, num capture channels: 1
DEBUG | (clipping_predictor.cc:358): [AGC2] Clipping prediction disabled.
DEBUG | (agc_manager_direct.cc:481): [agc] analog controller enabled: yes
DEBUG | (agc_manager_direct.cc:484): [agc] Min mic level: 12 (overridden: no)
DEBUG | (input_volume_stats_reporter.cc:98): Will not log any `WebRTC.Audio.Apm.AppliedInputVolume.*` histogram stats.
DEBUG | (input_volume_stats_reporter.cc:98): Will not log any `WebRTC.Audio.Apm.RecommendedInputVolume.*` histogram stats.
DEBUG | (audio_processing_impl.cc:695): Injected APM submodules:
Echo control factory: 0
Echo detector: 0
Capture analyzer: 0
Capture post processor: 0
Render pre processor: 0
DEBUG | (audio_processing_impl.cc:708): AudioProcessing: AudioProcessing::Config{ pipeline: { maximum_internal_processing_rate: 48000, multi_channel_render: 0, multi_channel_capture: 0 }, pre_amplifier: { enabled: 0, fixed_gain_factor: 1 },capture_level_adjustment: { enabled: 0, pre_gain_factor: 1, post_gain_factor: 1, analog_mic_gain_emulation: { enabled: 0, initial_level: 255 }}, high_pass_filter: { enabled: 0 }, echo_canceller: { enabled: 0, mobile_mode: 0, enforce_high_pass_filtering: 1 }, noise_suppression: { enabled: 0, level: Moderate }, transient_suppression: { enabled: 0 }, gain_controller1: { enabled: 0, mode: AdaptiveAnalog, target_level_dbfs: 3, compression_gain_db: 9, enable_limiter: 1, analog_gain_controller { enabled: 1, startup_min_volume: 0, clipped_level_min: 70, enable_digital_adaptive: 1, clipped_level_step: 15, clipped_ratio_threshold: 0.1, clipped_wait_frames: 300, clipping_predictor: { enabled: 0, mode: 0, window_length: 5, reference_window_length: 5, reference_window_delay: 5, clipping_threshold: -1, crest_factor_margin: 3, use_predicted_step: 1 }}}, gain_controller2: { enabled: 0, fixed_digital: { gain_db: 0 }, adaptive_digital: { enabled: 0, headroom_db: 6, max_gain_db: 30, initial_gain_db: 8, max_gain_change_db_per_second: 3, max_output_noise_level_dbfs: -50 }, input_volume_control : { enabled 0}}
DEBUG | (webrtc_voice_engine.cc:311): WebRtcVoiceEngine::WebRtcVoiceEngine
DEBUG | (webrtc_voice_engine.cc:333): WebRtcVoiceEngine::Init
DEBUG | (webrtc_voice_engine.cc:424): WebRtcVoiceEngine::ApplyOptions: AudioOptions {aec: 1, agc: 1, ns: 1, hf: 1, swap: 0, audio_jitter_buffer_max_packets: 200, audio_jitter_buffer_fast_accelerate: 0, audio_jitter_buffer_min_delay_ms: 0, }
DEBUG | (audio_processing_impl.cc:911): AudioProcessing::ApplyConfig: AudioProcessing::Config{ pipeline: { maximum_internal_processing_rate: 48000, multi_channel_render: 0, multi_channel_capture: 0 }, pre_amplifier: { enabled: 0, fixed_gain_factor: 1 },capture_level_adjustment: { enabled: 0, pre_gain_factor: 1, post_gain_factor: 1, analog_mic_gain_emulation: { enabled: 0, initial_level: 255 }}, high_pass_filter: { enabled: 1 }, echo_canceller: { enabled: 1, mobile_mode: 0, enforce_high_pass_filtering: 1 }, noise_suppression: { enabled: 1, level: High }, transient_suppression: { enabled: 0 }, gain_controller1: { enabled: 1, mode: AdaptiveAnalog, target_level_dbfs: 3, compression_gain_db: 9, enable_limiter: 1, analog_gain_controller { enabled: 1, startup_min_volume: 0, clipped_level_min: 70, enable_digital_adaptive: 1, clipped_level_step: 15, clipped_ratio_threshold: 0.1, clipped_wait_frames: 300, clipping_predictor: { enabled: 0, mode: 0, window_length: 5, reference_window_length: 5, reference_window_delay: 5, clipping_threshold: -1, crest_factor_margin: 3, use_predicted_step: 1 }}}, gain_controller2: { enabled: 0, fixed_digital: { gain_db: 0 }, adaptive_digital: { enabled: 0, headroom_db: 6, max_gain_db: 30, initial_gain_db: 8, max_gain_change_db_per_second: 3, max_output_noise_level_dbfs: -50 }, input_volume_control : { enabled 0}}
DEBUG | (matched_filter.cc:139): AEC3: Pre echo configuration: threshold = 0.5, mode = 0.
DEBUG | (transparent_mode.cc:239): AEC3 Transparent Mode: Legacy
DEBUG | (echo_canceller3.cc:793): AEC3 created with sample rate: 16000 Hz, num render channels: 1, num capture channels: 1
DEBUG | (clipping_predictor.cc:358): [AGC2] Clipping prediction disabled.
DEBUG | (agc_manager_direct.cc:481): [agc] analog controller enabled: yes
DEBUG | (agc_manager_direct.cc:484): [agc] Min mic level: 12 (overridden: no)
INFO | Using security allow list from: /home/rleinardi/android-sdk/emulator/lib/emulator_access.json
WARNING | *** Basic token auth should only be used by android-studio ***
INFO | The active JSON Web Key Sets can be found here: /run/user/1000/avd/running/14617/jwks/37cf04a6-4c46-4040-837a-ba6df916e650/active.jwk
INFO | Scanning /run/user/1000/avd/running/14617/jwks/37cf04a6-4c46-4040-837a-ba6df916e650 for jwk keys.
INFO | Started GRPC server at 127.0.0.1:8554, security: Local, auth: +token
INFO | Advertising in: /run/user/1000/avd/running/pid_14617.ini
DEBUG | emulator_window_fb_rotate
I0929 10:00:16.294998 14706 FrameBuffer.cpp:3682] setDisplayConfigs w 1080 h 1920 dpiX 480 dpiY 480
DEBUG | setDisplayPose 0 x 0 y 0 w 1080 h 1920 dpi 0
I0929 10:00:16.295032 14706 FrameBuffer.cpp:3695] setDisplayActiveConfig 0
DEBUG | no root specified:
DEBUG | Path:/home/rleinardi/android-sdk/platform-tools/adb protocol version: 41
DEBUG | Path:/home/rleinardi/android-sdk/platform-tools/adb protocol version: 41
DEBUG | Found: 2 adb executables
DEBUG | Adb: /home/rleinardi/android-sdk/platform-tools/adb
DEBUG | Adb: /home/rleinardi/android-sdk/platform-tools/adb
DEBUG | Path:/home/rleinardi/android-sdk/platform-tools/adb protocol version: 41
DEBUG | Path:/home/rleinardi/android-sdk/platform-tools/adb protocol version: 41
DEBUG | config multidisplay with config.ini 0x0 0x0 0x0
DEBUG | No acpi ini file provided, using default
INFO | Loading snapshot 'default_boot'...
DEBUG | OpenGL Vendor=[Google (Intel)]
DEBUG | OpenGL Renderer=[Android Emulator OpenGL ES Translator (Mesa Intel(R) Graphics (RPL-P))]
DEBUG | OpenGL Version=[OpenGL ES 3.0 (4.6 (Core Profile) Mesa 23.1.8 - kisak-mesa PPA)]
DEBUG | Window was not fully visible: monitor=[0,0,6000,1982] window=[2315,0,904,1586]
DEBUG | Window repositioned to [2315,0]
DEBUG | emulator window was out of view and was recentered
DEBUG | Adding boot property: 'qemu.cmdline' = 'androidboot.logcat=*:V androidboot.consolepipe=qemu_pipe,pipe:logcat'
DEBUG | Adding boot property: 'qemu.logcat' = 'start'
DEBUG | Adding boot property: 'ro.opengles.version' = '196608'
DEBUG | Adding boot property: 'qemu.sf.fake_camera' = 'front'
DEBUG | Adding boot property: 'qemu.adb.secure' = '1'
DEBUG | Adding boot property: 'dalvik.vm.heapsize' = '512m'
DEBUG | Adding boot property: 'qemu.hw.mainkeys' = '0'
DEBUG | Adding boot property: 'qemu.sf.lcd_density' = '480'
DEBUG | Adding boot property: 'qemu.timezone' = 'Europe/Berlin'
DEBUG | _hwFingerprint_connect: connect finger print listen is called
DEBUG | Registering pipe service multidisplay
DEBUG | MultiDisplayPipe created 0x55eeb190e000
INFO | Successfully loaded snapshot 'default_boot'
DEBUG | OpenGL Vendor=[Google (Intel)]
DEBUG | OpenGL Renderer=[Android Emulator OpenGL ES Translator (Mesa Intel(R) Graphics (RPL-P))]
DEBUG | OpenGL Version=[OpenGL ES 3.0 (4.6 (Core Profile) Mesa 23.1.8 - kisak-mesa PPA)]
DEBUG | onGuestSendCommand: [0x55eec1c1e000] Adb connected, start proxing data
E0929 10:00:19.441239 14834 FrameBuffer.cpp:3736] Failed to find ColorBuffer:0
DEBUG | getMultiDisplay 0 x 0 y 0 w 1080 h 1920 dpi 0 flag 0 enable 1
E0929 10:00:22.081331 14834 FrameBuffer.cpp:3736] Failed to find ColorBuffer:0
E0929 10:00:22.234084 14846 FrameBuffer.cpp:3736] Failed to find ColorBuffer:0
E0929 10:00:22.740719 14845 FrameBuffer.cpp:2317] Failed to find EmulatedEglImage:302
E0929 10:00:22.747430 14845 FrameBuffer.cpp:2317] Failed to find EmulatedEglImage:300
E0929 10:00:22.747796 14845 FrameBuffer.cpp:2317] Failed to find EmulatedEglImage:299
E0929 10:00:22.747969 14845 FrameBuffer.cpp:2317] Failed to find EmulatedEglImage:298
E0929 10:00:22.748115 14845 FrameBuffer.cpp:2317] Failed to find EmulatedEglImage:297
E0929 10:00:22.748279 14845 FrameBuffer.cpp:2317] Failed to find EmulatedEglImage:296
E0929 10:00:22.748462 14845 FrameBuffer.cpp:2317] Failed to find EmulatedEglImage:295
E0929 10:00:22.748779 14845 FrameBuffer.cpp:2317] Failed to find EmulatedEglImage:301
E0929 10:00:22.748965 14845 FrameBuffer.cpp:2317] Failed to find EmulatedEglImage:335
DEBUG | getMultiDisplay 0 x 0 y 0 w 1080 h 1920 dpi 0 flag 0 enable 1 (5x)
INFO | Wait for emulator (pid 14617) 20 seconds to shutdown gracefully before kill;you can set environment variable ANDROID_EMULATOR_WAIT_TIME_BEFORE_KILL(in seconds) to change the default value (20 seconds)
DEBUG | Saving state on exit with session uptime 10335 ms
INFO | Info: Sandboxing disabled by user. ((null):0, (null))
INFO | Critical: Failed to load https://maps.googleapis.com/maps/api/mapsjs/gen_204?csp_test=true: The 'Access-Control-Allow-Origin' header has a value 'qrc://' that is not equal to the supplied origin. Origin 'qrc://' is therefore not allowed access. (qrc:/html/location-point.html:0, (null))
DEBUG | getMultiDisplay 0 x 0 y 0 w 1080 h 1920 dpi 0 flag 0 enable 1
DEBUG | getMultiDisplay 0 x 0 y 0 w 1080 h 1920 dpi 0 flag 0 enable 1
INFO | Critical: Failed to load https://maps.googleapis.com/maps/api/mapsjs/gen_204?csp_test=true: The 'Access-Control-Allow-Origin' header has a value 'qrc://' that is not equal to the supplied origin. Origin 'qrc://' is therefore not allowed access. (qrc:/html/location-point.html:0, (null))
INFO | Saving with gfxstream=1
DEBUG | OpenGL Vendor=[Google (Intel)]
DEBUG | OpenGL Renderer=[Android Emulator OpenGL ES Translator (Mesa Intel(R) Graphics (RPL-P))]
DEBUG | OpenGL Version=[OpenGL ES 3.0 (4.6 (Core Profile) Mesa 23.1.8 - kisak-mesa PPA)]
ERROR | stop: Not implemented
DEBUG | Done with QEMU main loop
DEBUG | User configuration saved to /home/rleinardi/.android/avd/../avd/Nexus_5_API_29_Play.avd/emulator-user.ini
$ inxi -F
System:
Host: rleinardi-workstation Kernel: 6.4.3-060403-generic x86_64 bits: 64
Desktop: GNOME 42.9 Distro: Ubuntu 22.04.3 LTS (Jammy Jellyfish)
Machine:
Type: Laptop System: TUXEDO product: TUXEDO InfinityBook Pro Gen8 (MK1)
v: Standard serial: <superuser required>
Mobo: NB02 model: PH4PRX1_PH6PRX1 v: Standard
serial: <superuser required> UEFI: American Megatrends LLC. v: N.1.10A04
date: 07/11/2023
Battery:
ID-1: BAT0 charge: 80.5 Wh (98.1%) condition: 82.1/82.1 Wh (100.0%)
CPU:
Info: 14-core (6-mt/8-st) model: 13th Gen Intel Core i7-13700H bits: 64
type: MST AMCP cache: L2: 11.5 MiB
Speed (MHz): avg: 2389 min/max: 400/4800:5000:3700 cores: 1: 2602 2: 2900
3: 1956 4: 466 5: 2900 6: 2900 7: 674 8: 2900 9: 1850 10: 2900 11: 1846
12: 400 13: 2900 14: 3186 15: 3297 16: 2900 17: 2521 18: 2900 19: 2900
20: 2900
Graphics:
Device-1: Intel driver: i915 v: kernel
Device-2: SunplusIT FHD Webcam type: USB driver: uvcvideo
Device-3: Logitech Logitech Webcam C925e type: USB
driver: snd-usb-audio,uvcvideo
Display: x11 server: X.Org v: 1.21.1.4 driver: X: loaded: modesetting
gpu: i915 resolution: 1: 3440x1440 2: 2560x1600~240Hz
OpenGL: renderer: Mesa Intel Graphics (RPL-P)
v: 4.6 Mesa 23.1.8 - kisak-mesa PPA
bo...@google.com <bo...@google.com> #89
with BUG_ON the EFAULT
static int __kvm_write_guest_page(struct kvm *kvm,
struct kvm_memory_slot *memslot, gfn_t gfn,
const void *data, int offset, int len)
{
int r;
unsigned long addr;
addr = gfn_to_hva_memslot(memslot, gfn);
if (kvm_is_error_hva(addr)) {
BUG_ON(1); // here is the fault place
return -EFAULT;
}
r = __copy_to_user((void __user *)addr + offset, data, len);
if (r) {
BUG_ON(1);
return -EFAULT;
}
mark_page_dirty_in_slot(kvm, memslot, gfn);
return 0;
}
[604038.258580] kvm_intel: L1TF CPU bug present and SMT on, data leak possible. See CVE-2018-3646 and
[604223.571707] ------------[ cut here ]------------
[604223.571707] ------------[ cut here ]------------
[604223.571711] kernel BUG at arch/x86/kvm/../../../virt/kvm/kvm_main.c:3125!
[604223.571713] kernel BUG at arch/x86/kvm/../../../virt/kvm/kvm_main.c:3125!
[604223.571724] invalid opcode: 0000 [#1] PREEMPT SMP PTI
[604223.571731] CPU: 10 PID: 1928475 Comm: MainLoopThread Tainted: P W OE 6.3.11-1rodete2-amd64 #1 Debian 6.3.11-1rodete2
[604223.571738] Hardware name: LENOVO 30BFS44D00/1036, BIOS S03KT40A 08/12/2020
[604223.571742] RIP: 0010:__kvm_write_guest_page+0xc6/0xd0 [kvm]
[604223.571922] Code: cc cc cc 4c 89 e0 48 2b 86 b0 00 00 00 48 3b 86 b8 00 00 00 48 19 c9 48 21 c8 48 c1 e0 0c 48 03 86 f8 00 00 00 49 89 c5 eb 8c <0f> 0b 0f 0b 66 0f 1f 44 00 00 90 90 90 90 90 90 90 90 90 90 90 90
[604223.571928] RSP: 0018:ffffbfe943313b98 EFLAGS: 00010246
[604223.571934] RAX: 0000000000000000 RBX: 0000000000000002 RCX: ffff9decd2a4bf80
[604223.571938] RDX: 000000000080005f RSI: 0000000000000000 RDI: ffffbfe9425bd000
[604223.571942] RBP: 0000000000000002 R08: 0000000000000000 R09: 0000000000000002
[604223.571946] R10: 00000000ffffffff R11: ffff9decc8ca8290 R12: 000000000080005f
[604223.571950] R13: ffff9decd2a4bf80 R14: ffff9decc8ca8000 R15: 0000000000000000
[604223.571954] FS: 00007f548fc836c0(0000) GS:ffff9dfc00080000(0000) knlGS:0000000000000000
[604223.571959] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[604223.571963] CR2: 0000000013365000 CR3: 0000000b741fe002 CR4: 00000000003726e0
[604223.571967] Call Trace:
[604223.571972] <TASK>
[604223.571979] ? die+0x36/0x90
[604223.571988] ? do_trap+0xda/0x100
[604223.571995] ? __kvm_write_guest_page+0xc6/0xd0 [kvm]
[604223.572197] ? do_error_trap+0x6a/0x90
[604223.572204] ? __kvm_write_guest_page+0xc6/0xd0 [kvm]
[604223.572415] ? exc_invalid_op+0x50/0x70
[604223.572423] ? __kvm_write_guest_page+0xc6/0xd0 [kvm]
[604223.572633] ? asm_exc_invalid_op+0x1a/0x20
[604223.572650] ? __kvm_write_guest_page+0xc6/0xd0 [kvm]
[604223.572864] kvm_vcpu_write_guest+0x59/0xb0 [kvm]
[604223.573080] write_emulate+0x23/0x50 [kvm]
[604223.573312] emulator_read_write_onepage+0xea/0x330 [kvm]
[604223.573547] ? linearize.isra.0+0x1eb/0x290 [kvm]
[604223.573795] emulator_read_write+0xbf/0x160 [kvm]
[604223.574030] x86_emulate_insn+0x596/0xe50 [kvm]
[604223.574278] x86_emulate_instruction+0x31a/0x7d0 [kvm]
[604223.574519] vmx_handle_exit+0x86b/0x9e0 [kvm_intel]
[604223.574567] kvm_arch_vcpu_ioctl_run+0x6d5/0x1750 [kvm]
[604223.574817] kvm_vcpu_ioctl+0x199/0x6d0 [kvm]
[604223.575028] ? do_syscall_64+0x6b/0xc0
[604223.575039] ? __audit_filter_op+0xaf/0x110
[604223.575051] __x64_sys_ioctl+0x91/0xd0
[604223.575060] do_syscall_64+0x5c/0xc0
[604223.575069] ? syscall_exit_to_user_mode+0x1b/0x40
[604223.575079] ? do_syscall_64+0x6b/0xc0
[604223.575086] ? do_syscall_64+0x6b/0xc0
[604223.575095] entry_SYSCALL_64_after_hwframe+0x72/0xdc
[604223.575105] RIP: 0033:0x7f54c791b27b
[604223.575122] Code: 00 48 89 44 24 18 31 c0 48 8d 44 24 60 c7 04 24 10 00 00 00 48 89 44 24 08 48 8d 44 24 20 48 89 44 24 10 b8 10 00 00 00 0f 05 <89> c2 3d 00 f0 ff ff 77 1c 48 8b 44 24 18 64 48 2b 04 25 28 00 00
[604223.575128] RSP: 002b:00007f548fc82330 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
[604223.575136] RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007f54c791b27b
[604223.575141] RDX: 0000000000000000 RSI: 000000000000ae80 RDI: 0000000000000069
[604223.575146] RBP: 000055a4bac83cf0 R08: 000055a4b92aae1e R09: 00007f548fc81da8
[604223.575151] R10: 000055a4c35a4000 R11: 0000000000000246 R12: 00007f548fc83300
[604223.575155] R13: 00007f548f47c000 R14: 000055a4b93b98c0 R15: 000055a4bac83cf0
[604223.575167] </TASK>
[604223.575170] Modules linked in: kvm_intel(OE) kvm(OE) ufs(E) qnx4(E) hfsplus(E) hfs(E) cdrom(E) minix(E) msdos(E) jfs(E) xfs(E) cpuid(E) nvidia_uvm(POE) tls(E) snd_seq_dummy(E) snd_hrtimer(E) snd_seq(E) snd_seq_device(E) tcp_diag(E) inet_diag(E) nft_chain_nat(E) iptable_nat(E) nf_nat(E) nf_conntrack(E) nf_defrag_ipv6(E) nf_defrag_ipv4(E) iptable_filter(E) nf_tables(E) nfnetlink(E) rfkill(E) cpufreq_conservative(E) cpufreq_ondemand(E) cpufreq_powersave(E) cpufreq_userspace(E) nvidia_drm(POE) drm_kms_helper(E) nvidia_modeset(POE) intel_rapl_msr(E) intel_rapl_common(E) intel_uncore_frequency(E) intel_uncore_frequency_common(E) isst_if_common(E) sunrpc(E) skx_edac(E) nfit(E) libnvdimm(E) video(E) x86_pkg_temp_thermal(E) intel_powerclamp(E) coretemp(E) binfmt_misc(E) snd_hda_codec_realtek(E) joydev(E) irqbypass(E) rapl(E) intel_cstate(E) snd_hda_codec_generic(E) ledtrig_audio(E) snd_hda_codec_hdmi(E) snd_hda_intel(E) snd_intel_dspcfg(E) snd_intel_sdw_acpi(E) snd_hda_codec(E) snd_hda_core(E) snd_hwdep(E) snd_pcm(E)
[604223.575303] mei_wdt(E) rtsx_usb_ms(E) snd_timer(E) wdat_wdt(E) nvidia(POE) snd(E) think_lmi(E) intel_uncore(E) firmware_attributes_class(E) intel_wmi_thunderbolt(E) wmi_bmof(E) memstick(E) watchdog(E) soundcore(E) mei_me(E) mei(E) ioatdma(E) dca(E) evdev(E) msr(E) parport_pc(E) ppdev(E) lp(E) parport(E) tcp_bbr(E) drm(E) fuse(E) efi_pstore(E) configfs(E) efivarfs(E) ip_tables(E) x_tables(E) autofs4(E) ext4(E) crc16(E) mbcache(E) jbd2(E) btrfs(E) blake2b_generic(E) xor(E) raid6_pq(E) libcrc32c(E) crc32c_generic(E) nls_ascii(E) nls_cp437(E) vfat(E) fat(E) dm_crypt(E) dm_mod(E) rtsx_usb_sdmmc(E) mmc_core(E) rtsx_usb(E) hid_generic(E) usbhid(E) hid(E) crc32_pclmul(E) crc32c_intel(E) ghash_clmulni_intel(E) sha512_ssse3(E) sha512_generic(E) nvme(E) nvme_core(E) t10_pi(E) crc64_rocksoft_generic(E) ahci(E) libahci(E) xhci_pci(E) crc64_rocksoft(E) aesni_intel(E) crc_t10dif(E) libata(E) crct10dif_generic(E) xhci_hcd(E) crypto_simd(E) thinkpad_wmi(OE) crct10dif_pclmul(E) cryptd(E) pcspkr(E) intel_lpss_pci(E) crc64(E)
[604223.575458] i2c_i801(E) intel_lpss(E) crct10dif_common(E) e1000e(E) i2c_smbus(E) usbcore(E) scsi_mod(E) idma64(E) scsi_common(E) usb_common(E) wmi(E) button(E) [last unloaded: kvm(OE)]
[604223.575492] invalid opcode: 0000 [#2] PREEMPT SMP PTI
[604223.575501] CPU: 4 PID: 1928474 Comm: MainLoopThread Tainted: P D W OE 6.3.11-1rodete2-amd64 #1 Debian 6.3.11-1rodete2
[604223.575511] Hardware name: LENOVO 30BFS44D00/1036, BIOS S03KT40A 08/12/2020
[604223.575526] ---[ end trace 0000000000000000 ]---
[604223.575516] RIP: 0010:__kvm_write_guest_page+0xc6/0xd0 [kvm]
[604223.575804] Code: cc cc cc 4c 89 e0 48 2b 86 b0 00 00 00 48 3b 86 b8 00 00 00 48 19 c9 48 21 c8 48 c1 e0 0c 48 03 86 f8 00 00 00 49 89 c5 eb 8c <0f> 0b 0f 0b 66 0f 1f 44 00 00 90 90 90 90 90 90 90 90 90 90 90 90
[604223.575813] RSP: 0018:ffffbfe94325fba8 EFLAGS: 00010246
[604223.575821] RAX: 0000000000000000 RBX: 0000000000000004 RCX: ffff9df98b4e7360
[604223.575827] RDX: 00000000000ff001 RSI: 0000000000000000 RDI: ffffbfe9425bd000
[604223.575834] RBP: 0000000000000004 R08: 0000000000000000 R09: 0000000000000004
[604223.575840] R10: 00000000ffffffff R11: ffff9decc5b44a90 R12: 00000000000ff001
[604223.575847] R13: ffff9df98b4e7360 R14: ffff9decc5b44800 R15: 0000000000000000
[604223.575854] FS: 00007f549048b6c0(0000) GS:ffff9dfbfff00000(0000) knlGS:0000000000000000
[604223.575862] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[604223.575869] CR2: 0000000012c00000 CR3: 0000000b741fe003 CR4: 00000000003726e0
[604223.575875] Call Trace:
[604223.575881] <TASK>
[604223.575887] ? die+0x36/0x90
[604223.575897] ? do_trap+0xda/0x100
[604223.575905] ? __kvm_write_guest_page+0xc6/0xd0 [kvm]
[604223.576207] ? do_error_trap+0x6a/0x90
[604223.576216] ? __kvm_write_guest_page+0xc6/0xd0 [kvm]
[604223.576497] ? exc_invalid_op+0x50/0x70
[604223.576506] ? __kvm_write_guest_page+0xc6/0xd0 [kvm]
[604223.576787] ? asm_exc_invalid_op+0x1a/0x20
[604223.576805] ? __kvm_write_guest_page+0xc6/0xd0 [kvm]
[604223.577089] kvm_vcpu_write_guest+0x59/0xb0 [kvm]
[604223.577375] write_emulate+0x23/0x50 [kvm]
[604223.577678] emulator_read_write_onepage+0xea/0x330 [kvm]
[604223.577985] ? linearize.isra.0+0x1eb/0x290 [kvm]
[604223.578306] emulator_read_write+0xbf/0x160 [kvm]
[604223.578614] x86_emulate_insn+0x596/0xe50 [kvm]
[604223.578938] x86_emulate_instruction+0x31a/0x7d0 [kvm]
[604223.579252] vmx_handle_exit+0x86b/0x9e0 [kvm_intel]
[604223.579313] kvm_arch_vcpu_ioctl_run+0x6d5/0x1750 [kvm]
[604223.579635] kvm_vcpu_ioctl+0x199/0x6d0 [kvm]
[604223.579917] ? __audit_filter_op+0xaf/0x110
[604223.579934] __x64_sys_ioctl+0x91/0xd0
[604223.579945] do_syscall_64+0x5c/0xc0
[604223.579956] ? do_syscall_64+0x6b/0xc0
[604223.579965] ? exit_to_user_mode_prepare+0x40/0x1d0
[604223.579980] entry_SYSCALL_64_after_hwframe+0x72/0xdc
[604223.579991] RIP: 0033:0x7f54c791b27b
[604223.580003] Code: 00 48 89 44 24 18 31 c0 48 8d 44 24 60 c7 04 24 10 00 00 00 48 89 44 24 08 48 8d 44 24 20 48 89 44 24 10 b8 10 00 00 00 0f 05 <89> c2 3d 00 f0 ff ff 77 1c 48 8b 44 24 18 64 48 2b 04 25 28 00 00
[604223.580012] RSP: 002b:00007f549048a330 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
[604223.580022] RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007f54c791b27b
[604223.580029] RDX: 0000000000000000 RSI: 000000000000ae80 RDI: 0000000000000068
[604223.580036] RBP: 000055a4bac83cf0 R08: 000055a4b92aae1e R09: 0000000000000000
[604223.580042] R10: 0000000000000000 R11: 0000000000000246 R12: 00007f549048b300
[604223.580048] R13: 00007f548fc84000 R14: 000055a4b93b98c0 R15: 000055a4bac83cf0
[604223.580064] </TASK>
[604223.580068] Modules linked in: kvm_intel(OE) kvm(OE) ufs(E) qnx4(E) hfsplus(E) hfs(E) cdrom(E) minix(E) msdos(E) jfs(E) xfs(E) cpuid(E) nvidia_uvm(POE) tls(E) snd_seq_dummy(E) snd_hrtimer(E) snd_seq(E) snd_seq_device(E) tcp_diag(E) inet_diag(E) nft_chain_nat(E) iptable_nat(E) nf_nat(E) nf_conntrack(E) nf_defrag_ipv6(E) nf_defrag_ipv4(E) iptable_filter(E) nf_tables(E) nfnetlink(E) rfkill(E) cpufreq_conservative(E) cpufreq_ondemand(E) cpufreq_powersave(E) cpufreq_userspace(E) nvidia_drm(POE) drm_kms_helper(E) nvidia_modeset(POE) intel_rapl_msr(E) intel_rapl_common(E) intel_uncore_frequency(E) intel_uncore_frequency_common(E) isst_if_common(E) sunrpc(E) skx_edac(E) nfit(E) libnvdimm(E) video(E) x86_pkg_temp_thermal(E) intel_powerclamp(E) coretemp(E) binfmt_misc(E) snd_hda_codec_realtek(E) joydev(E) irqbypass(E) rapl(E) intel_cstate(E) snd_hda_codec_generic(E) ledtrig_audio(E) snd_hda_codec_hdmi(E) snd_hda_intel(E) snd_intel_dspcfg(E) snd_intel_sdw_acpi(E) snd_hda_codec(E) snd_hda_core(E) snd_hwdep(E) snd_pcm(E)
[604223.580232] mei_wdt(E) rtsx_usb_ms(E) snd_timer(E) wdat_wdt(E) nvidia(POE) snd(E) think_lmi(E) intel_uncore(E) firmware_attributes_class(E) intel_wmi_thunderbolt(E) wmi_bmof(E) memstick(E) watchdog(E) soundcore(E) mei_me(E) mei(E) ioatdma(E) dca(E) evdev(E) msr(E) parport_pc(E) ppdev(E) lp(E) parport(E) tcp_bbr(E) drm(E) fuse(E) efi_pstore(E) configfs(E) efivarfs(E) ip_tables(E) x_tables(E) autofs4(E) ext4(E) crc16(E) mbcache(E) jbd2(E) btrfs(E) blake2b_generic(E) xor(E) raid6_pq(E) libcrc32c(E) crc32c_generic(E) nls_ascii(E) nls_cp437(E) vfat(E) fat(E) dm_crypt(E) dm_mod(E) rtsx_usb_sdmmc(E) mmc_core(E) rtsx_usb(E) hid_generic(E) usbhid(E) hid(E) crc32_pclmul(E) crc32c_intel(E) ghash_clmulni_intel(E) sha512_ssse3(E) sha512_generic(E) nvme(E) nvme_core(E) t10_pi(E) crc64_rocksoft_generic(E) ahci(E) libahci(E) xhci_pci(E) crc64_rocksoft(E) aesni_intel(E) crc_t10dif(E) libata(E) crct10dif_generic(E) xhci_hcd(E) crypto_simd(E) thinkpad_wmi(OE) crct10dif_pclmul(E) cryptd(E) pcspkr(E) intel_lpss_pci(E) crc64(E)
[604223.580428] i2c_i801(E) intel_lpss(E) crct10dif_common(E) e1000e(E) i2c_smbus(E) usbcore(E) scsi_mod(E) idma64(E) scsi_common(E) usb_common(E) wmi(E) button(E) [last unloaded: kvm(OE)]
[604223.580508] ---[ end trace 0000000000000000 ]---
[604223.656393] RIP: 0010:__kvm_write_guest_page+0xc6/0xd0 [kvm]
[604223.656691] Code: cc cc cc 4c 89 e0 48 2b 86 b0 00 00 00 48 3b 86 b8 00 00 00 48 19 c9 48 21 c8 48 c1 e0 0c 48 03 86 f8 00 00 00 49 89 c5 eb 8c <0f> 0b 0f 0b 66 0f 1f 44 00 00 90 90 90 90 90 90 90 90 90 90 90 90
[604223.656700] RSP: 0018:ffffbfe943313b98 EFLAGS: 00010246
[604223.656711] RAX: 0000000000000000 RBX: 0000000000000002 RCX: ffff9decd2a4bf80
[604223.656718] RDX: 000000000080005f RSI: 0000000000000000 RDI: ffffbfe9425bd000
[604223.656725] RBP: 0000000000000002 R08: 0000000000000000 R09: 0000000000000002
[604223.656731] R10: 00000000ffffffff R11: ffff9decc8ca8290 R12: 000000000080005f
[604223.656738] R13: ffff9decd2a4bf80 R14: ffff9decc8ca8000 R15: 0000000000000000
[604223.656745] FS: 00007f548fc836c0(0000) GS:ffff9dfc00080000(0000) knlGS:0000000000000000
[604223.656754] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[604223.656761] CR2: 0000000013365000 CR3: 0000000b741fe002 CR4: 00000000003726e0
[604223.737599] RIP: 0010:__kvm_write_guest_page+0xc6/0xd0 [kvm]
[604223.737880] Code: cc cc cc 4c 89 e0 48 2b 86 b0 00 00 00 48 3b 86 b8 00 00 00 48 19 c9 48 21 c8 48 c1 e0 0c 48 03 86 f8 00 00 00 49 89 c5 eb 8c <0f> 0b 0f 0b 66 0f 1f 44 00 00 90 90 90 90 90 90 90 90 90 90 90 90
[604223.737890] RSP: 0018:ffffbfe943313b98 EFLAGS: 00010246
[604223.737900] RAX: 0000000000000000 RBX: 0000000000000002 RCX: ffff9decd2a4bf80
[604223.737905] RDX: 000000000080005f RSI: 0000000000000000 RDI: ffffbfe9425bd000
[604223.737910] RBP: 0000000000000002 R08: 0000000000000000 R09: 0000000000000002
[604223.737914] R10: 00000000ffffffff R11: ffff9decc8ca8290 R12: 000000000080005f
[604223.737919] R13: ffff9decd2a4bf80 R14: ffff9decc8ca8000 R15: 0000000000000000
[604223.737925] FS: 00007f549048b6c0(0000) GS:ffff9dfbfff00000(0000) knlGS:0000000000000000
[604223.737934] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[604223.737941] CR2: 0000000012c00000 CR3: 0000000b741fe003 CR4: 00000000003726e0
[604224.943222] MainLoopThread[1928634]: segfault at 98 ip 00007f54c04fdcd0 sp 00007f539836c198 error 4 in libgfxstream_backend.so[7f54c04dc000+9ac000] likely on CPU 5 (core 5, socket 0)
[604224.943271] MainLoopThread[1928670]: segfault at 150 ip 00007f54c04fdcd0 sp 00007f539391d198 error 4
[604224.943274] Code: d8 49 c1 eb 38 49 83 fb 01 77 09 4d 8d 41 ff 49 21 c8 eb 13 49 89 c8 4c 39 c9 72 0b 48 89 c8 31 d2 49 f7 f1 49 89 d0 48 8b 07 <4a> 8b 04 c0 48 85 c0 0f 84 92 00 00 00 48 8b 30 48 85 f6 0f 84 86
[604224.943308] in libgfxstream_backend.so[7f54c04dc000+9ac000] likely on CPU 9 (core 3, socket 0)
[604224.943329] Code: d8 49 c1 eb 38 49 83 fb 01 77 09 4d 8d 41 ff 49 21 c8 eb 13 49 89 c8 4c 39 c9 72 0b 48 89 c8 31 d2 49 f7 f1 49 89 d0 48 8b 07 <4a> 8b 04 c0 48 85 c0 0f 84 92 00 00 00 48 8b 30 48 85 f6 0f 84 86
[604224.943333] MainLoopThread[1928647]: segfault at 118 ip 00007f54c04fdcd0 sp 00007f5394bb3198 error 4
[604224.943337] MainLoopThread[1928635]: segfault at 148 ip 00007f54c04fdcd0 sp 00007f539816b198 error 4 in libgfxstream_backend.so[7f54c04dc000+9ac000]
[604224.943354] in libgfxstream_backend.so[7f54c04dc000+9ac000]
[604224.943355] MainLoopThread[1928666]: segfault at 150 ip 00007f54c04fdcd0 sp 00007f539431e198 error 4
[604224.943361] likely on CPU 4 (core 4, socket 0)
[604224.943367] likely on CPU 10 (core 4, socket 0)
bo...@google.com <bo...@google.com> #90
[ 335.237282] bad address 0xffffa07e00000000
[ 520.197432] bad address 0xffffa07e00000000
[ 520.197433] bad address 0xffffa07e00000000
bo...@google.com <bo...@google.com> #91
the bad address at kvm_is_error_hva, and it is strange, given that the address looks like kernel space address 0xfff...
and the qemu memeory maps has no such address at all
ya...@google.com <ya...@google.com>
ya...@google.com <ya...@google.com> #92
Andrew was unable to repro this issue. I will take it over for now (will probably sync up with Bo and Haitao offline)
hs...@google.com <hs...@google.com> #93
Is the "bad address" an HVA? In KVM, some HVA (and some guest physical address, too) is chosen to indicate an error. We need to double check whether 0xffffa07e00000000 simply means an error.
bo...@google.com <bo...@google.com> #94
you can try the following to disasble QuickbootFileBacked and see if that can work around the kvm bad address for now
-feature -QuickbootFileBacked
bo...@google.com <bo...@google.com> #95
the same size of ramSize (due to QuickbootFileBacked feature)
then, in themiddle of running emulator, somewhere munmap came an unmapped a few pages of that continous memory;
which then lead to kvm page fault.
disabling QuickbootFileBacked might mitigate this problem, but the root cause is to find the offending munmap and fix it.
bo...@google.com <bo...@google.com> #96
Set : GPA = 0x0000000000000000 HVA=0x00007ff4b4800000, size=0x00000000c0000000, flags=0x00000000
Set : GPA = 0x0000000000000000 HVA=0x00007ff4b4800000, size=0x0000000000000000, flags=0x00000000
Set : GPA = 0x0000000000000000 HVA=0x00007ff4b4800000, size=0x00000000000c0000, flags=0x00000000
Set : GPA = 0x0000000000000000 HVA=0x00007ff4b4800000, size=0x00000000000c0000, flags=0x00000000
Set : GPA = 0x0000000000000000 HVA=0x00007ff4b4800000, size=0x0000000000000000, flags=0x00000000
Set : GPA = 0x0000000000000000 HVA=0x00007ff4b4800000, size=0x00000000000d0000, flags=0x00000000
Set : GPA = 0x0000000000000000 HVA=0x00007ff4b4800000, size=0x0000000000000000, flags=0x00000000
Set : GPA = 0x0000000000000000 HVA=0x00007ff4b4800000, size=0x00000000000d0000, flags=0x00000000
Set : GPA = 0x0000000000000000 HVA=0x00007ff4b4800000, size=0x0000000000000000, flags=0x00000000
Set : GPA = 0x0000000000000000 HVA=0x00007ff4b4800000, size=0x00000000c0000000, flags=0x00000000
Set : GPA = 0x0000000000000000 HVA=0x00007ff4b4800000, size=0x0000000000000000, flags=0x00000000
Set : GPA = 0x0000000000000000 HVA=0x00007ff4b4800000, size=0x00000000c0000000, flags=0x00000000
Set : GPA = 0x0000000000000000 HVA=0x00007ff4b4800000, size=0x0000000000000000, flags=0x00000000
Set : GPA = 0x0000000000000000 HVA=0x00007ff4b4800000, size=0x00000000000c0000, flags=0x00000000
Set : GPA = 0x0000000000000000 HVA=0x00007ff4b4800000, size=0x0000000000000000, flags=0x00000000
Set : GPA = 0x0000000000000000 HVA=0x00007ff4b4800000, size=0x00000000000c0000, flags=0x00000000
---------- Start of EFAULT Debugging Info ----------
faulting guest physical address 0x000000002048d000
Found host virtual address of the faulting gpa 0x00007ff4d4c8d000
Printing /proc/self/maps...
7ff4b4700000-7ff4b4800000 rw-p 00000000 00:00 0
7ff4b4800000-7ff4d4c8d000 rw-p 00000000 00:00 0
7ff4d4c8f000-7ff574800000 rw-p 00000000 00:00 0
7ff574800000-7ff574801000 ---p 00000000 00:00 0
7ff574801000-7ff574803000 rw-s 00000000 00:05 748 /dev/nvidiactl
7ff574803000-7ff574807000 rw-s 00000000 00:05 748 /dev/nvidiactl
7ff574807000-7ff574808000 rw-s 00000000 00:05 750 /dev/nvidia0
7ff574808000-7ff57480a000 rw-s 00000000 00:05 748 /dev/nvidiactl
7ff57480a000-7ff57480b000 rw-s 00000000 00:05 750 /dev/nvidia0
7ff57480b000-7ff57480c000 rw-s 00000000 00:05 750 /dev/nvidia0
7ff57480c000-7ff57480d000 ---p 00000000 00:00 0
7ff57480d000-7ff57480f000 rw-p 00000000 00:00 0
7ff57480f000-7ff574811000 ---p 00000000 00:00 0
bo...@google.com <bo...@google.com> #97
then some unmap operation came along and punch a hole of 8192 bytes at
7ff4d4c8d000 to 7ff4d4c8f000
7ff4b4800000-7ff4d4c8d000 rw-p 00000000 00:00 0
7ff4d4c8f000-7ff574800000 rw-p 00000000 00:00 0
hs...@google.com <hs...@google.com> #98
bo...@google.com <bo...@google.com> #99
I traced the munmap, and it does not touch the hole at all.
btw, the ram.img is not mapped by mmap nither.
so, it probably is due to qemu itself.
st...@gmail.com <st...@gmail.com> #100
I confirm that flag -Vulkan resolve the issue.
What does this option do? Does it disable Vulkan?
ya...@google.com <ya...@google.com> #101
Hi,
-feature -Vulkan
disables Vulkan.
bo...@google.com <bo...@google.com> #102
when that happens, could you keep emulator alive (guest hangs but emulator still alive) and do the following
grep ram.img /proc/`pgrep qemu`/maps
I want to confirm you run into the same issue as I do here
bo...@google.com <bo...@google.com> #103
MainLoopThread-2043089 [003] 348786.632249: sys_enter_munmap: addr: 0x7fa66a367000, len: 0x00002000
MainLoopThread-2043089 [003] 348786.632439: sys_exit_munmap: 0x0
this unmapped two pages here: 7fa6526b8000-7fa66a367000 rw-s 00000000 fe:01 589 /usr/local/google/home/bohu/.android/avd/fold.avd/snapshots/default_boot/ram.img
7fa66a369000-7fa7126b8000 rw-s 17cb1000 fe:01 589 /usr/local/google/home/bohu/.android/avd/fold.avd/snapshots/default_boot/ram.img
it is our MainLoopThread
guest/GoldfishAddressSpace/include/goldfish_address_space_android.impl: ::munmap(ptr, size);
guest/GoldfishAddressSpace/include/goldfish_address_space_android.impl: ::munmap(pagePtr, size);
guest/OpenglCodecCommon/goldfish_dma.cpp: munmap(reinterpret_cast<void *>(cxt->mapped_addr), cxt->size);
guest/OpenglSystemCommon/VirtioGpuPipeStream.cpp: munmap(m_virtio_mapped, kTransferBufferSize);
guest/platform/linux/VirtGpuBlobMapping.cpp: munmap(mPtr, mSize);
guest/profiler/perfetto.cpp: int res = munmap(start, outer_size);
guest/profiler/perfetto.cpp: munmap(start(), size());
we have a bunch of munmap in gfxstream
hs...@google.com <hs...@google.com> #104
Although it looks like a different issue from Bo's. But it is also a memory issue.
I caught it using gdb. Due to my gdb issue, I cannot do source code level debugging. But I can use assembly to locate the source line. See below.
******************** Source Code**********************************************
void reservedunmarshal_VkPhysicalDeviceFeatures2(
VulkanStream* vkStream,
VkStructureType rootType,
VkPhysicalDeviceFeatures2* forUnmarshaling,
uint8_t** ptr)
{
memcpy((VkStructureType*)&forUnmarshaling->sType, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM)
{
rootType = forUnmarshaling->sType;
}
uint32_t pNext_size;
memcpy((uint32_t*)&pNext_size, *ptr, sizeof(uint32_t));
android::base::Stream::fromBe32((uint8_t*)&pNext_size);
*ptr += sizeof(uint32_t);
forUnmarshaling->pNext = nullptr;
if (pNext_size)
{
vkStream->alloc((void**)&forUnmarshaling->pNext, sizeof(VkStructureType));
memcpy((void*)forUnmarshaling->pNext, *ptr, sizeof(VkStructureType));
*ptr += sizeof(VkStructureType);
VkStructureType extType = *(VkStructureType*)(forUnmarshaling->pNext);
vkStream->alloc((void**)&forUnmarshaling->pNext, goldfish_vk_extension_struct_size_with_stream_features(vkStream->getFeatureBits(), rootType, forUnmarshaling->pNext));
----> *(VkStructureType*)forUnmarshaling->pNext = extType;
reservedunmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext), ptr);
}
reservedunmarshal_VkPhysicalDeviceFeatures(vkStream, rootType, (VkPhysicalDeviceFeatures*)(&forUnmarshaling->features), ptr);
}
**********************gdb output:******************************************
Thread 246 "MainLoopThread" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fa411154640 (LWP 228985)]
0x00007fa55dfbcaf8 in goldfish_vk::reservedunmarshal_VkPhysicalDeviceFeatures2(goldfish_vk::VulkanStream*, VkStructureType, VkPhysicalDeviceFeatures2*, unsigned char**) () from /home/tony/testemu/external/qemu/objs/distribution/emulator/lib64/libOpenglRender.so
(gdb) disas $rip
Dump of assembler code for function _ZN11goldfish_vk43reservedunmarshal_VkPhysicalDeviceFeatures2EPNS_12VulkanStreamE15VkStructureTypeP25VkPhysicalDeviceFeatures2PPh:
0x00007fa55dfbca50 <+0>: push %rbp
0x00007fa55dfbca51 <+1>: push %r15
0x00007fa55dfbca53 <+3>: push %r14
0x00007fa55dfbca55 <+5>: push %r13
0x00007fa55dfbca57 <+7>: push %r12
0x00007fa55dfbca59 <+9>: push %rbx
0x00007fa55dfbca5a <+10>: push %rax
0x00007fa55dfbca5b <+11>: mov %rcx,%rbx
0x00007fa55dfbca5e <+14>: mov %rdx,%r14
0x00007fa55dfbca61 <+17>: mov %esi,%r13d
0x00007fa55dfbca64 <+20>: mov %rdi,%r15
0x00007fa55dfbca67 <+23>: mov (%rcx),%rax
0x00007fa55dfbca6a <+26>: mov (%rax),%ebp
0x00007fa55dfbca6c <+28>: mov %ebp,(%rdx)
0x00007fa55dfbca6e <+30>: mov (%rcx),%rax
0x00007fa55dfbca71 <+33>: lea 0x4(%rax),%rcx
0x00007fa55dfbca75 <+37>: mov %rcx,(%rbx)
0x00007fa55dfbca78 <+40>: mov 0x4(%rax),%eax
0x00007fa55dfbca7b <+43>: mov %eax,0x4(%rsp)
0x00007fa55dfbca7f <+47>: lea 0x4(%rsp),%rdi
0x00007fa55dfbca84 <+52>: call 0x7fa55e7e8760 <_ZN7android4base6Stream8fromBe32EPh@plt>
0x00007fa55dfbca89 <+57>: addq $0x4,(%rbx)
0x00007fa55dfbca8d <+61>: movq $0x0,0x8(%r14)
0x00007fa55dfbca95 <+69>: cmpl $0x0,0x4(%rsp)
0x00007fa55dfbca9a <+74>: je 0x7fa55dfbcb08 <_ZN11goldfish_vk43reservedunmarshal_VkPhysicalDeviceFeatures2EPNS_12VulkanStreamE15VkStructureTypeP25VkPhysicalDeviceFeatures2PPh+184>
0x00007fa55dfbca9c <+76>: lea 0x8(%r14),%r12
0x00007fa55dfbcaa0 <+80>: cmp $0x7fffffff,%r13d
0x00007fa55dfbcaa7 <+87>: cmovne %r13d,%ebp
0x00007fa55dfbcaab <+91>: mov $0x4,%edx
0x00007fa55dfbcab0 <+96>: mov %r15,%rdi
0x00007fa55dfbcab3 <+99>: mov %r12,%rsi
0x00007fa55dfbcab6 <+102>: call 0x7fa55df5bd40
0x00007fa55dfbcabb <+107>: mov (%r12),%rax
0x00007fa55dfbcabf <+111>: mov (%rbx),%rcx
0x00007fa55dfbcac2 <+114>: mov (%rcx),%ecx
0x00007fa55dfbcac4 <+116>: mov %ecx,(%rax)
0x00007fa55dfbcac6 <+118>: addq $0x4,(%rbx)
0x00007fa55dfbcaca <+122>: mov (%r12),%rax
0x00007fa55dfbcace <+126>: mov (%rax),%r13d
0x00007fa55dfbcad1 <+129>: mov %r15,%rdi
0x00007fa55dfbcad4 <+132>: call 0x7fa55df5c4e0
0x00007fa55dfbcad9 <+137>: mov (%r12),%rdx
0x00007fa55dfbcadd <+141>: mov %eax,%edi
0x00007fa55dfbcadf <+143>: mov %ebp,%esi
0x00007fa55dfbcae1 <+145>: call 0x7fa55df68eb0 <_ZN11goldfish_vk54goldfish_vk_extension_struct_size_with_stream_featuresEj15VkStructureTypePKv>
0x00007fa55dfbcae6 <+150>: mov %r15,%rdi
0x00007fa55dfbcae9 <+153>: mov %r12,%rsi
0x00007fa55dfbcaec <+156>: mov %rax,%rdx
0x00007fa55dfbcaef <+159>: call 0x7fa55df5bd40
0x00007fa55dfbcaf4 <+164>: mov (%r12),%rdx
=> 0x00007fa55dfbcaf8 <+168>: mov %r13d,(%rdx)
0x00007fa55dfbcafb <+171>: mov %r15,%rdi
0x00007fa55dfbcafe <+174>: mov %ebp,%esi
0x00007fa55dfbcb00 <+176>: mov %rbx,%rcx
0x00007fa55dfbcb03 <+179>: call 0x7fa55dfb14a0 <_ZN11goldfish_vk34reservedunmarshal_extension_structEPNS_12VulkanStreamE15VkStructureTypePvPPh>
0x00007fa55dfbcb08 <+184>: add $0x10,%r14
0x00007fa55dfbcb0c <+188>: mov %r14,%rdx
0x00007fa55dfbcb0f <+191>: mov %rbx,%rcx
0x00007fa55dfbcb12 <+194>: call 0x7fa55dfb4ce0 <_ZN11goldfish_vk42reservedunmarshal_VkPhysicalDeviceFeaturesEPNS_12VulkanStreamE15VkStructureTypeP24VkPhysicalDeviceFeaturesPPh>
0x00007fa55dfbcb17 <+199>: add $0x8,%rsp
0x00007fa55dfbcb1b <+203>: pop %rbx
0x00007fa55dfbcb1c <+204>: pop %r12
0x00007fa55dfbcb1e <+206>: pop %r13
0x00007fa55dfbcb20 <+208>: pop %r14
0x00007fa55dfbcb22 <+210>: pop %r15
0x00007fa55dfbcb24 <+212>: pop %rbp
0x00007fa55dfbcb25 <+213>: ret
End of assembler dump.
(gdb) p $rip
$1 = (void (*)()) 0x7fa55dfbcaf8 <goldfish_vk::reservedunmarshal_VkPhysicalDeviceFeatures2(goldfish_vk::VulkanStream*, VkStructureType, VkPhysicalDeviceFeatures2*, unsigned char**)+168>
(gdb) p $rdx
$2 = 0
(gdb) p $r13d
$3 = 1000338000
ya...@google.com <ya...@google.com> #105
Haitao,
what was your system image build and emulator build? We have a few changes recently that might affect the behavior of VkPhysicalDeviceFeatures2. It could be a recent regression.
hs...@google.com <hs...@google.com> #106
System Image is API 34 Google Play image I downloaded yesterday.
ya...@google.com <ya...@google.com> #107
Haitao,
For the google play image, did you download it from internal or external? Do you have the build id?
For the emulator, would you try to go to hardware/google/gfxstream, do a git log and see if you are before or after this one aosp/2768212 ?
ya...@google.com <ya...@google.com> #108
Also, does it print anything like unknown structType
hs...@google.com <hs...@google.com> #109
I will check gfxstream.
I did not see anything else from console. Just "Segmentation fault (core dumped)".
hs...@google.com <hs...@google.com> #110
ya...@google.com <ya...@google.com> #111
If you run this:
cat ~/Android/Sdk/system-images/android-34/google_apis/x86_64/build.prop
There should be a ro.build.id
and a ro.build.display.id
ya...@google.com <ya...@google.com> #112
Would you try to roll back to before 2768212?
hs...@google.com <hs...@google.com> #113
hs...@google.com <hs...@google.com> #114
hs...@google.com <hs...@google.com> #115
ya...@google.com <ya...@google.com> #116
Chat with Haitao offline regarding #104. gfxstream emulator works but non-gfxstream doesn't.
The non-gfxstream emulator does not support vk1.3, so please stick with the gfxstream build for newer Android U images.
ya...@google.com <ya...@google.com>
de...@gmail.com <de...@gmail.com> #118
pa...@infocusp.com <pa...@infocusp.com> #119
The emulator crashes for me as well, when I open the Chrome app.
Android Studio Giraffe | 2022.3.1 Patch 2
Build #AI-223.8836.35.2231.10811636, built on September 15, 2023
Runtime version: 17.0.6+0-17.0.6b829.9-10027231 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
Linux 6.2.0-34-generic
GC: G1 Young Generation, G1 Old Generation
Memory: 2048M
Cores: 8
Registry:
external.system.auto.import.disabled=true
debugger.new.tool.window.layout=true
ide.text.editor.with.preview.show.floating.toolbar=false
ide.experimental.ui=true
Non-Bundled Plugins:
com.tabnine.TabNine (1.9.0)
idea.plugin.protoeditor (223.8214.6)
Current Desktop: ubuntu:GNOME
Emulator version: 32.1.15
Android image: API 34 Google APIs x86_64
bo...@google.com <bo...@google.com> #120
va...@gmail.com <va...@gmail.com> #121
What's worse is that when I went through the process of logging into a Google account on the virtual device, giving Chrome all permissions to use Photos, Mic, Location, etc, I clicked on Chrome, it opened fully, allowed me to select my account, and then it crashed and crashed the emulator. Now the entire Emulator crashes as soon as it starts without me opening anything or interacting with it lol.
The crashing behavior does not occur on API 33.
I'm running Windows 11 x64 with an Nvidia GPU
Android Studio Giraffe | 2022.3.1 Patch 2
Build #AI-223.8836.35.2231.10811636, built on September 14, 2023
Runtime version: 17.0.6+0-b2043.56-10027231 amd64
What files and information do you need to help fix this that I can provide from my machine? Do you have a template?
hs...@google.com <hs...@google.com> #122
In addition, can you let us know your CPU model, memory size? Can you run the emulator from commandline "emulator.exe -avd <avd name> -verbose -show-kernel" and paste the output here?
va...@gmail.com <va...@gmail.com> #123
Where can I find the crash IDs at? I don't see any crash ID or crash window when the emulator forcibly shuts down. I saw it once and I made a report but I haven't seen it since.
I attached the output of the emulator starting, it crashed after it started but it didn't make any mention of it in the log output. It crashed right after message [ 31.973264]
CPU Model: Intel Core i7-10700K
Memory: 16GBs of DDR4-3200 using XMP
Let me know if you need any other info
bo...@google.com <bo...@google.com> #124
emulator:Found AVD name 'Pixel_5_API_34'
emulator:Found AVD target architecture: x86_6
this version is a bit outdated, could you try updating it to latest stable or canary ?
va...@gmail.com <va...@gmail.com> #125
@ #124 Android Studio shows version 32.1.15 being installed as seen in my screen shot. I only installed Android Studio in the last 5 days from the latest release, I'm not sure where it would be finding 26.0.3.0 at. The SDK Manager gives no option to update the emulator. Maybe this is part of the issue?
Is there a newer binary you'd like me to try out and report back on that you can link me to?
va...@gmail.com <va...@gmail.com> #126
Just for reference, I downloaded 32.1.15 from here - emulator.exe -avd Pixel_5_API_34 -verbose -show-kernel
...
INFO | Android emulator version 32.1.15.0 (build_id 10696886) (CL:N/A)
It shows the correct version when launching but still crashes without any user input after Android boots up.
I attached the kernel log as well. Happy to test more stuff if it helps.
hs...@google.com <hs...@google.com> #127
Can you check if adding "-feature -Vulkan" or "-feature -feature -GLDirectMem,-GLDMA,-GLDMA2" can solve your problem?
I had an AMD CPU and NVidia GPU but was not able to reproduce the issue. Note that all other reports in this bug are on Linux. It is hard to tell whether yours are the same one at the moment.
va...@gmail.com <va...@gmail.com> #128
Ah interesting, so adding the flag -feature -Vulkan
, the emulator seems to be stable. Opening Chrome seems okay but web pages do not render correctly. If I shutdown the emulator and start it up again without the Vulkan flag it crashes as soon as I click on Chrome.
.\emulator.exe -avd Pixel_5_API_34 -verbose -show-kernel -feature -Vulkan
<-- Doesn't crash, Chrome opens okay but web pages do not render correctly, any site that tries to render shows up blank.
.\emulator.exe -avd Pixel_5_API_34 -verbose -show-kernel -feature -GLDirectMem
<-- Crashes when clicking Chrome
.\emulator.exe -avd Pixel_5_API_34 -verbose -show-kernel -feature -GLDirectMem -feature -GLDMA
<-- Crashes when clicking Chrome
.\emulator.exe -avd Pixel_5_API_34 -verbose -show-kernel -feature -GLDirectMem -feature -GLDMA -feature -GLDMA2
<-- Crashed before I clicked on Chrome
.\emulator.exe -avd Pixel_5_API_34 -verbose -show-kernel -feature -GLDirectMem -feature -GLDMA2
<-- Crashes when clicking Chrome
.\emulator.exe -avd Pixel_5_API_34 -verbose -show-kernel -feature -GLDirectMem -feature -GLDMA2 -feature -Vulkan
<-- Chrome opens but won't render web pages, they show up blank.
Let me know if you want any other info or something else tested. Doesn't seem limited to only Linux :)
I have an Nvidia 3080 for reference.
va...@gmail.com <va...@gmail.com> #129
Attached are images of how the web pages look with issues.
gs...@gmail.com <gs...@gmail.com> #130
Re #121, #122: On windows (at least for me) this issue of chrome immediately crashing started with the release of the 'Google APIs Intel x86_64 Atom System Image' API Level 34 revision 9. API 34 revision 10, that I got offered today, is also affected. Before that, i.e. up to and including API 34 revision 8 system image, this issue did NOT occur. It also des NOT occur on API 33 system images, up to and including the recent revision 15.
The emulator was in all those cases 32.1.15.
I've submitted an emulator crash report (as offered on the next emulator startup) and left a reference to this issue / comment 130 in the description.
If this issue here is only about linux (and started long time ago), would it make sense to split this windows related issue (which started only recently and seems to be api 34 system image related) off into a separate track?
hs...@google.com <hs...@google.com> #131
bo...@google.com <bo...@google.com> #132
you can try the canary using canary studio
or some 33.1.17 here
ya...@google.com <ya...@google.com> #133
Hi,
if you are using API 34 system image revision 10, please either use -feature -Vulkan
, or switch to the latest emulator version 33* or 34*. They are available with the Preview version of Android Studio
de...@gmail.com <de...@gmail.com> #134
This issue persists on Windows 11 including emulator v10
ca...@google.com <ca...@google.com> #135
On emu 34.1.9-11009885 and Windows. When I run API 33 on swifthshader opening chrome crashes the AVD for me.
cl...@gmail.com <cl...@gmail.com> #136
Same happens to me on Windows 11 23H2 with i5-11400F and GTX1660 Super (using latest driver 546.17). Using Android Studio Giraffe 2022.3.1 Patch 3, Emulator 32.1.15 running Android 14. Issue is gone when using the Vulkan flag but I don't want to do this everytime I want to start my emulator.
ta...@gmail.com <ta...@gmail.com> #137
-verbose -show-kernel -feature -Vulkan
open chrome runing ok.
crash when open chrome in the AVD
./Sdk/emulator/emulator -avd Pixel_7_Pro_API_34 -verbose -show-kernel
INFO | Storing crashdata in: /tmp/android-takeseem/emu-crash-34.1.10.db, detection is enabled for process: 61527
INFO | Android emulator version 34.1.10.0 (build_id 11042718) (CL:N/A)
DEBUG | Current emulator version 34.1.10 is the same as the required version 34.1.10.
INFO | Deleting /home/takeseem/.android/avd/../avd/Pixel_7_Pro_API_34.avd/bootcompleted.ini done
INFO | Found AVD name 'Pixel_7_Pro_API_34'
INFO | Found AVD target architecture: x86_64
INFO | argv[0]: './Sdk/emulator/emulator'; program directory: '/data/app/android/Android/Sdk/emulator'
INFO | Found systemPath /data/app/android/Android/Sdk/system-images/android-34/google_apis_playstore/x86_64/
INFO | emuDirName: '/data/app/android/Android/Sdk/emulator'
INFO | try dir /data/app/android/Android/Sdk/emulator
INFO | Trying emulator path '/data/app/android/Android/Sdk/emulator/qemu/linux-x86_64/qemu-system-x86_64'
INFO | Found target-specific 64-bit emulator binary: /data/app/android/Android/Sdk/emulator/qemu/linux-x86_64/qemu-system-x86_64
INFO | Adding library search path: '/data/app/android/Android/Sdk/emulator/lib64'
INFO | Adding library search path: '/data/app/android/Android/Sdk/emulator/lib64/gles_swiftshader'
INFO | Adding library search path: '/data/app/android/Android/Sdk/emulator/lib64/libstdc++'
DEBUG | emulator: Running :/data/app/android/Android/Sdk/emulator/qemu/linux-x86_64/qemu-system-x86_64
DEBUG | qemu backend: argv[00] = "/data/app/android/Android/Sdk/emulator/qemu/linux-x86_64/qemu-system-x86_64"
DEBUG | qemu backend: argv[01] = "-avd"
DEBUG | qemu backend: argv[02] = "Pixel_7_Pro_API_34"
DEBUG | qemu backend: argv[03] = "-verbose"
DEBUG | qemu backend: argv[04] = "-show-kernel"
DEBUG | Concatenated backend parameters: /data/app/android/Android/Sdk/emulator/qemu/linux-x86_64/qemu-system-x86_64 -avd Pixel_7_Pro_API_34 -verbose -show-kernel
INFO | Storing crashdata in: /tmp/android-takeseem/emu-crash-34.1.10.db, detection is enabled for process: 61527
INFO | Duplicate loglines will be removed, if you wish to see each individual line launch with the -log-nofilter flag.
DEBUG | autoconfig: -skin pixel_7_pro
DEBUG | autoconfig: -skindir /home/takeseem/Android/Sdk/skins/
DEBUG | autoconfig: -kernel /data/app/android/Android/Sdk/system-images/android-34/google_apis_playstore/x86_64//kernel-ranchu
DEBUG | Target arch = 'x86_64'
DEBUG | Auto-detect: Kernel image requires new device naming scheme.
DEBUG | Auto-detect: Kernel does not support YAFFS2 partitions.
DEBUG | autoconfig: -ramdisk /data/app/android/Android/Sdk/system-images/android-34/google_apis_playstore/x86_64//ramdisk.img
DEBUG | Using initial system image: /data/app/android/Android/Sdk/system-images/android-34/google_apis_playstore/x86_64//system.img
DEBUG | Using initial vendor image: /data/app/android/Android/Sdk/system-images/android-34/google_apis_playstore/x86_64//vendor.img
DEBUG | autoconfig: -data /home/takeseem/.android/avd/../avd/Pixel_7_Pro_API_34.avd/userdata-qemu.img
DEBUG | autoconfig: -initdata /home/takeseem/.android/avd/../avd/Pixel_7_Pro_API_34.avd/userdata.img
DEBUG | autoconfig: -cache /home/takeseem/.android/avd/../avd/Pixel_7_Pro_API_34.avd/cache.img
DEBUG | autoconfig: -sdcard /home/takeseem/.android/avd/../avd/Pixel_7_Pro_API_34.avd/sdcard.img
DEBUG | foldable or large screen devices with api >=33 is set to have minimum ram 3G
INFO | Increasing RAM size to 3072MB
DEBUG | VM heap size 384MB is below hardware specified minimum of 576MB,setting it to that value
DEBUG | System image is read only
DEBUG | Found 1 DNS servers:
DEBUG | 127.0.0.53
DEBUG | Starting hostapd main loop.
DEBUG | trying to load skin file '/home/takeseem/Android/Sdk/skins//pixel_7_pro/layout'
DEBUG | File System is ext4, do not disable QuickbootFileBacked feature
DEBUG | statvfs('/home/takeseem/.android/avd/../avd/Pixel_7_Pro_API_34.avd/snapshots/default_boot/ram.img') failed: No such file or directory
DEBUG | CPU Acceleration: working
DEBUG | CPU Acceleration status: KVM (version 12) is installed and usable.
DEBUG | handleCpuAcceleration: feature check for hvf
DEBUG | Bluetooth requested by guest
DEBUG | started modem simulator host server at port: 37603
library_mode host gpu mode host
DEBUG | GPU emulation enabled using 'host' mode
DEBUG | Initializing hardware OpenGLES emulation support
I1203 23:52:09.207024 61527 HealthMonitor.cpp:279] HealthMonitor disabled.
DEBUG | create display 0
DEBUG | setDisplayPose 0 x 0 y 0 w 1440 h 3120 dpi 0
cannot add library libvulkan.so: failed
added library libvulkan.so.1
createGlobalVkEmulation:964 Selecting Vulkan device: AMD Unknown (RADV GFX1103_R1)
initialize: Supports id properties, got a vulkan device UUID
WARNING: could not open libX11.so, try libX11.so.6
I1203 23:52:09.312144 61527 VkCommonOperations.cpp:1226] Initializing VkEmulation features:
I1203 23:52:09.312160 61527 VkCommonOperations.cpp:1227] glInteropSupported: true
I1203 23:52:09.312163 61527 VkCommonOperations.cpp:1228] useDeferredCommands: true
I1203 23:52:09.312167 61527 VkCommonOperations.cpp:1230] createResourceWithRequirements: true
I1203 23:52:09.312170 61527 VkCommonOperations.cpp:1231] useVulkanComposition: false
I1203 23:52:09.312173 61527 VkCommonOperations.cpp:1232] useVulkanNativeSwapchain: false
I1203 23:52:09.312176 61527 VkCommonOperations.cpp:1233] enable guestRenderDoc: false
I1203 23:52:09.312179 61527 VkCommonOperations.cpp:1234] ASTC LDR emulation mode: 2
I1203 23:52:09.312182 61527 VkCommonOperations.cpp:1235] enable ETC2 emulation: true
I1203 23:52:09.312185 61527 VkCommonOperations.cpp:1236] enable Ycbcr emulation: false
I1203 23:52:09.312188 61527 VkCommonOperations.cpp:1237] guestUsesAngle: false
I1203 23:52:09.312190 61527 VkCommonOperations.cpp:1238] useDedicatedAllocations: true
I1203 23:52:09.312361 61527 FrameBuffer.cpp:486] Graphics Adapter Vendor Google (AMD)
I1203 23:52:09.312366 61527 FrameBuffer.cpp:487] Graphics Adapter Android Emulator OpenGL ES Translator (GFX1103_R1 (gfx1103_r1, LLVM 15.0.7, DRM 3.49, 6.2.0-37-generic))
I1203 23:52:09.312370 61527 FrameBuffer.cpp:488] Graphics API Version OpenGL ES 3.0 (4.6 (Core Profile) Mesa 23.0.4-0ubuntu1~22.04.1)
I1203 23:52:09.312373 61527 FrameBuffer.cpp:489] Graphics API Extensions GL_OES_EGL_sync GL_OES_EGL_image GL_OES_EGL_image_external GL_OES_depth24 GL_OES_depth32 GL_OES_element_index_uint GL_OES_texture_float GL_OES_texture_float_linear GL_OES_compressed_paletted_texture GL_OES_compressed_ETC1_RGB8_texture GL_OES_depth_texture GL_OES_texture_half_float GL_OES_texture_half_float_linear GL_OES_packed_depth_stencil GL_OES_vertex_half_float GL_OES_texture_npot GL_OES_rgb8_rgba8 GL_EXT_color_buffer_float GL_EXT_color_buffer_half_float GL_EXT_texture_format_BGRA8888 GL_APPLE_texture_format_BGRA8888
I1203 23:52:09.312377 61527 FrameBuffer.cpp:490] Graphics Device Extensions N/A
INFO | Setting vsync to 60 hz
DEBUG | Found 1 DNS servers:
DEBUG | 127.0.0.53
INFO | Content of hardware configuration file:
INFO | hw.cpu.arch = x86_64
INFO | hw.cpu.ncore = 4
INFO | hw.ramSize = 3072
INFO | hw.screen = multi-touch
INFO | hw.mainKeys = false
INFO | hw.trackBall = false
INFO | hw.keyboard = true
INFO | hw.keyboard.lid = false
INFO | hw.keyboard.charmap = qwerty2
INFO | hw.dPad = false
INFO | hw.rotaryInput = false
INFO | hw.gsmModem = true
INFO | hw.gps = true
INFO | hw.battery = true
INFO | hw.accelerometer = true
INFO | hw.accelerometer_uncalibrated = true
INFO | hw.gyroscope = true
INFO | hw.audioInput = true
INFO | hw.audioOutput = true
INFO | hw.sdCard = true
INFO | hw.sdCard.path = /home/takeseem/.android/avd/../avd/Pixel_7_Pro_API_34.avd/sdcard.img
INFO | disk.cachePartition = true
INFO | disk.cachePartition.path = /home/takeseem/.android/avd/../avd/Pixel_7_Pro_API_34.avd/cache.img
INFO | disk.cachePartition.size = 66m
INFO | test.quitAfterBootTimeOut = -1
INFO | test.delayAdbTillBootComplete = 0
INFO | test.monitorAdb = 0
INFO | hw.lcd.width = 1440
INFO | hw.lcd.height = 3120
INFO | hw.lcd.depth = 16
INFO | hw.lcd.circular = false
INFO | hw.lcd.density = 560
INFO | hw.lcd.backlight = true
INFO | hw.lcd.vsync = 60
INFO | hw.gltransport = pipe
INFO | hw.gltransport.asg.writeBufferSize = 1048576
INFO | hw.gltransport.asg.writeStepSize = 4096
INFO | hw.gltransport.asg.dataRingSize = 32768
INFO | hw.gltransport.drawFlushInterval = 800
INFO | hw.displayRegion.0.1.xOffset = -1
INFO | hw.displayRegion.0.1.yOffset = -1
INFO | hw.displayRegion.0.1.width = 0
INFO | hw.displayRegion.0.1.height = 0
INFO | hw.displayRegion.0.2.xOffset = -1
INFO | hw.displayRegion.0.2.yOffset = -1
INFO | hw.displayRegion.0.2.width = 0
INFO | hw.displayRegion.0.2.height = 0
INFO | hw.displayRegion.0.3.xOffset = -1
INFO | hw.displayRegion.0.3.yOffset = -1
INFO | hw.displayRegion.0.3.width = 0
INFO | hw.displayRegion.0.3.height = 0
INFO | hw.display1.width = 0
INFO | hw.display1.height = 0
INFO | hw.display1.density = 0
INFO | hw.display1.xOffset = -1
INFO | hw.display1.yOffset = -1
INFO | hw.display1.flag = 0
INFO | hw.display2.width = 0
INFO | hw.display2.height = 0
INFO | hw.display2.density = 0
INFO | hw.display2.xOffset = -1
INFO | hw.display2.yOffset = -1
INFO | hw.display2.flag = 0
INFO | hw.display3.width = 0
INFO | hw.display3.height = 0
INFO | hw.display3.density = 0
INFO | hw.display3.xOffset = -1
INFO | hw.display3.yOffset = -1
INFO | hw.display3.flag = 0
INFO | hw.multi_display_window = false
INFO | hw.hotplug_multi_display = false
INFO | hw.gpu.enabled = true
INFO | hw.gpu.mode = host
INFO | hw.initialOrientation = Portrait
INFO | hw.camera.back = virtualscene
INFO | hw.camera.front = emulated
INFO | vm.heapSize = 576
INFO | hw.sensors.light = true
INFO | hw.sensors.pressure = true
INFO | hw.sensors.humidity = true
INFO | hw.sensors.proximity = true
INFO | hw.sensors.magnetic_field = true
INFO | hw.sensors.magnetic_field_uncalibrated = true
INFO | hw.sensors.gyroscope_uncalibrated = true
INFO | hw.sensors.orientation = true
INFO | hw.sensors.temperature = true
INFO | hw.sensors.rgbclight = false
INFO | hw.sensor.hinge = false
INFO | hw.sensor.hinge.count = 0
INFO | hw.sensor.hinge.type = 0
INFO | hw.sensor.hinge.sub_type = 0
INFO | hw.sensor.hinge.fold_to_displayRegion.0.1_at_posture = 1
INFO | hw.sensor.roll = false
INFO | hw.sensor.roll.count = 0
INFO | hw.sensor.roll.resize_to_displayRegion.0.1_at_posture = 6
INFO | hw.sensor.roll.resize_to_displayRegion.0.2_at_posture = 6
INFO | hw.sensor.roll.resize_to_displayRegion.0.3_at_posture = 6
INFO | hw.sensors.heart_rate = false
INFO | hw.sensors.wrist_tilt = false
INFO | hw.useext4 = true
INFO | hw.arc = false
INFO | hw.arc.autologin = false
INFO | hw.device.name = pixel_7_pro
INFO | kernel.path = /data/app/android/Android/Sdk/system-images/android-34/google_apis_playstore/x86_64//kernel-ranchu
INFO | kernel.newDeviceNaming = yes
INFO | kernel.supportsYaffs2 = no
INFO | disk.ramdisk.path = /data/app/android/Android/Sdk/system-images/android-34/google_apis_playstore/x86_64//ramdisk.img
INFO | disk.systemPartition.initPath = /data/app/android/Android/Sdk/system-images/android-34/google_apis_playstore/x86_64//system.img
INFO | disk.systemPartition.size = 2957m
INFO | disk.vendorPartition.initPath = /data/app/android/Android/Sdk/system-images/android-34/google_apis_playstore/x86_64//vendor.img
INFO | disk.vendorPartition.size = 800m
INFO | disk.dataPartition.path = /home/takeseem/.android/avd/../avd/Pixel_7_Pro_API_34.avd/userdata-qemu.img
INFO | disk.dataPartition.size = 6g
INFO | disk.encryptionKeyPartition.path = /home/takeseem/.android/avd/../avd/Pixel_7_Pro_API_34.avd/encryptionkey.img
INFO | PlayStore.enabled = true
INFO | avd.name = Pixel_7_Pro_API_34
INFO | avd.id = Pixel_7_Pro_API_34
INFO | fastboot.forceColdBoot = false
INFO | userdata.useQcow2 = true
INFO | firstboot.bootFromDownloadableSnapshot = true
INFO | firstboot.bootFromLocalSnapshot = true
INFO | firstboot.saveToLocalSnapshot = true
INFO | android.sdk.root = /data/app/android/Android/Sdk
INFO | android.avd.home = /home/takeseem/.android/avd
INFO | .
INFO | QEMU options list:
INFO | argv[00] = "/data/app/android/Android/Sdk/emulator/qemu/linux-x86_64/qemu-system-x86_64"
INFO | argv[01] = "-dns-server"
INFO | argv[02] = "127.0.0.53"
INFO | argv[03] = "-mem-path"
INFO | argv[04] = "/home/takeseem/.android/avd/../avd/Pixel_7_Pro_API_34.avd/snapshots/default_boot/ram.img"
INFO | argv[05] = "-mem-file-shared"
INFO | argv[06] = "-serial"
INFO | argv[07] = "stdio"
INFO | argv[08] = "-device"
INFO | argv[09] = "goldfish_pstore,addr=0xff018000,size=0x10000,file=/home/takeseem/.android/avd/../avd/Pixel_7_Pro_API_34.avd/data/misc/pstore/pstore.bin"
INFO | argv[10] = "-cpu"
INFO | argv[11] = "android64-xts"
INFO | argv[12] = "-enable-kvm"
INFO | argv[13] = "-smp"
INFO | argv[14] = "cores=4"
INFO | argv[15] = "-m"
INFO | argv[16] = "3072"
INFO | argv[17] = "-lcd-density"
INFO | argv[18] = "560"
INFO | argv[19] = "-object"
INFO | argv[20] = "iothread,id=disk-iothread"
INFO | argv[21] = "-nodefaults"
INFO | argv[22] = "-kernel"
INFO | argv[23] = "/data/app/android/Android/Sdk/system-images/android-34/google_apis_playstore/x86_64//kernel-ranchu"
INFO | argv[24] = "-initrd"
INFO | argv[25] = "/home/takeseem/.android/avd/../avd/Pixel_7_Pro_API_34.avd/initrd"
INFO | argv[26] = "-drive"
INFO | argv[27] = "if=none,index=0,id=system,if=none,file=/data/app/android/Android/Sdk/system-images/android-34/google_apis_playstore/x86_64//system.img,read-only"
INFO | argv[28] = "-device"
INFO | argv[29] = "virtio-blk-pci,drive=system,iothread=disk-iothread,modern-pio-notify"
INFO | argv[30] = "-drive"
INFO | argv[31] = "if=none,index=1,id=cache,if=none,file=/home/takeseem/.android/avd/../avd/Pixel_7_Pro_API_34.avd/cache.img.qcow2,overlap-check=none,cache=unsafe,l2-cache-size=1048576"
INFO | argv[32] = "-device"
INFO | argv[33] = "virtio-blk-pci,drive=cache,iothread=disk-iothread,modern-pio-notify"
INFO | argv[34] = "-drive"
INFO | argv[35] = "if=none,index=2,id=userdata,if=none,file=/home/takeseem/.android/avd/../avd/Pixel_7_Pro_API_34.avd/userdata-qemu.img.qcow2,overlap-check=none,cache=unsafe,l2-cache-size=1048576"
INFO | argv[36] = "-device"
INFO | argv[37] = "virtio-blk-pci,drive=userdata,iothread=disk-iothread,modern-pio-notify"
INFO | argv[38] = "-drive"
INFO | argv[39] = "if=none,index=3,id=encrypt,if=none,file=/home/takeseem/.android/avd/../avd/Pixel_7_Pro_API_34.avd/encryptionkey.img.qcow2,overlap-check=none,cache=unsafe,l2-cache-size=1048576"
INFO | argv[40] = "-device"
INFO | argv[41] = "virtio-blk-pci,drive=encrypt,iothread=disk-iothread,modern-pio-notify"
INFO | argv[42] = "-drive"
INFO | argv[43] = "if=none,index=4,id=vendor,if=none,file=/data/app/android/Android/Sdk/system-images/android-34/google_apis_playstore/x86_64//vendor.img,read-only"
INFO | argv[44] = "-device"
INFO | argv[45] = "virtio-blk-pci,drive=vendor,iothread=disk-iothread,modern-pio-notify"
INFO | argv[46] = "-drive"
INFO | argv[47] = "if=none,index=5,id=sdcard,if=none,file=/home/takeseem/.android/avd/../avd/Pixel_7_Pro_API_34.avd/sdcard.img.qcow2,overlap-check=none,cache=unsafe,l2-cache-size=1048576"
INFO | argv[48] = "-device"
INFO | argv[49] = "virtio-blk-pci,drive=sdcard,iothread=disk-iothread,modern-pio-notify"
INFO | argv[50] = "-netdev"
INFO | argv[51] = "user,id=mynet"
INFO | argv[52] = "-device"
INFO | argv[53] = "virtio-net-pci,netdev=mynet"
INFO | argv[54] = "-chardev"
INFO | argv[55] = "null,id=forhvc0"
INFO | argv[56] = "-chardev"
INFO | argv[57] = "null,id=forhvc1"
INFO | argv[58] = "-device"
INFO | argv[59] = "virtio-serial-pci,ioeventfd=off"
INFO | argv[60] = "-device"
INFO | argv[61] = "virtconsole,chardev=forhvc0"
INFO | argv[62] = "-device"
INFO | argv[63] = "virtconsole,chardev=forhvc1"
INFO | argv[64] = "-chardev"
INFO | argv[65] = "netsim,id=bluetooth"
INFO | argv[66] = "-device"
INFO | argv[67] = "virtserialport,chardev=bluetooth,name=bluetooth"
INFO | argv[68] = "-device"
INFO | argv[69] = "virtio-serial,ioeventfd=off"
INFO | argv[70] = "-chardev"
INFO | argv[71] = "socket,port=36775,host=::1,nowait,nodelay,reconnect=10,ipv6,id=modem"
INFO | argv[72] = "-device"
INFO | argv[73] = "virtserialport,chardev=modem,name=modem"
INFO | argv[74] = "-device"
INFO | argv[75] = "virtio-rng-pci"
INFO | argv[76] = "-show-cursor"
INFO | argv[77] = "-device"
INFO | argv[78] = "virtio_input_multi_touch_pci_1"
INFO | argv[79] = "-device"
INFO | argv[80] = "virtio_input_multi_touch_pci_2"
INFO | argv[81] = "-device"
INFO | argv[82] = "virtio_input_multi_touch_pci_3"
INFO | argv[83] = "-device"
INFO | argv[84] = "virtio_input_multi_touch_pci_4"
INFO | argv[85] = "-device"
INFO | argv[86] = "virtio_input_multi_touch_pci_5"
INFO | argv[87] = "-device"
INFO | argv[88] = "virtio_input_multi_touch_pci_6"
INFO | argv[89] = "-device"
INFO | argv[90] = "virtio_input_multi_touch_pci_7"
INFO | argv[91] = "-device"
INFO | argv[92] = "virtio_input_multi_touch_pci_8"
INFO | argv[93] = "-device"
INFO | argv[94] = "virtio_input_multi_touch_pci_9"
INFO | argv[95] = "-device"
INFO | argv[96] = "virtio_input_multi_touch_pci_10"
INFO | argv[97] = "-device"
INFO | argv[98] = "virtio_input_multi_touch_pci_11"
INFO | argv[99] = "-device"
INFO | argv[100] = "virtio-keyboard-pci"
INFO | argv[101] = "-netdev"
INFO | argv[102] = "user,id=virtio-wifi,dhcpstart=10.0.2.16"
INFO | argv[103] = "-device"
INFO | argv[104] = "virtio-wifi-pci,netdev=virtio-wifi"
INFO | argv[105] = "-device"
INFO | argv[106] = "virtio-vsock-pci,guest-cid=77"
INFO | argv[107] = "-L"
INFO | argv[108] = "/data/app/android/Android/Sdk/emulator/lib/pc-bios"
INFO | argv[109] = "-soundhw"
INFO | argv[110] = "virtio-snd-pci"
INFO | argv[111] = "-vga"
INFO | argv[112] = "none"
INFO | argv[113] = "-append"
INFO | argv[114] = "no_timer_check 8250.nr_uarts=1 clocksource=pit console=ttyS0,38400 cma=326M@0-4G loop.max_part=7 ramoops.mem_address=0xff018000 ramoops.mem_size=0x10000 memmap=0x10000$0xff018000 printk.devkmsg=on bootconfig"
INFO | argv[115] = "-android-hw"
INFO | argv[116] = "/home/takeseem/.android/avd/../avd/Pixel_7_Pro_API_34.avd/hardware-qemu.ini"
INFO | Concatenated QEMU options: /data/app/android/Android/Sdk/emulator/qemu/linux-x86_64/qemu-system-x86_64 -dns-server 127.0.0.53 -mem-path /home/takeseem/.android/avd/../avd/Pixel_7_Pro_API_34.avd/snapshots/default_boot/ram.img -mem-file-shared -serial stdio -device goldfish_pstore,addr=0xff018000,size=0x10000,file=/home/takeseem/.android/avd/../avd/Pixel_7_Pro_API_34.avd/data/misc/pstore/pstore.bin -cpu android64-xts -enable-kvm -smp cores=4 -m 3072 -lcd-density 560 -object iothread,id=disk-iothread -nodefaults -kernel /data/app/android/Android/Sdk/system-images/android-34/google_apis_playstore/x86_64//kernel-ranchu -initrd /home/takeseem/.android/avd/../avd/Pixel_7_Pro_API_34.avd/initrd -drive if=none,index=0,id=system,if=none,file=/data/app/android/Android/Sdk/system-images/android-34/google_apis_playstore/x86_64//system.img,read-only -device virtio-blk-pci,drive=system,iothread=disk-iothread,modern-pio-notify -drive if=none,index=1,id=cache,if=none,file=/home/takeseem/.android/avd/../avd/Pixel_7_Pro_API_34.avd/cache.img.qcow2,overlap-check=none,cache=unsafe,l2-cache-size=1048576 -device virtio-blk-pci,drive=cache,iothread=disk-iothread,modern-pio-notify -drive if=none,index=2,id=userdata,if=none,file=/home/takeseem/.android/avd/../avd/Pixel_7_Pro_API_34.avd/userdata-qemu.img.qcow2,overlap-check=none,cache=unsafe,l2-cache-size=1048576 -device virtio-blk-pci,drive=userdata,iothread=disk-iothread,modern-pio-notify -drive if=none,index=3,id=encrypt,if=none,file=/home/takeseem/.android/avd/../avd/Pixel_7_Pro_API_34.avd/encryptionkey.img.qcow2,overlap-check=none,cache=unsafe,l2-cache-size=1048576 -device virtio-blk-pci,drive=encrypt,iothread=disk-iothread,modern-pio-notify -drive if=none,index=4,id=vendor,if=none,file=/data/app/android/Android/Sdk/system-images/android-34/google_apis_playstore/x86_64//vendor.img,read-only -device virtio-blk-pci,drive=vendor,iothread=disk-iothread,modern-pio-notify -drive if=none,index=5,id=sdcard,if=none,file=/home/takeseem/.android/avd/../avd/Pixel_7_Pro_API_34.avd/sdcard.
DEBUG | Android qemu version 34.1.10.0 (build_id 11042718) (CL:N/A)
DEBUG | Starting QEMU main loop
DEBUG | registered 'boot-properties' qemud service
DEBUG | Adding boot property: 'ro.opengles.version' = '196608'
DEBUG | Adding boot property: 'qemu.sf.fake_camera' = 'front'
DEBUG | Adding boot property: 'qemu.adb.secure' = '1'
DEBUG | Adding boot property: 'dalvik.vm.heapsize' = '576m'
DEBUG | Adding boot property: 'qemu.hw.mainkeys' = '0'
DEBUG | Adding boot property: 'qemu.sf.lcd_density' = '560'
DEBUG | control console listening on port 5554, ADB on port 5555
DEBUG | goldfish_events.have-dpad: false
DEBUG | goldfish_events.have-trackball: false
DEBUG | goldfish_events.have-camera: true
DEBUG | goldfish_events.have-keyboard: false
DEBUG | goldfish_events.have-lidswitch: false
DEBUG | goldfish_events.have-tabletmode: false
DEBUG | goldfish_events.have-touch: false
DEBUG | goldfish_events.have-multitouch: false
DEBUG | Adding boot property: 'net.wifi_mac_prefix' = '5554'
DEBUG | Adding boot property: 'qemu.timezone' = 'Asia/Shanghai'
DEBUG | android_hw_fingerprint_init: fingerprint qemud listen service initialized
WARNING | The emulator now requires a signed jwt token for gRPC access! Use the -grpc flag if you really want an open unprotected grpc port
DEBUG | (input_volume_stats_reporter.cc:98): Will not log any `WebRTC.Audio.Apm.AppliedInputVolume.*` histogram stats.
DEBUG | (input_volume_stats_reporter.cc:98): Will not log any `WebRTC.Audio.Apm.RecommendedInputVolume.*` histogram stats.
DEBUG | (audio_processing_impl.cc:695): Injected APM submodules:
Echo control factory: 0
Echo detector: 0
Capture analyzer: 0
Capture post processor: 0
Render pre processor: 0
DEBUG | (audio_processing_impl.cc:708): AudioProcessing: AudioProcessing::Config{ pipeline: { maximum_internal_processing_rate: 48000, multi_channel_render: 0, multi_channel_capture: 0 }, pre_amplifier: { enabled: 0, fixed_gain_factor: 1 },capture_level_adjustment: { enabled: 0, pre_gain_factor: 1, post_gain_factor: 1, analog_mic_gain_emulation: { enabled: 0, initial_level: 255 }}, high_pass_filter: { enabled: 0 }, echo_canceller: { enabled: 0, mobile_mode: 0, enforce_high_pass_filtering: 1 }, noise_suppression: { enabled: 0, level: Moderate }, transient_suppression: { enabled: 0 }, gain_controller1: { enabled: 0, mode: AdaptiveAnalog, target_level_dbfs: 3, compression_gain_db: 9, enable_limiter: 1, analog_gain_controller { enabled: 1, startup_min_volume: 0, clipped_level_min: 70, enable_digital_adaptive: 1, clipped_level_step: 15, clipped_ratio_threshold: 0.1, clipped_wait_frames: 300, clipping_predictor: { enabled: 0, mode: 0, window_length: 5, reference_window_length: 5, reference_window_delay: 5, clipping_threshold: -1, crest_factor_margin: 3, use_predicted_step: 1 }}}, gain_controller2: { enabled: 0, fixed_digital: { gain_db: 0 }, adaptive_digital: { enabled: 0, headroom_db: 6, max_gain_db: 30, initial_gain_db: 8, max_gain_change_db_per_second: 3, max_output_noise_level_dbfs: -50 }, input_volume_control : { enabled 0}}
DEBUG | (webrtc_voice_engine.cc:311): WebRtcVoiceEngine::WebRtcVoiceEngine
DEBUG | (webrtc_voice_engine.cc:333): WebRtcVoiceEngine::Init
DEBUG | (webrtc_voice_engine.cc:424): WebRtcVoiceEngine::ApplyOptions: AudioOptions {aec: 1, agc: 1, ns: 1, hf: 1, swap: 0, audio_jitter_buffer_max_packets: 200, audio_jitter_buffer_fast_accelerate: 0, audio_jitter_buffer_min_delay_ms: 0, }
DEBUG | (audio_processing_impl.cc:911): AudioProcessing::ApplyConfig: AudioProcessing::Config{ pipeline: { maximum_internal_processing_rate: 48000, multi_channel_render: 0, multi_channel_capture: 0 }, pre_amplifier: { enabled: 0, fixed_gain_factor: 1 },capture_level_adjustment: { enabled: 0, pre_gain_factor: 1, post_gain_factor: 1, analog_mic_gain_emulation: { enabled: 0, initial_level: 255 }}, high_pass_filter: { enabled: 1 }, echo_canceller: { enabled: 1, mobile_mode: 0, enforce_high_pass_filtering: 1 }, noise_suppression: { enabled: 1, level: High }, transient_suppression: { enabled: 0 }, gain_controller1: { enabled: 1, mode: AdaptiveAnalog, target_level_dbfs: 3, compression_gain_db: 9, enable_limiter: 1, analog_gain_controller { enabled: 1, startup_min_volume: 0, clipped_level_min: 70, enable_digital_adaptive: 1, clipped_level_step: 15, clipped_ratio_threshold: 0.1, clipped_wait_frames: 300, clipping_predictor: { enabled: 0, mode: 0, window_length: 5, reference_window_length: 5, reference_window_delay: 5, clipping_threshold: -1, crest_factor_margin: 3, use_predicted_step: 1 }}}, gain_controller2: { enabled: 0, fixed_digital: { gain_db: 0 }, adaptive_digital: { enabled: 0, headroom_db: 6, max_gain_db: 30, initial_gain_db: 8, max_gain_change_db_per_second: 3, max_output_noise_level_dbfs: -50 }, input_volume_control : { enabled 0}}
DEBUG | (matched_filter.cc:139): AEC3: Pre echo configuration: threshold = 0.5, mode = 0.
DEBUG | (transparent_mode.cc:239): AEC3 Transparent Mode: Legacy
DEBUG | (echo_canceller3.cc:793): AEC3 created with sample rate: 16000 Hz, num render channels: 1, num capture channels: 1
DEBUG | (clipping_predictor.cc:358): [AGC2] Clipping prediction disabled.
DEBUG | (agc_manager_direct.cc:481): [agc] analog controller enabled: yes
DEBUG | (agc_manager_direct.cc:484): [agc] Min mic level: 12 (overridden: no)
DEBUG | (input_volume_stats_reporter.cc:98): Will not log any `WebRTC.Audio.Apm.AppliedInputVolume.*` histogram stats.
DEBUG | (input_volume_stats_reporter.cc:98): Will not log any `WebRTC.Audio.Apm.RecommendedInputVolume.*` histogram stats.
DEBUG | (audio_processing_impl.cc:695): Injected APM submodules:
Echo control factory: 0
Echo detector: 0
Capture analyzer: 0
Capture post processor: 0
Render pre processor: 0
DEBUG | (audio_processing_impl.cc:708): AudioProcessing: AudioProcessing::Config{ pipeline: { maximum_internal_processing_rate: 48000, multi_channel_render: 0, multi_channel_capture: 0 }, pre_amplifier: { enabled: 0, fixed_gain_factor: 1 },capture_level_adjustment: { enabled: 0, pre_gain_factor: 1, post_gain_factor: 1, analog_mic_gain_emulation: { enabled: 0, initial_level: 255 }}, high_pass_filter: { enabled: 0 }, echo_canceller: { enabled: 0, mobile_mode: 0, enforce_high_pass_filtering: 1 }, noise_suppression: { enabled: 0, level: Moderate }, transient_suppression: { enabled: 0 }, gain_controller1: { enabled: 0, mode: AdaptiveAnalog, target_level_dbfs: 3, compression_gain_db: 9, enable_limiter: 1, analog_gain_controller { enabled: 1, startup_min_volume: 0, clipped_level_min: 70, enable_digital_adaptive: 1, clipped_level_step: 15, clipped_ratio_threshold: 0.1, clipped_wait_frames: 300, clipping_predictor: { enabled: 0, mode: 0, window_length: 5, reference_window_length: 5, reference_window_delay: 5, clipping_threshold: -1, crest_factor_margin: 3, use_predicted_step: 1 }}}, gain_controller2: { enabled: 0, fixed_digital: { gain_db: 0 }, adaptive_digital: { enabled: 0, headroom_db: 6, max_gain_db: 30, initial_gain_db: 8, max_gain_change_db_per_second: 3, max_output_noise_level_dbfs: -50 }, input_volume_control : { enabled 0}}
DEBUG | (webrtc_voice_engine.cc:311): WebRtcVoiceEngine::WebRtcVoiceEngine
DEBUG | (webrtc_voice_engine.cc:333): WebRtcVoiceEngine::Init
DEBUG | (webrtc_voice_engine.cc:424): WebRtcVoiceEngine::ApplyOptions: AudioOptions {aec: 1, agc: 1, ns: 1, hf: 1, swap: 0, audio_jitter_buffer_max_packets: 200, audio_jitter_buffer_fast_accelerate: 0, audio_jitter_buffer_min_delay_ms: 0, }
DEBUG | (audio_processing_impl.cc:911): AudioProcessing::ApplyConfig: AudioProcessing::Config{ pipeline: { maximum_internal_processing_rate: 48000, multi_channel_render: 0, multi_channel_capture: 0 }, pre_amplifier: { enabled: 0, fixed_gain_factor: 1 },capture_level_adjustment: { enabled: 0, pre_gain_factor: 1, post_gain_factor: 1, analog_mic_gain_emulation: { enabled: 0, initial_level: 255 }}, high_pass_filter: { enabled: 1 }, echo_canceller: { enabled: 1, mobile_mode: 0, enforce_high_pass_filtering: 1 }, noise_suppression: { enabled: 1, level: High }, transient_suppression: { enabled: 0 }, gain_controller1: { enabled: 1, mode: AdaptiveAnalog, target_level_dbfs: 3, compression_gain_db: 9, enable_limiter: 1, analog_gain_controller { enabled: 1, startup_min_volume: 0, clipped_level_min: 70, enable_digital_adaptive: 1, clipped_level_step: 15, clipped_ratio_threshold: 0.1, clipped_wait_frames: 300, clipping_predictor: { enabled: 0, mode: 0, window_length: 5, reference_window_length: 5, reference_window_delay: 5, clipping_threshold: -1, crest_factor_margin: 3, use_predicted_step: 1 }}}, gain_controller2: { enabled: 0, fixed_digital: { gain_db: 0 }, adaptive_digital: { enabled: 0, headroom_db: 6, max_gain_db: 30, initial_gain_db: 8, max_gain_change_db_per_second: 3, max_output_noise_level_dbfs: -50 }, input_volume_control : { enabled 0}}
DEBUG | (matched_filter.cc:139): AEC3: Pre echo configuration: threshold = 0.5, mode = 0.
DEBUG | (transparent_mode.cc:239): AEC3 Transparent Mode: Legacy
DEBUG | (echo_canceller3.cc:793): AEC3 created with sample rate: 16000 Hz, num render channels: 1, num capture channels: 1
DEBUG | (clipping_predictor.cc:358): [AGC2] Clipping prediction disabled.
DEBUG | (agc_manager_direct.cc:481): [agc] analog controller enabled: yes
DEBUG | (agc_manager_direct.cc:484): [agc] Min mic level: 12 (overridden: no)
INFO | Using security allow list from: /data/app/android/Android/Sdk/emulator/lib/emulator_access.json
WARNING | *** Basic token auth should only be used by android-studio ***
INFO | The active JSON Web Key Sets can be found here: /run/user/1000/avd/running/61527/jwks/c0f8ea9d-0d55-4cdd-9f5e-63734fecae6a/active.jwk
INFO | Scanning /run/user/1000/avd/running/61527/jwks/c0f8ea9d-0d55-4cdd-9f5e-63734fecae6a for jwk keys.
INFO | Started GRPC server at 127.0.0.1:8554, security: Local, auth: +token
INFO | Advertising in: /run/user/1000/avd/running/pid_61527.ini
DEBUG | Successfully initialized Wi-Fi
DEBUG | emulator_window_fb_rotate
I1203 23:52:09.429387 61588 FrameBuffer.cpp:3682] setDisplayConfigs w 1440 h 3120 dpiX 560 dpiY 560
DEBUG | setDisplayPose 0 x 0 y 0 w 1440 h 3120 dpi 0
I1203 23:52:09.429435 61588 FrameBuffer.cpp:3695] setDisplayActiveConfig 0
DEBUG | no root specified:
DEBUG | Path:/data/app/android/Android/Sdk/platform-tools/adb protocol version: 41
DEBUG | Found: 1 adb executables
DEBUG | Adb: /data/app/android/Android/Sdk/platform-tools/adb
DEBUG | Path:/data/app/android/Android/Sdk/platform-tools/adb protocol version: 41
DEBUG | config multidisplay with config.ini 0x0 0x0 0x0
DEBUG | No acpi ini file provided, using default
DEBUG | added one RIL client
INFO | Loading snapshot 'default_boot'...
DEBUG | OpenGL Vendor=[Google (AMD)]
DEBUG | OpenGL Renderer=[Android Emulator OpenGL ES Translator (GFX1103_R1 (gfx1103_r1, LLVM 15.0.7, DRM 3.49, 6.2.0-37-generic))]
DEBUG | OpenGL Version=[OpenGL ES 3.0 (4.6 (Core Profile) Mesa 23.0.4-0ubuntu1~22.04.1)]
WARNING | Device 'cache' does not have the requested snapshot 'default_boot'
WARNING | Failed to load snapshot 'default_boot'
DEBUG | No acpi ini file provided, using default
DEBUG | getMultiDisplay 0 x -1 y -1 w 1440 h 3120 dpi 560 flag 0 enable 1
DEBUG | getMultiDisplay 0 x -1 y -1 w 1440 h 3120 dpi 560 flag 0 enable 1 (3x)
DEBUG | change window size to 1440x3120
[ 134.156841] servicemanager: Could not find android.hardware.graphics.allocator.IAllocator/default in the VINTF manifest.
I1203 23:54:24.937362 61797 VkDecoderGlobalState.cpp:1551] gfxstream_texture_format_manifest: VK_FORMAT_R8G8B8A8_UNORM
error: kvm run failed Bad address
RAX=0000704545376000 RBX=000070454548f400 RCX=0000000000000000 RDX=0000000000119400
RSI=0000000008446000 RDI=0000704545376000 RBP=0000704545376000 RSP=00007045531ddee0
R8 =0000704545377000 R9 =0000000000000010 R10=000038fa0012b800 R11=00000000000cc000
R12=0000000000119400 R13=0000000000001680 R14=0000000000000000 R15=0000000000000000
RIP=00007048574e1ac4 RFL=00000206 [-----P-] CPL=3 II=0 A20=1 SMM=0 HLT=0
ES =0000 0000000000000000 00000000 00000000
CS =0033 0000000000000000 ffffffff 00a0fb00 DPL=3 CS64 [-RA]
SS =002b 0000000000000000 ffffffff 00c0f300 DPL=3 DS [-WA]
DS =0000 0000000000000000 00000000 00000000
FS =0000 00007045531e2000 00000000 00000000
GS =0000 00007045c352b950 00000000 00000000
LDT=0000 0000000000000000 00000000 00000000
TR =0040 fffffe0000079000 00004087 00008b00 DPL=0 TSS64-busy
GDT= fffffe0000077000 0000007f
IDT= fffffe0000000000 00000fff
CR0=80050033 CR2=000070454d7bc000 CR3=00000000b6954000 CR4=000406a0
DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000
DR6=00000000ffff0ff0 DR7=0000000000000400
EFER=0000000000000d01
Code=41 0f 6f 4c 30 10 f3 41 0f 6f 54 30 20 f3 41 0f 6f 5c 30 30 <66> 41 0f 7f 00 41 0f 29 48 10 41 0f 29 50 20 41 0f 29 58 30 4d 8d 40 40 4c 39 c3 77 bf 48
ta...@gmail.com <ta...@gmail.com> #138
settings -> Advanced, OpenGL ES renderer: SwiftShader ==> open chrome running ok
./Sdk/emulator/emulator -avd Pixel_7_Pro_API_34 -verbose -show-kernel
open chrome console print
[ 52.647636] servicemanager: Could not find android.hardware.graphics.allocator.IAllocator/default in the VINTF manifest.
I1204 00:09:11.066272 64426 VkDecoderGlobalState.cpp:444] Creating Vulkan instance for app: Chromium
../../third_party/SwiftShader/src/Vulkan/VkPhysicalDevice.cpp:649 WARNING: UNSUPPORTED: curExtension->sType: 1000338000
../../third_party/SwiftShader/src/Vulkan/VkPhysicalDevice.cpp:649 WARNING: UNSUPPORTED: curExtension->sType: 1000437000
../../third_party/SwiftShader/src/Vulkan/VkPhysicalDevice.cpp:649 WARNING: UNSUPPORTED: curExtension->sType: 1000338000
../../third_party/SwiftShader/src/Vulkan/VkPhysicalDevice.cpp:649 WARNING: UNSUPPORTED: curExtension->sType: 1000437000
../../third_party/SwiftShader/src/Vulkan/VkPhysicalDevice.cpp:649 WARNING: UNSUPPORTED: curExtension->sType: 1000338000
../../third_party/SwiftShader/src/Vulkan/VkPhysicalDevice.cpp:649 WARNING: UNSUPPORTED: curExtension->sType: 1000437000
../../third_party/SwiftShader/src/Vulkan/VkPhysicalDevice.cpp:649 WARNING: UNSUPPORTED: curExtension->sType: 1000338000
../../third_party/SwiftShader/src/Vulkan/VkPhysicalDevice.cpp:649 WARNING: UNSUPPORTED: curExtension->sType: 1000437000
../../third_party/SwiftShader/src/Vulkan/VkPhysicalDevice.cpp:649 WARNING: UNSUPPORTED: curExtension->sType: 1000338000
../../third_party/SwiftShader/src/Vulkan/VkPhysicalDevice.cpp:649 WARNING: UNSUPPORTED: curExtension->sType: 1000437000
../../third_party/SwiftShader/src/Vulkan/VkPhysicalDevice.cpp:649 WARNING: UNSUPPORTED: curExtension->sType: 1000338000
../../third_party/SwiftShader/src/Vulkan/VkPhysicalDevice.cpp:649 WARNING: UNSUPPORTED: curExtension->sType: 1000437000
../../third_party/SwiftShader/src/Vulkan/VkPhysicalDevice.cpp:649 WARNING: UNSUPPORTED: curExtension->sType: 1000338000
../../third_party/SwiftShader/src/Vulkan/VkPhysicalDevice.cpp:649 WARNING: UNSUPPORTED: curExtension->sType: 1000437000
../../third_party/SwiftShader/src/Vulkan/VkPhysicalDevice.cpp:649 WARNING: UNSUPPORTED: curExtension->sType: 1000338000
../../third_party/SwiftShader/src/Vulkan/VkPhysicalDevice.cpp:649 WARNING: UNSUPPORTED: curExtension->sType: 1000437000
I1204 00:09:11.100449 64426 VkDecoderGlobalState.cpp:1271] Created new VkDevice. ASTC emulation? 0. CPU decoding? 0
../../third_party/SwiftShader/src/Vulkan/VkPhysicalDevice.cpp:649 WARNING: UNSUPPORTED: curExtension->sType: 1000338000
../../third_party/SwiftShader/src/Vulkan/VkPhysicalDevice.cpp:649 WARNING: UNSUPPORTED: curExtension->sType: 1000437000
../../third_party/SwiftShader/src/Vulkan/VkPhysicalDevice.cpp:649 WARNING: UNSUPPORTED: curExtension->sType: 1000338000
../../third_party/SwiftShader/src/Vulkan/VkPhysicalDevice.cpp:649 WARNING: UNSUPPORTED: curExtension->sType: 1000437000
../../third_party/SwiftShader/src/Vulkan/VkPhysicalDevice.cpp:649 WARNING: UNSUPPORTED: curExtension->sType: 1000338000
../../third_party/SwiftShader/src/Vulkan/VkPhysicalDevice.cpp:649 WARNING: UNSUPPORTED: curExtension->sType: 1000437000
../../third_party/SwiftShader/src/Vulkan/VkPhysicalDevice.cpp:649 WARNING: UNSUPPORTED: curExtension->sType: 1000338000
../../third_party/SwiftShader/src/Vulkan/VkPhysicalDevice.cpp:649 WARNING: UNSUPPORTED: curExtension->sType: 1000437000
../../third_party/SwiftShader/src/Vulkan/VkPhysicalDevice.cpp:649 WARNING: UNSUPPORTED: curExtension->sType: 1000338000
../../third_party/SwiftShader/src/Vulkan/VkPhysicalDevice.cpp:649 WARNING: UNSUPPORTED: curExtension->sType: 1000437000
../../third_party/SwiftShader/src/Vulkan/VkPhysicalDevice.cpp:649 WARNING: UNSUPPORTED: curExtension->sType: 1000338000
../../third_party/SwiftShader/src/Vulkan/VkPhysicalDevice.cpp:649 WARNING: UNSUPPORTED: curExtension->sType: 1000437000
../../third_party/SwiftShader/src/Vulkan/VkPhysicalDevice.cpp:649 WARNING: UNSUPPORTED: curExtension->sType: 1000338000
../../third_party/SwiftShader/src/Vulkan/VkPhysicalDevice.cpp:649 WARNING: UNSUPPORTED: curExtension->sType: 1000437000
../../third_party/SwiftShader/src/Vulkan/VkPhysicalDevice.cpp:649 WARNING: UNSUPPORTED: curExtension->sType: 1000338000
../../third_party/SwiftShader/src/Vulkan/VkPhysicalDevice.cpp:649 WARNING: UNSUPPORTED: curExtension->sType: 1000437000
[ 53.816821] servicemanager: Could not find android.hardware.graphics.allocator.IAllocator/default in the VINTF manifest.
I1204 00:09:11.334916 64428 VkDecoderGlobalState.cpp:1551] gfxstream_texture_format_manifest: VK_FORMAT_R8G8B8A8_UNORM
I1204 00:09:11.474187 64426 VkDecoderGlobalState.cpp:1551] gfxstream_texture_format_manifest: VK_FORMAT_R8_UNORM
[ 54.653653] servicemanager: Since 'artd' could not be found, trying to start it as a lazy AIDL service. (if it's not configured to be a lazy service, it may be stuck starting or still starting).
[ 54.656529] init: starting service 'artd'...
[ 54.681796] init: ... started service 'artd' has pid 4566
[ 54.683066] init: Control message: Processed ctl.interface_start for 'aidl/artd' from pid: 156 (/system/bin/servicemanager)
[ 54.694136] BpBinder: onLastStrongRef automatically unlinking death recipients:
[ 54.704357] servicemanager: Notifying artd they do (previously: don't) have clients when service is guaranteed to be in use
[ 58.584202] servicemanager: Found android.hardware.security.keymint.IRemotelyProvisionedComponent/default in device VINTF manifest.
settings -> Advanced, OpenGL ES renderer: Desktop native OpenGL ==> AVD crash when open chrome
I1204 00:13:03.050591 64903 VkDecoderGlobalState.cpp:1551] gfxstream_texture_format_manifest: VK_FORMAT_R8G8B8A8_UNORM
error: kvm run failed Bad address
RAX=00007bc5de263000 RBX=00007bc5de37c400 RCX=0000000000000000 RDX=0000000000119400
RSI=0000000000a6a000 RDI=00007bc5de263000 RBP=00007bc5de263000 RSP=00007bc5e2dddee0
R8 =00007bc5de264000 R9 =0000000000000010 R10=00003de80012b800 R11=0000000000000047
R12=0000000000119400 R13=0000000000001680 R14=0000000000000000 R15=0000000000000000
RIP=00007bc8f6c87ac4 RFL=00000206 [-----P-] CPL=3 II=0 A20=1 SMM=0 HLT=0
ES =0000 0000000000000000 00000000 00000000
CS =0033 0000000000000000 ffffffff 00a0fb00 DPL=3 CS64 [-RA]
SS =002b 0000000000000000 ffffffff 00c0f300 DPL=3 DS [-WA]
DS =0000 0000000000000000 00000000 00000000
FS =0000 00007bc5e2de2000 00000000 00000000
GS =0000 00007bc80d48f520 00000000 00000000
LDT=0000 0000000000000000 00000000 00000000
TR =0040 fffffe0000003000 00004087 00008b00 DPL=0 TSS64-busy
GDT= fffffe0000001000 0000007f
IDT= fffffe0000000000 00000fff
CR0=80050033 CR2=00007bc5deccd000 CR3=0000000045db0000 CR4=000406b0
DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000
DR6=00000000ffff0ff0 DR7=0000000000000400
EFER=0000000000000d01
Code=41 0f 6f 4c 30 10 f3 41 0f 6f 54 30 20 f3 41 0f 6f 5c 30 30 <66> 41 0f 7f 00 41 0f 29 48 10 41 0f 29 50 20 41 0f 29 58 30 4d 8d 40 40 4c 39 c3 77 bf 48
DEBUG | Timed out with running command
ta...@gmail.com <ta...@gmail.com> #139
settings -> Advanced, OpenGL ES renderer: Autodetect based on host(default), OpenGL ES API level: Autoselect
my solution
- for Android Studio start AVD
echo "Vulkan = off" >> ~/.android/advancedFeatures.ini
- direct start AVD with cmd: emulator
./Sdk/emulator/emulator -avd $your_avd_name -verbose -show-kernel -feature -Vulka
why AVD hang when open chrome?
Starting with API level 30, Chrome uses the Vulkan graphics library as its rendering backend, and it could have compatibility issues on certain machines. If Chrome does not render correctly for you, try to launch the emulator from the command line with the flag -feature -Vulkan
my test details
- -verbose -show-kernel -feature -Vulkan <-- AVD don't crash, chrome running ok
- -verbose -show-kernel -feature -GLDirectMem <-- AVD don't crash, chrome not crash but page is blank. console print:
DEBUG | getMultiDisplay 0 x -1 y -1 w 1440 h 3120 dpi 560 flag 0 enable 1 (3x)
DEBUG | change window size to 1440x3120
[ 120.657520] servicemanager: Could not find android.hardware.graphics.allocator.IAllocator/default in the VINTF manifest.
I1204 00:23:17.207660 65957 VkDecoderGlobalState.cpp:1551] gfxstream_texture_format_manifest: VK_FORMAT_R8G8B8A8_UNORM
[ 121.050977] servicemanager: Could not find android.hardware.graphics.allocator.IAllocator/default in the VINTF manifest.
I1204 00:23:17.372141 65957 VkDecoderGlobalState.cpp:1551] gfxstream_texture_format_manifest: VK_FORMAT_R8_UNORM
DEBUG | getMultiDisplay 0 x 0 y 0 w 1440 h 3120 dpi 560 flag 0 enable 1
[ 127.305413] servicemanager: Could not find android.hardware.graphics.allocator.IAllocator/default in the VINTF manifest.
[ 134.296904] binder: undelivered transaction 156259, process died.
[ 134.298405] binder: undelivered transaction 156260, process died.
[ 134.299351] binder: undelivered transaction 156258, process died.
-
-verbose -show-kernel -feature -GLDirectMem -feature -GLDMA <-- it's the same
-verbose -show-kernel -feature -GLDirectMem
-
-verbose -show-kernel -feature -GLDirectMem -feature -GLDMA -feature -GLDMA2 <-- it's the same
-verbose -show-kernel -feature -GLDirectMem
-
-verbose -show-kernel -feature -GLDirectMem -feature -GLDMA2 <-- AVD don't crash, chrome not crash but splash screen. console print:
[ 145.147145] servicemanager: Could not find android.hardware.graphics.allocator.IAllocator/default in the VINTF manifest.
I1204 00:31:23.907154 67481 VkDecoderGlobalState.cpp:444] Creating Vulkan instance for app: Chromium
I1204 00:31:23.930584 67481 VkDecoderGlobalState.cpp:1271] Created new VkDevice. ASTC emulation? 1. CPU decoding? 0
I1204 00:31:24.007138 67481 VkDecoderGlobalState.cpp:1551] gfxstream_texture_format_manifest: VK_FORMAT_R8G8B8A8_UNORM
[ 145.606239] servicemanager: Could not find android.hardware.graphics.allocator.IAllocator/default in the VINTF manifest.
I1204 00:31:24.090714 67481 VkDecoderGlobalState.cpp:1551] gfxstream_texture_format_manifest: VK_FORMAT_R8_UNORM
- -verbose -show-kernel -feature -GLDirectMem -feature -GLDMA2 -feature -Vulkan <-- AVD is ok, chrome is ok, and can load state when restart AVD
ya...@google.com <ya...@google.com> #140
aa...@xqz.ca <aa...@xqz.ca> #141
ya...@google.com <ya...@google.com> #142
Because many different kinds of issues are involved in this bug, it would be great if you could tell us which emulator version + system image version you are using, your OS, your graphics card model, as well as a short description of what happens (emulator crashes when loading a webpage, emulator does not crash but webpage looks empty, webpage flickers, etc).
Thanks!
ca...@google.com <ca...@google.com> #143
Chrome is running fine on a Windows machine with:
- nVidia P1000. Driver 535.98
- nVidia RTX 3060. Driver 546.33
- AMD RDNA 3 Integrated graphics. Driver 31.0.22024.3002
A setup that was having issues is the one with an 2080 Super as we discussed on
Otherwise all the other setups were running and exiting chrome no problem. Even when using swiftshader.
Emulator: 34.2.3-11271302
System Image build: [ro.vendor_dlkm.build.fingerprint]: [google/sdk_gphone64_x86_64/emu64xa:14/UE1A.230829.036/11036701:user/release-keys]
ca...@google.com <ca...@google.com> #144
Got this to repro on a Steam Deck with RDNA 2.0 Van Gogh gpu and on emu 34.2.4.0-11307001
The verbose output looks similar to
DEBUG | MultiDisplayPipe created 0x5597d86fa540
DEBUG | MultiDisplayPipe recevied QUERY
DEBUG | MultiDisplayPipe send add id 0 width 2208 height 1840 dpi 420 flag 0
I0117 11:26:42.953790 7567 VkDecoderGlobalState.cpp:444] Creating Vulkan instance for app: Chromium
I0117 11:26:43.475909 7567 VkDecoderGlobalState.cpp:1279] Created new VkDevice. ASTC emulation? 1. CPU decoding? 0
DEBUG | getMultiDisplay 0 x -1 y -1 w 2208 h 1840 dpi 420 flag 0 enable 1
DEBUG | getMultiDisplay 0 x -1 y -1 w 2208 h 1840 dpi 420 flag 0 enable 1 (21x)
DEBUG | getMultiDisplay 0 x 0 y 0 w 2208 h 1840 dpi 420 flag 0 enable 1
I0117 11:27:17.780623 7567 VkDecoderGlobalState.cpp:1559] gfxstream_texture_format_manifest: VK_FORMAT_R8G8B8A8_UNORM
error: kvm run failed Bad address
RAX=000079915f050000 RBX=000079915f8ae000 RCX=0000000000000000 RDX=0000000000225d80
RSI=000000000085e000 RDI=000079915f050000 RBP=000079915f050000 RSP=00007991623ddee0
R8 =000079915f050040 R9 =0000000000000010 R10=00001e1c0012b800 R11=0000000000000045
R12=0000000000225d80 R13=0000000000002280 R14=0000000000000000 R15=0000000000000000
RIP=000079947ce91a4e RFL=00000206 [-----P-] CPL=3 II=0 A20=1 SMM=0 HLT=0
ES =0000 0000000000000000 00000000 00000000
CS =0033 0000000000000000 ffffffff 00a0fb00 DPL=3 CS64 [-RA]
SS =002b 0000000000000000 ffffffff 00c0f300 DPL=3 DS [-WA]
DS =0000 0000000000000000 00000000 00000000
FS =0000 00007991623e2000 00000000 00000000
GS =0000 000079935eabccc0 00000000 00000000
LDT=0000 fffffe0000000000 00000000 00000000
TR =0040 fffffe0000003000 00004087 00008b00 DPL=0 TSS64-busy
GDT= fffffe0000001000 0000007f
IDT= fffffe0000000000 00000fff
CR0=80050033 CR2=000079915f8ae000 CR3=0000000003792000 CR4=000406b0
DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000
DR6=00000000ffff0ff0 DR7=0000000000000400
EFER=0000000000000d01
Code=41 0f 6f 6c 30 10 f3 41 0f 6f 74 30 20 f3 41 0f 6f 7c 30 30 <f3> 0f 7f 07 f3 0f 7f 4f 10 f3 0f 7f 57 20 f3 0f 7f 5f 30 66 41 0f 7f 20 41 0f 29 68 10 41
DEBUG | getMultiDisplay 0 x 0 y 0 w 2208 h 1840 dpi 420 flag 0 enable 1 (119x)
DEBUG | Timed out with running command
^CDEBUG | Timed out with running command (14x)
INFO | Wait for emulator (pid 7066) 20 seconds to shutdown gracefully before kill;you can set environment variable ANDROID_EMULATOR_WAIT_TIME_BEFORE_KILL(in seconds) to change the default value (20 seconds)
INFO | Wait for emulator (pid 7066) 20 seconds to shutdown gracefully before kill;you can set environment variable ANDROID_EMULATOR_WAIT_TIME_BEFORE_KILL(in seconds) to change the default value (20 seconds)
WARNING | Not saving state: current state does not support snapshotting
INFO | Deleting snapshot default_boot
INFO | Deleting snapshot default_boot
ERROR | stop: Not implemented
DEBUG | Done with QEMU main loop
Segmentation fault (core dumped)
(139)(deck@steamdeck emulator)$
ya...@google.com <ya...@google.com> #145
Carlos do you have the crash report id?
ca...@google.com <ca...@google.com> #146
It does not crash but stays frozen. After launching again from a force close it doesn't produce a crash report.
ta...@gmail.com <ta...@gmail.com> #147
Thank you. It's better, now it's not crash, but stay frozen.
.android/advancedFeatures.ini
#Vulkan = off
it is frozen in canary 34.2.3
I must to keep disable Vulkan
.android/advancedFeatures.ini
Vulkan = off
to keep chrome running ok.
ya...@google.com <ya...@google.com>
ko...@google.com <ko...@google.com>
bo...@google.com <bo...@google.com> #148
we recently had a work around for that problem and you can try
we will have a canary emulator with that fix coming out soon, if you want to wait
bo...@google.com <bo...@google.com> #149
for windows crash, it might be something else.
ro...@veeva.com <ro...@veeva.com> #150
#148 I just tried with sdk-repo-linux-emulator-11484481.zip
and for me it still freezes as soon as I open a website (e.g. I do a Google search).
Attached the output of emulator -avd Nexus_5_API_30_Play -verbose -show-kernel &> emu.log
bo...@google.com <bo...@google.com> #151
you can add option to #150
-feature VulkanAllocateDeviceMemoryOnly
and post the output here please
le...@gmail.com <le...@gmail.com> #152
you have intel gpu: Intel(R) Graphics (RPL-P)
Sorry, I forgot to mention that.
Attached the output of emulator -avd Nexus_5_API_30_Play -verbose -show-kernel -feature VulkanAllocateDeviceMemoryOnly &> emu.log
bo...@google.com <bo...@google.com> #153
le...@gmail.com <le...@gmail.com> #154
I just tried and it freezes as soon as I open Chrome. Log attached.
bo...@google.com <bo...@google.com> #155
if you can, please try this
run the x86_64/bin/vulkaninfo and upload the information there so I can have better idea of
the vulkan support your intel gpu has.
the build in #148 is for the issue we found on AMD gpu, it does not seem to fix intel gpu for the moment
and.I hope to get more details about your intel gpu so to find one that can reproduce. thanks
le...@gmail.com <le...@gmail.com> #156
Sure, here you go. Let me know if I can help with some other tests.
bo...@google.com <bo...@google.com> #157
I have Intel Graphics ADL GT2, and it runs ok with vulkan, not perfect as I saw some blackscreen when rendering chrome, but
it does not freeze
my driver is 23.3.3 vs your driver is 24.0.1, updating my driver and try again
still cannot reproduce
I am running on ubuntu 24.04 btw
bo...@google.com <bo...@google.com> #158
(after
source setup-env.sh under vunkan dir)
x86_64/bin/vkconfig
(you might need to install a bunch of libxcb* libraries, sudo apt install libxcb*)
and click the "Validation" radio checkbox,
then source setup-env.sh under vunkan dir again, and launch emulator
it should catch some validation problem and please post it.
bo...@google.com <bo...@google.com> #159
-feature SystemBlob
le...@gmail.com <le...@gmail.com> #160
So I did some tests and it seems that using -feature SystemBlob
fixes the issue (or at least it did not crash the 3 times I tried it). Is there a way to add this SystemBlob
to the advancedFeatures.ini
file so that it will be executed automatically every time the emulator runs?
BTW, I tried also to follow the instructions for the x86_64/bin/vkconfig
, not sure if I did it right but I've attached the logs using SystemBlob
and without (where it crashed).
ya...@google.com <ya...@google.com> #161
When will the fix land on the goldfish instances? All UI tests that open up the browser are blocked by this. Thanks!
ko...@google.com <ko...@google.com> #162
Yang, the workaround for AMD GPU issue is submitted, but we're still working on a fix for the Intel related problems. Can you provide a link to the failing UI tests so that I can check if it's the same issue?
bo...@google.com <bo...@google.com> #163
with SystemBlob turned on for Intel GPU, the "Bad Address" does not show up anymore (so far);
however, it seems there are some blackscreens in chrome once you open any of the tabs (such as youtube).
not sure what else went wrong.
bo...@google.com <bo...@google.com> #164
on amd gpu, systemblob (after some hack to just use anonymous mmap in sharedmanager) does show normal rendering of chrome ;
bo...@google.com <bo...@google.com> #165
it appears that there is some race condition somewhere.
bo...@google.com <bo...@google.com> #166
thanks for the report, for the moment, we will enable "SystemBlob" on intel gpu when vulkan is turned on.
you can try this build that is from presubmit server with this cl:
bo...@google.com <bo...@google.com> #167
le...@gmail.com <le...@gmail.com> #168
Yeah I'm experiencing the black screen issue.
If I start the emulator from command line, with emulator -avd Nexus_5_API_34_Play -verbose -show-kernel
, I get the black screen issue but it doesn't seem to freeze (I can close chrome or change tab). If I start it from AS it freezes as soon as the black screen is shown.
bo...@google.com <bo...@google.com> #169
could you upload the idea.log when launch from AS ?
if it is due to kvm error of bad address, the idea.log should show that; and you can try adb shell to check whether it is the ANR (which will recover and adb shell should still work) or guest freezes completely
le...@gmail.com <le...@gmail.com> #170
Sure, idea.log
attached. The emulator freezes completely: notification and status bar are unresponsive and adb logcat
and adb shell}
do nothing.
bo...@google.com <bo...@google.com> #171
22055918] INFO - Emulator: Nexus 5 API 29 Play - Process finished with exit code 0
2024-02-27 16:14:21,228 [22056050] INFO - #com.android.tools.idea.adb.AdbService - Device [emulator-5554] is offline
2024-02-27 16:14:26,206 [22061028] INFO - Emulator: Nexus 5 API 34 Play - /home/rleinardi/android-sdk/emulator-old/emulator -netdelay none -netspeed full -avd Nexus_5_API_34_Play -qt-hide-window -grpc-use-token -idle-grpc-timeout 300
2024-02-27 16:14:26,214 [22061036] INFO - Emulator: Nexus 5 API 34 Play - Storing crashdata in: /tmp/android-rleinardi/emu-crash-34.1.17.db, detection is enabled for process: 1580157
2024-02-27 16:14:26,214 [22061036] INFO - Emulator: Nexus 5 API 34 Play - Android emulator version 34.1.17.0 (build_id 11438439) (CL:N/A)
2024-02-27 16:14:26,214 [22061036] INFO - Emulator: Nexus 5 API 34 Play - Found systemPath /home/rleinardi/android-sdk/system-images/android-34/google_apis_playstore/x86_64/
2024-02-27 16:14:26,425 [22061247] INFO - Emulator: Nexus 5 API 34 Play - Storing crashdata in: /tmp/android-rleinardi/emu-crash-34.1.17.db, detection is enabled for process: 1580157
2024-02-27 16:14:26,425 [22061247] INFO - Emulator: Nexus 5 API 34 Play - Duplicate loglines will be removed, if you wish to see each individual line launch with the -log-nofilter flag.
2024-02-27 16:14:26,425 [22061247] INFO - Emulator: Nexus 5 API 34 Play - Increasing RAM size to 2048MB
2024-02-27 16:14:26,425 [22061247] INFO - Emulator: Nexus 5 API 34 Play - library_mode host gpu mode host
2024-02-27 16:14:26,426 [22061248] INFO - Emulator: Nexus 5 API 34 Play - Initializing hardware OpenGLES emulation supportandroid_startOpenglesRenderer: gpu infoI0227 16:14:26.426136 1580157 HealthMonitor.cpp:279] HealthMonitor disabled.
2024-02-27 16:14:26,426 [22061248] INFO - Emulator: Nexus 5 API 34 Play - added library libvulkan.so
2024-02-27 16:14:26,458 [22061280] INFO - Emulator: Nexus 5 API 34 Play - createGlobalVkEmulation:964 Selecting Vulkan device: Intel(R) Graphics (RPL-P)
2024-02-27 16:14:26,460 [22061282] INFO - Emulator: Nexus 5 API 34 Play - initialize: Supports id properties, got a vulkan device UUID
2024-02-27 16:14:26,530 [22061352] INFO - Emulator: Nexus 5 API 34 Play - I0227 16:14:26.530414 1580157 VkCommonOperations.cpp:1226] Initializing VkEmulation features:
2024-02-27 16:14:26,530 [22061352] INFO - Emulator: Nexus 5 API 34 Play - I0227 16:14:26.530427 1580157 VkCommonOperations.cpp:1227] glInteropSupported: true
2024-02-27 16:14:26,530 [22061352] INFO - Emulator: Nexus 5 API 34 Play - I0227 16:14:26.530429 1580157 VkCommonOperations.cpp:1228] useDeferredCommands: true
2024-02-27 16:14:26,530 [22061352] INFO - Emulator: Nexus 5 API 34 Play - I0227 16:14:26.530430 1580157 VkCommonOperations.cpp:1230] createResourceWithRequirements: true
2024-02-27 16:14:26,530 [22061352] INFO - Emulator: Nexus 5 API 34 Play - I0227 16:14:26.530430 1580157 VkCommonOperations.cpp:1231] useVulkanComposition: false
2024-02-27 16:14:26,530 [22061352] INFO - Emulator: Nexus 5 API 34 Play - I0227 16:14:26.530431 1580157 VkCommonOperations.cpp:1232] useVulkanNativeSwapchain: false
2024-02-27 16:14:26,530 [22061352] INFO - Emulator: Nexus 5 API 34 Play - I0227 16:14:26.530432 1580157 VkCommonOperations.cpp:1233] enable guestRenderDoc: false
2024-02-27 16:14:26,530 [22061352] INFO - Emulator: Nexus 5 API 34 Play - I0227 16:14:26.530433 1580157 VkCommonOperations.cpp:1234] ASTC LDR emulation mode: 2
2024-02-27 16:14:26,530 [22061352] INFO - Emulator: Nexus 5 API 34 Play - I0227 16:14:26.530433 1580157 VkCommonOperations.cpp:1235] enable ETC2 emulation: true
2024-02-27 16:14:26,530 [22061352] INFO - Emulator: Nexus 5 API 34 Play - I0227 16:14:26.530434 1580157 VkCommonOperations.cpp:1236] enable Ycbcr emulation: false
2024-02-27 16:14:26,530 [22061352] INFO - Emulator: Nexus 5 API 34 Play - I0227 16:14:26.530434 1580157 VkCommonOperations.cpp:1237] guestUsesAngle: false
2024-02-27 16:14:26,530 [22061352] INFO - Emulator: Nexus 5 API 34 Play - I0227 16:14:26.530435 1580157 VkCommonOperations.cpp:1238] useDedicatedAllocations: true
2024-02-27 16:14:26,531 [22061353] INFO - Emulator: Nexus 5 API 34 Play - I0227 16:14:26.530956 1580157 FrameBuffer.cpp:486] Graphics Adapter Vendor Google (Intel)
2024-02-27 16:14:26,531 [22061353] INFO - Emulator: Nexus 5 API 34 Play - I0227 16:14:26.530958 1580157 FrameBuffer.cpp:487] Graphics Adapter Android Emulator OpenGL ES Translator (Mesa Intel(R) Graphics (RPL-P))
2024-02-27 16:14:26,531 [22061353] INFO - Emulator: Nexus 5 API 34 Play - I0227 16:14:26.530959 1580157 FrameBuffer.cpp:488] Graphics API Version OpenGL ES 3.0 (4.6 (Core Profile) Mesa 24.0.0 - kisak-mesa PPA)
2024-02-27 16:14:26,531 [22061353] INFO - Emulator: Nexus 5 API 34 Play - I0227 16:14:26.530960 1580157 FrameBuffer.cpp:489] Graphics API Extensions GL_OES_EGL_sync GL_OES_EGL_image GL_OES_EGL_image_external GL_OES_depth24 GL_OES_depth32 GL_OES_element_index_uint GL_OES_texture_float GL_OES_texture_float_linear GL_OES_compressed_paletted_texture GL_OES_compressed_ETC1_RGB8_texture GL_OES_depth_texture GL_OES_texture_half_float GL_OES_texture_half_float_linear GL_OES_packed_depth_stencil GL_OES_vertex_half_float GL_OES_texture_npot GL_OES_rgb8_rgba8 GL_EXT_color_buffer_float GL_EXT_color_buffer_half_float GL_EXT_shader_framebuffer_fetch GL_EXT_texture_format_BGRA8888 GL_APPLE_texture_format_BGRA8888
2024-02-27 16:14:26,531 [22061353] INFO - Emulator: Nexus 5 API 34 Play - I0227 16:14:26.530967 1580157 FrameBuffer.cpp:490] Graphics Device Extensions N/A
2024-02-27 16:14:26,536 [22061358] INFO - Emulator: Nexus 5 API 34 Play - OpenGL Vendor=[Google (Intel)]OpenGL Renderer=[Android Emulator OpenGL ES Translator (Mesa Intel(R) Graphics (RPL-P))]OpenGL Version=[OpenGL ES 3.0 (4.6 (Core Profile) Mesa 24.0.0 - kisak-mesa PPA)]INFO | Sending adb public key [QAAAAE8/AkdRiNhUjTrfG15p3ir4LBMCkzp6+OxWeEtTk/ZFqlB9xtpuvQAkVO/2hORKr4L1HmyrUWD4YYrK9NUkhJzDug4vmJcEKKUKcaVsOSWvqfunNH1aW/mwQtQH1VSkZke9Rd9y73qBJpCnAjwv35ZerKRms9F+3oER9Ezv9xNnIxXBuzcCVOkb93Yh/ATx+8BH5Fkba86gYUp3YIUdGCgUuvuAIjwJNOR4mlSm3i4J9+9bHn51P1eCfznNjUgrjfkdumxXlbIvxldwX5JwIfE0ZUAX3lJrV3w1EtTHNs+b83a5hvoC2ZKIDKxy7bPXXcCzieGrqtWhOPHPhm0QovicT3LxmvSvX0uo3tMTw15s+NmfIeDhJa7BOE673biAC6yuF04yItgYhOPof61yZ/9nGCyE5OD47IH41CF3GG4meVDr4aZ/u8COaPRMpnQL3txV/B8qLpM75BtfaS0nV41kHq8bB/pss+7+Mi23KT/oL2mi6IUpObPaQbml9HkglDsSpGFVkztqSoJmEo6+WqoMuApN4zuM4NzB+mmy7FrI99mcZDcOQcny2T70BnCULHi9HRlOBGdBYCebXfdD8n9VSzeyITxvWDhw0XRGw0xPamwGGH6pGqcZNjYCQgGFIzfXr2ec/ZE2exS9fWHOGMZcpLbEaxnAl083+KRXL6wAqx5FNAEAAQA= rleinardi@unknown]
2024-02-27 16:14:26,624 [22061446] INFO - Emulator: Nexus 5 API 34 Play - Using security allow list from: /home/rleinardi/android-sdk/emulator-old/lib/emulator_access.json
2024-02-27 16:14:26,626 [22061448] WARN - Emulator: Nexus 5 API 34 Play - *** Basic token auth should only be used by android-studio ***
2024-02-27 16:14:26,627 [22061449] INFO - Emulator: Nexus 5 API 34 Play - The active JSON Web Key Sets can be found here: /run/user/1000/avd/running/1580157/jwks/c1f6a0ee-4979-4141-a124-8c1ec1f06be8/active.jwk
2024-02-27 16:14:26,627 [22061449] INFO - Emulator: Nexus 5 API 34 Play - Scanning /run/user/1000/avd/running/1580157/jwks/c1f6a0ee-4979-4141-a124-8c1ec1f06be8 for jwk keys.
2024-02-27 16:14:26,629 [22061451] INFO - Emulator: Nexus 5 API 34 Play - Started GRPC server at
2024-02-27 16:14:26,631 [22061453] INFO - Emulator: Nexus 5 API 34 Play - Advertising in: /run/user/1000/avd/running/pid_1580157.ini
2024-02-27 16:14:26,653 [22061475] INFO - Emulator: Nexus 5 API 34 Play - I0227 16:14:26.653479 1580232 FrameBuffer.cpp:3707] setDisplayConfigs w 1080 h 1920 dpiX 480 dpiY 480
2024-02-27 16:14:26,653 [22061475] INFO - Emulator: Nexus 5 API 34 Play - I0227 16:14:26.653496 1580232 FrameBuffer.cpp:3720] setDisplayActiveConfig 0
2024-02-27 16:14:26,721 [22061543] INFO - Emulator: Nexus 5 API 34 Play - Loading snapshot 'default_boot'...
2024-02-27 16:14:26,725 [22061547] WARN - Emulator: Nexus 5 API 34 Play - Device 'cache' does not have the requested snapshot 'default_boot'
2024-02-27 16:14:26,725 [22061547] WARN - Emulator: Nexus 5 API 34 Play - Failed to load snapshot 'default_boot'
2024-02-27 16:14:27,263 [22062085] INFO - Emulator: Nexus 5 API 34 Play - OpenGL Vendor=[Google (Intel)]OpenGL Renderer=[Android Emulator OpenGL ES Translator (Mesa Intel(R) Graphics (RPL-P))]OpenGL Version=[OpenGL ES 3.0 (4.6 (Core Profile) Mesa 24.0.0 - kisak-mesa PPA)]INFO | Camera notification event: cameraNotification { }
2024-02-27 16:14:27,263 [22062085] INFO - Emulator: Nexus 5 API 34 Play - Not yet booted
2024-02-27 16:14:27,263 [22062085] INFO - #com.android.tools.idea.streaming.emulator.EmulatorView - Received notification: cameraNotification { }
2024-02-27 16:14:27,688 [22062510] INFO - Emulator: Nexus 5 API 34 Play - Activated packet streamer for bluetooth emulation
2024-02-27 16:14:31,709 [22066531] INFO - Emulator: Nexus 5 API 34 Play - Not yet booted
2024-02-27 16:14:34,189 [22069011] INFO - Emulator: Nexus 5 API 34 Play - Displaychange event: 0
2024-02-27 16:14:34,189 [22069011] INFO - Emulator: Nexus 5 API 34 Play - Display notification event: event: DISPLAY_CONFIGURATIONS_CHANGED_UI displayConfigurationsChangedNotification { displayConfigurations { displays { width: 1080 height: 1920 dpi: 480 } userConfigurable: 3 maxDisplays: 11 } }
2024-02-27 16:14:34,190 [22069012] INFO - #com.android.tools.idea.streaming.emulator.EmulatorView - Received notification: event: DISPLAY_CONFIGURATIONS_CHANGED_UI displayConfigurationsChangedNotification { displayConfigurations { displays { width: 1080 height: 1920 dpi: 480 } userConfigurable: 3 maxDisplays: 11 } }
2024-02-27 16:14:34,299 [22069121] INFO - #com.android.tools.idea.adb.AdbService - Device [emulator-5554] is offline
2024-02-27 16:14:34,306 [22069128] INFO - #com.android.tools.idea.adb.AdbService - Device [emulator-5554] is offline
2024-02-27 16:14:34,306 [22069128] INFO - #com.android.tools.idea.adb.AdbService - Device [emulator-5554] has come online
2024-02-27 16:14:34,454 [22069276] INFO - #com.android.adblib.impl.SyncSendHandler - device:serial-emulator-5554,sync:SEND - AdbInputFileChannel("/home/rleinardi/android-studio/plugins/android/resources/process-tracker-agent/native/x86_64/process-tracker") -> "/data/local/tmp/.studio/process-tracker"
2024-02-27 16:14:35,246 [22070068] WARN - #com.android.tools.idea.avdmanager.EmulatorConnectionListener - Emulator not ready yet, dev.bootcomplete = null
2024-02-27 16:14:36,284 [22071106] WARN - #com.android.tools.idea.avdmanager.EmulatorConnectionListener - Emulator not ready yet, dev.bootcomplete = null
2024-02-27 16:14:37,321 [22072143] WARN - #com.android.tools.idea.avdmanager.EmulatorConnectionListener - Emulator not ready yet, dev.bootcomplete = null
2024-02-27 16:14:38,358 [22073180] WARN - #com.android.tools.idea.avdmanager.EmulatorConnectionListener - Emulator not ready yet, dev.bootcomplete = null
2024-02-27 16:14:39,420 [22074242] WARN - #com.android.tools.idea.avdmanager.EmulatorConnectionListener - Emulator not ready yet, dev.bootcomplete = null
2024-02-27 16:14:40,461 [22075283] WARN - #com.android.tools.idea.avdmanager.EmulatorConnectionListener - Emulator not ready yet, dev.bootcomplete = null
2024-02-27 16:14:41,327 [22076149] INFO - Emulator: Nexus 5 API 34 Play - Boot completed in 15088 ms
2024-02-27 16:14:41,327 [22076149] INFO - Emulator: Nexus 5 API 34 Play - Booted notification event: booted { time: 15088 }
2024-02-27 16:14:41,328 [22076150] INFO - Emulator: Nexus 5 API 34 Play - Increasing screen off timeout, logcat buffer size to 2M.
2024-02-27 16:14:41,328 [22076150] INFO - #com.android.tools.idea.streaming.emulator.EmulatorView - Received notification: 5: { 1: 15088 }
2024-02-27 16:14:45,220 [22080042] INFO - #c.i.o.a.i.PopupMenuPreloader - 24863 ms since showing to preload popup menu 'Project View Popup Menu' at 'ProjectViewPopup(preload-bgt)' in 4 ms
2024-02-27 16:14:50,012 [22084834] INFO - #com.android.tools.idea.adb.AdbService - Device [emulator-5554] has come online
2024-02-27 16:14:50,056 [22084878] INFO - #com.android.ddmlib - Device 'Nexus_5_API_34_Play [emulator-5554]' tracking jdwp process (pid=1963)
2024-02-27 16:14:50,056 [22084878] INFO - #com.android.ddmlib - Device 'Nexus_5_API_34_Play [emulator-5554]' jdwp process '1963' is now known as pkg='com.veeva.link.workflow.debug' (proc='com.veeva.link.workflow.debug')
2024-02-27 16:14:54,851 [22089673] INFO - Emulator: Nexus 5 API 34 Play - I0227 16:14:54.851309 1586753 VkDecoderGlobalState.cpp:444] Creating Vulkan instance for app: Chromium
2024-02-27 16:14:54,938 [22089760] INFO - Emulator: Nexus 5 API 34 Play - I0227 16:14:54.938461 1586753 VkDecoderGlobalState.cpp:1279] Created new VkDevice. ASTC emulation? 0. CPU decoding? 0
2024-02-27 16:14:57,460 [22092282] INFO - Emulator: Nexus 5 API 34 Play - I0227 16:14:57.460351 1587520 VkDecoderGlobalState.cpp:1559] gfxstream_texture_format_manifest: VK_FORMAT_R8G8B8A8_UNORM
2024-02-27 16:14:58,058 [22092880] INFO - Emulator: Nexus 5 API 34 Play - I0227 16:14:58.058786 1586753 VkDecoderGlobalState.cpp:1559] gfxstream_texture_format_manifest: VK_FORMAT_R8_UNORM
2024-02-27 16:14:58,062 [22092884] INFO - Emulator: Nexus 5 API 34 Play - error: kvm run failed Bad address
2024-02-27 16:14:58,062 [22092884] INFO - Emulator: Nexus 5 API 34 Play - RAX=000071d60b76e000 RBX=000071d60c53925c RCX=0000000000000001 RDX=0000000000000040
2024-02-27 16:14:58,062 [22092884] INFO - Emulator: Nexus 5 API 34 Play - RSI=000071d60c53925c RDI=000071d60b76e000 RBP=0000000000000008 RSP=000071d61906d9e0
2024-02-27 16:14:58,062 [22092884] INFO - Emulator: Nexus 5 API 34 Play - R8 =0000000000000001 R9 =0000000000000008 R10=000000000000398e R11=a0761d6478bd642f
2024-02-27 16:14:58,062 [22092884] INFO - Emulator: Nexus 5 API 34 Play - R12=0000000000000040 R13=000071d60b76e000 R14=0000000000000000 R15=0000000000000001
2024-02-27 16:14:58,062 [22092884] INFO - Emulator: Nexus 5 API 34 Play - RIP=000071d9260c7997 RFL=00010246 [---Z-P-] CPL=3 II=0 A20=1 SMM=0 HLT=0
2024-02-27 16:14:58,062 [22092884] INFO - Emulator: Nexus 5 API 34 Play - ES =0000 0000000000000000 ffffffff 00c00000
2024-02-27 16:14:58,062 [22092884] INFO - Emulator: Nexus 5 API 34 Play - CS =0033 0000000000000000 ffffffff 00a0fb00 DPL=3 CS64 [-RA]
2024-02-27 16:14:58,062 [22092884] INFO - Emulator: Nexus 5 API 34 Play - SS =002b 0000000000000000 ffffffff 00c0f300 DPL=3 DS [-WA]
2024-02-27 16:14:58,062 [22092884] INFO - Emulator: Nexus 5 API 34 Play - DS =0000 0000000000000000 ffffffff 00c00000
2024-02-27 16:14:58,062 [22092884] INFO - Emulator: Nexus 5 API 34 Play - FS =0000 000071d619070000 ffffffff 00c00000
2024-02-27 16:14:58,062 [22092884] INFO - Emulator: Nexus 5 API 34 Play - GS =0000 000071d752982950 ffffffff 00c00000
2024-02-27 16:14:58,062 [22092884] INFO - Emulator: Nexus 5 API 34 Play - LDT=0000 0000000000000000 ffffffff 00c00000
2024-02-27 16:14:58,062 [22092884] INFO - Emulator: Nexus 5 API 34 Play - TR =0040 fffffe0000003000 00004087 00008b00 DPL=0 TSS64-busy
2024-02-27 16:14:58,062 [22092884] INFO - Emulator: Nexus 5 API 34 Play - GDT= fffffe0000001000 0000007f
2024-02-27 16:14:58,062 [22092884] INFO - Emulator: Nexus 5 API 34 Play - IDT= fffffe0000000000 00000fff
2024-02-27 16:14:58,062 [22092884] INFO - Emulator: Nexus 5 API 34 Play - CR0=80050033 CR2=000071d60eec2a58 CR3=000000004c0ad000 CR4=000406b0
2024-02-27 16:14:58,062 [22092884] INFO - Emulator: Nexus 5 API 34 Play - DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000
2024-02-27 16:14:58,062 [22092884] INFO - Emulator: Nexus 5 API 34 Play - DR6=00000000ffff0ff0 DR7=0000000000000400
2024-02-27 16:14:58,062 [22092884] INFO - Emulator: Nexus 5 API 34 Play - EFER=0000000000000d01
2024-02-27 16:14:58,062 [22092884] INFO - Emulator: Nexus 5 API 34 Play - Code=0f 6f 06 f3 0f 6f 4e 10 f3 0f 6f 54 16 f0 f3 0f 6f 5c 16 e0 <f3> 0f 7f 07 f3 0f 7f 4f 10 f3 0f 7f 54 17 f0 f3 0f 7f 5c 17 e0 e9 7f 04 00 00 48 81 fa 80
2024-02-27 16:14:58,256 [22093078] INFO - #com.android.ddmlib - Device 'Nexus_5_API_34_Play [emulator-5554]' jdwp process '1963' is now known as pkg='com.veeva.link.workflow.debug' (proc='com.veeva.link.workflow.debug')
2024-02-27 16:15:01,591 [22096413] INFO - #o.j.p.t.LocalTerminalDirectRunner - Started com.pty4j.unix.UnixPtyProcess in 69 ms from [/bin/bash, --rcfile, /home/rleinardi/android-studio/plugins/terminal/shell-integrations/bash/bash-integration.bash, -i] in /home/rleinardi/Workspace/Misc/MyApplication, [columns=334, rows=15], diff_envs={FIG_JETBRAINS_SHELL_INTEGRATION=1, TERM=xterm-256color, TERMINAL_EMULATOR=JetBrains-JediTerm, TERM_SESSION_ID=646fd8d5-f526-44a8-b749-e24575b44597, __INTELLIJ_COMMAND_HISTFILE__=/home/rleinardi/.cache/Google/AndroidStudio2023.2/terminal/history/My Application-history1}
2024-02-27 16:15:15,608 [22110430] INFO - #c.i.o.a.i.PopupMenuPreloader - 3880 ms since showing to preload popup menu 'Edit' at 'MainMenu(preload-bgt)' in 1 ms
2024-02-27 16:15:15,608 [22110430] INFO - #c.i.o.a.i.PopupMenuPreloader - 3880 ms since showing to preload popup menu 'File' at 'MainMenu(preload-bgt)' in 1 ms
2024-02-27 16:15:15,609 [22110431] INFO - #c.i.o.a.i.PopupMenuPreloader - 3881 ms since showing to preload popup menu 'Window' at 'MainMenu(preload-bgt)' in 2 ms
2024-02-27 16:15:15,610 [22110432] INFO - #c.i.o.a.i.PopupMenuPreloader - 3882 ms since showing to preload popup menu 'Navigate' at 'MainMenu(preload-bgt)' in 3 ms
2024-02-27 16:15:15,610 [22110432] INFO - #c.i.o.a.i.PopupMenuPreloader - 3882 ms since showing to preload popup menu 'Help' at 'MainMenu(preload-bgt)' in 3 ms
2024-02-27 16:15:15,611 [22110433] INFO - #c.i.o.a.i.PopupMenuPreloader - 3883 ms since showing to preload popup menu 'Ru
bo...@google.com <bo...@google.com> #172
you can move out the /home/rleinardi/android-sdk/emulator-old/package.xml from that, and then put the newer one at /home/rleinardi/android-sdk/emulator/, and copy the package.xml to /home/rleinardi/android-sdk/emulator/
le...@gmail.com <le...@gmail.com> #173
Hey thanks, now AS uses the same version as if I start it from command line.
ko...@google.com <ko...@google.com> #174
I believe the issues on both AMD and Intel side are now resolved with recent changes and default feature flags.
I'm closing this one as I cannot repro any similar issues, but feel free to reopen or file a new ticket if you're still experiencing black screens or freeze issues on Chome with the canary Emulator.
Thanks
ca...@google.com <ca...@google.com> #175
Tried this on an Ubuntu machine with an AMD APU with RDNA3 graphics and it still crashes on emu 35.1.1-11577608 when opening chrome. On an Arch with RDNA2 it still freezes.
Here's a crash report ID: c93fcb003eb008a7
ko...@google.com <ko...@google.com> #176
Catly, according to the log attached, that instance is switching to software rendering, can you please try enforcing hardware/host GPU and let me know if it'll make a difference?
Logs suggests an unbox_VkImage operation is failing, but it's not clear to me if that's related to some unsupported path with swiftshader.
2024-03-14 13:53:43,840 [ 660622] WARN - Emulator: Pixel Fold API 34 - Your GPU drivers may have a bug. Switching to software rendering.
2024-03-14 13:53:43,840 [ 660622] INFO - Emulator: Pixel Fold API 34 - library_mode swangle_indirect gpu mode swangle_indirect
2024-03-14 13:53:43,841 [ 660623] INFO - Emulator: Pixel Fold API 34 - Initializing hardware OpenGLES emulation support
2024-03-14 13:53:44,216 [ 660998] INFO - Emulator: Pixel Fold API 34 - android_startOpenglesRenderer: gpu infoI0314 13:53:44.216145 6531 HealthMonitor.cpp:279] HealthMonitor disabled.
2024-03-14 13:53:44,216 [ 660998] INFO - Emulator: Pixel Fold API 34 - cannot add library /home/catly/Android/Sdk/emulator/qemu/linux-x86_64/lib64/vulkan/libvulkan.so: failed
2024-03-14 13:53:44,216 [ 660998] INFO - Emulator: Pixel Fold API 34 - cannot add library /home/catly/Android/Sdk/emulator/qemu/linux-x86_64/lib64/vulkan/libvulkan.so.1: failed
2024-03-14 13:53:44,249 [ 661031] INFO - Emulator: Pixel Fold API 34 - added library /home/catly/Android/Sdk/emulator/lib64/vulkan/libvulkan.so
2024-03-14 13:53:44,403 [ 661185] INFO - Emulator: Pixel Fold API 34 - createGlobalVkEmulation:995 Selecting Vulkan device: SwiftShader Device (Subzero)
2024-03-14 13:53:44,442 [ 661224] INFO - Emulator: Pixel Fold API 34 - initialize: Supports id properties, got a vulkan device UUID
ca...@google.com <ca...@google.com> #177
When I run it in the terminal with -gpu host
, the issue still repros.
ga...@gmail.com <ga...@gmail.com> #178
ko...@google.com <ko...@google.com> #179
We have made some changes (aosp/3014040) to ensure the flags are propagated correctly to the rendering operations and the issues on Intel and AMD should be resolved with the latest builds.
For the software rendering case, I'm unable to repro with the latest.
Carlos, can you try testing with -gpu host
, -gpu swangle
and -gpu swiftshader
flags separately with the latest (build id > 11635764) and let me know if there are still crashes? Thank you
ca...@google.com <ca...@google.com> #180
For build 11650704, it still freezes when using -gpu host
but it's not freezing with -gpu swangle
and -gpu swiftshader
.
ko...@google.com <ko...@google.com> #181
I can see the VulkanAllocateDeviceMemoryOnly
option is enabled for that device, but it's a different AMD gpu and it's still not working. It'll take time to solve it properly without getting a repro locally. I'll add another workaround for switching to swiftshader for that GPU model.
ko...@google.com <ko...@google.com> #182
A CL is uploaded to fix the issues on that specific AMD Custom GPU, I will close the issue with emulator build links once it is submitted and please reopen if the issue still persists.
This ticket has been used for many Chrome related issues from different devices, would be better to create separate tickets for new host devices and GPUs, to help implement and track the fixes more efficiently.
mt...@gmail.com <mt...@gmail.com> #184
When starting the latest emulator (which supposedly includes a fix for this issue,
Android emulator version 34.2.13.0 (build_id 11772612) (CL:N/A)
with an AVD with the following properties
avd.ini.displayname Pixel Tablet API VanillaIceCream
avd.ini.encoding UTF-8
AvdId Pixel_Tablet_API_VanillaIceCream
disk.dataPartition.size 6442450944
fastboot.chosenSnapshotFile
fastboot.forceChosenSnapshotBoot no
fastboot.forceColdBoot no
fastboot.forceFastBoot yes
hw.accelerometer yes
hw.arc false
hw.audioInput yes
hw.battery yes
hw.camera.back virtualscene
hw.camera.front emulated
hw.cpu.ncore 4
hw.device.hash2 MD5:3eb16c85159ad6e1cbb3263194d1a735
hw.device.manufacturer Google
hw.device.name pixel_tablet
hw.dPad no
hw.gps no
hw.gpu.enabled yes
hw.gpu.mode auto
hw.initialOrientation landscape
hw.keyboard yes
hw.lcd.density 320
hw.lcd.height 1600
hw.lcd.width 2560
hw.mainKeys no
hw.ramSize 2048
hw.sdCard yes
hw.sensors.orientation yes
hw.sensors.proximity no
hw.trackBall no
image.androidVersion.api 34
image.androidVersion.codename VanillaIceCream
image.sysdir.1 system-images/android-VanillaIceCream/google_apis_playstore/x86_64/
PlayStore.enabled true
runtime.network.latency none
runtime.network.speed full
showDeviceFrame yes
skin.dynamic yes
tag.display Google Play
tag.displaynames Google Play
tag.id google_apis_playstore
tag.ids google_apis_playstore
vm.heapSize 192
Chrome still crashes the emulator:
I0517 08:08:55.024747 680611 VkDecoderGlobalState.cpp:631] Creating Vulkan instance for app: Chromium I0517 08:08:55.088433 680611 VkDecoderGlobalState.cpp:1482] Created new VkDevice. ASTC emulation? 0. CPU decoding? 0 Segmentation fault (core dumped)
With
Vulkan = off
GLDirectMem = on
in advancedFeatures.ini, emulator does not crash, but pages are not rendered correctly, neither in Chrome app, nor Chrome custom tabs.
ya...@google.com <ya...@google.com> #185
Hi,
after it crashes, would you help to run the command:
/path/to/emulator/crashreport -u
And send us the crash report ID? Thanks.
Description
DESCRIBE THE ISSUE IN DETAIL:
STEPS TO REPRODUCE:
See Screenshot as attachement
Log:
Studio Build: Version of Gradle Plugin: Version of Gradle: Version of Java: OS: Emulator Version: 31.2.8-8143646 Android Version: 2.0 (S) - API 31 AVD Image:Pixel 5 Android 12.0 Google APIs | x86_64 Android SDK PlatformTools: 33.0.0 Host CPU: AMD Ryzen 7 PRO 5850U hw,device.name: pixel_5