-
Notifications
You must be signed in to change notification settings - Fork 3
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
Camera selector panel turn grey randomly #302
Comments
Thanks, the next time this occurs can you attach the logs in the settings. |
This bug doesn't seem to produce log entries, I have these but the crash at this instance happens at 10:58
One thing I noticed is if I start the app, then switch layout few time the bug will likely occur, but once all the streams are loaded if I go to another tab and come back to live view to let this widget rebuild I can't trigger the bug anymore, hope this help. |
This issue has been haunting us for a very, very long time. I have tried to fix it a few times (f98ed1b, e3f4ed5, 13105a3). Resizing the window usually fixes it. I believe the issue is that the Dart garbage collector collects our devices data when it shouldn't, causing to the It may be necessary to rewrite the sidebar logic. |
The error that causes this issue: ══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
The following _TypeError was thrown building DesktopSidebar(dependencies: [InheritedCupertinoTheme,
_InheritedProviderScope<ServersProvider?>, _InheritedProviderScope<SettingsProvider?>,
_InheritedTheme, _LocalizationsScope-[GlobalKey#c9ca8]], state: _DesktopSidebarState#0b6c3):
type 'Null' is not a subtype of type 'List<Device>' in type cast
The relevant error-causing widget was:
DesktopSidebar
DesktopSidebar:file:///C:/Users/bruno/Documents/flutter/paid_projects/unity/lib/screens/layouts/desktop/layout_view.dart:99:16
When the exception was thrown, this was the stack:
#0 MapBase.entries.<anonymous closure> (dart:collection/maps.dart:76:62)
#1 MappedIterator.moveNext (dart:_internal/iterable.dart:403:20)
#2 new _GrowableList._ofOther (dart:core-patch/growable_array.dart:202:26)
#3 new _List._ofOther (dart:core-patch/array.dart:176:43)
#4 new _List.of (dart:core-patch/array.dart:130:18)
#5 new List.of (dart:core-patch/array_patch.dart:39:50)
#6 Iterable.toList (dart:core/iterable.dart:498:7)
#7 _DesktopSidebarState.build (package:bluecherry_client/screens/layouts/desktop/sidebar.dart:88:41)
#8 StatefulElement.build (package:flutter/src/widgets/framework.dart:5729:27)
#9 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5617:15)
#10 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5780:11)
#11 Element.rebuild (package:flutter/src/widgets/framework.dart:5333:7)
#12 StatefulElement.update (package:flutter/src/widgets/framework.dart:5803:5)
#13 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#14 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6907:14)
#15 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#16 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5642:16)
#17 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5780:11)
#18 Element.rebuild (package:flutter/src/widgets/framework.dart:5333:7)
#19 StatefulElement.update (package:flutter/src/widgets/framework.dart:5803:5)
#20 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#21 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5642:16)
#22 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5780:11)
#23 Element.rebuild (package:flutter/src/widgets/framework.dart:5333:7)
#24 StatefulElement.update (package:flutter/src/widgets/framework.dart:5803:5)
#25 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#26 Element.updateChildren (package:flutter/src/widgets/framework.dart:4090:32)
#27 MultiChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:7060:17)
#28 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#29 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5642:16)
#30 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5780:11)
#31 Element.rebuild (package:flutter/src/widgets/framework.dart:5333:7)
#32 StatefulElement.update (package:flutter/src/widgets/framework.dart:5803:5)
#33 Element.updateChild (package:flutter/src/widgets/framework.dart:3941:15)
#34 _LayoutBuilderElement._rebuildWithConstraints.updateChildCallback
(package:flutter/src/widgets/layout_builder.dart:207:18)
#35 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:3038:19)
#36 _LayoutBuilderElement._rebuildWithConstraints (package:flutter/src/widgets/layout_builder.dart:231:12)
#37 RenderObject.invokeLayoutCallback.<anonymous closure> (package:flutter/src/rendering/object.dart:2719:59)
#38 PipelineOwner._enableMutationsToDirtySubtrees (package:flutter/src/rendering/object.dart:1098:15)
#39 RenderObject.invokeLayoutCallback (package:flutter/src/rendering/object.dart:2719:14)
#40 RenderConstrainedLayoutBuilder.rebuildIfNecessary (package:flutter/src/widgets/layout_builder.dart:278:5)
#41 _RenderLayoutBuilder.performLayout (package:flutter/src/widgets/layout_builder.dart:369:5)
#42 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#43 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
#44 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#45 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
#46 RenderCustomPaint.performLayout (package:flutter/src/rendering/custom_paint.dart:569:11)
#47 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#48 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
#49 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1448:11)
#50 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#51 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
#52 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#53 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
#54 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#55 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
#56 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#57 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
#58 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#59 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
#60 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#61 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
#62 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#63 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
#64 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#65 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
#66 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#67 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
#68 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#69 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
#70 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#71 ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:61:11)
#72 RenderStack._computeSize (package:flutter/src/rendering/stack.dart:595:43)
#73 RenderStack.performLayout (package:flutter/src/rendering/stack.dart:622:12)
#74 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#75 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
#76 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1448:11)
#77 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#78 ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:61:11)
#79 RenderFlex._computeSizes (package:flutter/src/rendering/flex.dart:1009:71)
#80 RenderFlex.performLayout (package:flutter/src/rendering/flex.dart:1051:32)
#81 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#82 ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:61:11)
#83 RenderFlex._computeSizes (package:flutter/src/rendering/flex.dart:1009:71)
#84 RenderFlex.performLayout (package:flutter/src/rendering/flex.dart:1051:32)
#85 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#86 MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:173:12)
#87 _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:1092:7)
#88 MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:237:7)
#89 RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:404:14)
#90 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#91 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
#92 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#93 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
#94 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1448:11)
#95 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#96 _RenderLayoutBuilder.performLayout (package:flutter/src/widgets/layout_builder.dart:371:14)
#97 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#98 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
#99 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#100 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
#101 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#102 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
#103 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#104 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
#105 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#106 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
#107 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#108 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
#109 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#110 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
#111 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#112 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
#113 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#114 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
#115 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#116 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
#117 RenderOffstage.performLayout (package:flutter/src/rendering/proxy_box.dart:3728:13)
#118 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#119 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
#120 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#121 _RenderTheaterMixin.layoutChild (package:flutter/src/widgets/overlay.dart:1002:13)
#122 _RenderTheater.performLayout (package:flutter/src/widgets/overlay.dart:1311:9)
#123 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#124 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
#125 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#126 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
#127 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#128 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
#129 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#130 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
#131 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#132 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
#133 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#134 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
#135 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#136 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
#137 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#138 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
#139 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#140 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
#141 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#142 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:21)
#143 RenderObject.layout (package:flutter/src/rendering/object.dart:2608:7)
#144 RenderView.performLayout (package:flutter/src/rendering/view.dart:281:14)
#145 RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:2446:7)
#146 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1052:18)
#147 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1065:15)
#148 RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:602:23)
#149 WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:1164:13)
#150 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:468:5)
#151 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1397:15)
#152 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1318:9)
#153 SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1176:5)
#157 _invoke (dart:ui/hooks.dart:314:10)
#158 PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:419:5)
#159 _drawFrame (dart:ui/hooks.dart:283:31)
(elided 3 frames from dart:async)
════════════════════════════════════════════════════════════════════════════════════════════════════
Another exception was thrown: type 'Null' is not a subtype of type 'List<Device>' in type cast |
This bug have existed for a long time now but I never could catch it.
The camera and layout selector panel will sometime just turn grey, no crash, no log event, I even tried to trigger this bug with flutter debug but I never could trigger it while debugging.
I can't quite reproduce it at will but it will happens at least once or twice a week. I have the feeling that it happens when I switch layout while a stream is still loading (but I'm not 100% sure) If I switch back to another view like setting and come back it will reappear.
Version: 3.0.0-beta20 and at least 5-6 previous versions, also on last bleeding edge
System: Windows (10) and Linux (Seen on Ubuntu 20.04, 22.04 and PopOS)
The text was updated successfully, but these errors were encountered: