flutter / flutter

Flutter makes it easy and fast to build beautiful apps for mobile and beyond
https://flutter.dev
BSD 3-Clause "New" or "Revised" License
162.18k stars 26.65k forks source link

bug with Scroll --CrossScroll #147476

Open PREVOTGilles opened 2 weeks ago

PREVOTGilles commented 2 weeks ago

Steps to reproduce

I have a random bug when displaying the widget described in the code. It's not systematic but frequent. I work on windows application

Expected results

display the correct whithout crash.

Actual results

the application crash without recovery

Code sample

Code sample ```dart CrossScroll( child: Padding( padding: const EdgeInsets.all(8.0), child: SizedBox( width: sizeW * scale, height: sizeH * scale, child: OverflowBox( maxWidth: double.infinity, maxHeight: double.infinity, child: Transform.scale( scale: scale, child: getUnconstrainedPage() , // (scale <= 1.0)? getPage() : ), ), // ), ), ), ), ```

Screenshots or Video

Screenshots / Video demonstration [Upload media here]

Logs

Logs ```console When the exception was thrown, this was the stack: #2 _RenderSingleChildViewport.hitTestChildren. (package:flutter/src/widgets/single_child_scroll_view.dart:594:18) #3 BoxHitTestResult.addWithPaintOffset (package:flutter/src/rendering/box.dart:800:31) #4 _RenderSingleChildViewport.hitTestChildren (package:flutter/src/widgets/single_child_scroll_view.dart:590:21) #5 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2482:11) #6 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:118:19) #7 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2482:11) #8 RenderIgnorePointer.hitTest (package:flutter/src/rendering/proxy_box.dart:3604:31) #9 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:118:19) #10 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2482:11) #11 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:118:19) #12 RenderProxyBoxWithHitTestBehavior.hitTest (package:flutter/src/rendering/proxy_box.dart:173:19) #13 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:118:19) #14 RenderProxyBoxWithHitTestBehavior.hitTest (package:flutter/src/rendering/proxy_box.dart:173:19) #15 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:118:19) #16 RenderProxyBoxWithHitTestBehavior.hitTest (package:flutter/src/rendering/proxy_box.dart:173:19) #17 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:118:19) #18 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2482:11) #19 _RenderSingleChildViewport.hitTestChildren. (package:flutter/src/widgets/single_child_scroll_view.dart:595:25) #20 BoxHitTestResult.addWithPaintOffset (package:flutter/src/rendering/box.dart:800:31) #21 _RenderSingleChildViewport.hitTestChildren (package:flutter/src/widgets/single_child_scroll_view.dart:590:21) #22 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2482:11) #23 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:118:19) #24 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2482:11) #25 RenderIgnorePointer.hitTest (package:flutter/src/rendering/proxy_box.dart:3604:31) #26 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:118:19) #27 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2482:11) #28 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:118:19) #29 RenderProxyBoxWithHitTestBehavior.hitTest (package:flutter/src/rendering/proxy_box.dart:173:19) #30 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:118:19) #31 RenderProxyBoxWithHitTestBehavior.hitTest (package:flutter/src/rendering/proxy_box.dart:173:19) #32 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:118:19) #33 RenderProxyBoxWithHitTestBehavior.hitTest (package:flutter/src/rendering/proxy_box.dart:173:19) #34 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:118:19) #35 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2482:11) #36 RenderBoxContainerDefaultsMixin.defaultHitTestChildren. (package:flutter/src/rendering/box.dart:2861:25) #37 BoxHitTestResult.addWithPaintOffset (package:flutter/src/rendering/box.dart:800:31) #38 RenderBoxContainerDefaultsMixin.defaultHitTestChildren (package:flutter/src/rendering/box.dart:2856:33) #39 RenderStack.hitTestChildren (package:flutter/src/rendering/stack.dart:632:12) #40 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2482:11) #41 RenderBoxContainerDefaultsMixin.defaultHitTestChildren. (package:flutter/src/rendering/box.dart:2861:25) #42 BoxHitTestResult.addWithPaintOffset (package:flutter/src/rendering/box.dart:800:31) #43 RenderBoxContainerDefaultsMixin.defaultHitTestChildren (package:flutter/src/rendering/box.dart:2856:33) #44 RenderCustomMultiChildLayoutBox.hitTestChildren (package:flutter/src/rendering/custom_layout.dart:414:12) #45 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2482:11) #46 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:118:19) #47 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2482:11) #48 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:118:19) #49 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2482:11) #50 RenderPhysicalModel.hitTest (package:flutter/src/rendering/proxy_box.dart:1990:18) #51 RenderBoxContainerDefaultsMixin.defaultHitTestChildren. (package:flutter/src/rendering/box.dart:2861:25) #52 BoxHitTestResult.addWithPaintOffset (package:flutter/src/rendering/box.dart:800:31) #53 RenderBoxContainerDefaultsMixin.defaultHitTestChildren (package:flutter/src/rendering/box.dart:2856:33) #54 RenderCustomMultiChildLayoutBox.hitTestChildren (package:flutter/src/rendering/custom_layout.dart:414:12) #55 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2482:11) #56 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:118:19) #57 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2482:11) #58 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:118:19) #59 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2482:11) #60 RenderPhysicalModel.hitTest (package:flutter/src/rendering/proxy_box.dart:1990:18) #61 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:118:19) #62 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2482:11) #63 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:118:19) #64 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2482:11) #65 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:118:19) #66 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2482:11) #67 RenderIgnorePointer.hitTest (package:flutter/src/rendering/proxy_box.dart:3604:31) #68 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:118:19) #69 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2482:11) #70 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:118:19) #71 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2482:11) #72 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:118:19) #73 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2482:11) #74 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:118:19) #75 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2482:11) #76 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:118:19) #77 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2482:11) #78 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:118:19) #79 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2482:11) #80 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:118:19) #81 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2482:11) #82 RenderOffstage.hitTest (package:flutter/src/rendering/proxy_box.dart:3734:31) #83 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:118:19) #84 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2482:11) #85 _RenderTheaterMixin.hitTestChildren.childHitTest (package:flutter/src/widgets/overlay.dart:985:81) #86 BoxHitTestResult.addWithPaintOffset (package:flutter/src/rendering/box.dart:800:31) #87 _RenderTheaterMixin.hitTestChildren (package:flutter/src/widgets/overlay.dart:986:22) #88 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2482:11) #89 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:118:19) #90 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2482:11) #91 RenderAbsorbPointer.hitTest (package:flutter/src/rendering/proxy_box.dart:3857:17) #92 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:118:19) #93 RenderProxyBoxWithHitTestBehavior.hitTest (package:flutter/src/rendering/proxy_box.dart:173:19) #94 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:118:19) #95 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2482:11) #96 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:118:19) #97 RenderCustomPaint.hitTestChildren (package:flutter/src/rendering/custom_paint.dart:559:18) #98 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2482:11) #99 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:118:19) #100 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2482:11) #101 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:118:19) #102 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2482:11) #103 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:118:19) #104 RenderTapRegionSurface.hitTest (package:flutter/src/widgets/tap_region.dart:214:28) #105 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:118:19) #106 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2482:11) #107 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:118:19) #108 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2482:11) #109 RenderProxyBoxMixin.hitTestChildren (package:flutter/src/rendering/proxy_box.dart:118:19) #110 RenderBox.hitTest (package:flutter/src/rendering/box.dart:2482:11) #111 RenderView.hitTest (package:flutter/src/rendering/view.dart:211:14) #112 RendererBinding.hitTestInView (package:flutter/src/rendering/binding.dart:615:34) #113 GestureBinding._handlePointerEventImmediately (package:flutter/src/gestures/binding.dart:391:7) #114 GestureBinding.handlePointerEvent (package:flutter/src/gestures/binding.dart:383:5) #115 GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:330:7) #116 GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:299:9) #117 _invoke1 (dart:ui/hooks.dart:328:13) #118 PlatformDispatcher._dispatchPointerDataPacket (dart:ui/platform_dispatcher.dart:429:7) #119 _dispatchPointerDataPacket (dart:ui/hooks.dart:262:31) (elided 2 frames from class _AssertionError) ==================================================================================================== ======== Exception caught by gestures library ====================================================== The following assertion was thrown while handling a pointer data packet: 'package:flutter/src/widgets/single_child_scroll_view.dart': Failed assertion: line 594 pos 18: 'transformed == position + -_paintOffset': is not true. 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 ```

Flutter Doctor output

Doctor output ```console Doctor summary (to see all details, run flutter doctor -v): [√] Flutter (Channel stable, 3.19.6, on Microsoft Windows [version 10.0.19045.4291], locale en-US) [√] Windows Version (Installed version of Windows is version 10 or higher) [X] Android toolchain - develop for Android devices X Unable to locate Android SDK. Install Android Studio from: https://developer.android.com/studio/index.html On first launch it will assist you in installing the Android SDK components. (or visit https://flutter.dev/docs/get-started/install/windows#android-setup for detailed instructions). If the Android SDK has been installed to a custom location, please use `flutter config --android-sdk` to update to that location. [√] Chrome - develop for the web [√] Visual Studio - develop Windows apps (Visual Studio Community 2022 17.8.3) [!] Android Studio (not installed) [√] IntelliJ IDEA Ultimate Edition (version 2023.3) [√] Connected device (3 available) [√] Network resources ```
huycozy commented 2 weeks ago

Hi @PREVOTGilles For us to further investigate this issue, please provide a completed and minimal reproducible code sample that doesn’t include 3rd party plugins or complex production code.

If the issue only occurs with cross_scroll package, please open issue on its repository for better support there.

Thank you!