Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Flutter engine not ready for debug yet #34872

Closed
aartbik opened this issue Oct 19, 2018 · 3 comments
Closed

Flutter engine not ready for debug yet #34872

aartbik opened this issue Oct 19, 2018 · 3 comments
Assignees

Comments

@aartbik
Copy link
Contributor

aartbik commented Oct 19, 2018

984c407 introduced failure:

[ERROR:flutter/shell/common/shell.cc(182)] Dart Error: Unhandled exception:
Dummy exception to set exit code.
#0 _rootHandleUncaughtError.
(dart:async/zone.dart:1112:29)
#1 _microtaskLoop (dart:async/schedule_microtask.dart:41:21)
#2 _startMicrotaskLoop (dart:async/schedule_microtask.dart:50:5)
result 7353a2e5-2c85-41ea-af16-e8eb2581e731
7353a2e5-2c85-41ea-af16-e8eb2581e731 out/host_debug_unopt/engine_test.dill 0
00:00 �[32m+0�[0m: canvas APIs should not crash�[0m
../../third_party/dart/runtime/vm/object.cc: 9856: error: expected:
Dart::vm_snapshot_kind() == Snapshot::kFullAOT
Dumping native stack trace for thread 3414
[0x00000000029c5c2f] Unknown symbol
[0x00000000029c5c2f] Unknown symbol
-- End of DumpStackTrace

@aartbik
Copy link
Contributor Author

aartbik commented Oct 19, 2018

dart-bot pushed a commit that referenced this issue Oct 19, 2018
This reverts commit 984c407.

Reason for revert:
This change causes failures on the flutter engine tests.
Reverting for now to unblock the Dart roll.

#34872


Original change's description:
> [build] Debug means debug!
> 
> Bug: #29458
> Change-Id: Ic7d4cb81c65da9c7a8970431b4e02f3d2d19e556
> Reviewed-on: https://dart-review.googlesource.com/c/77980
> Reviewed-by: Siva Annamalai <[email protected]>
> Reviewed-by: Zach Anderson <[email protected]>
> Commit-Queue: Ryan Macnak <[email protected]>

[email protected],[email protected],[email protected]

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: #29458
Change-Id: I45ea9e1408d71e79d28d8ff0f5aea7649d5fb2ac
Reviewed-on: https://dart-review.googlesource.com/c/80920
Reviewed-by: Aart Bik <[email protected]>
Commit-Queue: Aart Bik <[email protected]>
@jason-simmons
Copy link
Contributor

This failure happens when code in the dart:ui package that is built into the Flutter engine throws an AssertionError.

In the Dart VM, Script::Source returns null because the dart:ui script has a kind of kKernelTag. This results in an assertion failure in Script::GetSnippet, which is called while throwing the AssertionError.

Does the Flutter engine need to build the dart:ui Dart code in a different way?

@a-siva
Copy link
Contributor

a-siva commented Oct 22, 2018

The code in Script::GetSnippet seems to assume that it will always find the source in JIT mode

const String& src = String::Handle(Source());
  if (src.IsNull()) {
    ASSERT(Dart::vm_snapshot_kind() == Snapshot::kFullAOT);
    return Symbols::OptimizedOut().raw();
  }

That assertion about snapshot being FullAOT seems incorrect

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants