fluttercommunity / fluttercommunity/chewie
'method 'remove' was called on null' while change video in profile or release mode
- Dominant language
- Dart
- Stars
- 2.1k
- Forks
- 1.1k
- Avg merge
- 6d 8h
- Merged PRs (30d)
- 6
Description
I use code like below to change video,but I got exception in release and profile version,but never trig in debug mode.
```
setState(() {
chewieController?.dispose();
videoPlayerController?.dispose();
videoPlayerController = VideoPlayerController.network(new_video_url);
chewieController = ChewieController(
videoPlayerController: videoPlayerController,
aspectRatio: videoRatio,
autoPlay: true,
looping: false,
);
});
```
expcetion
```
I/flutter (23544): ══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
I/flutter (23544): The following NoSuchMethodError was thrown building KeyedSubtree-[GlobalKey#b505a]:
I/flutter (23544): The method 'remove' was called on null.
I/flutter (23544): Receiver: null
I/flutter (23544): Tried calling: remove()
I/flutter (23544): When the exception was thrown, this was the stack:
I/flutter (23544): #0 ChangeNotifier.removeListener (package:flutter/src/foundation/change_notifier.dart:167)
I/flutter (23544): #1 _VideoPlayerState.didUpdateWidget (package:video_player/video_player.dart:492)
I/flutter (23544): #2 StatefulElement.update (package:flutter/src/widgets/framework.dart:3879)
I/flutter (23544): #3 Element.updateChild (package:flutter/src/widgets/framework.dart:2748)
I/flutter (23544): #4 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4883)
I/flutter (23544): #5 Element.updateChild (package:flutter/src/widgets/framework.dart:2748)
I/flutter (23544): #6 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3747)
I/flutter (23544): #7 Element.rebuild (package:flutter/src/widgets/framework.dart:3559)
I/flutter (23544): #8 StatelessElement.update (package:flutter/src/widgets/framework.dart:3796)
I/flutter (23544): #9 Element.updateChild (package:flutter/src/widgets/framework.dart:2748)
I/flutter (23544): #10 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3747)
I/flutter (23544): #11 Element.rebuild (package:flutter/src/widgets/framework.dart:3559)
I/flutter (23544): #12 StatefulElement.update (package:flutter/src/widgets/framework.dart:3894)
I/flutter (23544): #13 Element.updateChild (package:flutter/src/widgets/framework.dart:2748)
I/flutter (23544): #14 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4883)
I/flutter (23544): #15 Element.updateChild (package:flutter/src/widgets/framework.dart:2748)
I/flutter (23544): #16 RenderObjectElement.updateChildren (package:flutter/src/widgets/framework.dart:4601)
I/flutter (23544): #17 MultiChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4992)
I/flutter (23544): #18 Element.updateChild (package:flutter/src/widgets/framework.dart:2748)
I/flutter (23544): #19 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3747)
I/flutter (23544): #20 Element.rebuild (package:flutter/src/widgets/framework.dart:3559)
I/flutter (23544): #21 StatelessElement.update (package:flutter/src/widgets/framework.dart:3796)
I/flutter (23544): #22 Element.updateChild (package:flutter/src/widgets/framework.dart:2748)
I/flutter (23544): #23 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4883)
I/flutter (23544): #24 Element.updateChild (package:flutter/src/widgets/framework.dart:2748)
I/flutter (23544): #25 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4883)
I/flutter (23544): #26 Element.updateChild (package:flutter/src/widgets/framework.dart:2748)
I/flutter (23544): #27 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3747)
I/flutter (23544): #28 Element.rebuild (package:flutter/src/widgets/framework.dart:3559)
I/flutter (23544): #29 StatelessElement.update (package:flutter/src/widgets/framework.dart:3796)
I/flutter (23544): #30 Element.updateChild (package:flutter/src/widgets/framework.dart:2748)
I/flutter (23544): #31 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4883)
I/flutter (23544): #32 Element.updateChild (package:flutter/src/widgets/framework.dart:2748)
I/flutter (23544): #33 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3747)
I/flutter (23544): #34 Element.rebuild (package:flutter/src/widgets/framework.dart:3559)
I/flutter (23544): #35 StatelessElement.update (package:flutter/src/widgets/framework.dart:3796)
I/flutter (23544): #36 Element.updateChild (package:flutter/src/widgets/framework.dart:2748)
I/flutter (23544): #37 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3747)
I/flutter (23544): #38 Element.rebuild (package:flutter/src/widgets/framework.dart:3559)
I/flutter (23544): #39 ProxyElement.update (package:flutter/src/widgets/framework.dart:4006)
I/flutter (23544): #40 Element.updateChild (package:flutter/src/widgets/framework.dart:2748)
I/flutter (23544): #41 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3747)
I/flutter (23544): #42 Element.rebuild (package:flutter/src/widgets/framework.dart:3559)
I/flutter (23544): #43 StatefulElement.update (package:flutter/src/widgets/framework.dart:3894)
I/flutter (23544): #44 Element.updateChild (package:flutter/src/widgets/framework.dart:2748)
I/flutter (23544): #45 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3747)
I/flutter (23544): #46 Element.rebuild (package:flutter/src/widgets/framework.dart:3559)
I/flutter (23544): #47 ProxyElement.update (package:flutter/src/widgets/framework.dart:4006)
I/flutter (23544): #48 Element.updateChild (package:flutter/src/widgets/framework.dart:2748)
I/flutter (23544): #49 RenderObjectElement.updateChildren (package:flutter/src/widgets/framework.dart:4601)
I/flutter (23544): #50 MultiChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4992)
I/flutter (23544): #51 Element.updateChild (package:flutter/src/widgets/framework.dart:2748)
I/flutter (23544): #52 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4883)
I/flutter (23544): #53 Element.updateChild (package:flutter/src/widgets/framework.dart:2748)
I/flutter (23544): #54 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3747)
I/flutter (23544): #55 Element.rebuild (package:flutter/src/widgets/framework.dart:3559)
I/flutter (23544): #56 StatelessElement.update (package:flutter/src/widgets/framework.dart:3796)
I/flutter (23544): #57 Element.updateChild (package:flutter/src/widgets/framework.dart:2748)
I/flutter (23544): #58 RenderObjectElement.updateChildren (package:flutter/src/widgets/framework.dart:4601)
I/flutter (23544): #59 MultiChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4992)
I/flutter (23544): #60 Element.updateChild (package:flutter/src/widgets/framework.dart:2748)
I/flutter (23544): #61 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3747)
I/flutter (23544): #62 Element.rebuild (package:flutter/src/widgets/framework.dart:3559)
I/flutter (23544): #63 ProxyElement.update (package:flutter/src/widgets/framework.dart:4006)
I/flutter (23544): #64 Element.updateChild (package:flutter/src/widgets/framework.dart:2748)
I/flutter (23544): #65 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3747)
I/flutter (23544): #66 Element.rebuild (package:flutter/src/widgets/framework.dart:3559)
I/flutter (23544): #67 ProxyElement.update (package:flutter/src/widgets/framework.dart:4006)
I/flutter (23544): #68 Element.updateChild (package:flutter/src/widgets/framework.dart:2748)
I/flutter (23544): #69 RenderObjectElement.updateChildren (package:flutter/src/widgets/framework.dart:4601)
I/flutter (23544): #70 MultiChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4992)
I/flutter (23544): #71 Element.updateChild (package:flutter/src/widgets/framework.dart:2748)
I/flutter (23544): #72 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3747)
I/flutter (23544): #73 Element.rebuild (package:flutter/src/widgets/framework.dart:3559)
I/flutter (23544): #74 StatefulElement.update (package:flutter/src/widgets/framework.dart:3894)
I/flutter (23544): #75 Element.updateChild (package:flutter/src/widgets/framework.dart:2748)
I/flutter (23544): #76 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3747)
I/flutter (23544): #77 Element.rebuild (package:flutter/src/widgets/framework.dart:3559)
I/flutter (23544): #78 ProxyElement.update (package:flutter/src/widgets/framework.dart:4006)
I/flutter (23544): #79 Element.updateChild (package:flutter/src/widgets/framework.dart:2748)
I/flutter (23544): #80 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3747)
I/flutter (23544): #81 Element.rebuild (package:flutter/src/widgets/framework.dart:3559)
I/flutter (23544): #82 StatefulElement.update (package:flutter/src/widgets/framework.dart:3894)
I/flutter (23544): #83 Element.updateChild (package:flutter/src/widgets/framework.dart:2748)
I/flutter (23544): #84 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4883)
I/flutter (23544): #85 Element.updateChild (package:flutter/src/widgets/framework.dart:2748)
I/flutter (23544): #86 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3747)
I/flutter (23544): #87 Element.rebuild (package:flutter/src/widgets/framework.dart:3559)
I/flutter (23544): #88 StatelessElement.update (package:flutter/src/widgets/framework.dart:3796)
I/flutter (23544): #89 Element.updateChild (package:flutter/src/widgets/framework.dart:2748)
I/flutter (23544): #90 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4883)
I/flutter (23544): #91 Element.updateChild (package:flutter/src/widgets/framework.dart:2748)
I/flutter (23544): #92 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3747)
I/flutter (23544): #93 Element.rebuild (package:flutter/src/widgets/framework.dart:3559)
I/flutter (23544): #94 StatefulElement.update (package:flutter/src/widgets/framework.dart:3894)
I/flutter (23544): #95 Element.updateChild (package:flutter/src/widgets/framework.dart:2748)
I/flutter (23544): #96 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3747)
I/flutter (23544): #97 Element.rebuild (package:flutter/src/widgets/framework.dart:3559)
I/flutter (23544): #98 StatefulElement.update (package:flutter/src/widgets/framework.dart:3894)
I/flutter (23544): #99 Element.updateChild (package:flutter/src/widgets/framework.dart:2748)
I/flutter (23544): #100 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3747)
I/flutter (23544): #101 Element.rebuild (package:flutter/src/widgets/framework.dart:3559)
I/flutter (23544): #102 ProxyElement.update (package:flutter/src/widgets/framework.dart:4006)
I/flutter (23544): #103 Element.updateChild (package:flutter/src/widgets/framework.dart:2748)
I/flutter (23544): #104 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3747)
I/flutter (23544): #105 Element.rebuild (package:flutter/src/widgets/framework.dart:3559)
I/flutter (23544): #106 ProxyElement.update (package:flutter/src/widgets/framework.dart:4006)
I/flutter (23544): #107 Element.updateChild (package:flutter/src/widgets/framework.dart:2748)
I/flutter (23544): #108 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3747)
I/flutter (23544): #109 Element.rebuild (package:flutter/src/widgets/framework.dart:3559)
I/flutter (23544): #110 StatefulElement.update (package:flutter/src/widgets/framework.dart:3894)
I/flutter (23544): #111 Element.updateChild (package:flutter/src/widgets/framework.dart:2748)
I/flutter (23544): #112 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3747)
I/flutter (23544): #113 Element.rebuild (package:flutter/src/widgets/framework.dart:3559)
I/flutter (23544): #114 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2273)
I/flutter (23544): #115 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding&WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:700)
I/flutter (23544): #116 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:268)
I/flutter (23544): #117 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:988)
I/flutter (23544): #118 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:928)
I/flutter (23544): #119 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:840)
I/flutter (23544): #123 _invoke (dart:ui/hooks.dart:209)
I/flutter (23544): #124 _drawFrame (dart:ui/hooks.dart:168)
I/flutter (23544): (elided 3 frames from package dart:async)
```
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reproducing the controller change in profile and release modes using the reported snippet. Inspect the stack entry at _VideoPlayerState.didUpdateWidget in package:flutter/src/video_player/video_player.dart and compare the widget update sequence with the dispose calls. Done means changing the video no longer throws the reported NoSuchMethodError.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- dart, flutter
- Domain
- audio-video-rtc, mobile-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100