commit | d07f3edd5e19003ce941b41347921f2f35a3972c | [log] [tgz] |
---|---|---|
author | Vyacheslav Egorov <vegorov@google.com> | Thu Oct 18 10:52:20 2018 +0000 |
committer | commit-bot@chromium.org <commit-bot@chromium.org> | Thu Oct 18 10:52:20 2018 +0000 |
tree | d880e3465c0fc9c2bb1828476fd3b3d88223b578 | |
parent | 3039fb00311eab16a45694d9366034a4994cb737 [diff] |
[vm] Disable symbolization of Dart frames in Dart_DumpNativeStackTrace. Currently symbolization is implemented through heap iteration - and iterating a heap, which in turn requires creating HeapIterationScope and extremely sophisticated operation that involves taking multiple locks and waiting for threads to safepoint. This is too complex to be used from the signal handler which is invoked in case of a crash - it can lead to recursive crashes or worse - deadlocks. For now we simply disable symbolization of Dart frames. In the future we should switch symbolization to use an off the heap data structure which can be accessed from a signal handler. Fixes https://github.com/dart-lang/sdk/issues/34814 Bug: 34814 Change-Id: Ib905acafedf64a1b314374b65a99880f43e79b77 Reviewed-on: https://dart-review.googlesource.com/c/80623 Auto-Submit: Vyacheslav Egorov <vegorov@google.com> Commit-Queue: Vyacheslav Egorov <vegorov@google.com> Commit-Queue: Martin Kustermann <kustermann@google.com> Reviewed-by: Martin Kustermann <kustermann@google.com>
Dart is an open-source, scalable programming language, with robust libraries and runtimes, for building web, server, and mobile apps.
Visit the dartlang.org to learn more about the language, tools, getting started, and more.
Browse pub.dartlang.org for more packages and libraries contributed by the community and the Dart team.
If you want to build Dart yourself, here is a guide to getting the source, preparing your machine to build the SDK, and building.
There are more documents on our wiki.
The easiest way to contribute to Dart is to file issues.
You can also contribute patches, as described in Contributing.