rrousselGit / freezed

Code generation for immutable classes that has a simple syntax/API without compromising on the features.
https://pub.dev/packages/freezed
1.92k stars 236 forks source link

Frequent dead locks while waiting for files in watch mode #270

Closed orestesgaolin closed 4 years ago

orestesgaolin commented 4 years ago

Describe the bug

I cannot generate reproducible example but I noticed that frequently when running build runner in watch mode with freezed I get following errors:

flutter pub run build_runner watch --delete-conflicting-outputs
[INFO] 2m 56s elapsed, 11/24 actions completed.
[INFO] 2m 57s elapsed, 11/24 actions completed.
[INFO] 2m 58s elapsed, 11/24 actions completed.
[INFO] 2m 59s elapsed, 11/24 actions completed.
[INFO] 3m 0s elapsed, 11/24 actions completed.
[INFO] 3m 1s elapsed, 11/24 actions completed.
[WARNING] No actions completed for 15.0s, waiting on:
  - freezed:freezed on lib/camera/camera_page.dart
  - freezed:freezed on lib/camera/camera.dart
  - freezed:freezed on lib/auth/repository/mock_auth_repository.dart
  - freezed:freezed on lib/camera/cubit/camera_cubit.dart
  - freezed:freezed on lib/model/camera/camera_output.dart
  .. and 8 more

[INFO] 3m 2s elapsed, 11/24 actions completed.
[INFO] 3m 3s elapsed, 11/24 actions completed.

Sometimes this fixes itself after couple of seconds but my record was over 50 min of waiting. Sometimes it's enough just to restart the build runner, but in other cases the only way is to clean everything and start over.

My build.yaml config is:

targets:
  $default:
    sources:
      exclude:
        - "lib/generated/**"
        - "lib/backend/**"
        - "lib/l10n/**"
        - "test/**"
        - "lib/dashboard/**"
        - "lib/widgets/**"
        - "**/widgets/**"
    builders:
      source_gen|combining_builder:
        options:
          ignore_for_file:
            - implicit_dynamic_parameter
            - implicit_dynamic_type
      json_serializable:
        options:
          # Options configure how source code is generated for every
          # `@JsonSerializable`-annotated class in the package.
          any_map: true
          create_to_json: true
          disallow_unrecognized_keys: false
          explicit_to_json: true

If I run the build runner in verbose mode following errors are visible:

[INFO] Build:Updating asset graph...
[INFO] Build:Updating asset graph completed, took 4ms

[INFO] Build:Running build...
[FINE] freezed:freezed on lib/camera/camera.dart:Running FreezedGenerator
[FINE] freezed:freezed on lib/camera/cubit/camera_cubit.dart:Running FreezedGenerator
[SEVERE] freezed:freezed on lib/settings/settings.dart:

Cycle loading state error
#0      LibraryContext.load2.loadBundle (package:analyzer/src/dart/analysis/library_context.dart:177:32)
#1      LibraryContext.load2.<anonymous closure> (package:analyzer/src/dart/analysis/library_context.dart:250:17)
#2      PerformanceLog.run (package:analyzer/src/dart/analysis/performance_logger.dart:34:15)
#3      LibraryContext.load2 (package:analyzer/src/dart/analysis/library_context.dart:248:12)
#4      AnalysisDriver._createLibraryContext.<anonymous closure> (package:analyzer/src/dart/analysis/driver.dart:1504:25)
#5      _rootRun (dart:async/zone.dart:1190:13)
#6      _CustomZone.run (dart:async/zone.dart:1093:19)
#7      _runZoned (dart:async/zone.dart:1630:10)
#8      runZoned (dart:async/zone.dart:1550:10)
#9      NullSafetyUnderstandingFlag.enableNullSafetyTypes (package:analyzer/dart/element/null_safety_understanding_flag.dart:42:12)
#10     AnalysisDriver._createLibraryContext (package:analyzer/src/dart/analysis/driver.dart:1490:33)
#11     AnalysisDriver._computeUnitElement.<anonymous closure> (package:analyzer/src/dart/analysis/driver.dart:1420:28)
#12     PerformanceLog.run (package:analyzer/src/dart/analysis/performance_logger.dart:34:15)
#13     AnalysisDriver._computeUnitElement (package:analyzer/src/dart/analysis/driver.dart:1418:20)
#14     AnalysisDriver.performWork (package:analyzer/src/dart/analysis/driver.dart:1006:34)
#15     AnalysisDriverScheduler._run (package:analyzer/src/dart/analysis/driver.dart:1967:24)
<asynchronous suspension>
#16     AnalysisDriverScheduler.start (package:analyzer/src/dart/analysis/driver.dart:1890:5)
#17     analysisDriver (package:build_resolvers/src/analysis_driver.dart:62:13)
#18     AnalyzerResolvers._ensureInitialized.<anonymous closure> (package:build_resolvers/src/resolver.dart:224:26)
<asynchronous suspension>
#19     AnalyzerResolvers._ensureInitialized.<anonymous closure> (package:build_resolvers/src/resolver.dart)
#20     AnalyzerResolvers._ensureInitialized (package:build_resolvers/src/resolver.dart:227:6)
#21     AnalyzerResolvers.get (package:build_resolvers/src/resolver.dart:232:11)
#22     PerformanceTrackingResolvers.get.<anonymous closure> (package:build_runner_core/src/performance_tracking/performance_tracking_resolvers.dart:19:58)
#23     _NoOpBuilderActionTracker.trackStage (package:build_runner_core/src/generate/performance_tracker.dart:302:15)
#24     PerformanceTrackingResolvers.get (package:build_runner_core/src/performance_tracking/performance_tracking_resolvers.dart:19:16)
#25     BuildStepImpl.resolver (package:build/src/builder/build_step_impl.dart:73:54)
#26     _Builder.build (package:source_gen/src/builder.dart:68:32)
#27     runBuilder.buildForInput (package:build/src/generate/run_builder.dart:55:21)
#28     MappedListIterable.elementAt (dart:_internal/iterable.dart:417:31)
#29     ListIterator.moveNext (dart:_internal/iterable.dart:343:26)
#30     Future.wait (dart:async/future.dart:406:26)
#31     runBuilder.<anonymous closure> (package:build/src/generate/run_builder.dart:61:36)
#32     _rootRun (dart:async/zone.dart:1190:13)
#33     _CustomZone.run (dart:async/zone.dart:1093:19)
#34     _runZoned (dart:async/zone.dart:1630:10)
#35     runZonedGuarded (dart:async/zone.dart:1618:12)
#36     runZoned (dart:async/zone.dart:1547:12)
#37     scopeLogAsync (package:build/src/builder/logging.dart:26:3)
#38     runBuilder (package:build/src/generate/run_builder.dart:61:9)
#39     _SingleBuild._runForInput.<anonymous closure>.<anonymous closure>.<anonymous closure> (package:build_runner_core/src/generate/build_impl.dart:486:19)
#40     _NoOpBuilderActionTracker.trackStage (package:build_runner_core/src/generate/performance_tracker.dart:302:15)
#41     _SingleBuild._runForInput.<anonymous closure>.<anonymous closure> (package:build_runner_core/src/generate/build_impl.dart:484:23)
<asynchronous suspension>
#42     _SingleBuild._runForInput.<anonymous closure>.<anonymous closure> (package:build_runner_core/src/generate/build_impl.dart)
#43     NoOpTimeTracker.track (package:timing/src/timing.dart:222:44)
#44     _SingleBuild._runForInput.<anonymous closure> (package:build_runner_core/src/generate/build_impl.dart:441:22)
#45     Pool.withResource (package:pool/pool.dart:127:28)
<asynchronous suspension>
#46     _SingleBuild._runForInput (package:build_runner_core/src/generate/build_impl.dart:437:17)
#47     _SingleBuild._runBuilder.<anonymous closure> (package:build_runner_core/src/generate/build_impl.dart:375:38)
#48     MappedIterator.moveNext (dart:_internal/iterable.dart:392:20)
#49     Future.wait (dart:async/future.dart:406:26)
#50     _SingleBuild._runBuilder (package:build_runner_core/src/generate/build_impl.dart:374:36)
#51     _SingleBuild._runPhases.<anonymous closure>.<anonymous closure> (package:build_runner_core/src/generate/build_impl.dart:320:20)
#52     _rootRunUnary (dart:async/zone.dart:1198:47)
#53     _CustomZone.runUnary (dart:async/zone.dart:1100:19)
#54     _FutureListener.handleValue (dart:async/future_impl.dart:143:18)
#55     Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:696:45)
#56     Future._propagateToListeners (dart:async/future_impl.dart:725:32)
#57     Future._completeWithValue (dart:async/future_impl.dart:529:5)
#58     _AsyncAwaitCompleter.complete (dart:async-patch/async_patch.dart:40:15)
#59     _completeOnAsyncReturn (dart:async-patch/async_patch.dart:311:13)
#60     _SingleBuild._matchingPrimaryInputs (package:build_runner_core/src/generate/build_impl.dart)
#61     _rootRunUnary (dart:async/zone.dart:1198:47)
#62     _CustomZone.runUnary (dart:async/zone.dart:1100:19)
#63     _FutureListener.handleValue (dart:async/future_impl.dart:143:18)
#64     Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:696:45)
#65     Future._propagateToListeners (dart:async/future_impl.dart:725:32)
#66     Future._completeWithValue (dart:async/future_impl.dart:529:5)
#67     Future.wait.<anonymous closure> (dart:async/future.dart:414:23)
#68     _rootRunUnary (dart:async/zone.dart:1198:47)
#69     _CustomZone.runUnary (dart:async/zone.dart:1100:19)
#70     _FutureListener.handleValue (dart:async/future_impl.dart:143:18)
#71     Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:696:45)
#72     Future._propagateToListeners (dart:async/future_impl.dart:725:32)
#73     Future._completeWithValue (dart:async/future_impl.dart:529:5)
#74     Future._asyncCompleteWithValue.<anonymous closure> (dart:async/future_impl.dart:567:7)
#75     _rootRun (dart:async/zone.dart:1190:13)
#76     _CustomZone.run (dart:async/zone.dart:1093:19)
#77     _CustomZone.runGuarded (dart:async/zone.dart:997:7)
#78     _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:1037:23)
#79     _microtaskLoop (dart:async/schedule_microtask.dart:41:21)
#80     _startMicrotaskLoop (dart:async/schedule_microtask.dart:50:5)
#81     _runPendingImmediateCallback (dart:isolate-patch/isolate_patch.dart:118:13)
#82     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:169:5)

package:analyzer/src/dart/analysis/library_context.dart 175:19                                LibraryContext.load2.loadBundle
package:analyzer/src/dart/analysis/library_context.dart 250:17                                LibraryContext.load2.<fn>
package:analyzer/src/dart/analysis/performance_logger.dart 34:15                              PerformanceLog.run
package:analyzer/src/dart/analysis/library_context.dart 248:12                                LibraryContext.load2
package:analyzer/src/dart/analysis/driver.dart 1504:25                                        AnalysisDriver._createLibraryContext.<fn>
dart:async                                                                                    runZoned
package:analyzer/dart/element/null_safety_understanding_flag.dart 42:12                       NullSafetyUnderstandingFlag.enableNullSafetyTypes
package:analyzer/src/dart/analysis/driver.dart 1490:33                                        AnalysisDriver._createLibraryContext
package:analyzer/src/dart/analysis/driver.dart 1420:28                                        AnalysisDriver._computeUnitElement.<fn>
package:analyzer/src/dart/analysis/performance_logger.dart 34:15                              PerformanceLog.run
package:analyzer/src/dart/analysis/driver.dart 1418:20                                        AnalysisDriver._computeUnitElement
package:analyzer/src/dart/analysis/driver.dart 1006:34                                        AnalysisDriver.performWork
package:analyzer/src/dart/analysis/driver.dart 1967:24                                        AnalysisDriverScheduler._run
package:analyzer/src/dart/analysis/driver.dart 1890:5                                         AnalysisDriverScheduler.start
package:build_resolvers/src/analysis_driver.dart 62:13                                        analysisDriver
package:build_resolvers/src/resolver.dart 224:26                                              AnalyzerResolvers._ensureInitialized.<fn>
package:build_resolvers/src/resolver.dart                                                     AnalyzerResolvers._ensureInitialized.<fn>
package:build_resolvers/src/resolver.dart 227:6                                               AnalyzerResolvers._ensureInitialized
package:build_resolvers/src/resolver.dart 232:11                                              AnalyzerResolvers.get
package:build_runner_core/src/performance_tracking/performance_tracking_resolvers.dart 19:58  PerformanceTrackingResolvers.get.<fn>
package:build_runner_core/src/generate/performance_tracker.dart 302:15                        _NoOpBuilderActionTracker.trackStage
package:build_runner_core/src/performance_tracking/performance_tracking_resolvers.dart 19:16  PerformanceTrackingResolvers.get
package:build                                                                                 BuildStepImpl.resolver
package:source_gen/src/builder.dart 68:32                                                     _Builder.build
package:build                                                                                 runBuilder
package:build_runner_core/src/generate/build_impl.dart 486:19                                 _SingleBuild._runForInput.<fn>.<fn>.<fn>
package:build_runner_core/src/generate/performance_tracker.dart 302:15                        _NoOpBuilderActionTracker.trackStage
package:build_runner_core/src/generate/build_impl.dart 484:23                                 _SingleBuild._runForInput.<fn>.<fn>
package:build_runner_core/src/generate/build_impl.dart                                        _SingleBuild._runForInput.<fn>.<fn>
package:timing/src/timing.dart 222:44                                                         NoOpTimeTracker.track
package:build_runner_core/src/generate/build_impl.dart 441:22                                 _SingleBuild._runForInput.<fn>
package:pool/pool.dart 127:28                                                                 Pool.withResource
package:build_runner_core/src/generate/build_impl.dart 437:17                                 _SingleBuild._runForInput
package:build_runner_core/src/generate/build_impl.dart 375:38                                 _SingleBuild._runBuilder.<fn>
dart:async                                                                                    Future.wait
package:build_runner_core/src/generate/build_impl.dart 374:36                                 _SingleBuild._runBuilder
package:build_runner_core/src/generate/build_impl.dart 320:20                                 _SingleBuild._runPhases.<fn>.<fn>
dart:async                                                                                    _completeOnAsyncReturn
package:build_runner_core/src/generate/build_impl.dart                                        _SingleBuild._matchingPrimaryInputs

[INFO] Heartbeat:1.2s elapsed, 2/3 actions completed.
[INFO] Heartbeat:2.2s elapsed, 2/3 actions completed.
[INFO] Heartbeat:3.3s elapsed, 2/3 actions completed.
[INFO] Heartbeat:4.4s elapsed, 2/3 actions completed.
[INFO] Heartbeat:5.5s elapsed, 2/3 actions completed.
[INFO] Heartbeat:6.6s elapsed, 2/3 actions completed.
[INFO] Heartbeat:7.6s elapsed, 2/3 actions completed.
[INFO] Heartbeat:8.6s elapsed, 2/3 actions completed.
[INFO] Heartbeat:9.7s elapsed, 2/3 actions completed.
[INFO] Heartbeat:10.8s elapsed, 2/3 actions completed.
[INFO] Heartbeat:11.8s elapsed, 2/3 actions completed.
[INFO] Heartbeat:12.8s elapsed, 2/3 actions completed.
[INFO] Heartbeat:13.9s elapsed, 2/3 actions completed.
[INFO] Heartbeat:14.9s elapsed, 2/3 actions completed.
[WARNING] Heartbeat:
No actions completed for 15.0s, waiting on:
  - freezed:freezed on lib/camera/camera_page.dart

To Reproduce

Can provide private access to repo if needed

Dependencies:

Dart SDK 2.10.0-110.3.beta
Flutter SDK 1.22.0-12.1.pre
creator 1.0.0+1

dependencies:
- better_player 0.0.16 [flutter open_iconic_flutter wakelock flutter_widgets pedantic meta flutter_widget_from_html_core]
- camera 0.5.8+6 [flutter]
- corsac_jwt 0.2.2 [asn1lib logging pointycastle rsa_pkcs crypto]
- cupertino_icons 1.0.0
- dio 3.0.10 [http_parser path]
- equatable 1.2.5 [collection meta]
- firebase_analytics 6.0.0 [meta flutter firebase_core firebase_analytics_web firebase_analytics_platform_interface]
- firebase_auth 0.18.0+1 [meta firebase_core firebase_core_platform_interface firebase_auth_platform_interface firebase_auth_web flutter]
- firebase_core 0.5.0 [firebase_core_platform_interface flutter quiver meta firebase_core_web]
- firebase_crashlytics 0.2.0 [flutter stack_trace firebase_core firebase_core_platform_interface firebase_crashlytics_platform_interface]
- flutter 0.0.0 [characters collection meta typed_data vector_math sky_engine]
- flutter_bloc 6.0.5 [flutter bloc provider]
- flutter_hooks 0.14.0 [flutter]
- flutter_localizations 0.0.0 [flutter intl characters collection meta path typed_data vector_math]
- flutter_svg 0.19.0 [path_drawing xml vector_math meta flutter]
- freezed_annotation 0.12.0 [collection json_annotation meta]
- gallery_saver 2.0.1 [flutter path_provider http path]
- gap 1.2.0 [flutter]
- hydrated_bloc 6.0.1 [flutter meta bloc hive synchronized path_provider]
- image 2.1.17 [archive xml meta]
- intl 0.16.1 [path]
- json_annotation 3.0.1
- logger 0.9.2
- meta 1.3.0-nullsafety.2
- mime 0.9.7
- package_info 0.4.3 [flutter]
- path 1.8.0-nullsafety
- path_provider 1.6.17 [flutter path_provider_platform_interface path_provider_macos path_provider_linux path_provider_windows]
- permission_handler 5.0.1+1 [flutter meta permission_handler_platform_interface]
- pretty_dio_logger 1.1.1 [dio]
- provider 4.3.2+2 [flutter nested collection]
- rxdart 0.24.1
- video_thumbnail 0.2.2 [flutter]

dev dependencies:
- bloc_test 7.0.4 [bloc test meta mockito]
- build_runner 1.10.0 [args async build build_config build_daemon build_resolvers build_runner_core code_builder collection crypto dart_style glob graphs http_multi_server io js logging meta mime path pedantic pool pub_semver pubspec_parse shelf shelf_web_socket stack_trace stream_transform timing watcher web_socket_channel yaml]
- effective_dart 1.2.4
- flutter_test 0.0.0 [flutter test_api path fake_async clock stack_trace vector_math async boolean_selector characters charcode collection matcher meta source_span stream_channel string_scanner term_glyph typed_data]
- freezed 0.12.1 [analyzer build build_config meta source_gen freezed_annotation]
- gsheet_to_arb 0.1.11 [args dart_style intl path googleapis_auth googleapis code_builder intl_translation json_annotation file_utils logging recase quiver yaml petitparser]
- json_serializable 3.4.0 [analyzer build build_config json_annotation meta path source_gen]
- mockito 4.1.1 [collection matcher meta test_api]
- very_good_analysis 1.0.2 [pedantic]

transitive dependencies:
- _discoveryapis_commons 0.1.9 [http]
- _fe_analyzer_shared 7.0.0 [meta]
- analyzer 0.39.17 [_fe_analyzer_shared args charcode cli_util collection convert crypto glob html meta package_config path pub_semver source_span watcher yaml]
- archive 2.0.13 [crypto args path]
- args 1.6.0
- asn1lib 0.6.5
- async 2.5.0-nullsafety [collection]
- bloc 6.0.2 [meta]
- boolean_selector 2.1.0-nullsafety [source_span string_scanner]
- build 1.3.0 [analyzer async convert crypto logging meta path glob]
- build_config 0.4.2 [checked_yaml json_annotation meta path pubspec_parse yaml]
- build_daemon 2.1.4 [built_collection built_value http_multi_server logging pedantic path pool shelf shelf_web_socket stream_transform watcher web_socket_channel]
- build_resolvers 1.3.11 [analyzer build crypto graphs logging path package_config pub_semver]
- build_runner_core 5.2.0 [async build build_config build_resolvers collection convert crypto glob graphs json_annotation logging meta path package_config pedantic pool timing watcher yaml]
- built_collection 4.3.2 [collection quiver]
- built_value 7.1.0 [built_collection collection fixnum quiver]
- characters 1.1.0-nullsafety.2
- charcode 1.2.0-nullsafety
- checked_yaml 1.0.2 [json_annotation source_span yaml]
- cli_util 0.2.0 [path]
- clock 1.1.0-nullsafety
- code_builder 3.2.1 [built_collection built_value collection matcher meta]
- collection 1.15.0-nullsafety.2
- convert 2.1.1 [charcode typed_data]
- coverage 0.14.0 [args logging package_config path source_maps stack_trace vm_service]
- crypto 2.1.5 [collection convert typed_data]
- csslib 0.16.2 [source_span]
- dart_style 1.3.6 [analyzer args path source_span]
- fake_async 1.1.0-nullsafety [clock collection]
- ffi 0.1.3
- file 5.2.1 [intl meta path]
- file_utils 0.1.4 [globbing path]
- firebase 7.3.0 [http http_parser js]
- firebase_analytics_platform_interface 1.0.3 [flutter meta]
- firebase_analytics_web 0.1.1 [flutter flutter_web_plugins firebase firebase_analytics_platform_interface meta]
- firebase_auth_platform_interface 2.0.1 [flutter meta firebase_core plugin_platform_interface]
- firebase_auth_web 0.3.0+1 [flutter flutter_web_plugins firebase meta http_parser intl firebase_core firebase_auth_platform_interface js]
- firebase_core_platform_interface 2.0.0 [flutter meta plugin_platform_interface quiver]
- firebase_core_web 0.2.0 [firebase firebase_core_platform_interface flutter flutter_web_plugins meta js]
- firebase_crashlytics_platform_interface 1.0.0 [flutter meta collection firebase_core plugin_platform_interface]
- fixnum 0.10.11
- flutter_web_plugins 0.0.0 [flutter characters collection meta typed_data vector_math]
- flutter_widget_from_html_core 0.4.3 [flutter html]
- flutter_widgets 0.1.12 [collection flutter html meta quiver]
- glob 1.2.0 [async collection node_io path pedantic string_scanner]
- globbing 0.3.1 [path]
- googleapis 0.54.0 [_discoveryapis_commons http]
- googleapis_auth 0.2.12 [crypto http]
- graphs 0.2.0
- hive 1.4.4 [meta crypto]
- html 0.14.0+3 [csslib source_span]
- http 0.12.2 [http_parser path pedantic]
- http_multi_server 2.2.0 [async]
- http_parser 3.1.4 [charcode collection source_span string_scanner typed_data]
- intl_translation 0.17.10+1 [analyzer args dart_style intl path petitparser]
- io 0.3.4 [charcode meta path string_scanner]
- js 0.6.3-nullsafety.1
- logging 0.11.4
- matcher 0.12.10-nullsafety [stack_trace]
- nested 0.0.4 [flutter]
- node_interop 1.1.1 [js]
- node_io 1.1.1 [node_interop path]
- node_preamble 1.4.12
- open_iconic_flutter 0.3.0 [flutter]
- package_config 1.9.3 [path charcode]
- path_drawing 0.4.1+1 [vector_math meta path_parsing flutter]
- path_parsing 0.1.4 [vector_math meta]
- path_provider_linux 0.0.1+2 [path xdg_directories path_provider_platform_interface flutter]
- path_provider_macos 0.0.4+3 [flutter]
- path_provider_platform_interface 1.0.3 [flutter meta platform plugin_platform_interface]
- path_provider_windows 0.0.4+1 [path_provider_platform_interface meta path flutter ffi win32]
- pedantic 1.10.0-nullsafety.1
- permission_handler_platform_interface 2.0.1 [flutter meta plugin_platform_interface]
- petitparser 3.0.4 [meta]
- platform 2.2.1
- plugin_platform_interface 1.0.2 [meta]
- pointycastle 1.0.2
- pool 1.5.0-nullsafety.1 [async stack_trace]
- process 3.0.13 [file intl meta path platform]
- pub_semver 1.4.4 [collection]
- pubspec_parse 0.1.5 [checked_yaml json_annotation pub_semver yaml]
- quiver 2.1.3 [matcher meta]
- recase 3.0.0
- rsa_pkcs 1.1.3 [asn1lib]
- shelf 0.7.9 [async collection http_parser path stack_trace stream_channel]
- shelf_packages_handler 2.0.0 [path shelf shelf_static]
- shelf_static 0.2.8 [convert http_parser mime path shelf]
- shelf_web_socket 0.2.3 [shelf web_socket_channel stream_channel]
- sky_engine 0.0.99
- source_gen 0.9.6 [analyzer async build dart_style glob meta path pedantic source_span]
- source_map_stack_trace 2.1.0-nullsafety.2 [path stack_trace source_maps]
- source_maps 0.10.10-nullsafety.1 [source_span]
- source_span 1.8.0-nullsafety [charcode collection path term_glyph]
- stack_trace 1.10.0-nullsafety [path]
- stream_channel 2.1.0-nullsafety [async]
- stream_transform 1.2.0
- string_scanner 1.1.0-nullsafety [charcode source_span]
- synchronized 2.2.0+2
- term_glyph 1.2.0-nullsafety
- test 1.16.0-nullsafety.4 [analyzer async boolean_selector coverage http http_multi_server io js node_preamble package_config path pedantic pool shelf shelf_packages_handler shelf_static shelf_web_socket source_span stack_trace stream_channel typed_data web_socket_channel webkit_inspection_protocol yaml test_api test_core]
- test_api 0.2.19-nullsafety [async boolean_selector collection meta path source_span stack_trace stream_channel string_scanner term_glyph matcher]
- test_core 0.3.12-nullsafety.4 [analyzer async args boolean_selector collection coverage glob io meta package_config path pedantic pool source_map_stack_trace source_maps source_span stack_trace stream_channel vm_service yaml matcher test_api]
- timing 0.1.1+2 [json_annotation]
- typed_data 1.3.0-nullsafety.2 [collection]
- vector_math 2.1.0-nullsafety.2
- vm_service 4.2.0 [meta]
- wakelock 0.1.4+2 [flutter]
- watcher 0.9.7+15 [async path pedantic]
- web_socket_channel 1.1.0 [async crypto stream_channel]
- webkit_inspection_protocol 0.7.3 [logging]
- win32 1.7.3 [ffi]
- xdg_directories 0.1.0 [path process flutter]
- xml 4.5.1 [collection convert meta petitparser]
- yaml 2.2.1 [charcode collection string_scanner source_span]

Flutter doctor

[✓] Flutter (Channel beta, 1.22.0-12.1.pre, on Mac OS X 10.15.6 19G73, locale pl-PL)
    • Flutter version 1.22.0-12.1.pre at /Users/dominik/fvm/versions/beta
    • Framework revision 8b3760638a (8 days ago), 2020-09-15 17:47:13 -0700
    • Engine revision 4654fc6cf6
    • Dart version 2.10.0 (build 2.10.0-110.3.beta)

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
    • Android SDK at /Users/dominik/Library/Android/sdk
    • Platform android-29, build-tools 29.0.2
    • ANDROID_HOME = /Users/dominik/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 12.0)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.0, Build version 12A7209
    • CocoaPods version 1.10.0.beta.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.0)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 49.0.2
    • Dart plugin version 193.7547
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)

[✓] VS Code (version 1.49.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.14.1

[✓] Connected device (3 available)
    • iPhone (Dominik) (mobile) • f96e187ec1f51b6be1830c7965a482dc653765d2 • ios            • iOS 14.0
    • Web Server (web)          • web-server                               • web-javascript • Flutter Tools
    • Chrome (web)              • chrome                                   • web-javascript • Google Chrome 85.0.4183.121
    ! Error: iPhone (Dominik) is busy: Copying cache files from device. Xcode will continue when iPhone (Dominik) is finished. (code -10)

• No issues found!

Expected behavior I wish the deadlocks would be less frequent or at least shorter

rrousselGit commented 4 years ago

Thar's unrelated to Freezed and it's just build_runner doing its thing It sounds like build_runner invalidated its cache and rerun the generation on the entire project.

orestesgaolin commented 4 years ago

It sounds like build_runner invalidated its cache and rerun the generation on the entire project.

Do you have a clue what might be the reason? Running on iOS 14 (I don't recall such issues 2 weeks ago)? Some incorrect dependency? My build.yaml config? I'm happy to investigate and experiment but no idea where to start.

orestesgaolin commented 4 years ago

Just for the reference this are the files that are mentioned as blocking (settings.dart):

export 'cubit/settings_cubit.dart';
export 'model/settings_model.dart';
export 'settings_tab.dart';

and settings_model.dart:

import 'package:freezed_annotation/freezed_annotation.dart';

part 'settings_model.freezed.dart';
part 'settings_model.g.dart';

@freezed
abstract class SettingsModel with _$SettingsModel {
  factory SettingsModel({
    @Default('en') String languageCode,
  }) = _SettingsModel;

  factory SettingsModel.fromJson(Map<String, dynamic> json) =>
      _$SettingsModelFromJson(json);
}

I wonder if this kind of exporting pattern can cause some problems to analyzer

rrousselGit commented 4 years ago

Hard to say. Without a reliable way to reproduce the issue, I can only guess.

orestesgaolin commented 4 years ago

Maybe I'll find some way to reproduce this and let you know. Unfortunately this behavior is non-idempotent and happens for various files and configurations.

Will reopen if I find anything.