MarcelGarus / MarcelGarus/marquee
in flutter 2.8,Layer ClipRRectEngineLayer was previously used as oldLayer
- 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