baleia.nvim
baleia.nvim copied to clipboard
Neovim crashes when setting async = true and a huge load of lines is added to the buffer
I'm using baleia to colorize the dap-repl output (nvim-dap) when developing in Flutter.
vim.api.nvim_create_autocmd({ "BufWinEnter" }, {
pattern = "*dap-repl*",
callback = function()
vim.g.baleia.automatically(vim.api.nvim_get_current_buf())
end,
})
In Flutter, when a widget is messed up due to its size, dart throws a huge load of output into the buffer. See output below.
This causes neovim to crash. To mitigate this issue, the only thing that helps is to set async to false.
Huge output example
════════ Exception caught by rendering library ═════════════════════════════════
The following assertion was thrown during performLayout():
An InputDecorator, which is typically created by a TextField, cannot have an unbounded width.
This happens when the parent widget does not provide a finite width constraint. For example, if the InputDecorator is contained by a Row, then its width must be constrained. An Expanded widget or a SizedBox can be used to constrain the width of the InputDecorator or the TextField that contains it.
'package:flutter/src/material/input_decorator.dart':
Failed assertion: line 964 pos 7: 'constraints.maxWidth < double.infinity'
Either the assertion indicates an error in the framework itself, or we should provide substantially more information in this error message to help you determine and fix the underlying cause.
In either case, please report this assertion by filing a bug on GitHub:
https://github.com/flutter/flutter/issues/new?template=2_bug.yml
When the exception was thrown, this was the stack:
#2 _RenderDecoration._layout (package:flutter/src/material/input_decorator.dart:964:7)
#3 _RenderDecoration.performLayout (package:flutter/src/material/input_decorator.dart:1301:44)
#4 RenderObject.layout (package:flutter/src/rendering/object.dart:2627:7)
#5 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:117:21)
#6 RenderObject.layout (package:flutter/src/rendering/object.dart:2627:7)
#7 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:117:21)
#8 RenderObject.layout (package:flutter/src/rendering/object.dart:2627:7)
#9 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:117:21)
#10 RenderObject.layout (package:flutter/src/rendering/object.dart:2627:7)
#11 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:117:21)
#12 RenderObject.layout (package:flutter/src/rendering/object.dart:2627:7)
#13 RenderTapRegion.layout (package:flutter/src/widgets/tap_region.dart:583:11)
#14 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:117:21)
#15 RenderObject.layout (package:flutter/src/rendering/object.dart:2627:7)
#16 ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:61:11)
#17 RenderFlex._computeSizes (package:flutter/src/rendering/flex.dart:1055:73)
#18 RenderFlex.performLayout (package:flutter/src/rendering/flex.dart:1121:32)
#19 RenderObject.layout (package:flutter/src/rendering/object.dart:2627:7)
#20 RenderPadding.performLayout (package:flutter/src/rendering/shifted_box.dart:239:12)
#21 RenderObject.layout (package:flutter/src/rendering/object.dart:2627:7)
#22 RenderConstrainedBox.performLayout (package:flutter/src/rendering/proxy_box.dart:297:14)
#23 RenderObject.layout (package:flutter/src/rendering/object.dart:2627:7)
#24 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:117:21)
#25 RenderObject.layout (package:flutter/src/rendering/object.dart:2627:7)
#26 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:117:21)
#27 RenderCustomPaint.performLayout (package:flutter/src/rendering/custom_paint.dart:572:11)
#28 RenderObject.layout (package:flutter/src/rendering/object.dart:2627:7)
#29 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:117:21)
#30 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1476:11)
#31 RenderObject.layout (package:flutter/src/rendering/object.dart:2627:7)
#32 RenderConstrainedBox.performLayout (package:flutter/src/rendering/proxy_box.dart:297:14)
#33 RenderObject.layout (package:flutter/src/rendering/object.dart:2627:7)
#34 RenderPositionedBox.performLayout (package:flutter/src/rendering/shifted_box.dart:456:14)
#35 RenderObject.layout (package:flutter/src/rendering/object.dart:2627:7)
#36 RenderPadding.performLayout (package:flutter/src/rendering/shifted_box.dart:239:12)
#37 RenderObject.layout (package:flutter/src/rendering/object.dart:2627:7)
#38 RenderPadding.performLayout (package:flutter/src/rendering/shifted_box.dart:239:12)
#39 RenderObject.layout (package:flutter/src/rendering/object.dart:2627:7)
#40 RenderPadding.performLayout (package:flutter/src/rendering/shifted_box.dart:239:12)
#41 RenderObject.layout (package:flutter/src/rendering/object.dart:2627:7)
#42 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:117:21)
#43 RenderObject.layout (package:flutter/src/rendering/object.dart:2627:7)
#44 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:117:21)
#45 RenderObject.layout (package:flutter/src/rendering/object.dart:2627:7)
#46 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:117:21)
#47 RenderObject.layout (package:flutter/src/rendering/object.dart:2627:7)
#48 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:117:21)
#49 RenderObject.layout (package:flutter/src/rendering/object.dart:2627:7)
#50 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:117:21)
#51 RenderObject.layout (package:flutter/src/rendering/object.dart:2627:7)
#52 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:117:21)
#53 RenderObject.layout (package:flutter/src/rendering/object.dart:2627:7)
#54 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:117:21)
#55 RenderOffstage.performLayout (package:flutter/src/rendering/proxy_box.dart:3722:13)
#56 RenderObject.layout (package:flutter/src/rendering/object.dart:2627:7)
#57 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:117:21)
#58 RenderObject.layout (package:flutter/src/rendering/object.dart:2627:7)
#59 _RenderTheaterMixin.layoutChild (package:flutter/src/widgets/overlay.dart:1016:13)
#60 _RenderTheater.performLayout (package:flutter/src/widgets/overlay.dart:1328:9)
#61 RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:2465:7)
#62 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1062:18)
#63 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1075:15)
#64 RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:609:23)
#65 WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:1178:13)
#66 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:475:5)
#67 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1397:15)
#68 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1318:9)
#69 SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1176:5)
#70 _invoke (dart:ui/hooks.dart:312:13)
#71 PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:427:5)
#72 _drawFrame (dart:ui/hooks.dart:283:31)
(elided 2 frames from class _AssertionError)
The following RenderObject was being processed when the exception was fired: _RenderDecoration#b1bf0 relayoutBoundary=up6 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
parentData: <none> (can use size)
constraints: BoxConstraints(0.0<=w<=Infinity, 0.0<=h<=76.0)
size: MISSING
input: RenderRepaintBoundary#7cfd0 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
needs compositing
parentData: offset=Offset(0.0, 0.0)
constraints: MISSING
size: MISSING
usefulness ratio: no metrics collected yet (never painted)
child: _RenderCompositionCallback#667c0 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
parentData: <none>
constraints: MISSING
size: MISSING
child: RenderTapRegion#e4564 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
parentData: <none>
constraints: MISSING
size: MISSING
behavior: deferToChild
debugLabel: EditableText
groupId: EditableText
child: RenderMouseRegion#1f795 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
parentData: <none>
constraints: MISSING
size: MISSING
behavior: opaque
listeners: <none>
helperError: RenderConstrainedBox#d38fc NEEDS-LAYOUT NEEDS-PAINT
parentData: offset=Offset(0.0, 0.0)
constraints: MISSING
size: MISSING
additionalConstraints: BoxConstraints(w=0.0, h=0.0)
container: RenderCustomPaint#4f074 NEEDS-LAYOUT NEEDS-PAINT
parentData: offset=Offset(0.0, 0.0)
constraints: MISSING
size: MISSING
painter: null
foregroundPainter: _InputBorderPainter#43fe9
RenderObject: _RenderDecoration#b1bf0 relayoutBoundary=up6 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
parentData: <none> (can use size)
constraints: BoxConstraints(0.0<=w<=Infinity, 0.0<=h<=76.0)
size: MISSING
input: RenderRepaintBoundary#7cfd0 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
needs compositing
parentData: offset=Offset(0.0, 0.0)
constraints: MISSING
size: MISSING
usefulness ratio: no metrics collected yet (never painted)
child: _RenderCompositionCallback#667c0 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
parentData: <none>
constraints: MISSING
size: MISSING
child: RenderTapRegion#e4564 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
parentData: <none>
constraints: MISSING
size: MISSING
behavior: deferToChild
debugLabel: EditableText
groupId: EditableText
child: RenderMouseRegion#1f795 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
parentData: <none>
constraints: MISSING
size: MISSING
behavior: opaque
listeners: <none>
helperError: RenderConstrainedBox#d38fc NEEDS-LAYOUT NEEDS-PAINT
parentData: offset=Offset(0.0, 0.0)
constraints: MISSING
size: MISSING
additionalConstraints: BoxConstraints(w=0.0, h=0.0)
container: RenderCustomPaint#4f074 NEEDS-LAYOUT NEEDS-PAINT
parentData: offset=Offset(0.0, 0.0)
constraints: MISSING
size: MISSING
painter: null
foregroundPainter: _InputBorderPainter#43fe9
═════════════════════════════════════════════════════════
Exception caught by rendering library ═════════════════════════════════
RenderBox was not laid out: _RenderDecoration#b1bf0 relayoutBoundary=up6 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
'package:flutter/src/rendering/box.dart':
Failed assertion: line 2176 pos 12: 'hasSize'
The relevant error-causing widget was:
TextField TextField:file:///home/adonis/Development/Flutter/odin/lib/ui/settings.dart:150:15
════════════════════════════════════════════════════════════════════════════════
════════ Exception caught by rendering library ═════════════════════════════════
RenderBox was not laid out: RenderPointerListener#0c2b1 relayoutBoundary=up5 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
'package:flutter/src/rendering/box.dart':
Failed assertion: line 2176 pos 12: 'hasSize'
The relevant error-causing widget was:
TextField TextField:file:///home/adonis/Development/Flutter/odin/lib/ui/settings.dart:150:15
════════════════════════════════════════════════════════════════════════════════
════════ Exception caught by rendering library ═════════════════════════════════
RenderBox was not laid out: RenderSemanticsAnnotations#14578 relayoutBoundary=up4 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
'package:flutter/src/rendering/box.dart':
Failed assertion: line 2176 pos 12: 'hasSize'
The relevant error-causing widget was:
TextField TextField:file:///home/adonis/Development/Flutter/odin/lib/ui/settings.dart:150:15
════════════════════════════════════════════════════════════════════════════════
════════ Exception caught by rendering library ═════════════════════════════════
RenderBox was not laid out: RenderIgnorePointer#7d2e4 relayoutBoundary=up3 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
'package:flutter/src/rendering/box.dart':
Failed assertion: line 2176 pos 12: 'hasSize'
The relevant error-causing widget was:
TextField TextField:file:///home/adonis/Development/Flutter/odin/lib/ui/settings.dart:150:15
════════════════════════════════════════════════════════════════════════════════
════════ Exception caught by rendering library ═════════════════════════════════
RenderBox was not laid out: RenderTapRegion#1a913 relayoutBoundary=up2 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
'package:flutter/src/rendering/box.dart':
Failed assertion: line 2176 pos 12: 'hasSize'
The relevant error-causing widget was:
TextField TextField:file:///home/adonis/Development/Flutter/odin/lib/ui/settings.dart:150:15
════════════════════════════════════════════════════════════════════════════════
════════ Exception caught by rendering library ═════════════════════════════════
RenderBox was not laid out: RenderMouseRegion#ec550 relayoutBoundary=up1 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
'package:flutter/src/rendering/box.dart':
Failed assertion: line 2176 pos 12: 'hasSize'
The relevant error-causing widget was:
Row Row:file:///home/adonis/Development/Flutter/odin/lib/ui/settings.dart:148:18
════════════════════════════════════════════════════════════════════════════════
════════ Exception caught by rendering library ═════════════════════════════════
RenderBox was not laid out: RenderFlex#0fc3a NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
'package:flutter/src/rendering/box.dart':
Failed assertion: line 2176 pos 12: 'hasSize'
The relevant error-causing widget was:
Padding Padding:file:///home/adonis/Development/Flutter/odin/lib/ui/settings.dart:146:16
════════════════════════════════════════════════════════════════════════════════
════════ Exception caught by rendering library ═════════════════════════════════
RenderBox was not laid out: RenderPadding#ffc0a NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
'package:flutter/src/rendering/box.dart':
Failed assertion: line 2176 pos 12: 'hasSize'
The relevant error-causing widget was:
SizedBox SizedBox:file:///home/adonis/Development/Flutter/odin/lib/ui/settings.dart:143:12
════════════════════════════════════════════════════════════════════════════════
════════ Exception caught by rendering library ═════════════════════════════════
RenderBox was not laid out: RenderConstrainedBox#2fb39 relayoutBoundary=up5 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
'package:flutter/src/rendering/box.dart':
Failed assertion: line 2176 pos 12: 'hasSize'
The relevant error-causing widget was:
Dialog Dialog:file:///home/adonis/Development/Flutter/odin/lib/ui/dialogs/default.dart:14:12
════════════════════════════════════════════════════════════════════════════════
════════ Exception caught by rendering library ═════════════════════════════════
RenderBox was not laid out: _RenderInkFeatures#3ab67 relayoutBoundary=up4 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
'package:flutter/src/rendering/box.dart':
Failed assertion: line 2176 pos 12: 'hasSize'
The relevant error-causing widget was:
Dialog Dialog:file:///home/adonis/Development/Flutter/odin/lib/ui/dialogs/default.dart:14:12
════════════════════════════════════════════════════════════════════════════════
════════ Exception caught by rendering library ═════════════════════════════════
RenderBox was not laid out: RenderCustomPaint#6b326 relayoutBoundary=up3 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
'package:flutter/src/rendering/box.dart':
Failed assertion: line 2176 pos 12: 'hasSize'
The relevant error-causing widget was:
Dialog Dialog:file:///home/adonis/Development/Flutter/odin/lib/ui/dialogs/default.dart:14:12
════════════════════════════════════════════════════════════════════════════════
════════ Exception caught by rendering library ═════════════════════════════════
RenderBox was not laid out: RenderPhysicalShape#44a8f relayoutBoundary=up2 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
'package:flutter/src/rendering/box.dart':
Failed assertion: line 2176 pos 12: 'hasSize'
The relevant error-causing widget was:
Dialog Dialog:file:///home/adonis/Development/Flutter/odin/lib/ui/dialogs/default.dart:14:12
════════════════════════════════════════════════════════════════════════════════
════════ Exception caught by rendering library ═════════════════════════════════
'package:flutter/src/rendering/shifted_box.dart': Failed assertion: line 346 pos 12: 'child!.hasSize': is not true.
The relevant error-causing widget was:
Dialog Dialog:file:///home/adonis/Development/Flutter/odin/lib/ui/dialogs/default.dart:14:12
════════════════════════════════════════════════════════════════════════════════
W/OnBackInvokedCallback(16140): OnBackInvokedCallback is not enabled for the application.
W/OnBackInvokedCallback(16140): Set 'android:enableOnBackInvokedCallback="true"' in the application manifest.
════════ Exception caught by rendering library ═════════════════════════════════
RenderBox was not laid out: RenderPhysicalShape#44a8f relayoutBoundary=up2
'package:flutter/src/rendering/box.dart':
Failed assertion: line 2176 pos 12: 'hasSize'
The relevant error-causing widget was:
Dialog Dialog:file:///home/adonis/Development/Flutter/odin/lib/ui/dialogs/default.dart:14:12
══════════════════════════════════════════════════════