MarcelGarus / MarcelGarus/marquee

in flutter 2.8,Layer ClipRRectEngineLayer was previously used as oldLayer

Open
#74 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Dart
Stars
363
Forks
147
PR merge metrics
No merged PRs in 30d

Description

======== Exception caught by scheduler library =====================================================
The following assertion was thrown during a scheduler callback:
Layer ClipRRectEngineLayer was previously used as oldLayer.
Once a layer is used as oldLayer, it may not be used again. Instead, after calling one of the SceneBuilder.push* methods and passing an oldLayer to it, use the layer returned by the method as oldLayer in subsequent frames.
'dart:ui/compositing.dart':
Failed assertion: line 88 pos 9: ''

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.md
```
When the exception was thrown, this was the stack:
#2 _EngineLayerWrapper._debugCheckNotUsedAsOldLayer (dart:ui/compositing.dart:88:9)
#3 SceneBuilder.addRetained..recursivelyCheckChildrenUsedOnce (dart:ui/compositing.dart:656:21)
#4 List.forEach (dart:core-patch/growable_array.dart:410:8)
#5 SceneBuilder.addRetained..recursivelyCheckChildrenUsedOnce (dart:ui/compositing.dart:662:18)
#6 SceneBuilder.addRetained. (dart:ui/compositing.dart:665:7)
#7 SceneBuilder.addRetained (dart:ui/compositing.dart:668:6)
#8 Layer._addToSceneWithRetainedRendering (package:flutter/src/rendering/layer.dart:543:15)
#9 ContainerLayer.addChildrenToScene (package:flutter/src/rendering/layer.dart:1106:13)
#10 ClipRectLayer.addToScene (package:flutter/src/rendering/layer.dart:1368:5)
#11 Layer._addToSceneWithRetainedRendering (package:flutter/src/rendering/layer.dart:546:5)
#12 ContainerLayer.addChildrenToScene (package:flutter/src/rendering/layer.dart:1106:13)
#13 OffsetLayer.addToScene (package:flutter/src/rendering/layer.dart:1240:5)
#14 Layer._addToSceneWithRetainedRendering (package:flutter/src/rendering/layer.dart:546:5)
#15 ContainerLayer.addChildrenToScene (package:flutter/src/rendering/layer.dart:1106:13)
#16 PhysicalModelLayer.addToScene (package:flutter/src/rendering/layer.dart:2081:5)
#17 Layer._addToSceneWithRetainedRendering (package:flutter/src/rendering/layer.dart:546:5)
#18 ContainerLayer.addChildrenToScene (package:flutter/src/rendering/layer.dart:1106:13)
#19 ContainerLayer.addToScene (package:flutter/src/rendering/layer.dart:1093:5)
#20 Layer._addToSceneWithRetainedRendering (package:flutter/src/rendering/layer.dart:546:5)
#21 ContainerLayer.addChildrenToScene (package:flutter/src/rendering/layer.dart:1106:13)
#22 OffsetLayer.addToScene (package:flutter/src/rendering/layer.dart:1240:5)
#23 Layer._addToSceneWithRetainedRendering (package:flutter/src/rendering/layer.dart:546:5)
#24 ContainerLayer.addChildrenToScene (package:flutter/src/rendering/layer.dart:1106:13)
#25 OffsetLayer.addToScene (package:flutter/src/rendering/layer.dart:1240:5)
#26 Layer._addToSceneWithRetainedRendering (package:flutter/src/rendering/layer.dart:546:5)
#27 ContainerLayer.addChildrenToScene (package:flutter/src/rendering/layer.dart:1106:13)
#28 TransformLayer.addToScene (package:flutter/src/rendering/layer.dart:1681:5)
#29 ContainerLayer.buildScene (package:flutter/src/rendering/layer.dart:938:5)
#30 RenderView.compositeFrame (package:flutter/src/rendering/view.dart:226:37)
#31 RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:501:18)
#32 WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:883:13)
#33 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1145:15)
#34 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1082:9)
(elided 5 frames from class _AssertionError and dart:async)
```
====================================================================================================

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the reported Flutter 2.8 assertion and stack trace, especially SceneBuilder.addRetained and the layer calls in Flutter's rendering/layer.dart. Reproduce the failure with the marquee widget, since the issue provides no application code or reproduction steps. Done means identifying a minimal reproduction and preventing the assertion, with a regression test if the failure can be isolated.

Written by the indexing model from the issue text.

Assessment

Tech stack
dart, flutter
Domain
mobile-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.