Repository: flutter
Issue: [Flutter 2.5.0] Nested Scrollables in PageView produces error logs but app works normally
Labels: framework,f: scrolling,d: stackoverflow,a: desktop,a: error message,has reproducible steps,P2,found in release: 2.5,found in release: 2.6,team-framework,triaged-framework


## Steps to Reproduce
1. Create a `PageView` that's structured like this
```dart
PageView(
  controller: _pageController,
  onPageChanged: _onPageChanged,
  children: [
     CustomScrollView(
        slivers: [
           SliverToBoxAdapter(ListView), // horizontal
           SliverToBoxAdapter(ListView), // horizontal
           SliverToBoxAdapter(ListView), // horizontal
         ],
      ),
      CustomScrollView(
         slivers: [
            SliverToBoxAdapter(ListView), // horizontal
            SliverToBoxAdapter(ListView), // horizontal
         ],
      ),
...
```
2. Run the app on web (debug mode)
3. Do some vertical scrolling on the first page of `PageView`
4. Move to the second page using 
```dart
_pageController.animateToPage(
     index,
     duration: const Duration(milliseconds: 500),
     curve: Curves.fastLinearToSlowEaseIn,
 );
```
5. Do some vertical scrolling on the second page

**Expected results:** 
No error logs

**Actual results:**
Exception thrown by the animation library
<details>
  <summary>Logs</summary>

**flutter run -d chrome**
```
Launching lib/main.dart on Chrome in debug mode...
This app is linked to the debug service: ws://127.0.0.1:40789/_TSo5xl7SPE%3D/ws
Debug service listening on ws://127.0.0.1:40789/_TSo5xl7SPE=/ws
💪 Running with sound null safety 💪
Connecting to VM Service at ws://127.0.0.1:40789/_TSo5xl7SPE=/ws
[log] _TransformedPointerDownEvent#285cc(position: Offset(476.0, 923.0))

════════ Exception caught by animation library ═════════════════════════════════
The following assertion was thrown while notifying status listeners for AnimationController:
The provided ScrollController is currently attached to more than one ScrollPosition.

The Scrollbar requires a single ScrollPosition in order to be painted.

When the scrollbar is interactive, the associated Scrollable widgets must have unique ScrollControllers. The provided ScrollController must be unique to a Scrollable widget.

When the exception was thrown, this was the stack
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 251:49      throw_
packages/flutter/src/widgets/scrollbar.dart 1315:9                                <fn>
packages/flutter/src/widgets/scrollbar.dart 1338:14                               [_debugCheckHasValidScrollPosition]
packages/flutter/src/widgets/scrollbar.dart 1257:14                               [_validateInteractions]
packages/flutter/src/animation/listener_helpers.dart 233:27                       notifyStatusListeners
packages/flutter/src/animation/animation_controller.dart 814:7                    [_checkStatusChanged]
packages/flutter/src/animation/animation_controller.dart 748:5                    [_startSimulation]
packages/flutter/src/animation/animation_controller.dart 611:12                   [_animateToInternal]
packages/flutter/src/animation/animation_controller.dart 462:12                   forward
packages/flutter/src/widgets/scrollbar.dart 1567:46                               [_handleScrollNotification]
packages/flutter/src/widgets/notification_listener.dart 206:27                    [_dispatch]
packages/flutter/src/widgets/notification_listener.dart 122:19                    visitAncestor
packages/flutter/src/widgets/scroll_notification.dart 31:18                       visitAncestor
packages/flutter/src/widgets/framework.dart 4133:39                               visitAncestorElements
packages/flutter/src/widgets/notification_listener.dart 138:13                    dispatch
packages/flutter/src/widgets/scroll_activity.dart 94:90                           dispatchScrollUpdateNotification
packages/flutter/src/widgets/scroll_position.dart 899:5                           didUpdateScrollPositionBy
packages/flutter/src/widgets/scroll_position_with_single_context.dart 221:7       pointerScroll
packages/flutter/src/widgets/scrollable.dart 718:16                               [_handlePointerScroll]
packages/flutter/src/gestures/pointer_signal_resolver.dart 199:7                  resolve
packages/flutter/src/gestures/binding.dart 446:29                                 handleEvent
packages/flutter/src/gestures/binding.dart 420:14                                 dispatchEvent
packages/flutter/src/rendering/binding.dart 278:11                                dispatchEvent
packages/flutter/src/gestures/binding.dart 374:7                                  [_handlePointerEventImmediately]
packages/flutter/src/gestures/binding.dart 338:5                                  handlePointerEvent
packages/flutter/src/gestures/binding.dart 296:7                                  [_flushPointerEventQueue]
packages/flutter/src/gestures/binding.dart 279:32                                 [_handlePointerDataPacket]
lib/_engine/engine/platform_dispatcher.dart 1018:13                               invoke1
lib/_engine/engine/platform_dispatcher.dart 182:5                                 invokeOnPointerDataPacket
lib/_engine/engine/pointer_binding.dart 130:39                                    [_onPointerData]
lib/_engine/engine/pointer_binding.dart 307:14                                    [_handleWheelEvent]
lib/_engine/engine/pointer_binding.dart 571:7                                     <fn>
lib/_engine/engine/pointer_binding.dart 288:87                                    <fn>
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 334:14  _checkAndCall
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 339:39  dcall
The AnimationController notifying status listeners was: AnimationController#e29ad(▶ 0.000)
════════════════════════════════════════════════════════════════════════════════

════════ Exception caught by animation library ═════════════════════════════════
The provided ScrollController is currently attached to more than one ScrollPosition.
════════════════════════════════════════════════════════════════════════════════

════════ Exception caught by animation library ═════════════════════════════════
The provided ScrollController is currently attached to more than one ScrollPosition.
════════════════════════════════════════════════════════════════════════════════
```

**flutter analyze**
```
info • Depend on referenced packages • lib/generated_plugin_registrant.dart:8:8 • depend_on_referenced_packages
info • Depend on referenced packages • lib/generated_plugin_registrant.dart:10:8 • depend_on_referenced_packages
```

**flutter doctor -v**

```
[✓] Flutter (Channel stable, 2.5.0, on Manjaro Linux 5.10.61-1-MANJARO, locale en_US.UTF-8)
    • Flutter version 2.5.0 at /home/avo/dev/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 4cc385b4b8 (2 days ago), 2021-09-07 23:01:49 -0700
    • Engine revision f0826da7ef
    • Dart version 2.14.0

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /home/avo/Android/Sdk
    • Platform android-31, build-tools 31.0.0
    • Java binary at: /var/lib/snapd/snap/android-studio/114/android-studio/jre/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)
    • All Android licenses accepted.

[✓] Chrome - develop for the web
    • CHROME_EXECUTABLE = /usr/bin/google-chrome-stable

[✓] Android Studio (version 2020.3)
    • Android Studio at /var/lib/snapd/snap/android-studio/114/android-studio
    • Flutter plugin version 60.1.2
    • Dart plugin version 203.8292
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)

[✓] VS Code
    • VS Code at /snap/code/current
    • Flutter extension version 3.26.0

[✓] Connected device (1 available)
    • Chrome (web) • chrome • web-javascript • Google Chrome 92.0.4515.159

• No issues found!
```

</details>

Notes:

* The issue disappears if I add `ScrollController` to each of the `CustomScrollView`s
* With or without the workaround, the app runs normally