Fixed
Status Update
Comments
ky...@bytedance.com <ky...@bytedance.com> #2
Hi,
would you try to boot emulator with this command line flag:
-feature -Vulkan
and let us know if it fixes the issue for you? Also would you tell us what graphics card you are using and what is the graphics driver version?
would you try to boot emulator with this command line flag:
-feature -Vulkan
and let us know if it fixes the issue for you? Also would you tell us what graphics card you are using and what is the graphics driver version?
rk...@google.com <rk...@google.com>
rk...@google.com <rk...@google.com> #3
The feature flag did solve the issue for me. Thank you very much. I don't use a dedicated graphics card. Only the internal one from the CPU.
rk...@google.com <rk...@google.com> #4
Your integrated GPU is supposed to support Vulkan 1.2. I would need more work to figure out why it crashes without that flag.
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()
.