Skip to content

The Flutter DevTools break my app in debug builds #8002

Open
@rekire

Description

@rekire

Describe the bug
I have an app with a complex initialization which takes around 5 seconds. I am registration a couple of singeltons in getIt. Since the Android Studio plugin pulls the data too early everything breaks for me.

To Reproduce

MultiProvider(
  providers: [
    ChangeNotifierProvider<Example>(
      // normally this method gets invoked after App() is created
      create: (_) => getIt<Example>(), // this crashes and causes also a bug in flutter #166572
    ),
  ],
  child: FutureBuilder(
    future: longRunningInitFuture(),
    builder: (context, snapshot) {
      if (snapshot.connectionState == ConnectionState.done && snapshot.data == true) {
        return const App();
      } else {
        return const SplashScreen();
      }
    },
  ),
)

When I try to consume the Example class like this:

Consumer<Example>(
  builder: (context, example, _) {
    // never called
  }
)

Then I get strange exceptions within the widget tree. See the flutter/flutter#166572 for details.

Expected behavior
I do not expect that the Flutter DevTools Extension collects the data without any interaction from me.

Known workarounds
Disable the extension and enable it only when required after start of the app

Related bugs: flutter/flutter#166572, rrousselGit/provider#908

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions