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

update master #7

Merged
merged 5,174 commits into from
Mar 10, 2020
Merged

Conversation

skia-flutter-autoroll
Copy link
Owner

No description provided.

skia-flutter-autoroll and others added 30 commits February 19, 2020 23:46
This was already enabled by-default in AOT mode in [0] - which made the
gen_snapshot invocations use "--lazy-async-stacks --no-causal-async-stacks".

See go/dart-10x-faster-async for more information.

[0] flutter/flutter@347823234fd
* opt out dart:ui from nnbd

* Annotate tests as well
This change creates a test only implementation of flutter::Surface backed by an
offscreen Vulkan GrContext. Much of the code in this test Surface was lifted
from flutter::VulkanWindow which I was unable to use without extricating it
from the VkSurface/VkSwapchain code which we do not want to use in offscreen
tests. I would recommend refactoring VulkanWindow to separate GrContext
creation and VkSwapchain creation in order to promote greater code reuse
between onscreen and offscreen vulkan paths.

This change is excersised thoroughly by the shell tests and was manually
tested against these tests on Fuchsia on Intel.
* Safari font collection tests skip failing methods

* add a clear to the semantics test to make sure no DOM elements are leaking to the other tests

* fix semantics_helper_test. skip for semantics_test. teardown didn't work

* skip test, the skipped method run for 8 minutes according to the logs

* history tests methods runs multiple times. only run them on linux for now. they were also already failing in edge/windows
Also enable tests that were disabled due to MessageLoop flakiness resolved by #16568
* add comment to skipped safari test

* test not running semantics on Mac

* disable semantics test which is unreliable
cbracken and others added 26 commits March 7, 2020 10:18
Broke golden file tests in the framework. Reverting to unblock the
engine roll to the framework.

This reverts commit 6cfa7fc.
On a stock Ubuntu 19.10 system, the following deps are required, at
minimum:
  * libx11-dev
  * libxcursor-dev
  * libxrandr-dev
  * libxinerama-dev
  * libxxf86vm-dev
  * libgl-dev
….wq (#17044)

* Add support for firefox mac installer. Update web_ui pubspec for http.wq
* Addressed review comment 'final'
…#17040)

This reverts 619acd5 and re-lands 6cfa7fc. The 6cfa7fc was good. The screenshot changes were expected.

Fixes flutter/flutter#32215
…16994)

* Work around line measurement rounding bug in Firefox. Add -webkit prefix for Safari text decoration
* Add check for measurement tests for firefox
Changes since last roll:
 ```
9767426 [dart2js] Fix type argument with nnbd and extractTypeArguments.
ed2092e [vm] Add TFA transformer expectation files for unboxing metadata
44a4f36 [sdk] Updating Stream.contains to accept null values.
7e0139e [vm/corelib] Improve performance of list copying
ec8941b [dartdevc] Hoisting subtype caches to addTypeCaches.
f5a6554 Move 'thisType' to ResolverVisitor.
b311a00 Fixes REMOVE_UNUSED_FIELD and optional field formal parameters.
c83c9b4 [vm] Implement toString() for unboxing metadata, only write unboxing metadata if not fully boxed (which is default)
7ac2294 [CFE] More error for type variable in static contexts
30a12a3 Revert "Re-land "[vm] Aggressive write-barrier elimination.""
8337863 Add the attachment with the content of the file being analyzed.
bbb449d Issue 40931. Update inference constraint for T? to be non-nullable.
f1369d7 Updated the invalid Example in num.dart
b22d3d6 Add a P2 migration script for null safety migrator
db378a2 [ddc] let compiler generate instanceof and == of types directly.
617b78a [ddc] do not add null checks for parameters marked as @NotNull
2ae10b1 [dart2js] Fix nullability of native methods.
b01cb58 Revert "Re-land "[vm] Add type to _AsyncAwaitCompleter.start.""
043af43 Migraiton: Add function names to trace output.
005c5d7 Add an additional MMR "Max Rank 5" metric to the output of the completion_metrics.dart
52ad8dc Gather metrics on super invocations
f5dae48 Add an ArgParser to completion_metrics.dart in the same manner as relevance_metrics.dart (https://dart-review.googlesource.com/c/sdk/+/138700)
a61e012 Migrate html tests using async_minitest and minitest
e3070b6 Add predicate to async_minitest
f879240 Extract RemoveUnusedElement and RemoveUnusedField producers.
54e96f6 Add the `dynamic` keyword into additional missing portions of the AST (in method and constructor parameters) in the keyword_contributor.dart
8329bd7 Do not check for '.analysis_options' for default options file in builder.
4f0fb8f Fix some syntax errors in the Dart code in the keyword_contributor_test.dart
4049ab5 Re-land "[vm] Add type to _AsyncAwaitCompleter.start."
8fb4645 [dartdevc] Adding nnbd semantics for static and late fields.
fa2df01 Null Safety preview: Fix description for uninitialized field
24c8021 Replace initialize() with declare().
9a62df5 Fix a test to get the analyzer nnbd bot to pass
f17919b [nnbd/corelib] Fix performance regression in _SyncIterator.moveNext
6b71477 Add a host of server debugging options to dartdev migrate.
7617e32 [VM/Testing] - Turn on co19_2 legacy testing in NNBD bots.
4e79175 Fix per-line highlighting in Null Safety preview tool
a4f6479 [infra] Print details of unapproved (new or previous) failures in build failure message
eff1a9f Re-land "[vm] Aggressive write-barrier elimination."
a629dbf Add a fix to inline a typedef
0f28464 [vm] Improve docs for Dart_LoadELF.
029c8f1 [cfe] Use Supertype instead of InterfaceType in ClassHierarchyBuilder
e8c58a7 [CFE] Add ability to compare CompilerOptions
40507e7 [CFE] Tool for fasta -v statistics
7bdc910 [infra] Remove unused bot script
7e81554 Add the `dynamic` keyword into additional missing portions of the AST in the keyword_contributor.dart
7bc1714 Latest changes to the relevance metrics tool
3d0432e Add returnsNormally to async_minitest
6f47790 [dartdevc] Optimize subtype check
4799f38 [dartdevc] Optimize cast operation
c1cf29b [ddc] improve generated code for wrapType.isNormalized
6eae8db [ddc] remove dcall when accessing .type
de49346 Include 'dynamic' in the list of suggested keywords for type names, i.e. the 'dynamic' in "dynamic contents = ..."
80ed949 [vm, reload] Don't drop unwind errors for isolates other than the first isolate in a group during a reload.
81c3208 [dart2js] Special case `null is T`.
de0fcd7 [dart2js] Assign the correct type to super tearoffs.
29d4b61 Remove html_individual_config from indexeddb_1_test
9ba9277 Roll to latest package:watcher
8fd8fec [vm/aot] Add support to instance calls with unboxed parameters
2806cca [build] Update clang to 7e9747b50bcb1be28d4a3236571e8050835497a6.
972e045 [analyzer] Fix windows paths again, and use ResourceProviderMixin.
e79f500 Unify two error codes into one
2c5a56e [vm] Disable late field init for constructor initialized fields
d3c0d59 Disallow non-external generative JS constructors
60a81b0 Add hints to find equal elements in literal sets and maps
93ff953 Document difference between Stream.transform and Stream.map.
b0b8304 [Cleanup] Simplifies use_slow_path handling to remove unreachable asm.
b681bfd [VM] Fixes bad reuse/typing of temps in async transform invocations.
c1ed25d [CFE] Remove BulkCompiler
6facea7 [vm/ffi] Unbox Pointer data field - fix bytecode
7b6adc6 Remove html_individual_config from remaining html tests
ce7fcff Resolve type parameters to bounds when checking for implementing Iterable / Map.
a410f5b [dart2js] rename null-safety flag and plumb through CFE
8ae984c [dart2js] Use a Symbol to access JavaScript Array Rti
a54a5ee Remove html_individual_config from interactive_geolocation_test
69851f3 Remove the unused type hierarchy from the completion_metrics.dart
a2bf8dd Upgrade to dartdoc-0.30.2.
3310670 [vm] Fix late field store bug
9d76737 Remove support for --emit-metadata in DDC
6e8efe2 Remove html_config from document_register_basic_test
a731b98 [dart2js] Fix signature of identityHashCode.
3bab386 Remove an unused shown name to remove a hint
ced0ced Rename an incorrectly named test class
739852d Migrate language_2/call to NNBD.
48c6180 [nnbd_migration] Hide hint insertion links after the migration is applied.
123a1ea [nnbd_migration] Fix 'apply edit' links.
3629658 [nnbd_migration] Handle POST requests
5b0e439 Fix windows path test/bots
5e66618 Issue 40316. Verify only language version override locations at line starts.
110a29c Issue 40704. Support for ?[ in resolution.
55b4a24 [dart2js] Fix type promotion bug in static_type.dart.
a1992fe [ package:vm_service ] 4.0.0 release, Sentinels are now thrown, Future<dynamic> returns are now Future<Response>
bf5171c Add support for reporting how an accessed member related to the context type and extract feature computation
8d26e3d [vm] Don't insert CheckedSmi* instructions when the interface target suggests it's wrong.
f6b0a70 Migrate language_2/await to NNBD.
1c64138 Migrate language_2/bool to NNBD.
1cf9d7a Revert "[vm] Add type to _AsyncAwaitCompleter.start."
2a8127d [vm, gc] Take heap size into account when deciding when to start concurrent marking.
0649115 Rename VoidWithTypeParameters to VoidWithTypeArguments.
a742539 Migration: add trace functionality to the preview tool.
d950783 [vm/ffi] Unify RawTypedData::data and Pointer::data
b406802 [vm/ffi] Unbox Pointer data field
46bc5cd [vm] Support using different representations in ConvertUnboxedToUntagged
c135e2a [vm/ffi] Reorder fields inside Pointer
4081235 [vm] Support unboxed indices in indexed load and store
```
@skia-flutter-autoroll skia-flutter-autoroll merged commit 98d18ce into skia-flutter-autoroll:master Mar 10, 2020
skia-flutter-autoroll pushed a commit that referenced this pull request Jul 7, 2023
…visions) (flutter#43457)" (flutter#43466)

This reverts commit a109e0b as it breaks flutter framework tests during subsequent roll.

From flutter/flutter#130138:

_TypeError: (#0      _ProgramInfoBuilder.createInfoNodeFor (package:vm_snapshot_analysis/v8_profile.dart:450:53))
```
#0      _ProgramInfoBuilder.createInfoNodeFor (package:vm_snapshot_analysis/v8_profile.dart:450:53)
#1      _ProgramInfoBuilder.getInfoNodeFor (package:vm_snapshot_analysis/v8_profile.dart:374:14)
#2      _ProgramInfoBuilder.createInfoNodeFor (package:vm_snapshot_analysis/v8_profile.dart:444:23)
#3      _ProgramInfoBuilder.getInfoNodeFor (package:vm_snapshot_analysis/v8_profile.dart:374:14)
#4      _ProgramInfoBuilder.createInfoNodeFor (package:vm_snapshot_analysis/v8_profile.dart:419:54)
#5      _ProgramInfoBuilder.getInfoNodeFor (package:vm_snapshot_analysis/v8_profile.dart:374:14)
#6      ListIterable.forEach (dart:_internal/iterable.dart:39:13)
#7      _ProgramInfoBuilder.build (package:vm_snapshot_analysis/v8_profile.dart:338:16)
#8      toProgramInfo (package:vm_snapshot_analysis/v8_profile.dart:282:8)
#9      _treemapFromSnapshot (package:vm_snapshot_analysis/treemap.dart:158:27)
#10     treemapFromJson (package:vm_snapshot_analysis/treemap.dart:85:5)
flutter#11     SizeAnalyzer.analyzeZipSizeAndAotSnapshot (package:flutter_tools/src/base/analyze_size.dart:123:59)
flutter#12     AndroidGradleBuilder._performCodeSizeAnalysis (package:flutter_tools/src/android/gradle.dart:623:60)
flutter#13     AndroidGradleBuilder.buildGradleApp (package:flutter_tools/src/android/gradle.dart:604:15)
<asynchronous suspension>
flutter#14     AndroidGradleBuilder.buildApk (package:flutter_tools/src/android/gradle.dart:242:5)
<asynchronous suspension>
flutter#15     BuildApkCommand.runCommand (package:flutter_tools/src/commands/build_apk.dart:116:5)
<asynchronous suspension>
flutter#16     FlutterCommand.run.<anonymous closure> (package:flutter_tools/src/runner/flutter_command.dart:1297:27)
<asynchronous suspension>
flutter#17     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
<asynchronous suspension>
flutter#18     CommandRunner.runCommand (package:args/command_runner.dart:212:13)
<asynchronous suspension>
```
skia-flutter-autoroll pushed a commit that referenced this pull request Apr 6, 2024
The culprit test asks different threads to access some stack variables, but the stack might return earlier than the threads' completion. This PR fixes it by adding latches.

This test, despite being possibly fine for now, consistently triggers the following asan error when I make some unrelated trivial changes.

The thrown error:
<details>
<pre>
[==========] Running 1 test from 1 test suite.
[----------] Global test environment set-up.
[----------] 1 test from EmbedderTest
[ RUN      ] EmbedderTest.EmbedderThreadHostUseCustomThreadConfig
=================================================================
==14398==ERROR: AddressSanitizer: stack-use-after-scope on address 0x00031833b530 at pc 0x00013248d543 bp 0x000318740390 sp 0x00031873fb58
WRITE of size 4 at 0x00031833b530 thread T2
    #0 0x13248d542 in pthread_getschedparam+0x3d2 (libclang_rt.asan_osx_dynamic.dylib:x86_64+0x2c542)
    #1 0x100577671 in flutter::testing::EmbedderTest_EmbedderThreadHostUseCustomThreadConfig_Test::TestBody()::$_0::operator()() const+0x1a1 (embedder_unittests:x86_64+0x10030b671)
    #2 0x1005774a2 in decltype(std::declval<flutter::testing::EmbedderTest_EmbedderThreadHostUseCustomThreadConfig_Test::TestBody()::$_0&>()()) std::_fl::__invoke[abi:v15000]<flutter::testing::EmbedderTest_EmbedderThreadHostUseCustomThreadConfig_Test::TestBody()::$_0&>(flutter::testing::EmbedderTest_EmbedderThreadHostUseCustomThreadConfig_Test::TestBody()::$_0&)+0x22 (embedder_unittests:x86_64+0x10030b4a2)
    #3 0x100577402 in void std::_fl::__invoke_void_return_wrapper<void, true>::__call<flutter::testing::EmbedderTest_EmbedderThreadHostUseCustomThreadConfig_Test::TestBody()::$_0&>(flutter::testing::EmbedderTest_EmbedderThreadHostUseCustomThreadConfig_Test::TestBody()::$_0&)+0x22 (embedder_unittests:x86_64+0x10030b402)
    #4 0x1005773ba in std::_fl::__function::__alloc_func<flutter::testing::EmbedderTest_EmbedderThreadHostUseCustomThreadConfig_Test::TestBody()::$_0, std::_fl::allocator<flutter::testing::EmbedderTest_EmbedderThreadHostUseCustomThreadConfig_Test::TestBody()::$_0>, void ()>::operator()[abi:v15000]()+0x2a (embedder_unittests:x86_64+0x10030b3ba)
    #5 0x1005734f6 in std::_fl::__function::__func<flutter::testing::EmbedderTest_EmbedderThreadHostUseCustomThreadConfig_Test::TestBody()::$_0, std::_fl::allocator<flutter::testing::EmbedderTest_EmbedderThreadHostUseCustomThreadConfig_Test::TestBody()::$_0>, void ()>::operator()()+0x26 (embedder_unittests:x86_64+0x1003074f6)
    #6 0x10066a525 in std::_fl::__function::__value_func<void ()>::operator()[abi:v15000]() const+0x105 (embedder_unittests:x86_64+0x1003fe525)
    #7 0x10066a3f2 in std::_fl::function<void ()>::operator()() const+0x22 (embedder_unittests:x86_64+0x1003fe3f2)
    #8 0x100c229dc in fml::MessageLoopImpl::FlushTasks(fml::FlushType)+0x37c (embedder_unittests:x86_64+0x1009b69dc)
    #9 0x100c22577 in fml::MessageLoopImpl::RunExpiredTasksNow()+0x27 (embedder_unittests:x86_64+0x1009b6577)
    #10 0x100c8aa2f in fml::MessageLoopDarwin::OnTimerFire(__CFRunLoopTimer*, fml::MessageLoopDarwin*)+0x2f (embedder_unittests:x86_64+0x100a1ea2f)
    flutter#11 0x7ff817b54508 in __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__+0x13 (CoreFoundation:x86_64+0x97508)
    flutter#12 0x7ff817b540b8 in __CFRunLoopDoTimer+0x310 (CoreFoundation:x86_64+0x970b8)
    flutter#13 0x7ff817b53ce9 in __CFRunLoopDoTimers+0x11c (CoreFoundation:x86_64+0x96ce9)
    flutter#14 0x7ff817b380ac in __CFRunLoopRun+0x83b (CoreFoundation:x86_64+0x7b0ac)
    flutter#15 0x7ff817b372a8 in CFRunLoopRunSpecific+0x22c (CoreFoundation:x86_64+0x7a2a8)
    flutter#16 0x100c8b155 in fml::MessageLoopDarwin::Run()+0x305 (embedder_unittests:x86_64+0x100a1f155)
    flutter#17 0x100c223d0 in fml::MessageLoopImpl::DoRun()+0x150 (embedder_unittests:x86_64+0x1009b63d0)
    flutter#18 0x100c1f1fa in fml::MessageLoop::Run()+0x2a (embedder_unittests:x86_64+0x1009b31fa)
    flutter#19 0x100c7baa4 in fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0::operator()() const+0x194 (embedder_unittests:x86_64+0x100a0faa4)
    flutter#20 0x100c7b8e2 in decltype(std::declval<fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0&>()()) std::_fl::__invoke[abi:v15000]<fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0&>(fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0&)+0x22 (embedder_unittests:x86_64+0x100a0f8e2)
    #21 0x100c7b842 in void std::_fl::__invoke_void_return_wrapper<void, true>::__call<fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0&>(fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0&)+0x22 (embedder_unittests:x86_64+0x100a0f842)
    #22 0x100c7b7fa in std::_fl::__function::__alloc_func<fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0, std::_fl::allocator<fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0>, void ()>::operator()[abi:v15000]()+0x2a (embedder_unittests:x86_64+0x100a0f7fa)
    #23 0x100c77ad6 in std::_fl::__function::__func<fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0, std::_fl::allocator<fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0>, void ()>::operator()()+0x26 (embedder_unittests:x86_64+0x100a0bad6)
    #24 0x10066a525 in std::_fl::__function::__value_func<void ()>::operator()[abi:v15000]() const+0x105 (embedder_unittests:x86_64+0x1003fe525)
    #25 0x10066a3f2 in std::_fl::function<void ()>::operator()() const+0x22 (embedder_unittests:x86_64+0x1003fe3f2)
    #26 0x100c75388 in fml::ThreadHandle::ThreadHandle(std::_fl::function<void ()>&&)::$_0::operator()(void*) const+0xe8 (embedder_unittests:x86_64+0x100a09388)
    #27 0x100c75227 in fml::ThreadHandle::ThreadHandle(std::_fl::function<void ()>&&)::$_0::__invoke(void*)+0xc7 (embedder_unittests:x86_64+0x100a09227)
    #28 0x1324b3e76 in asan_thread_start(void*)+0x46 (libclang_rt.asan_osx_dynamic.dylib:x86_64+0x52e76)
    #29 0x7ff817a5c18a in _pthread_start+0x62 (libsystem_pthread.dylib:x86_64+0x618a)
    #30 0x7ff817a57ae2 in thread_start+0xe (libsystem_pthread.dylib:x86_64+0x1ae2)

Address 0x00031833b530 is located in stack of thread T0 at offset 144 in frame
    #0 0x1002d051f in flutter::testing::EmbedderTest_EmbedderThreadHostUseCustomThreadConfig_Test::TestBody()+0xf (embedder_unittests:x86_64+0x10006451f)

  This frame has 12 object(s):
    [32, 40) 'thread_host' (line 3445)
    [64, 112) 'ref.tmp' (line 3446)
    [144, 148) 'ui_policy' (line 3449) <== Memory access at offset 144 is inside this variable
    [160, 168) 'ui_param' (line 3450)
    [192, 200) 'ref.tmp2' (line 3452)
    [224, 272) 'ref.tmp5' (line 3452)
    [304, 320) 'agg.tmp'
    [336, 340) 'io_policy' (line 3458)
    [352, 360) 'io_param' (line 3459)
    [384, 392) 'ref.tmp6' (line 3460)
    [416, 464) 'ref.tmp10' (line 3460)
    [496, 512) 'agg.tmp11'
HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork
      (longjmp and C++ exceptions *are* supported)
SUMMARY: AddressSanitizer: stack-use-after-scope (libclang_rt.asan_osx_dynamic.dylib:x86_64+0x2c542) in pthread_getschedparam+0x3d2
Shadow bytes around the buggy address:
  0x00031833b280: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x00031833b300: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x00031833b380: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x00031833b400: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x00031833b480: 00 00 00 00 f1 f1 f1 f1 00 f2 f2 f2 f8 f8 f8 f8
=>0x00031833b500: f8 f8 f2 f2 f2 f2[f8]f2 f8 f2 f2 f2 f8 f2 f2 f2
  0x00031833b580: f8 f8 f8 f8 f8 f8 f2 f2 f2 f2 00 00 f2 f2 f8 f2
  0x00031833b600: f8 f2 f2 f2 f8 f2 f2 f2 f8 f8 f8 f8 f8 f8 f2 f2
  0x00031833b680: f2 f2 00 00 f3 f3 f3 f3 00 00 00 00 00 00 00 00
  0x00031833b700: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x00031833b780: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07 
  Heap left redzone:       fa
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Container overflow:      fc
  Array cookie:            ac
  Intra object redzone:    bb
  ASan internal:           fe
  Left alloca redzone:     ca
  Right alloca redzone:    cb
Thread T2 created by T0 here:
    #0 0x1324ae92d in pthread_create+0x5d (libclang_rt.asan_osx_dynamic.dylib:x86_64+0x4d92d)
    #1 0x100c73901 in fml::ThreadHandle::ThreadHandle(std::_fl::function<void ()>&&)+0x401 (embedder_unittests:x86_64+0x100a07901)
    #2 0x100c73cca in fml::ThreadHandle::ThreadHandle(std::_fl::function<void ()>&&)+0x2a (embedder_unittests:x86_64+0x100a07cca)
    #3 0x100c748c9 in std::_fl::__unique_if<fml::ThreadHandle>::__unique_single std::_fl::make_unique[abi:v15000]<fml::ThreadHandle, fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0>(fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0&&)+0x149 (embedder_unittests:x86_64+0x100a088c9)
    #4 0x100c74335 in fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)+0x255 (embedder_unittests:x86_64+0x100a08335)
    #5 0x100c746b2 in fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)+0x32 (embedder_unittests:x86_64+0x100a086b2)
    #6 0x106ee0b1a in std::_fl::__unique_if<fml::Thread>::__unique_single std::_fl::make_unique[abi:v15000]<fml::Thread, std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig&>(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig&)+0x4a (embedder_unittests:x86_64+0x106c74b1a)
    #7 0x106ee08e8 in flutter::ThreadHost::CreateThread(flutter::ThreadHost::Type, std::_fl::optional<fml::Thread::ThreadConfig>, flutter::ThreadHost::ThreadHostConfig const&) const+0x1b8 (embedder_unittests:x86_64+0x106c748e8)
    #8 0x106ee1466 in flutter::ThreadHost::ThreadHost(flutter::ThreadHost::ThreadHostConfig const&)+0x2f6 (embedder_unittests:x86_64+0x106c75466)
    #9 0x106ee19ca in flutter::ThreadHost::ThreadHost(flutter::ThreadHost::ThreadHostConfig const&)+0x2a (embedder_unittests:x86_64+0x106c759ca)
    #10 0x100b6f730 in flutter::EmbedderThreadHost::CreateEngineManagedThreadHost(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&)+0x3a0 (embedder_unittests:x86_64+0x100903730)
    flutter#11 0x100b6e51c in flutter::EmbedderThreadHost::CreateEmbedderOrEngineManagedThreadHost(FlutterCustomTaskRunners const*, std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&)+0xcc (embedder_unittests:x86_64+0x10090251c)
    flutter#12 0x1002d0748 in flutter::testing::EmbedderTest_EmbedderThreadHostUseCustomThreadConfig_Test::TestBody()+0x238 (embedder_unittests:x86_64+0x100064748)
    flutter#13 0x1089ce93b in void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*)+0x21b (embedder_unittests:x86_64+0x10876293b)
    flutter#14 0x108955bdf in void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*)+0x2cf (embedder_unittests:x86_64+0x1086e9bdf)
    flutter#15 0x108955755 in testing::Test::Run()+0x3a5 (embedder_unittests:x86_64+0x1086e9755)
    flutter#16 0x108957b23 in testing::TestInfo::Run()+0x593 (embedder_unittests:x86_64+0x1086ebb23)
    flutter#17 0x10895a8f2 in testing::TestSuite::Run()+0x6e2 (embedder_unittests:x86_64+0x1086ee8f2)
    flutter#18 0x108977d7a in testing::internal::UnitTestImpl::RunAllTests()+0xb9a (embedder_unittests:x86_64+0x10870bd7a)
    flutter#19 0x1089ee88b in bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*)+0x21b (embedder_unittests:x86_64+0x10878288b)
    flutter#20 0x1089770ac in bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*)+0x2cc (embedder_unittests:x86_64+0x10870b0ac)
    #21 0x108976c3b in testing::UnitTest::Run()+0x28b (embedder_unittests:x86_64+0x10870ac3b)
    #22 0x1083e45e2 in RUN_ALL_TESTS()+0x22 (embedder_unittests:x86_64+0x1081785e2)
    #23 0x1083e43c8 in main+0x6e8 (embedder_unittests:x86_64+0x1081783c8)
    #24 0x213ff0365  (<unknown module>)

==14398==ABORTING
[1]    14398 abort      ../out/host_debug_unopt/embedder_unittests 
</pre>
</details>

The changes I made (isolated from a larger change, therefore it doesn't seem reasonable by itself):
```diff
 // shell/common/platform_view.cc, L33

 void PlatformView::DispatchPointerDataPacket(
     std::unique_ptr<PointerDataPacket> packet) {
-  delegate_.OnPlatformViewDispatchPointerDataPacket(
-      pointer_data_packet_converter_.Convert(std::move(packet)));
+  delegate_.OnPlatformViewDispatchPointerDataPacket(std::move(packet));
 }
```

Base engine rev: de2a73c

Environment: Macbook with M1 Max Chip, OS 14.4.1

Compiling with:
```
./engine/src/flutter/tools/gn --goma --unoptimized --asan --xcode-symlinks
./depot_tools/ninja -j200 -C ./engine/src/out/host_debug_unopt
./out/host_debug_unopt/embedder_unittests
```

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
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

Successfully merging this pull request may close these issues.