Dart-Code: Dart Analyzer has terminated (new with latest updates for Flutter 1.20)
I was working with no errors in Dart Analyzer for months. Today I updated Dart Code and Flutter to the latest version, now Dart Analyzer crashes in a matter of minutes with Cannot call write after a stream was destroyed
. Lsp is off.
Log
[21:53:34] [VmService] [Info] [10] <== {"jsonrpc":"2.0","method":"streamNotify","params":{"streamId":"Extension","event":{"type":"Event","kind":"Extension","extensionKind":"Flutter.Frame","isolate":{"type":"@Isolate","id":"isolates\/239248081289867","name":"main","number":"239248081289867"},"timestamp":1596675212826,"extensionData":{"number":1283,"startTime":114055166406,"elapsed":8775,"build":2057,"raster":5387}}}}
...repeated 155 times
[21:54:48] [VmService] [Info] [10] Termination requested!
[21:54:48] [FlutterRun] [Info] [10] ==> [{"id":"5","method":"app.stop","params":{"appId":"a06e3c1c-3de6-4a5e-9901-0999050b8859"}}]
[21:54:48] [VmService] [Info] [10] VM service connection closed: 1006 ()
[21:54:48] [FlutterRun] [Info] [10] <== [{"id":"5","result":true}]
[21:54:48] [FlutterRun] [Info] [10] <== Application finished.
[21:54:48] [FlutterRun] [Info] [10] <== [{"event":"app.stop","params":{"appId":"a06e3c1c-3de6-4a5e-9901-0999050b8859"}}]
[21:54:48] [FlutterRun] [Info] [10] Process terminated! null, SIGTERM
[21:54:48] [VmService] [Info] [10] Process exited (sigterm)
[21:54:48] [VmService] [Info] [10] TERM: Requested to terminate with SIGINT...
[21:54:48] [VmService] [Info] [10] TERM: Did not need to terminate processes
[21:54:48] [VmService] [Info] [10] TERM: Removing all stored data...
[21:54:48] [VmService] [Info] [10] TERM: Waiting for process to finish...
[21:54:48] [VmService] [Info] [10] TERM: Disconnecting...
[21:54:49] [VmService] [Info] [10] Disconnect requested!
[21:54:49] [VmService] [Info] [10] TERM: Requested to terminate with SIGINT...
[21:54:49] [VmService] [Info] [10] TERM: Did not need to terminate processes
[21:54:49] [VmService] [Info] [10] TERM: Removing all stored data...
[21:54:49] [VmService] [Info] [10] TERM: Waiting for process to finish...
[21:54:49] [VmService] [Info] [10] TERM: Disconnecting...
[21:54:49] [General] [Info] Debugger:SessionDuration timing: 869329ms (Flutter)
[21:59:00] [Analyzer] [Info] ==> {"id":"79","method":"analysis.setSubscriptions","params":{"subscriptions":{"CLOSING_LABELS":["C:\\Projects\\MCC2020\\Frontend\\lib\\pages\\profile\\migrate_data_page.dart"],"FOLDING":["C:\\Projects\\MCC2020\\Frontend\\lib\\pages\\profile\\migrate_data_page.dart"],"OCCURRENCES":["C:\\Projects\\MCC2020\\Frontend\\lib\\pages\\profile\\migrate_data_page.dart"],"OUTLINE":["C:\\Projects\\MCC2020\\Frontend\\lib\\pages\\profile\\migrate_data_page.dart"]}},"clientRequestTime":1596675540740}
[21:59:00] [Analyzer] [Info] ==> {"id":"80","method":"analysis.updateContent","params":{"files":{"C:\\Projects\\MCC2020\\Frontend\\lib\\pages\\profile\\migrate_data_page.dart":{"content":"import 'dart:convert';\r\nimport 'dart:io';\r\n\r\nimport 'package:flutter/foundation.dart';\r\nimport 'package:flutter/material.dart';\r\nimport 'package:flutter/services.dart';\r\nimport 'package:flutter_alert/flutter_alert.dart';\r\nimport 'package:material_design_icons_flutter/material_design_icons_flutter.dart';\r\nimport 'package:moo…
[21:59:00] [Analyzer] [Info] ==> {"id":"81","method":"edit.getFixes","params":{"file":"C:\\Projects\\MCC2020\\Frontend\\lib\\pages\\profile\\migrate_data_page.dart","offset":0},"clientRequestTime":1596675540745}
[21:59:00] [Analyzer] [Info] ==> {"id":"82","method":"edit.getAssists","params":{"file":"C:\\Projects\\MCC2020\\Frontend\\lib\\pages\\profile\\migrate_data_page.dart","length":0,"offset":0},"clientRequestTime":1596675540747}
[21:59:00] [Analyzer] [Info] ==> {"id":"83","method":"edit.getAvailableRefactorings","params":{"file":"C:\\Projects\\MCC2020\\Frontend\\lib\\pages\\profile\\migrate_data_page.dart","length":0,"offset":0},"clientRequestTime":1596675540749}
[21:59:00] [Analyzer] [Info] ==> {"id":"84","method":"analysis.setPriorityFiles","params":{"files":["C:\\Projects\\MCC2020\\Frontend\\lib\\pages\\profile\\migrate_data_page.dart"]},"clientRequestTime":1596675540752}
[21:59:00] [Analyzer] [Info] ==> {"id":"85","method":"analysis.updateContent","params":{"files":{"C:\\Projects\\MCC2020\\Frontend\\lib\\pages\\profile\\migrate_data_page.dart":{"edits":[{"offset":0,"length":0,"replacement":"","id":""}],"type":"change"}}},"clientRequestTime":1596675540772}
[21:59:00] [Analyzer] [Info] ==> {"id":"86","method":"analysis.updateContent","params":{"files":{"C:\\Projects\\MCC2020\\Frontend\\lib\\pages\\profile\\migrate_data_page.dart":{"edits":[{"offset":0,"length":0,"replacement":"","id":""}],"type":"change"}}},"clientRequestTime":1596675540774}
[21:59:00] [General] [Error] Cannot call write after a stream was destroyed
Error [ERR_STREAM_DESTROYED]: Cannot call write after a stream was destroyed
at doWrite (_stream_writable.js:414:19)
at writeOrBuffer (_stream_writable.js:402:5)
at Socket.Writable.write (_stream_writable.js:302:11)
at b.sendMessage (c:\Users\jckod\.vscode\extensions\dart-code.dart-code-3.13.2\out\dist\extension.js:1:152985)
at b.sendMessage (c:\Users\jckod\.vscode\extensions\dart-code.dart-code-3.13.2\out\dist\extension.js:1:147394)
at c:\Use…
[21:59:00] [Analyzer] [Info] ==> {"id":"87","method":"flutter.setSubscriptions","params":{"subscriptions":{"OUTLINE":["C:\\Projects\\MCC2020\\Frontend\\lib\\pages\\profile\\migrate_data_page.dart"]}},"clientRequestTime":1596675540776}
[21:59:00] [General] [Error] Cannot call write after a stream was destroyed
Error [ERR_STREAM_DESTROYED]: Cannot call write after a stream was destroyed
at doWrite (_stream_writable.js:414:19)
at writeOrBuffer (_stream_writable.js:402:5)
at Socket.Writable.write (_stream_writable.js:302:11)
at b.sendMessage (c:\Users\jckod\.vscode\extensions\dart-code.dart-code-3.13.2\out\dist\extension.js:1:152985)
at b.sendMessage (c:\Users\jckod\.vscode\extensions\dart-code.dart-code-3.13.2\out\dist\extension.js:1:147394)
at c:\Use…
[21:59:00] [General] [Error] Cannot call write after a stream was destroyed
Error [ERR_STREAM_DESTROYED]: Cannot call write after a stream was destroyed
at doWrite (_stream_writable.js:414:19)
at writeOrBuffer (_stream_writable.js:402:5)
at Socket.Writable.write (_stream_writable.js:302:11)
at b.sendMessage (c:\Users\jckod\.vscode\extensions\dart-code.dart-code-3.13.2\out\dist\extension.js:1:152985)
at b.sendMessage (c:\Users\jckod\.vscode\extensions\dart-code.dart-code-3.13.2\out\dist\extension.js:1:147394)
at c:\Use…
[21:59:00] [General] [Error] Cannot call write after a stream was destroyed
Error [ERR_STREAM_DESTROYED]: Cannot call write after a stream was destroyed
at doWrite (_stream_writable.js:414:19)
at writeOrBuffer (_stream_writable.js:402:5)
at Socket.Writable.write (_stream_writable.js:302:11)
at b.sendMessage (c:\Users\jckod\.vscode\extensions\dart-code.dart-code-3.13.2\out\dist\extension.js:1:152985)
at b.sendMessage (c:\Users\jckod\.vscode\extensions\dart-code.dart-code-3.13.2\out\dist\extension.js:1:147394)
at c:\Use…
[21:59:00] [General] [Error] Cannot call write after a stream was destroyed
Error [ERR_STREAM_DESTROYED]: Cannot call write after a stream was destroyed
at doWrite (_stream_writable.js:414:19)
at writeOrBuffer (_stream_writable.js:402:5)
at Socket.Writable.write (_stream_writable.js:302:11)
at b.sendMessage (c:\Users\jckod\.vscode\extensions\dart-code.dart-code-3.13.2\out\dist\extension.js:1:152985)
at b.sendMessage (c:\Users\jckod\.vscode\extensions\dart-code.dart-code-3.13.2\out\dist\extension.js:1:147394)
at c:\Use…
[21:59:00] [Analyzer] [Info] ==> {"id":"88","method":"edit.getFixes","params":{"file":"C:\\Projects\\MCC2020\\Frontend\\lib\\pages\\profile\\migrate_data_page.dart","offset":18287},"clientRequestTime":1596675540974}
[21:59:00] [Analyzer] [Info] ==> {"id":"89","method":"edit.getAssists","params":{"file":"C:\\Projects\\MCC2020\\Frontend\\lib\\pages\\profile\\migrate_data_page.dart","length":14,"offset":18273},"clientRequestTime":1596675540976}
[21:59:00] [Analyzer] [Info] ==> {"id":"90","method":"edit.getAvailableRefactorings","params":{"file":"C:\\Projects\\MCC2020\\Frontend\\lib\\pages\\profile\\migrate_data_page.dart","length":14,"offset":18273},"clientRequestTime":1596675540978}
[21:59:00] [General] [Error] Cannot call write after a stream was destroyed
Error [ERR_STREAM_DESTROYED]: Cannot call write after a stream was destroyed
at doWrite (_stream_writable.js:414:19)
at writeOrBuffer (_stream_writable.js:402:5)
at Socket.Writable.write (_stream_writable.js:302:11)
at b.sendMessage (c:\Users\jckod\.vscode\extensions\dart-code.dart-code-3.13.2\out\dist\extension.js:1:152985)
at b.sendMessage (c:\Users\jckod\.vscode\extensions\dart-code.dart-code-3.13.2\out\dist\extension.js:1:147394)
at c:\Use…
[21:59:00] [General] [Error] Cannot call write after a stream was destroyed
Error [ERR_STREAM_DESTROYED]: Cannot call write after a stream was destroyed
at doWrite (_stream_writable.js:414:19)
at writeOrBuffer (_stream_writable.js:402:5)
at Socket.Writable.write (_stream_writable.js:302:11)
at b.sendMessage (c:\Users\jckod\.vscode\extensions\dart-code.dart-code-3.13.2\out\dist\extension.js:1:152985)
at b.sendMessage (c:\Users\jckod\.vscode\extensions\dart-code.dart-code-3.13.2\out\dist\extension.js:1:147394)
at c:\Use…
[21:59:08] [Analyzer] [Info] ==> {"id":"91","method":"analysis.getHover","params":{"file":"C:\\Projects\\MCC2020\\Frontend\\lib\\pages\\profile\\migrate_data_page.dart","offset":5772},"clientRequestTime":1596675548859}
[21:59:08] [General] [Error] Cannot call write after a stream was destroyed
Error [ERR_STREAM_DESTROYED]: Cannot call write after a stream was destroyed
at doWrite (_stream_writable.js:414:19)
at writeOrBuffer (_stream_writable.js:402:5)
at Socket.Writable.write (_stream_writable.js:302:11)
at b.sendMessage (c:\Users\jckod\.vscode\extensions\dart-code.dart-code-3.13.2\out\dist\extension.js:1:152985)
at b.sendMessage (c:\Users\jckod\.vscode\extensions\dart-code.dart-code-3.13.2\out\dist\extension.js:1:147394)
at c:\Use…
[21:59:13] [Analyzer] [Info] ==> {"id":"92","method":"edit.getFixes","params":{"file":"C:\\Projects\\MCC2020\\Frontend\\lib\\pages\\profile\\migrate_data_page.dart","offset":5507},"clientRequestTime":1596675553311}
[21:59:13] [Analyzer] [Info] ==> {"id":"93","method":"edit.getAssists","params":{"file":"C:\\Projects\\MCC2020\\Frontend\\lib\\pages\\profile\\migrate_data_page.dart","length":0,"offset":5507},"clientRequestTime":1596675553312}
[21:59:13] [Analyzer] [Info] ==> {"id":"94","method":"edit.getAvailableRefactorings","params":{"file":"C:\\Projects\\MCC2020\\Frontend\\lib\\pages\\profile\\migrate_data_page.dart","length":0,"offset":5507},"clientRequestTime":1596675553314}
About this issue
- Original URL
- State: closed
- Created 4 years ago
- Reactions: 2
- Comments: 22 (12 by maintainers)
Thanks - I was able to reproduce what I suspect is the same thing, which seems like a repeat of https://github.com/flutter/flutter/issues/46616. There’s an open SDK issue at https://github.com/dart-lang/sdk/issues/40348 which I’ve added some notes and a crash dump to.
My solution:
After reading multiple related issues, I still did not find an effective solution. Later, I checked the analysis server log, as stated in many issues: there is no difference, but I saw this sentence:
My instinct told me that it might be the problem caused by this snapshot, so I deleted the entire snapshap folder, so my problem disappeared
我的解决办法:
中文:我在阅读了多个相关的 issue 之后,依旧没有找到有效的解决办法,后来我查看了analysis server log,就像很多 issue 里说的一样:没有什么不同的地方,但是我看到这样一句:
直觉告诉我,可能是这个快照导致的问题,于是我删除了整个 snapshap 文件夹,于是,我的问题消失了
@szerner https://github.com/dart-lang/sdk/issues/40348 is the issue tracking this. It’s in the VM so a bit outside of my area - though I added steps and a crash log there that will hopefully help VM devs track it down. If you have more reliable repro steps than me, please do add them to that issue.
@rasmuschristensen I’m not sure what issue you’re seeing. When on v1.20.0 of Flutter and v3.13.2 of the Dart extension, is the analyzer still terminating?
And if you’re seeing issues starting debugging, could you file a new issue with a log described above (being unable to debug and the analyzer terminating are likely not related). Thanks!