Skip to content

CarouselView throws "Unsupported operation: Infinity or NaN toInt" on android #163436

@ngoc-quoc-huynh

Description

@ngoc-quoc-huynh

Steps to reproduce

  1. Run the samle code in release mode (not in debug)

Expected results

Code works as expected and displays the image.

Actual results

Nothing is displayed an this error is thrown:

I/flutter (18167): [IMPORTANT:flutter/shell/platform/android/android_context_vk_impeller.cc(60)] Using the Impeller rendering backend (Vulkan).
I/flutter (18167): Unsupported operation: Infinity or NaN toInt
I/flutter (18167): #0      RenderObject.constraints (package:flutter/src/rendering/object.dart)
I/flutter (18167): #1      RenderSliver.constraints (package:flutter/src/rendering/sliver.dart:1311)
I/flutter (18167): #2      _RenderSliverFixedExtentCarousel.getMinChildIndexForScrollOffset (package:flutter/src/material/carousel.dart:676)
I/flutter (18167): #3      RenderSliverFixedExtentBoxAdaptor.performLayout (package:flutter/src/rendering/sliver_fixed_extent_list.dart:302)
I/flutter (18167): #4      _RenderSliverFixedExtentCarousel.performLayout (package:flutter/src/material/carousel.dart:631)
I/flutter (18167): #5      RenderObject.layout (package:flutter/src/rendering/object.dart:2715)
I/flutter (18167): #6      RenderViewportBase.layoutChildSequence (package:flutter/src/rendering/viewport.dart:608)
I/flutter (18167): #7      RenderViewport._attemptLayout (package:flutter/src/rendering/viewport.dart:1576)
I/flutter (18167): #8      RenderViewport.performLayout (package:flutter/src/rendering/viewport.dart:1467)
I/flutter (18167): #9      RenderObject.layout (package:flutter/src/rendering/object.dart:2715)
I/flutter (18167): #10     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115)
I/flutter (18167): #11     RenderObject.layout (package:flutter/src/rendering/object.dart:2715)
I/flutter (18167): #12     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115)
I/flutter (18167): #13     RenderObject.layout (package:flutter/src/rendering/object.dart:2715)
I/flutter (18167): #14     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115)
I/flutter (18167): #15     RenderObject.layout (package:flutter/src/rendering/object.dart:2715)
I/flutter (18167): #16     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115)
I/flutter (18167): #17     RenderObject.layout (package:flutter/src/rendering/object.dart:2715)
I/flutter (18167): #18     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115)
I/flutter (18167): #19     RenderObject.layout (package:flutter/src/rendering/object.dart:2715)
I/flutter (18167): #20     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115)
I/flutter (18167): #21     RenderObject.layout (package:flutter/src/rendering/object.dart:2715)
I/flutter (18167): #22     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115)
I/flutter (18167): #23     RenderObject.layout (package:flutter/src/rendering/object.dart:2715)
I/flutter (18167): #24     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115)
I/flutter (18167): #25     _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1483)
I/flutter (18167): #26     RenderObject.layout (package:flutter/src/rendering/object.dart:2715)
I/flutter (18167): #27     _RenderLayoutBuilder.performLayout (package:flutter/src/widgets/layout_builder.dart:392)
I/flutter (18167): #28     RenderObject.layout (package:flutter/src/rendering/object.dart:2715)
I/flutter (18167): #29     MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:180)
I/flutter (18167): #30     _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:1118)
I/flutter (18167): #31     MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:249)
I/flutter (18167): #32     RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:419)
I/flutter (18167): #33     RenderObject.layout (package:flutter/src/rendering/object.dart:2715)
I/flutter (18167): #34     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115)
I/flutter (18167): #35     RenderObject.layout (package:flutter/src/rendering/object.dart:2715)
I/flutter (18167): #36     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115)
I/flutter (18167): #37     _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1483)
I/flutter (18167): #38     RenderObject.layout (package:flutter/src/rendering/object.dart:2715)
I/flutter (18167): #39     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115)
I/flutter (18167): #40     RenderObject.layout (package:flutter/src/rendering/object.dart:2715)
I/flutter (18167): #41     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115)
I/flutter (18167): #42     RenderObject.layout (package:flutter/src/rendering/object.dart:2715)
I/flutter (18167): #43     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115)
I/flutter (18167): #44     RenderObject.layout (package:flutter/src/rendering/object.dart:2715)
I/flutter (18167): #45     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115)
I/flutter (18167): #46     RenderObject.layout (package:flutter/src/rendering/object.dart:2715)
I/flutter (18167): #47     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115)
I/flutter (18167): #48     RenderObject.layout (package:flutter/src/rendering/object.dart:2715)
I/flutter (18167): #49     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115)
I/flutter (18167): #50     RenderObject.layout (package:flutter/src/rendering/object.dart:2715)
I/flutter (18167): #51     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115)
I/flutter (18167): #52     RenderObject.layout (package:flutter/src/rendering/object.dart:2715)
I/flutter (18167): #53     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115)
I/flutter (18167): #54     RenderObject.layout (package:flutter/src/rendering/object.dart:2715)
I/flutter (18167): #55     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115)
I/flutter (18167): #56     RenderObject.layout (package:flutter/src/rendering/object.dart:2715)
I/flutter (18167): #57     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115)
I/flutter (18167): #58     RenderOffstage.performLayout (package:flutter/src/rendering/proxy_box.dart:3750)
I/flutter (18167): #59     RenderObject.layout (package:flutter/src/rendering/object.dart:2715)
I/flutter (18167): #60     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115)
I/flutter (18167): #61     RenderObject.layout (package:flutter/src/rendering/object.dart:2715)
I/flutter (18167): #62     _RenderTheaterMixin.layoutChild (package:flutter/src/widgets/overlay.dart:1076)
I/flutter (18167): #63     _RenderTheater.performLayout (package:flutter/src/widgets/overlay.dart:1422)
I/flutter (18167): #64     RenderObject.layout (package:flutter/src/rendering/object.dart:2715)
I/flutter (18167): #65     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115)
I/flutter (18167): #66     RenderObject.layout (package:flutter/src/rendering/object.dart:2715)
I/flutter (18167): #67     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115)
I/flutter (18167): #68     RenderObject.layout (package:flutter/src/rendering/object.dart:2715)
I/flutter (18167): #69     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115)
I/flutter (18167): #70     RenderObject.layout (package:flutter/src/rendering/object.dart:2715)
I/flutter (18167): #71     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115)
I/flutter (18167): #72     RenderObject.layout (package:flutter/src/rendering/object.dart:2715)
I/flutter (18167): #73     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115)
I/flutter (18167): #74     RenderObject.layout (package:flutter/src/rendering/object.dart:2715)
I/flutter (18167): #75     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115)
I/flutter (18167): #76     RenderObject.layout (package:flutter/src/rendering/object.dart:2715)
I/flutter (18167): #77     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115)
I/flutter (18167): #78     RenderObject.layout (package:flutter/src/rendering/object.dart:2715)
I/flutter (18167): #79     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115)
I/flutter (18167): #80     RenderObject.layout (package:flutter/src/rendering/object.dart:2715)
I/flutter (18167): #81     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115)
I/flutter (18167): #82     RenderObject.layout (package:flutter/src/rendering/object.dart:2715)
I/flutter (18167): #83     RenderView.performLayout (package:flutter/src/rendering/view.dart:294)
I/flutter (18167): #84     RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:2548)
I/flutter (18167): #85     PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1112)
I/flutter (18167): #86     PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1125)
I/flutter (18167): #87     RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:616)
I/flutter (18167): #88     WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:1231)
I/flutter (18167): #89     RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:482)
I/flutter (18167): #90     SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1442)
I/flutter (18167): #91     SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1355)
I/flutter (18167): #92     SchedulerBinding.scheduleWarmUpFrame.<anonymous closure> (package:flutter/src/scheduler/binding.dart:1064)
I/flutter (18167): #93     PlatformDispatcher.scheduleWarmUpFrame.<anonymous closure> (dart:ui/platform_dispatcher.dart:873)
I/flutter (18167): #97     _RawReceivePort._handleMessage (dart:isolate-patch/isolate_patch.dart:194)
I/flutter (18167): (elided 3 frames from class _Timer and dart:async-patch)
I/flutter (18167): Another exception was thrown: Instance of 'DiagnosticsProperty<void>'
I/flutter (18167): Another exception was thrown: Instance of 'DiagnosticsProperty<void>'
I/flutter (18167): Another exception was thrown: Instance of 'DiagnosticsProperty<void>'

Code sample

Code sample
import 'package:flutter/material.dart';

void main() => runApp(const MyApp());

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        body: CarouselView(
          itemExtent: double.infinity,
          children: [
            Image.network(
              'https://avatars.githubusercontent.com/u/14101776?s=200&v=4',
            ),
          ],
        ),
      ),
    );
  }
}

Screenshots or Video

Logs

Logs

logs.txt

Flutter Doctor output

Doctor output
[✓] Flutter (Channel stable, 3.29.0, on macOS 15.2 24C101 darwin-x64, locale de-DE) [1.124ms]
    • Flutter version 3.29.0 on channel stable at /Users/huynh/.asdf/installs/flutter/3.29.0-stable
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 35c388afb5 (vor 6 Tagen), 2025-02-10 12:48:41 -0800
    • Engine revision f73bfc4522
    • Dart version 3.7.0
    • DevTools version 2.42.2

[✓] Android toolchain - develop for Android devices (Android SDK version 35.0.0) [3,6s]
    • Android SDK at /Users/huynh/Library/Android/sdk
    • Platform android-35, build-tools 35.0.0
    • ANDROID_HOME = /Users/huynh/Library/Android/sdk
    • Java binary at: /Users/huynh/Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
      This is the JDK bundled with the latest Android Studio installation on this machine.
      To manually set the JDK path, use: `flutter config --jdk-dir="path/to/jdk"`.
    • Java version OpenJDK Runtime Environment (build 21.0.4+-12422083-b607.1)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 16.2) [4,0s]
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 16C5032a
    • CocoaPods version 1.16.2

[✓] Chrome - develop for the web [211ms]
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2024.2) [210ms]
    • Android Studio at /Users/huynh/Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 21.0.4+-12422083-b607.1)

[✓] IntelliJ IDEA Ultimate Edition (version 2024.3.3) [207ms]
    • IntelliJ at /Users/huynh/Applications/IntelliJ IDEA Ultimate.app
    • Flutter plugin version 83.0.4
    • Dart plugin version 243.23654.44

[✓] Connected device (3 available) [7,2s]
    • 2203129G (mobile) • 723c1722 • android-arm64  • Android 14 (API 34)
    • macOS (desktop)   • macos    • darwin-x64     • macOS 15.2 24C101 darwin-x64
    • Chrome (web)      • chrome   • web-javascript • Google Chrome 133.0.6943.98

[✓] Network resources [381ms]
    • All expected network resources are available.

• No issues found!

Metadata

Metadata

Assignees

Labels

P2Important issues not at the top of the work lista: error messageError messages from the Flutter frameworkf: material designflutter/packages/flutter/material repository.found in release: 3.29Found to occur in 3.29found in release: 3.30Found to occur in 3.30frameworkflutter/packages/flutter repository. See also f: labels.has reproducible stepsThe issue has been confirmed reproducible and is ready to work onplatform-androidAndroid applications specificallyr: fixedIssue is closed as already fixed in a newer versionteam-designOwned by Design Languages teamtriaged-designTriaged by Design Languages team

Type

No type

Projects

Status

Done (PR merged)

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions