Repository: flutter
Issue: Image painting causes Linux Nouveau driver errors that crashes the app and sometimes display server
Labels: c: crash,engine,platform-linux,a: desktop,e: OS-version specific,P2,team-linux,triaged-linux

Somewhere between the Flutter libraries, runtime, and the Nouveau Linux drivers painting images causes kernel errors which worst case cause the application to segfault but in many cases causes the X server to seize up. 

## Steps to Reproduce

### Machine Configuration
* Linux Mint 20.2 
* Cinnamon 5.0.7
* Kernel 5.4.0-91-generic
* NVIDIA Corporation GM206 [GeForce GTX 950]
* Nouveau X.org drivers Version 1:1.0.16-1

### Steps
1. Create a directory of a handful or more images
2. Compile the below code into a build executable form on Linux `flutter build linux`
3. Run the code from the command line to specify the image directory and to see the kernel errors reported back. Such as `./imagecrashtest /tmp/images`
4. Cycle through images until you see the errors printed out and/or app crashes
5. Check /var/log/syslog for details of the error

**Expected results:** 
App doesn't crash and display server doesn't lock up if it does

**Actual results:** 
App crashes and display server often locks up.


### Mitigation
Switching to the latest NVIDIA driver (Version 470.86) fixed this problem. It's therefore specific to the Nouveau driver.

<details>
<summary>Code sample</summary>

```dart
import 'dart:io';

import 'package:flutter/material.dart';

String rootPath = '/tmp/images';

void main(List<String> args) {
  if (args.isNotEmpty) {
    rootPath = args[0];
  }
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Image Kernel Crash',
      home: const MyHomePage(title: 'Image Kernel Crash '),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({Key? key, required this.title}) : super(key: key);
  final String title;

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  final imagePaths = <String>[];
  var index = 0;

  @override
  void initState() {
    final baseFolder = Directory(rootPath);
    for (final file in baseFolder.listSync(recursive: true)) {
      if (file.path.endsWith('jpg') || file.path.endsWith('png')) {
        imagePaths.add(file.path);
      }
    }
    imagePaths.sort((a,b) => a.compareTo(b));
    setState(() {});
    super.initState();
  }

  void _nextImage() {
    setState(() {
      index = (index == imagePaths.length - 1) ? 0 : index + 1;
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: Column(
          children: [
            imagePaths.isNotEmpty ? Text(imagePaths[index]) : Text('No image'),
            imagePaths.isNotEmpty
                ? Image(image: Image.file(File(imagePaths[index])).image)
                : const Text('No Images')]
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: _nextImage,
        tooltip: 'Next Image',
        child: const Icon(Icons.add),
      ), // This trailing comma makes auto-formatting nicer for build methods.
    );
  }
}
```

</details>

<details>
  <summary>Logs</summary>
Errors showing up on the command line often have a variation of:

```
nouveau: kernel rejected pushbuf: No such file or directory
nouveau: ch3: krec 0 pushes 0 bufs 1 relocs 0
nouveau: ch3: buf 00000000 00000002 00000004 00000004 00000000

nouveau: kernel rejected pushbuf: No such file or directory
nouveau: ch3: krec 0 pushes 2 bufs 19 relocs 0
nouveau: ch3: buf 00000000 00000002 00000004 00000004 00000000
nouveau: ch3: buf 00000001 00000006 00000004 00000000 00000004
nouveau: ch3: buf 00000002 00000037 00000002 00000000 00000002
nouveau: ch3: buf 00000003 00000039 00000004 00000004 00000000
```
The data in the /var/log/syslog folder has additional information about the stacks during two separate crashes that did not bring down the whole machine. The main thread stack trace is identical. Some others are but others are not.

**Core Dump 1**
```
Dec  8 11:07:44 Z170X-UD5-TH systemd-coredump[2862]: Process 2836 (imagecrashtest) of user 1000 dumped core.
#012
#012Stack trace of thread 2836:
#012#0  0x00007f7b9697318b __GI_raise (libc.so.6 + 0x4618b)
#012#1  0x00007f7b96952859 __GI_abort (libc.so.6 + 0x25859)
#012#2  0x00007f7b96952729 __assert_fail_base (libc.so.6 + 0x25729)
#012#3  0x00007f7b96963f36 __GI___assert_fail (libc.so.6 + 0x36f36)
#012#4  0x00007f7b8c859547 nouveau_pushbuf_data (libdrm_nouveau.so.2 + 0x4547)
#012#5  0x00007f7b8c8594a7 nouveau_pushbuf_data (libdrm_nouveau.so.2 + 0x44a7)
#012#6  0x00007f7b8c8595cc n/a (libdrm_nouveau.so.2 + 0x45cc)
#012#7  0x00007f7b8c8599ef n/a (libdrm_nouveau.so.2 + 0x49ef)
#012#8  0x00007f7b8c85a5e4 nouveau_pushbuf_kick (libdrm_nouveau.so.2 + 0x55e4)
#012#9  0x00007f7b8d4c797d n/a (nouveau_dri.so + 0xb6b97d)
#012#10 0x00007f7b8caf79ad n/a (nouveau_dri.so + 0x19b9ad)
#012#11 0x00007f7b8ca9dc3f n/a (nouveau_dri.so + 0x141c3f)
#012#12 0x00007f7b8e51de27 glPrimitiveBoundingBox (libGLX_mesa.so.0 + 0x57e27)
#012#13 0x00007f7b8e510965 n/a (libGLX_mesa.so.0 + 0x4a965)
#012#14 0x00007f7b9817910a n/a (libgdk-3.so.0 + 0x7210a)
#012#15 0x00007f7b9815e892 n/a (libgdk-3.so.0 + 0x57892)
#012#16 0x00007f7b9815e9f8 gdk_window_end_draw_frame (libgdk-3.so.0 + 0x579f8)
#012#17 0x00007f7b985b405b n/a (libgtk-3.so.0 + 0x3a605b)
#012#18 0x00007f7b9845d3b4 gtk_main_do_event (libgtk-3.so.0 + 0x24f3b4)
#012#19 0x00007f7b98143f79 n/a (libgdk-3.so.0 + 0x3cf79)
#012#20 0x00007f7b981552e1 n/a (libgdk-3.so.0 + 0x4e2e1)
#012#21 0x00007f7b981564b5 n/a (libgdk-3.so.0 + 0x4f4b5)
#012#22 0x00007f7b98156674 n/a (libgdk-3.so.0 + 0x4f674)
#012#23 0x00007f7b96faaa56 n/a (libgobject-2.0.so.0 + 0x14a56)
#012#24 0x00007f7b96fc9b48 g_signal_emit_valist (libgobject-2.0.so.0 + 0x33b48)
#012#25 0x00007f7b96fca0f3 g_signal_emit (libgobject-2.0.so.0 + 0x340f3)
#012#26 0x00007f7b9814dcf3 n/a (libgdk-3.so.0 + 0x46cf3)
#012#27 0x00007f7b98137f4d n/a (libgdk-3.so.0 + 0x30f4d)
#012#28 0x00007f7b96ebfbe8 n/a (libglib-2.0.so.0 + 0x52be8)
#012#29 0x00007f7b96ebf04e g_main_context_dispatch (libglib-2.0.so.0 + 0x5204e)
#012#30 0x00007f7b96ebf400 n/a (libglib-2.0.so.0 + 0x52400)
#012#31 0x00007f7b96ebf4a3 g_main_context_iteration (libglib-2.0.so.0 + 0x524a3)
#012#32 0x00007f7b970d8fe5 g_application_run (libgio-2.0.so.0 + 0xe2fe5)
#012#33 0x000000000040187e main (imagecrashtest + 0x187e)
#012#34 0x00007f7b969540b3 __libc_start_main (libc.so.6 + 0x270b3)
#012#35 0x000000000040178e _start (imagecrashtest + 0x178e)
#012
#012Stack trace of thread 2841:
#012#0  0x00007f7b989d5376 futex_wait_cancelable (libpthread.so.0 + 0x10376)
#012#1  0x00007f7b8caa3e7b n/a (nouveau_dri.so + 0x147e7b)
#012#2  0x00007f7b8caa3a7b n/a (nouveau_dri.so + 0x147a7b)
#012#3  0x00007f7b989ce609 start_thread (libpthread.so.0 + 0x9609)
#012#4  0x00007f7b96a4f293 __clone (libc.so.6 + 0x122293)
#012
#012Stack trace of thread 2839:
#012#0  0x00007f7b96a42aff __GI___poll (libc.so.6 + 0x115aff)
#012#1  0x00007f7b96ebf36e n/a (libglib-2.0.so.0 + 0x5236e)
#012#2  0x00007f7b96ebf4a3 g_main_context_iteration (libglib-2.0.so.0 + 0x524a3)
#012#3  0x00007f7b96ebf4f1 n/a (libglib-2.0.so.0 + 0x524f1)
#012#4  0x00007f7b96ee8ad1 n/a (libglib-2.0.so.0 + 0x7bad1)
#012#5  0x00007f7b989ce609 start_thread (libpthread.so.0 + 0x9609)
#012#6  0x00007f7b96a4f293 __clone (libc.so.6 + 0x122293)
#012
#012Stack trace of thread 2842:
#012#0  0x00007f7b989d5376 futex_wait_cancelable (libpthread.so.0 + 0x10376)
#012#1  0x00007f7b8caa3e7b n/a (nouveau_dri.so + 0x147e7b)
#012#2  0x00007f7b8caa3a7b n/a (nouveau_dri.so + 0x147a7b)
#012#3  0x00007f7b989ce609 start_thread (libpthread.so.0 + 0x9609)
#012#4  0x00007f7b96a4f293 __clone (libc.so.6 + 0x122293)
#012
#012Stack trace of thread 2846:
#012#0  0x00007f7b96a4f5ce epoll_wait (libc.so.6 + 0x1225ce)
#012#1  0x00007f7b975d5cb5 n/a (libflutter_linux_gtk.so + 0x3fecb5)
#012#2  0x00007f7b975cfb51 n/a (libflutter_linux_gtk.so + 0x3f8b51)
#012#3  0x00007f7b975d53d5 n/a (libflutter_linux_gtk.so + 0x3fe3d5)
#012#4  0x00007f7b989ce609 start_thread (libpthread.so.0 + 0x9609)
#012#5  0x00007f7b96a4f293 __clone (libc.so.6 + 0x122293)
#012
#012Stack trace of thread 2850:
#012#0  0x00007f7b989d5376 futex_wait_cancelable (libpthread.so.0 + 0x10376)
#012#1  0x00007f7b97587f6f n/a (libflutter_linux_gtk.so + 0x3b0f6f)
#012#2  0x00007f7b975cab7f n/a (libflutter_linux_gtk.so + 0x3f3b7f)
#012#3  0x00007f7b975cb62b n/a (libflutter_linux_gtk.so + 0x3f462b)
#012#4  0x00007f7b989ce609 start_thread (libpthread.so.0 + 0x9609)
#012#5  0x00007f7b96a4f293 __clone (libc.so.6 + 0x122293)
#012
#012Stack trace of thread 2840:
#012#0  0x00007f7b96a42aff __GI___poll (libc.so.6 + 0x115aff)
#012#1  0x00007f7b96ebf36e n/a (libglib-2.0.so.0 + 0x5236e)
#012#2  0x00007f7b96ebf6f3 g_main_loop_run (libglib-2.0.so.0 + 0x526f3)
#012#3  0x00007f7b97114f8a n/a (libgio-2.0.so.0 + 0x11ef8a)
#012#4  0x00007f7b96ee8ad1 n/a (libglib-2.0.so.0 + 0x7bad1)
#012#5  0x00007f7b989ce609 start_thread (libpthread.so.0 + 0x9609)
#012#6  0x00007f7b96a4f293 __clone (libc.so.6 + 0x122293)
#012
#012Stack trace of thread 2845:
#012#0  0x00007f7b96a4f5ce epoll_wait (libc.so.6 + 0x1225ce)
#012#1  0x00007f7b975d5cb5 n/a (libflutter_linux_gtk.so + 0x3fecb5)
#012#2  0x00007f7b975cfb51 n/a (libflutter_linux_gtk.so + 0x3f8b51)
#012#3  0x00007f7b975d53d5 n/a (libflutter_linux_gtk.so + 0x3fe3d5)
#012#4  0x00007f7b989ce609 start_thread (libpthread.so.0 + 0x9609)
#012#5  0x00007f7b96a4f293 __clone (libc.so.6 + 0x122293)
#012
#012Stack trace of thread 2849:
#012#0  0x00007f7b989d5376 futex_wait_cancelable (libpthread.so.0 + 0x10376)
#012#1  0x00007f7b97587f6f n/a (libflutter_linux_gtk.so + 0x3b0f6f)
#012#2  0x00007f7b975cab7f n/a (libflutter_linux_gtk.so + 0x3f3b7f)
#012#3  0x00007f7b975cb62b n/a (libflutter_linux_gtk.so + 0x3f462b)
#012#4  0x00007f7b989ce609 start_thread (libpthread.so.0 + 0x9609)
#012#5  0x00007f7b96a4f293 __clone (libc.so.6 + 0x122293)
#012
#012Stack trace of thread 2853:
#012#0  0x00007f7b989d5376 futex_wait_cancelable (libpthread.so.0 + 0x10376)
#012#1  0x00007f7b97587f6f n/a (libflutter_linux_gtk.so + 0x3b0f6f)
#012#2  0x00007f7b975cab7f n/a (libflutter_linux_gtk.so + 0x3f3b7f)
#012#3  0x00007f7b975cb62b n/a (libflutter_linux_gtk.so + 0x3f462b)
#012#4  0x00007f7b989ce609 start_thread (libpthread.so.0 + 0x9609)
#012#5  0x00007f7b96a4f293 __clone (libc.so.6 + 0x122293)
#012
#012Stack trace of thread 2844:
#012#0  0x00007f7b989d5376 futex_wait_cancelable (libpthread.so.0 + 0x10376)
#012#1  0x00007f7b8caa3e7b n/a (nouveau_dri.so + 0x147e7b)
#012#2  0x00007f7b8caa3a7b n/a (nouveau_dri.so + 0x147a7b)
#012#3  0x00007f7b989ce609 start_thread (libpthread.so.0 + 0x9609)
#012#4  0x00007f7b96a4f293 __clone (libc.so.6 + 0x122293)
#012
#012Stack trace of thread 2848:
#012#0  0x00007f7b989d5376 futex_wait_cancelable (libpthread.so.0 + 0x10376)
#012#1  0x00007f7b97587f6f n/a (libflutter_linux_gtk.so + 0x3b0f6f)
#012#2  0x00007f7b975cab7f n/a (libflutter_linux_gtk.so + 0x3f3b7f)
#012#3  0x00007f7b975cb62b n/a (libflutter_linux_gtk.so + 0x3f462b)
#012#4  0x00007f7b989ce609 start_thread (libpthread.so.0 + 0x9609)
#012#5  0x00007f7b96a4f293 __clone (libc.so.6 + 0x122293)
#012
#012Stack trace of thread 2855:
#012#0  0x00007f7b96a4f5ce epoll_wait (libc.so.6 + 0x1225ce)
#012#1  0x00007f7b97b9efb8 n/a (libflutter_linux_gtk.so + 0x9c7fb8)
#012#2  0x00007f7b97bbe0cb n/a (libflutter_linux_gtk.so + 0x9e70cb)
#012#3  0x00007f7b989ce609 start_thread (libpthread.so.0 + 0x9609)
#012#4  0x00007f7b96a4f293 __clone (libc.so.6 + 0x122293)
#012
#012Stack trace of thread 2859:
#012#0  0x00007f7b989d57b1 futex_abstimed_wait_cancelable (libpthread.so.0 + 0x107b1)
#012#1  0x00007f7b97d5184d n/a (libflutter_linux_gtk.so + 0xb7a84d)
#012#2  0x00007f7b97d8e56f n/a (libflutter_linux_gtk.so + 0xbb756f)
#012#3  0x00007f7b97d8e737 n/a (libflutter_linux_gtk.so + 0xbb7737)
#012#4  0x00007f7b97d51001 n/a (libflutter_linux_gtk.so + 0xb7a001)
#012#5  0x00007f7b989ce609 start_thread (libpthread.so.0 + 0x9609)
#012#6  0x00007f7b96a4f293 __clone (libc.so.6 + 0x122293)
#012
#012Stack trace of thread 2857:
#012#0  0x00007f7b989d57b1 futex_abstimed_wait_cancelable (libpthread.so.0 + 0x107b1)
#012#1  0x00007f7b97d5184d n/a (libflutter_linux_gtk.so + 0xb7a84d)
#012#2  0x00007f7b97d
```

**Core Dump 2**
```
Dec  8 11:08:45 Z170X-UD5-TH systemd-coredump[3025]: Process 3001 (imagecrashtest) of user 1000 dumped core.
#012
#012Stack trace of thread 3001:
#012#0  0x00007f5af5ab918b __GI_raise (libc.so.6 + 0x4618b)
#012#1  0x00007f5af5a98859 __GI_abort (libc.so.6 + 0x25859)
#012#2  0x00007f5af5a98729 __assert_fail_base (libc.so.6 + 0x25729)
#012#3  0x00007f5af5aa9f36 __GI___assert_fail (libc.so.6 + 0x36f36)
#012#4  0x00007f5aed2af547 nouveau_pushbuf_data (libdrm_nouveau.so.2 + 0x4547)
#012#5  0x00007f5aed2af4a7 nouveau_pushbuf_data (libdrm_nouveau.so.2 + 0x44a7)
#012#6  0x00007f5aed2af5cc n/a (libdrm_nouveau.so.2 + 0x45cc)
#012#7  0x00007f5aed2af9ef n/a (libdrm_nouveau.so.2 + 0x49ef)
#012#8  0x00007f5aed2b05e4 nouveau_pushbuf_kick (libdrm_nouveau.so.2 + 0x55e4)
#012#9  0x00007f5ae725897d n/a (nouveau_dri.so + 0xb6b97d)
#012#10 0x00007f5ae68889ad n/a (nouveau_dri.so + 0x19b9ad)
#012#11 0x00007f5ae682ec3f n/a (nouveau_dri.so + 0x141c3f)
#012#12 0x00007f5aed665e27 glPrimitiveBoundingBox (libGLX_mesa.so.0 + 0x57e27)
#012#13 0x00007f5aed658965 n/a (libGLX_mesa.so.0 + 0x4a965)
#012#14 0x00007f5af72bf10a n/a (libgdk-3.so.0 + 0x7210a)
#012#15 0x00007f5af72a4892 n/a (libgdk-3.so.0 + 0x57892)
#012#16 0x00007f5af72a49f8 gdk_window_end_draw_frame (libgdk-3.so.0 + 0x579f8)
#012#17 0x00007f5af76fa05b n/a (libgtk-3.so.0 + 0x3a605b)
#012#18 0x00007f5af75a33b4 gtk_main_do_event (libgtk-3.so.0 + 0x24f3b4)
#012#19 0x00007f5af7289f79 n/a (libgdk-3.so.0 + 0x3cf79)
#012#20 0x00007f5af729b2e1 n/a (libgdk-3.so.0 + 0x4e2e1)
#012#21 0x00007f5af729c4b5 n/a (libgdk-3.so.0 + 0x4f4b5)
#012#22 0x00007f5af729c674 n/a (libgdk-3.so.0 + 0x4f674)
#012#23 0x00007f5af60f0a56 n/a (libgobject-2.0.so.0 + 0x14a56)
#012#24 0x00007f5af610fb48 g_signal_emit_valist (libgobject-2.0.so.0 + 0x33b48)
#012#25 0x00007f5af61100f3 g_signal_emit (libgobject-2.0.so.0 + 0x340f3)
#012#26 0x00007f5af7293cf3 n/a (libgdk-3.so.0 + 0x46cf3)
#012#27 0x00007f5af727df4d n/a (libgdk-3.so.0 + 0x30f4d)
#012#28 0x00007f5af6005be8 n/a (libglib-2.0.so.0 + 0x52be8)
#012#29 0x00007f5af600504e g_main_context_dispatch (libglib-2.0.so.0 + 0x5204e)
#012#30 0x00007f5af6005400 n/a (libglib-2.0.so.0 + 0x52400)
#012#31 0x00007f5af60054a3 g_main_context_iteration (libglib-2.0.so.0 + 0x524a3)
#012#32 0x00007f5af621efe5 g_application_run (libgio-2.0.so.0 + 0xe2fe5)
#012#33 0x000000000040187e main (imagecrashtest + 0x187e)
#012#34 0x00007f5af5a9a0b3 __libc_start_main (libc.so.6 + 0x270b3)
#012#35 0x000000000040178e _start (imagecrashtest + 0x178e)
#012
#012Stack trace of thread 3004:
#012#0  0x00007f5af7b1b376 futex_wait_cancelable (libpthread.so.0 + 0x10376)
#012#1  0x00007f5ae6834e7b n/a (nouveau_dri.so + 0x147e7b)
#012#2  0x00007f5ae6834a7b n/a (nouveau_dri.so + 0x147a7b)
#012#3  0x00007f5af7b14609 start_thread (libpthread.so.0 + 0x9609)
#012#4  0x00007f5af5b95293 __clone (libc.so.6 + 0x122293)
#012
#012Stack trace of thread 3002:
#012#0  0x00007f5af5b88aff __GI___poll (libc.so.6 + 0x115aff)
#012#1  0x00007f5af600536e n/a (libglib-2.0.so.0 + 0x5236e)
#012#2  0x00007f5af60054a3 g_main_context_iteration (libglib-2.0.so.0 + 0x524a3)
#012#3  0x00007f5af60054f1 n/a (libglib-2.0.so.0 + 0x524f1)
#012#4  0x00007f5af602ead1 n/a (libglib-2.0.so.0 + 0x7bad1)
#012#5  0x00007f5af7b14609 start_thread (libpthread.so.0 + 0x9609)
#012#6  0x00007f5af5b95293 __clone (libc.so.6 + 0x122293)
#012
#012Stack trace of thread 3006:
#012#0  0x00007f5af7b1b376 futex_wait_cancelable (libpthread.so.0 + 0x10376)
#012#1  0x00007f5ae6834e7b n/a (nouveau_dri.so + 0x147e7b)
#012#2  0x00007f5ae6834a7b n/a (nouveau_dri.so + 0x147a7b)
#012#3  0x00007f5af7b14609 start_thread (libpthread.so.0 + 0x9609)
#012#4  0x00007f5af5b95293 __clone (libc.so.6 + 0x122293)
#012
#012Stack trace of thread 3007:
#012#0  0x00007f5af7b1b376 futex_wait_cancelable (libpthread.so.0 + 0x10376)
#012#1  0x00007f5ae6834e7b n/a (nouveau_dri.so + 0x147e7b)
#012#2  0x00007f5ae6834a7b n/a (nouveau_dri.so + 0x147a7b)
#012#3  0x00007f5af7b14609 start_thread (libpthread.so.0 + 0x9609)
#012#4  0x00007f5af5b95293 __clone (libc.so.6 + 0x122293)
#012
#012Stack trace of thread 3009:
#012#0  0x00007f5af5b8eadb __munmap (libc.so.6 + 0x11badb)
#012#1  0x00007f5aed2aea1d nouveau_bo_ref (libdrm_nouveau.so.2 + 0x3a1d)
#012#2  0x00007f5aed2afa37 n/a (libdrm_nouveau.so.2 + 0x4a37)
#012#3  0x00007f5aed2b05e4 nouveau_pushbuf_kick (libdrm_nouveau.so.2 + 0x55e4)
#012#4  0x00007f5ae725897d n/a (nouveau_dri.so + 0xb6b97d)
#012#5  0x00007f5ae6a1ecc9 n/a (nouveau_dri.so + 0x331cc9)
#012#6  0x00007f5af6aed77a n/a (libflutter_linux_gtk.so + 0x7d077a)
#012#7  0x00007f5af6a8f2c9 n/a (libflutter_linux_gtk.so + 0x7722c9)
#012#8  0x00007f5af6cbdb39 n/a (libflutter_linux_gtk.so + 0x9a0b39)
#012#9  0x00007f5af67184a4 n/a (libflutter_linux_gtk.so + 0x3fb4a4)
#012#10 0x00007f5af6cbd4e2 n/a (libflutter_linux_gtk.so + 0x9a04e2)
#012#11 0x00007f5af6715cb3 n/a (libflutter_linux_gtk.so + 0x3f8cb3)
#012#12 0x00007f5af671bcf6 n/a (libflutter_linux_gtk.so + 0x3fecf6)
#012#13 0x00007f5af6715b51 n/a (libflutter_linux_gtk.so + 0x3f8b51)
#012#14 0x00007f5af671b3d5 n/a (libflutter_linux_gtk.so + 0x3fe3d5)
#012#15 0x00007f5af7b14609 start_thread (libpthread.so.0 + 0x9609)
#012#16 0x00007f5af5b95293 __clone (libc.so.6 + 0x122293)
#012
#012Stack trace of thread 3010:
#012#0  0x00007f5af7b1b376 futex_wait_cancelable (libpthread.so.0 + 0x10376)
#012#1  0x00007f5af66cdf6f n/a (libflutter_linux_gtk.so + 0x3b0f6f)
#012#2  0x00007f5af6710b7f n/a (libflutter_linux_gtk.so + 0x3f3b7f)
#012#3  0x00007f5af671162b n/a (libflutter_linux_gtk.so + 0x3f462b)
#012#4  0x00007f5af7b14609 start_thread (libpthread.so.0 + 0x9609)
#012#5  0x00007f5af5b95293 __clone (libc.so.6 + 0x122293)
#012
#012Stack trace of thread 3012:
#012#0  0x00007f5af7b1b376 futex_wait_cancelable (libpthread.so.0 + 0x10376)
#012#1  0x00007f5af66cdf6f n/a (libflutter_linux_gtk.so + 0x3b0f6f)
#012#2  0x00007f5af6710b7f n/a (libflutter_linux_gtk.so + 0x3f3b7f)
#012#3  0x00007f5af671162b n/a (libflutter_linux_gtk.so + 0x3f462b)
#012#4  0x00007f5af7b14609 start_thread (libpthread.so.0 + 0x9609)
#012#5  0x00007f5af5b95293 __clone (libc.so.6 + 0x122293)
#012
#012Stack trace of thread 3013:
#012#0  0x00007f5af7b1b376 futex_wait_cancelable (libpthread.so.0 + 0x10376)
#012#1  0x00007f5af66cdf6f n/a (libflutter_linux_gtk.so + 0x3b0f6f)
#012#2  0x00007f5af6710b7f n/a (libflutter_linux_gtk.so + 0x3f3b7f)
#012#3  0x00007f5af671162b n/a (libflutter_linux_gtk.so + 0x3f462b)
#012#4  0x00007f5af7b14609 start_thread (libpthread.so.0 + 0x9609)
#012#5  0x00007f5af5b95293 __clone (libc.so.6 + 0x122293)
#012
#012Stack trace of thread 3014:
#012#0  0x00007f5af7b1b376 futex_wait_cancelable (libpthread.so.0 + 0x10376)
#012#1  0x00007f5af66cdf6f n/a (libflutter_linux_gtk.so + 0x3b0f6f)
#012#2  0x00007f5af6710b7f n/a (libflutter_linux_gtk.so + 0x3f3b7f)
#012#3  0x00007f5af671162b n/a (libflutter_linux_gtk.so + 0x3f462b)
#012#4  0x00007f5af7b14609 start_thread (libpthread.so.0 + 0x9609)
#012#5  0x00007f5af5b95293 __clone (libc.so.6 + 0x122293)
#012
#012Stack trace of thread 3016:
#012#0  0x00007f5af7b1b376 futex_wait_cancelable (libpthread.so.0 + 0x10376)
#012#1  0x00007f5af66cdf6f n/a (libflutter_linux_gtk.so + 0x3b0f6f)
#012#2  0x00007f5af6710b7f n/a (libflutter_linux_gtk.so + 0x3f3b7f)
#012#3  0x00007f5af671162b n/a (libflutter_linux_gtk.so + 0x3f462b)
#012#4  0x00007f5af7b14609 start_thread (libpthread.so.0 + 0x9609)
#012#5  0x00007f5af5b95293 __clone (libc.so.6 + 0x122293)
#012
#012Stack trace of thread 3005:
#012#0  0x00007f5af7b1b376 futex_wait_cancelable (libpthread.so.0 + 0x10376)
#012#1  0x00007f5ae6834e7b n/a (nouveau_dri.so + 0x147e7b)
#012#2  0x00007f5ae6834a7b n/a (nouveau_dri.so + 0x147a7b)
#012#3  0x00007f5af7b14609 start_thread (libpthread.so.0 + 0x9609)
#012#4  0x00007f5af5b95293 __clone (libc.so.6 + 0x122293)
#012
#012Stack trace of thread 3003:
#012#0  0x00007f5af5b88aff __GI___poll (libc.so.6 + 0x115aff)
#012#1  0x00007f5af600536e n/a (libglib-2.0.so.0 + 0x5236e)
#012#2  0x00007f5af60056f3 g_main_loop_run (libglib-2.0.so.0 + 0x526f3)
#012#3  0x00007f5af625af8a n/a (libgio-2.0.so.0 + 0x11ef8a)
#012#4  0x00007f5af602ead1 n/a (libglib-2.0.so.0 + 0x7bad1)
#012#5  0x00007f5af7b14609 start_thread (libpthread.so.0 + 0x9609)
#012#6  0x00007f5af5b95293 __clone 
Dec  8 11:08:46 HG-Z170X-UD5-TH systemd[1]: systemd-coredump@1-3023-0.service: Succeeded.
```

Flutter Doctor of the build machine is below. There is no Flutter dev environment on the test machine that exhibits the error

```
[✓] Flutter (Channel stable, 2.5.3, on Linux Mint 20.2 5.4.0-91-generic, locale en_US.UTF-8)
    • Flutter version 2.5.3 at /home/hankgrabowski/snap/flutter/common/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 18116933e7 (8 weeks ago), 2021-10-15 10:46:35 -0700
    • Engine revision d3ea636dc5
    • Dart version 2.14.4

[!] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at /home/hankgrabowski/Android/Sdk
    ✗ cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/linux#android-setup for more details.

[✓] Chrome - develop for the web
    • CHROME_EXECUTABLE = chromium

[✓] Linux toolchain - develop for Linux desktop
    • clang version 6.0.0-1ubuntu2 (tags/RELEASE_600/final)
    • cmake version 3.10.2
    • ninja version 1.8.2
    • pkg-config version 0.29.1

[✓] Android Studio (version 2020.3)
    • Android Studio at /home/hankgrabowski/apps/android-studio
    • Flutter plugin version 61.2.2
    • Dart plugin version 203.8430
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)

[✓] IntelliJ IDEA Ultimate Edition (version 2021.2)
    • IntelliJ at /home/hankgrabowski/apps/idea-IU-212.4746.92
    • Flutter plugin version 58.0.4
    • Dart plugin version 212.4746.57

[✓] Connected device (2 available)
    • Linux (desktop) • linux  • linux-x64      • Linux Mint 20.2 5.4.0-91-generic
    • Chrome (web)    • chrome • web-javascript • Chromium 96.0.4664.45 for Linux Mint

! Doctor found issues in 1 category.
```

</details>