Fixed
Status Update
Comments
ky...@bytedance.com <ky...@bytedance.com> #2
Hi, some users reported that installing "Vulkan SDK" helps with this issue. What is your GPU and its driver versions?
rk...@google.com <rk...@google.com>
rk...@google.com <rk...@google.com> #3
WARN - Emulator: Pixel 9 Pro XL API 35 - Vanguard anti-cheat software is detected on your system. It is known to have compatibility issues with Android emulator. It is recommended to uninstall or deactivate Vanguard anti-cheat software while running Android emulator.
2024-12-03 13:34:02,503 [ 53041] INFO - #com.android.adblib.impl.SessionDeviceTracker - trackDevices() failed, will retry in 2000 millis, connection id=32
java.lang.IllegalStateException: ADB location has not been initialized
2024-12-03 13:34:02,503 [ 53041] INFO - #com.android.adblib.impl.SessionDeviceTracker - trackDevices() failed, will retry in 2000 millis, connection id=32
java.lang.IllegalStateException: ADB location has not been initialized
rk...@google.com <rk...@google.com> #4
Hi, I have installed the Vulkan SDK on my PC, and my GPU is an NVIDIA GeForce RTX 3060 Laptop GPU with driver version 30.0.15.1274. I also tried deactivating the Vanguard anti-cheat, but the AVD still terminated. I’ve attached the log file after deactivating Vanguard.
Regarding the ADB issue ("ADB location has not been initialized"), I ran the adb version command in Command Prompt and successfully retrieved the version. Could you help me check this again?
Regarding the ADB issue ("ADB location has not been initialized"), I ran the adb version command in Command Prompt and successfully retrieved the version. Could you help me check this again?
Description
AutoLock
appears to be a custom implementation ofstd::unique_lock/lock_guard
. It does, however, a method namedisLocked()
. There is only one use of the method at the moment:I believe, that has room for improvement. Firstly, even if we checked
isLock()
in general, asisLock()
is not thread-safe, there is no guarantee (in general) that the same thread can then lock it. It is only useful when there is only one thread that locks/unlocks the givenAutoLock
object and the thread wants know whether thelock
is acquired or not by itself. I don't think that's useful. I think the method being public, it has a good chance to confuse external developers.My belief is that the
AutoLock
should be simply replaced withstd::unique_lock
and/orstd::lock_guard
, as many uses of the class do not calllock
orunlock
. And,isLocked()
should be removed. The only call site should be implemented without that.Aside from all mentioned above, I am trying to compile the code with
--enable-thread-safety-checks
, and the first code that blocked the compilation on Linux was the use ofisLocked()
.