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

fix(libuv): fix sporadic libuv assertion fails #16513

Closed
wants to merge 1 commit into from

Conversation

kubkon
Copy link
Contributor

@kubkon kubkon commented Jan 18, 2021

Description of changes

The fix turns out to be bumping webpack from 4.43 to 4.44 in
packages/web-components. Prior to this, I'd experience sporadic
errors when running yarn test like the ones documented in this
karma issue: karma-runner/karma#3511.
It turns out, that the problem is not with karma but rather with
webpack as documented in webpack/webpack#10037.
As per the closing comment in that issue, ensure we use watchpack
version ^1.7.2 (a transitive dep of webpack) is enough to ensure
this sporadic error goes away, and to bump watchpack we need to
bump webpack by one minor version.

@codesandbox-ci
Copy link

codesandbox-ci bot commented Jan 18, 2021

This pull request is automatically built and testable in CodeSandbox.

To see build info of the built libraries, click here or the icon next to each commit SHA.

Latest deployment of this branch, based on commit 1cd881a:

Sandbox Source
Fluent UI Button Configuration
codesandbox-react-template Configuration
codesandbox-react-northstar-template Configuration

@fabricteam
Copy link
Collaborator

fabricteam commented Jan 18, 2021

Perf Analysis

No significant results to display.

All results

Scenario Render type Master Ticks PR Ticks Iterations Status
Avatar mount 842 827 5000
BaseButtonCompat mount 906 898 5000
Breadcrumb mount 43620 44015 5000
Checkbox mount 1494 1479 5000
CheckboxBase mount 1242 1253 5000
ChoiceGroup mount 4740 4729 5000
ComboBox mount 946 969 1000
CommandBar mount 10164 10172 1000
ContextualMenu mount 6092 6056 1000
DefaultButtonCompat mount 1121 1102 5000
DetailsRow mount 3585 3613 5000
DetailsRowFast mount 3659 3586 5000
DetailsRowNoStyles mount 3489 3497 5000
Dialog mount 1496 1495 1000
DocumentCardTitle mount 1798 1799 1000
Dropdown mount 3324 3361 5000
FocusTrapZone mount 1823 1777 5000
FocusZone mount 1871 1870 5000
IconButtonCompat mount 1743 1749 5000
Label mount 342 340 5000
Layer mount 1762 1750 5000
Link mount 459 460 5000
MakeStyles mount 1967 1904 50000
MenuButtonCompat mount 1462 1415 5000
MessageBar mount 2008 2022 5000
Nav mount 3205 3205 1000
OverflowSet mount 1030 1033 5000
Panel mount 1412 1362 1000
Persona mount 857 824 1000
Pivot mount 1407 1411 1000
PrimaryButtonCompat mount 1272 1278 5000
Rating mount 7534 7549 5000
SearchBox mount 1302 1271 5000
Shimmer mount 2474 2499 5000
Slider mount 1904 1895 5000
SpinButton mount 4935 5075 5000
Spinner mount 425 424 5000
SplitButtonCompat mount 3154 3037 5000
Stack mount 502 484 5000
StackWithIntrinsicChildren mount 1524 1543 5000
StackWithTextChildren mount 4457 4476 5000
SwatchColorPicker mount 10235 10121 5000
Tabs mount 1419 1394 1000
TagPicker mount 2837 2802 5000
TeachingBubble mount 11620 11521 5000
Text mount 410 404 5000
TextField mount 1384 1341 5000
ThemeProvider mount 2188 2205 5000
ThemeProvider virtual-rerender 645 645 5000
Toggle mount 797 797 5000
button mount 689 672 5000
buttonNative mount 115 108 5000

Perf Analysis (Fluent)

Perf comparison
Status Scenario Fluent TPI Fabric TPI Ratio Iterations Ticks
🦄 Avatar.Fluent 0.17 0.52 0.33:1 2000 345
🦄 Button.Fluent 0.12 0.2 0.6:1 5000 577
🔧 Checkbox.Fluent 0.65 0.34 1.91:1 1000 648
🎯 Dialog.Fluent 0.16 0.21 0.76:1 5000 807
🔧 Dropdown.Fluent 3.02 0.39 7.74:1 1000 3018
🔧 Icon.Fluent 0.14 0.06 2.33:1 5000 686
🦄 Image.Fluent 0.08 0.13 0.62:1 5000 405
🔧 Slider.Fluent 1.61 0.45 3.58:1 1000 1609
🔧 Text.Fluent 0.07 0.03 2.33:1 5000 361
🦄 Tooltip.Fluent 0.11 0.9 0.12:1 5000 572

🔧 Needs work     🎯 On target     🦄 Amazing

Perf tests with no regressions
Scenario Current PR Ticks Baseline Ticks Ratio
TreeWith60ListItems.default 202 179 1.13:1
ChatWithPopoverPerf.default 477 444 1.07:1
FormMinimalPerf.default 435 412 1.06:1
AttachmentMinimalPerf.default 174 165 1.05:1
ButtonSlotsPerf.default 603 573 1.05:1
HeaderMinimalPerf.default 406 386 1.05:1
ListWith60ListItems.default 644 616 1.05:1
VideoMinimalPerf.default 662 633 1.05:1
FlexMinimalPerf.default 324 313 1.04:1
ImageMinimalPerf.default 413 399 1.04:1
RadioGroupMinimalPerf.default 467 447 1.04:1
AccordionMinimalPerf.default 168 163 1.03:1
AvatarMinimalPerf.default 208 202 1.03:1
HeaderSlotsPerf.default 815 795 1.03:1
ListCommonPerf.default 671 654 1.03:1
ListMinimalPerf.default 515 498 1.03:1
RefMinimalPerf.default 252 245 1.03:1
SkeletonMinimalPerf.default 392 382 1.03:1
TableManyItemsPerf.default 2103 2045 1.03:1
TreeMinimalPerf.default 810 789 1.03:1
Avatar.Fluent 345 336 1.03:1
Image.Fluent 405 395 1.03:1
ButtonUseCssNestingPerf.default 1116 1099 1.02:1
DividerMinimalPerf.default 390 383 1.02:1
PortalMinimalPerf.default 175 171 1.02:1
ProviderMergeThemesPerf.default 1657 1626 1.02:1
SegmentMinimalPerf.default 376 368 1.02:1
ToolbarMinimalPerf.default 994 976 1.02:1
TooltipMinimalPerf.default 845 829 1.02:1
Checkbox.Fluent 648 636 1.02:1
AttachmentSlotsPerf.default 1221 1203 1.01:1
BoxMinimalPerf.default 394 391 1.01:1
ChatDuplicateMessagesPerf.default 384 379 1.01:1
CheckboxMinimalPerf.default 2872 2841 1.01:1
DatepickerMinimalPerf.default 47849 47513 1.01:1
DropdownManyItemsPerf.default 722 712 1.01:1
ItemLayoutMinimalPerf.default 1248 1239 1.01:1
LabelMinimalPerf.default 442 438 1.01:1
LoaderMinimalPerf.default 744 740 1.01:1
MenuMinimalPerf.default 887 878 1.01:1
TableMinimalPerf.default 428 422 1.01:1
CustomToolbarPrototype.default 3845 3808 1.01:1
ButtonUseCssPerf.default 828 825 1:1
CardMinimalPerf.default 572 573 1:1
PopupMinimalPerf.default 723 720 1:1
ReactionMinimalPerf.default 420 418 1:1
SliderMinimalPerf.default 1608 1603 1:1
SplitButtonMinimalPerf.default 3826 3840 1:1
TextMinimalPerf.default 365 365 1:1
Button.Fluent 577 577 1:1
Dropdown.Fluent 3018 3015 1:1
Slider.Fluent 1609 1614 1:1
AnimationMinimalPerf.default 419 425 0.99:1
DialogMinimalPerf.default 817 822 0.99:1
DropdownMinimalPerf.default 2991 3020 0.99:1
EmbedMinimalPerf.default 4195 4234 0.99:1
InputMinimalPerf.default 1308 1323 0.99:1
MenuButtonMinimalPerf.default 1597 1607 0.99:1
Dialog.Fluent 807 815 0.99:1
ButtonMinimalPerf.default 175 178 0.98:1
ButtonOverridesMissPerf.default 1693 1730 0.98:1
ChatMinimalPerf.default 638 651 0.98:1
ListNestedPerf.default 586 595 0.98:1
RosterPerf.default 1179 1204 0.98:1
ProviderMinimalPerf.default 989 1013 0.98:1
StatusMinimalPerf.default 737 749 0.98:1
IconMinimalPerf.default 674 688 0.98:1
Icon.Fluent 686 702 0.98:1
Tooltip.Fluent 572 584 0.98:1
CarouselMinimalPerf.default 483 498 0.97:1
GridMinimalPerf.default 359 369 0.97:1
TextAreaMinimalPerf.default 495 510 0.97:1
Text.Fluent 361 371 0.97:1
AlertMinimalPerf.default 294 306 0.96:1
LayoutMinimalPerf.default 429 445 0.96:1

@kubkon
Copy link
Contributor Author

kubkon commented Jan 18, 2021

Actually, I just noticed we have a PR which updates webpack to v5, which will make this PR obsolete: #16447. I'm happy to close this in favour of #16647. @dzearing is there any ETA on landing #16447? Either this or your PR would unblock local testing for me :-)

@size-auditor
Copy link

size-auditor bot commented Jan 18, 2021

Asset size changes

Size Auditor did not detect a change in bundle size for any component!

Baseline commit: 9ffa0f0a5eaacfa5414dbcdaae75d7753087a0b6 (build)

@@ -0,0 +1,8 @@
{
"type": "patch",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As this does not change distributed files, the package version shouldn’t update. Can you make this “none”?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed!

The fix turns out to be bumping `webpack` from `4.43` to `4.44` in
`packages/web-components`. Prior to this, I'd experience sporadic
errors when running `yarn test` like the ones documented in this
`karma` issue: [karma-runner/karma#3511](karma-runner/karma#3511).
It turns out, that the problem is not with `karma` but rather with
`webpack` as documented in [webpack/webpack#10037](webpack/webpack#10037).
As per the closing comment in that issue, ensure we use `watchpack`
version `^1.7.2` (a transitive dep of `webpack`) is enough to ensure
this sporadic error goes away, and to bump `watchpack` we need to
bump `webpack` by one minor version.
@dzearing
Copy link
Member

@kubkon trying to get my PR in ASAP; just lots of little stupid things breaking. Fix thing, build locally, celebrate success, check in, wait on build, get surprised by something breaking, depression, investigate, repeat... makes it hard to estimate, but this is my main priority at the moment.

@kubkon
Copy link
Contributor Author

kubkon commented Feb 1, 2021

This is now superseded by #16447, so closing.

@kubkon kubkon closed this Feb 1, 2021
@kubkon kubkon deleted the bump-webpack-webcomponents branch February 1, 2021 15:25
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.

6 participants