Kill interactive script job xcdevice observe processes on tool/daemon shutdown#157646
Conversation
7371131 to
45b7780
Compare
45b7780 to
c0cbb4d
Compare
#157646 is being labeled by the PR labeler as "text-input" because it edited "con**text**_runner.dart". ``` ##[debug] "**/*text*" pattern matched packages/flutter_tools/lib/src/context_runner.dart ``` https://github.com/flutter/flutter/actions/runs/11526508378/job/32090756495?pr=157646#step:2:134 Exclude the common "context" word from this label rule. See negation example at https://github.com/actions/labeler/blob/main/README.md#basic-examples.
…7812) Reverts: #157650 Initiated by: jmagman Reason for reverting: this made the labeler go crazy and put it on everything that didn't contain "context". Original PR Author: jmagman Reviewed By: {christopherfujino} This change reverts the following previous change: #157646 is being labeled by the PR labeler as "text-input" because it edited "con**text**_runner.dart". ``` ##[debug] "**/*text*" pattern matched packages/flutter_tools/lib/src/context_runner.dart ``` https://github.com/flutter/flutter/actions/runs/11526508378/job/32090756495?pr=157646#step:2:134 Exclude the common "context" word from this label rule. See negation example at https://github.com/actions/labeler/blob/main/README.md#basic-examples.
packages/flutter_tools/test/general.shard/macos/xcode_test.dart
Outdated
Show resolved
Hide resolved
Where does the output usually go if not stdout? |
If I recall from #58137 (comment) (though it was 4 years ago) it eventually goes to stdout but it waited until the buffer hit some size before writing it, so the output wasn't up-to-date and so we couldn't reliably parse the json since it was output in chunks. I learned the trick from @cbracken in https://github.com/flutter/flutter/pull/12079/files#diff-5a9a07600dceb28cbe887a5a64a24b0aR502-R504, who filed an issue about a different command with a similar issue https://openradar.appspot.com/34420207 |
…ool/daemon shutdown (flutter/flutter#157646)
flutter/flutter@29d40f7...73546b3 2024-11-06 [email protected] Add test for `image.loading_builder.0.dart` (flutter/flutter#158248) 2024-11-06 [email protected] Make flutter_tools use newest package:{native_assets_builder,native_assets_cli,native_toolchain_c} (flutter/flutter#158214) 2024-11-06 [email protected] Fix RawScrollbar examples and desktop test (flutter/flutter#158237) 2024-11-06 [email protected] Cleanup MenuAnchor and Improve DropdownMenu tests readability (flutter/flutter#158175) 2024-11-06 [email protected] Roll Flutter Engine from a3741d6248b7 to f03f11300a9d (2 revisions) (flutter/flutter#158222) 2024-11-06 [email protected] Update error message for Cocoapods support for synchronized groups/folders (flutter/flutter#158206) 2024-11-06 [email protected] Restore skipped iOS test by looping over `FakeAsync` elapse. (flutter/flutter#158204) 2024-11-06 [email protected] fix: ensure draggable_scrollable_sheet respects shouldCloseOnMinExten� (flutter/flutter#156338) 2024-11-06 [email protected] Roll Flutter Engine from e5e06c97c33c to a3741d6248b7 (14 revisions) (flutter/flutter#158218) 2024-11-06 [email protected] Forward fix `CupertinoDynamicColor` by adding `toARGB32()`. (flutter/flutter#158145) 2024-11-05 [email protected] Remove unused `enableObservatory` flag. (flutter/flutter#158202) 2024-11-05 [email protected] Remove observatory related TODO that is already fixed. (flutter/flutter#158205) 2024-11-05 [email protected] Factor out "shaker" class (flutter/flutter#157748) 2024-11-05 [email protected] Marks Mac_benchmark animated_complex_opacity_perf_macos__e2e_summary to be flaky (flutter/flutter#157424) 2024-11-05 [email protected] Increase subsharding for `Linux tool_integration_tests` (flutter/flutter#158196) 2024-11-05 [email protected] Add test for `raw_scrollbar.2.dart` (flutter/flutter#158161) 2024-11-05 [email protected] use root directory as the default for rootOverride in Cache.test constructor (flutter/flutter#158201) 2024-11-05 [email protected] Kill interactive script job `xcdevice observe` processes on tool/daemon shutdown (flutter/flutter#157646) 2024-11-05 [email protected] Fix: Gap between prefix and suffix icon and input field in input deco� (flutter/flutter#152069) 2024-11-05 [email protected] Roll Flutter Engine from f56401062e42 to e5e06c97c33c (1 revision) (flutter/flutter#158194) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-packages Please CC [email protected],[email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
…ool/daemon shutdown (flutter/flutter#157646)
…ool/daemon shutdown (flutter/flutter#157646)
…ool/daemon shutdown (flutter/flutter#157646)
…ool/daemon shutdown (flutter/flutter#157646)
…ool/daemon shutdown (flutter/flutter#157646)

To convince
xcdevice observeto redirect to stdout it's being launched in an interactive shell/usr/bin/script -t 0 /dev/null /usr/bin/arch -arm64e xcrun xcdevice observe --usbflutter/packages/flutter_tools/lib/src/macos/xcdevice.dart
Lines 261 to 263 in 1cc8a07
When the
fluttercommand exits, the interactive script process is terminated, but not its jobsxcdevice observe --usb.Instead of
-9sigterm killing the interactive script, send it aSIGHUP(signal hangup) duringXCDevice.dispose(), which will exit its processes. Add a shutdown hook to ensuredisposeis run when the process exits.Fixes #73859
Pre-launch Checklist
///).If you need help, consider asking for advice on the #hackers-new channel on Discord.