Status Update
Comments
rk...@google.com <rk...@google.com>
rk...@google.com <rk...@google.com> #2
This bug should go to the emulator team. However, I do not have permission to file bug against them yet.
rk...@google.com <rk...@google.com>
ra...@google.com <ra...@google.com> #3
Thank you for reporting this. I think we have a bad race condition in RecurrentTask
. When a callback fires, the QEMUTimer
is empty (see cb(opaque)
is unlock):
/* remove timer from the list before calling the callback */
timer_list->active_timers = ts->next;
ts->next = NULL;
ts->expire_time = -1;
cb = ts->cb;
opaque = ts->opaque;
/* run the callback (the timer list can be modified) */
qemu_mutex_unlock(&timer_list->active_timers_lock);
cb(opaque);
qemu_mutex_lock(&timer_list->active_timers_lock);
and timer_del_locked
simply removes the QEMUTimer
instance from the active_timers
list. I am not sure how to avoid race conditions here. Consider this:
1: void myCallback(void* arg) {
2:
3: someCall();
4:
5: }
- The control enters into
myCallback
and the thread is preempted before the function had a chance making any side effect (line2
here). ËœRecurrentTask
is called on a separate thread.- Since
myCallback
did not write anywhere that it is busyËœRecurrentTask
proceeds destroying the statemyCallback
is about to access. myCallback
wakes and proceeds accessing already destroyed data.
Either I am missing something or this API is incomplete.
cm...@gmail.com <cm...@gmail.com> #4
cm...@gmail.com <cm...@gmail.com> #6
I tried on the Emulator "Pixel2 API 31" and it was not working. I enabled the mic settings and powered down the emulator. When I start up the emulator again, the mic settings are all set to disabled.
Do I have to manually update the emulator or recreate the emulator?
rk...@google.com <rk...@google.com> #7
Could you please confirm your emulator build ends with -10591065
? If not, you want to manually update it (download sdk-repo-PLATFORM-emulator-10591065.zip
, e.g. sdk-repo-windows-emulator-10591065.zip
). If you are on MacOS, you want to run xattr -d com.apple.quarantine FILENAME
on the downloaded file before unpacking it.
cm...@gmail.com <cm...@gmail.com> #8
Where is this emulator build number, try to locate it but failed. Only place is in the AVD settings, and the value shows: SE1A.211212.001.B1
As the emulator update, where is the place to download the image zip files. My system running OS is Ubuntu 22.04. Other ASD info as follow:
Build: AI-221.6008.13.2211.9619390, 202302170051,
AI-221.6008.13.2211.9619390, JRE 11.0.15+0-b2043.56-8887301x64 JetBrains s.r.o., OS Linux(amd64) v6.2.0-26-generic, screens 3840.0x2160.0, 2560.0x1600.0
AS: Electric Eel | 2022.1.1 Patch 2 Kotlin plugin: 221-1.8.0-release-for-android-studio-AS5591.52 Android Gradle Plugin: 4.2.2 Gradle: 6.9 Gradle JDK: version 11.0.15 NDK: from module: 20.0.5594570, from local.properties: (not specified), latest from SDK: 22.1.7171670 CMake: from local.properties: (not specified), latest from SDK: 3.18.1-g262b901, from PATH: 3.22.1
rk...@google.com <rk...@google.com> #9
Where is this emulator build number
Click the "..." (three dots on the emulator panel), then "Help", then "About".
As the emulator update, where is the place to download the image zip files.
cm...@gmail.com <cm...@gmail.com> #10
Thanks for the info.
Yes, my current emulator is 32.1.12-9751036, after updated the emulator version, the mic settings persistent saving is working now.
Also the mic is also working for API-33 when enabled.
By the way, any reason why I did not get a notification to update the emulator. I believe it was so in the past. Did I accidentally disabled the auto update option.
Thanks for the help.
rk...@google.com <rk...@google.com> #11
By the way, any reason why I did not get a notification to update the emulator.
I am not sure, as the SDK Manager is a different component. Yes, 32.x.x is somewhat old.
Description