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

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions