Skip to content

[linux]: resizing wonderous with impeller crashes #187589

Description

@gaaclarke

steps to reproduce

  1. launch wonderous ( https://github.com/gskinnerTeam/flutter-wonderous-app ) with impeller: flutter run --enable-impeller
  2. After the window is launched, grab the bottom right hand scorner of the window and start resizing the window. If you drag around for ~30s the app will crash. It seems to crash faster if you are using a debug engine.

The bug does not reproduce when using Skia.

I'm able to get this reliably if I scale the window to height 0. I can reproduce it without doing that though. Notice also that there are visual artifacts that render when first starting to resize.

stacktrace

* thread #1, name = 'wonders', stop reason = signal SIGSEGV: address not mapped to object (fault address=0x7ffddd488000)
   * frame #0: 0x00007ffff1d79549 libc.so.6`__memcpy_evex_unaligned_erms at memmove-vec-unaligned-erms.S:660
     frame #1: 0x00007fffdd7cf489 libgallium-25.2.3-1.so`___lldb_unnamed_symbol_5cf330 + 345
     frame #2: 0x00007fffdd9f1151 libgallium-25.2.3-1.so`___lldb_unnamed_symbol_7f10a0 + 177
     frame #3: 0x00007fffde10fe5b libgallium-25.2.3-1.so`___lldb_unnamed_symbol_f0fdd0 + 139
     frame #4: 0x00007fffdd38c964 libgallium-25.2.3-1.so`___lldb_unnamed_symbol_18c530 + 1076
     frame #5: 0x00007fffdd38dee8 libgallium-25.2.3-1.so`___lldb_unnamed_symbol_18de40 + 168
     frame #6: 0x00007fffdd362d82 libgallium-25.2.3-1.so`___lldb_unnamed_symbol_1625c0 + 1986
     frame #7: 0x00007fffdd3651c4 libgallium-25.2.3-1.so`___lldb_unnamed_symbol_165180 + 68
     frame #8: 0x00007ffff594381f libflutter_linux_gtk.so`fl_compositor_opengl_render(compositor=0x000055555c737320, cr=0x000055555aab6120, window=0x000055555aa93b00, wait_for_frame=1) at fl_compositor_opengl.cc:438:5
     frame #9: 0x00007ffff594272a libflutter_linux_gtk.so`fl_compositor_render(self=0x000055555c737320, cr=0x000055555aab6120, window=0x000055555aa93b00, wait_for_frame=1) at fl_compositor.cc:35:10
     frame #10: 0x00007ffff597c9a9 libflutter_linux_gtk.so`draw_cb(self=0x000055555736bdd0, cr=0x000055555aab6120) at fl_view.cc:575:21
     frame #11: 0x00007ffff2a97e77 libgtk-3.so.0`___lldb_unnamed_symbol_97dc0 + 183
     frame #12: 0x00007ffff2d5b028 libgtk-3.so.0`___lldb_unnamed_symbol_35af90 + 152
     frame #13: 0x00007ffff32f1cb1 libgobject-2.0.so.0`___lldb_unnamed_symbol_17b10 + 417
     frame #14: 0x00007ffff3307cfd libgobject-2.0.so.0`___lldb_unnamed_symbol_2d9e0 + 797
     frame #15: 0x00007ffff330e568 libgobject-2.0.so.0`g_signal_emit_valist + 56
     frame #16: 0x00007ffff330e623 libgobject-2.0.so.0`g_signal_emit + 147
     frame #17: 0x00007ffff2d62f7a libgtk-3.so.0`___lldb_unnamed_symbol_362d70 + 522
     frame #18: 0x00007ffff2b2555f libgtk-3.so.0`gtk_container_propagate_draw + 559
     frame #19: 0x00007ffff2b2566d libgtk-3.so.0`___lldb_unnamed_symbol_1255e0 + 141
     frame #20: 0x00007ffff2b82d1e libgtk-3.so.0`___lldb_unnamed_symbol_182cf0 + 46
     frame #21: 0x00007ffff2d62e5b libgtk-3.so.0`___lldb_unnamed_symbol_362d70 + 235
     frame #22: 0x00007ffff2b2555f libgtk-3.so.0`gtk_container_propagate_draw + 559
     frame #23: 0x00007ffff2b2566d libgtk-3.so.0`___lldb_unnamed_symbol_1255e0 + 141
     frame #24: 0x00007ffff2ad333b libgtk-3.so.0`___lldb_unnamed_symbol_d3310 + 43
     frame #25: 0x00007ffff2b2be41 libgtk-3.so.0`___lldb_unnamed_symbol_12be20 + 33
     frame #26: 0x00007ffff2b31cbe libgtk-3.so.0`___lldb_unnamed_symbol_131800 + 1214
     frame #27: 0x00007ffff2ad4865 libgtk-3.so.0`___lldb_unnamed_symbol_d4850 + 21
     frame #28: 0x00007ffff2d62e5b libgtk-3.so.0`___lldb_unnamed_symbol_362d70 + 235
     frame #29: 0x00007ffff2b2555f libgtk-3.so.0`gtk_container_propagate_draw + 559
     frame #30: 0x00007ffff2b2566d libgtk-3.so.0`___lldb_unnamed_symbol_1255e0 + 141
     frame #31: 0x00007ffff2d62e5b libgtk-3.so.0`___lldb_unnamed_symbol_362d70 + 235
     frame #32: 0x00007ffff2d71afd libgtk-3.so.0`___lldb_unnamed_symbol_3719b0 + 333
     frame #33: 0x00007ffff2c0b125 libgtk-3.so.0`gtk_main_do_event + 2149
     frame #34: 0x00007ffff7e98989 libgdk-3.so.0`___lldb_unnamed_symbol_40960 + 41
     frame #35: 0x00007ffff7ea7d4e libgdk-3.so.0`___lldb_unnamed_symbol_4fba0 + 430
     frame #36: 0x00007ffff7ea9bab libgdk-3.so.0`___lldb_unnamed_symbol_51a60 + 331
     frame #37: 0x00007ffff7ea9dcc libgdk-3.so.0`___lldb_unnamed_symbol_51cb0 + 284
     frame #38: 0x00007ffff32f1cb1 libgobject-2.0.so.0`___lldb_unnamed_symbol_17b10 + 417
     frame #39: 0x00007ffff3308a78 libgobject-2.0.so.0`___lldb_unnamed_symbol_2d9e0 + 4248
     frame #40: 0x00007ffff330e568 libgobject-2.0.so.0`g_signal_emit_valist + 56
     frame #41: 0x00007ffff330e623 libgobject-2.0.so.0`g_signal_emit + 147
     frame #42: 0x00007ffff7ea192e libgdk-3.so.0`___lldb_unnamed_symbol_495f0 + 830
     frame #43: 0x00007ffff7e8d69c libgdk-3.so.0`___lldb_unnamed_symbol_35670 + 44
     frame #44: 0x00007ffff22e48cd libglib-2.0.so.0`___lldb_unnamed_symbol_608b0 + 29
     frame #45: 0x00007ffff22e066e libglib-2.0.so.0`___lldb_unnamed_symbol_5c4f0 + 382
     frame #46: 0x00007ffff22e39ff libglib-2.0.so.0`___lldb_unnamed_symbol_5f6b0 + 847
     frame #47: 0x00007ffff22e4190 libglib-2.0.so.0`g_main_context_iteration + 48
     frame #48: 0x00007ffff24efb1d libgio-2.0.so.0`g_application_run + 493
     frame #49: 0x00005555555564de wonders`main(argc=1, argv=0x00007fffffffd518) at main.cc:5:10
     frame #50: 0x00007ffff1c29f77 libc.so.6`__libc_start_call_main(main=(wonders`main at main.cc:3), argc=1, argv=0x00007fffffffd518) at libc_start_call_main.h:58
:16
     frame #51: 0x00007ffff1c2a027 libc.so.6`__libc_start_main_impl(main=(wonders`main at main.cc:3), argc=1, argv=0x00007fffffffd518, init=<unavailable>, fini=<un
available>, rtld_fini=<unavailable>, stack_end=0x00007fffffffd508) at libc-start.c:360:3
     frame #52: 0x00005555555563c1 wonders`_start + 33

doctor

$ flutter doctor -v
[!] Flutter (Channel [user-branch], 3.45.0-1.0.pre-369, on Debian GNU/Linux rodete 6.18.14-1rodete3-amd64, locale en_US.UTF-8) [83ms]
    ! Flutter version 3.45.0-1.0.pre-369 on channel [user-branch] at /usr/local/google/home/aaclarke/dev/flutter
      Currently on an unknown channel. Run `flutter channel` to switch to an official channel.
      If that doesn't fix the issue, try deleting the 'bin/cache/flutter.version.json' file in your Flutter SDK directory and then reinstall
      Flutter by following instructions at https://flutter.dev/setup.
    ! Unknown upstream repository.
      Reinstall Flutter by following instructions at https://flutter.dev/setup.
    • Framework revision 19fe148c2c (8 hours ago), 2026-06-04 09:44:30 -0400
    • Engine revision dcae056e7e
    • Dart version 3.13.0 (build 3.13.0-158.0.dev)
    • DevTools version 2.58.0
    • Feature flags: enable-web, enable-linux-desktop, enable-macos-desktop, enable-windows-desktop, enable-android, enable-ios, cli-animations,
      enable-native-assets, enable-swift-package-manager, omit-legacy-version-file, enable-lldb-debugging, enable-uiscene-migration, enable-riscv64
    • If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to perform update checks and
      upgrades.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P1High-priority issues at the top of the work liste: impellerImpeller rendering backend issues and features requeststeam-engineOwned by Engine teamtriaged-engineTriaged by Engine team

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions