Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug]: Crash when repeatedly playing / pausing and/or entering/exiting enlarged video playback mode #1051

Open
nekohayo opened this issue Jun 29, 2024 · 0 comments
Labels
bug Something isn't working

Comments

@nekohayo
Copy link

Describe the bug

I don't know if this is the same problem as @rmader's issue #924, but here is a crash I caught by monkey-testing a bit to try to reproduce a crash that occurred as I tried pausing fullscreen video playback and then hitting the Esc key to exit it.

Steps To Reproduce

Unsure. Please see this video of how I triggered the issue: https://youtu.be/npXUEBU06YQ

Logs and/or Screenshots

Thread 1 "dev.geopjr.Tuba" received signal SIGSEGV, Segmentation fault.
insert_subsurface (subsurface=subsurface@entry=0x55555b979960 [GdkWaylandSubsurface], above=above@entry=1, 
    sibling=sibling@entry=0x55555ac10d50) at ../gdk/gdksubsurface.c:93
93	        subsurface->sibling_above->sibling_below = subsurface;
(gdb) bt full
#0  insert_subsurface
    (subsurface=subsurface@entry=0x55555b979960 [GdkWaylandSubsurface], above=above@entry=1, sibling=sibling@entry=0x55555ac10d50) at ../gdk/gdksubsurface.c:93
        parent = 0x555555ffb0e0 [GdkWaylandToplevel]
#1  0x00007ffff6ceba8d in gdk_subsurface_attach
    (subsurface=0x55555b979960 [GdkWaylandSubsurface], texture=0x7ffee8004d20 [GdkGLTexture], source=0x5555592a9e78, dest=0x5555592a9e68, above=0, sibling=0x55555ac10d50) at ../gdk/gdksubsurface.c:145
        parent = 0x555555ffb0e0 [GdkWaylandToplevel]
        __func__ = "gdk_subsurface_attach"
#2  0x00007ffff6cfa24e in gsk_offload_new
    (surface=<optimized out>, root=root@entry=0x55555bfd7570 [GskTransformNode], diff=diff@entry=0x555560338e50)
    at ../gsk/gskoffload.c:658
        info = 0x5555592a9e50
        old_dest = {origin = {x = 0, y = 0}, size = {width = 0, height = 0}}
        i = 0
        display = 0x5555557f2330 [GdkWaylandDisplay]
        self = 0x5555585eb840
#3  0x00007ffff6d0396a in gsk_renderer_render
    (renderer=renderer@entry=0x555555ffca00 [GskGLRenderer], root=root@entry=0x55555bfd7570 [GskTransformNode], region=region@entry=0x5555585dd220) at ../gsk/gskrenderer.c:493
        priv = <optimized out>
        renderer_class = 0x5555560281b0
        clip = 0x555560338e50
        offload = <optimized out>
        __func__ = "gsk_renderer_render"
#4  0x00007ffff6ac4d0f in gtk_widget_render
    (widget=widget@entry=0x55555585b980 [TubaDialogsMainWindow], surface=0x555555ffb0e0 [GdkWaylandToplevel], region=region@entry=0x5555585dd220) at ../gtk/gtkwidget.c:11971
        priv = 0x55555585b830
        snapshot = <optimized out>
        renderer = 0x555555ffca00 [GskGLRenderer]
        root = 0x55555bfd7570 [GskTransformNode]
        x = 61
        y = 55
        before_snapshot = <optimized out>
        before_render = 0
#5  0x00007ffff6acc819 in surface_render
    (surface=<optimized out>, region=region@entry=0x5555585dd220, widget=widget@entry=0x55555585b980 [TubaDialogsMainWindow])
    at ../gtk/gtkwindow.c:4756
#10 0x00007ffff7d65ed3 in <emit signal 'render' on instance 0x555555ffb0e0 [GdkWaylandToplevel]>
    (instance=instance@entry=0x555555ffb0e0, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3583
        var_args = {{gp_offset = 24, fp_offset = 48, overflow_arg_area = 0x7fffffffd270, reg_save_area = 0x7fffffffd1b0}}
    #6  0x00007ffff6c5a877 in _gdk_marshal_BOOLEAN__BOXEDv
    (closure=0x555557f5c010, return_value=0x7fffffffd080, instance=<optimized out>, args=<optimized out>, marshal_data=<optimized out>, n_params=<optimized out>, param_types=0x555555a68bc0) at gdk/gdkmarshalers.c:130
                cc = <optimized out>
                data1 = <optimized out>
                data2 = 0x55555585b980
                callback = 0x7ffff6acc800 <surface_render>
                v_return = <optimized out>
                arg0 = 0x5555585dd220
                args_copy = {{gp_offset = 32, fp_offset = 48, overflow_arg_area = 0x7fffffffd270, reg_save_area = 0x7fffffffd1b0}}
                __func__ = "_gdk_marshal_BOOLEAN__BOXEDv"
    #7  0x00007ffff7d48912 in _g_closure_invoke_va
    (closure=0x555557f5c010, return_value=0x7fffffffd080, instance=0x555555ffb0e0, args=0x7fffffffd190, n_params=1, param_types=0x555555a68bc0) at ../gobject/gclosure.c:897
                marshal = 0x7ffff6c5a7d0 <_gdk_marshal_BOOLEAN__BOXEDv>
                marshal_data = 0x0
                in_marshal = 0
                real_closure = 0x555557f5bff0
                __func__ = "_g_closure_invoke_va"
    #8  0x00007ffff7d5f203 in signal_emit_valist_unlocked
    (instance=instance@entry=0x555555ffb0e0, signal_id=signal_id@entry=267, detail=detail@entry=0, var_args=var_args@entry=0x7fffffffd190) at ../gobject/gsignal.c:3424
                return_accu = 0x7fffffffd080
                accu = {g_type = 0x14 [gboolean], data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
                emission = {next = 0x7fffffffd390, instance = 0x555555ffb0e0, ihint = {signal_id = 267, detail = 0, run_type = (G_SIGNAL_RUN_FIRST | G_SIGNAL_ACCUMULATOR_FIRST_RUN)}, state = EMISSION_RUN, chain_type = 0x5555557ebd00 [GdkWaylandToplevel/GdkWaylandSurface/GdkSurface]}
                instance_type = <optimized out>
                emission_return = {g_type = 0x14 [gboolean], data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
                rtype = 0x14 [gboolean]
                static_scope = 0
                fastpath_handler = <optimized out>
                closure = <optimized out>
                run_type = <optimized out>
                hlist = <optimized out>
                l = <optimized out>
                fastpath = <optimized out>
                instance_and_params = <optimized out>
                param_values = <optimized out>
                node = <optimized out>
                i = <optimized out>
                __func__ = "signal_emit_valist_unlocked"
                node_copy = {signal_id = 267, itype = 0x5555557f1420 [GdkSurface], name = 0x7ffff6d9c499 "render", destroyed = 0, flags = 2, n_params = 1, single_va_closure_is_valid = 1, single_va_closure_is_after = 0, param_types = 0x555555a68bc0, return_type = 0x14 [gboolean], class_closure_bsa = 0x0, accumulator = 0x555555ff8c70, c_marshaller = 0x7ffff6c5a700 <_gdk_marshal_BOOLEAN__BOXED>, va_marshaller = 0x7ffff6c5a7d0 <_gdk_marshal_BOOLEAN__BOXEDv>, emission_hooks = 0x0, single_va_closure = 0x1}
    #9  0x00007ffff7d65e11 in g_signal_emit_valist (instance=0x555555ffb0e0, signal_id=267, detail=0, var_args=0x7fffffffd190)
    at ../gobject/gsignal.c:3263
#11 0x00007ffff6cec929 in gdk_surface_paint_on_clock (clock=<optimized out>, data=0x555555ffb0e0) at ../gdk/gdksurface.c:1370
        handled = 32767
        surface = <optimized out>
        expose_region = 0x5555585dd220
        surface = <optimized out>
        expose_region = <optimized out>
        __func__ = "gdk_surface_paint_on_clock"
        _g_boolean_var_41 = <optimized out>
        __inst = <optimized out>
        __t = <optimized out>
        __r = <optimized out>
        handled = <optimized out>
#12 gdk_surface_paint_on_clock (clock=<optimized out>, data=0x555555ffb0e0) at ../gdk/gdksurface.c:1346
        surface = 0x555555ffb0e0 [GdkWaylandToplevel]
        expose_region = <optimized out>
        __func__ = "gdk_surface_paint_on_clock"
        handled = <optimized out>
#16 0x00007ffff7d65ed3 in <emit signal 'paint' on instance 0x555555ffac00 [GdkFrameClockIdle]>
    (instance=instance@entry=0x555555ffac00, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3583
        var_args = {{gp_offset = 24, fp_offset = 48, overflow_arg_area = 0x7fffffffd610, reg_save_area = 0x7fffffffd550}}
    #13 0x00007ffff7d48912 in _g_closure_invoke_va
    (closure=0x555555ffae00, return_value=0x0, instance=0x555555ffac00, args=0x7fffffffd530, n_params=0, param_types=0x0)
    at ../gobject/gclosure.c:897
                marshal = 0x7ffff7d4aba0 <g_cclosure_marshal_VOID__VOIDv>
                marshal_data = 0x0
                in_marshal = 0
                real_closure = 0x555555ffade0
                __func__ = "_g_closure_invoke_va"
    #14 0x00007ffff7d5feff in signal_emit_valist_unlocked
    (instance=instance@entry=0x555555ffac00, signal_id=signal_id@entry=276, detail=detail@entry=0, var_args=var_args@entry=0x7fffffffd530) at ../gobject/gsignal.c:3424
                return_accu = 0x0
                accu = {g_type = 0x0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
                emission = {next = 0x0, instance = 0x555555ffac00, ihint = {signal_id = 276, detail = 0, run_type = (G_SIGNAL_RUN_FIRST | G_SIGNAL_ACCUMULATOR_FIRST_RUN)}, state = EMISSION_RUN, chain_type = 0x555555ffb5d0 [GdkFrameClockIdle/GdkFrameClock]}
                instance_type = <optimized out>
                emission_return = {g_type = 0x0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
                rtype = 0x4 [void]
                static_scope = 0
                fastpath_handler = <optimized out>
                closure = <optimized out>
                run_type = <optimized out>
                hlist = <optimized out>
                l = <optimized out>
                fastpath = <optimized out>
                instance_and_params = <optimized out>
                param_values = <optimized out>
                node = <optimized out>
                i = <optimized out>
                __func__ = "signal_emit_valist_unlocked"
                node_copy = {signal_id = 276, itype = 0x555555ff9410 [GdkFrameClock], name = 0x7ffff6daea4f "paint", destroyed = 0, flags = 2, n_params = 0, single_va_closure_is_valid = 1, single_va_closure_is_after = 0, param_types = 0x0, return_type = 0x4 [void], class_closure_bsa = 0x0, accumulator = 0x0, c_marshaller = 0x7ffff7d4ab10 <g_cclosure_marshal_VOID__VOID>, va_marshaller = 0x7ffff7d4aba0 <g_cclosure_marshal_VOID__VOIDv>, emission_hooks = 0x0, single_va_closure = 0x1}
    #15 0x00007ffff7d65e11 in g_signal_emit_valist (instance=0x555555ffac00, signal_id=276, detail=0, var_args=0x7fffffffd530)
    at ../gobject/gsignal.c:3263
#17 0x00007ffff6cd213d in _gdk_frame_clock_emit_paint (frame_clock=frame_clock@entry=0x555555ffac00 [GdkFrameClockIdle])
    at ../gdk/gdkframeclock.c:736
        before = 85637416950721
#18 0x00007ffff6cd31f8 in gdk_frame_clock_paint_idle (data=0x555555ffac00) at ../gdk/gdkframeclockidle.c:634
        clock = 0x555555ffac00 [GdkFrameClockIdle]
        clock_idle = 0x555555ffac00 [GdkFrameClockIdle]
        priv = 0x555555ffa960
        skip_to_resume_events = 0
        timings = 0x555558681ed0
        before = 85637407605969
        __func__ = "gdk_frame_clock_paint_idle"
#19 0x00007ffff7ec456a in g_timeout_dispatch (source=0x55555d2dd9d0, callback=<optimized out>, user_data=<optimized out>)
    at ../glib/gmain.c:4989
        timeout_source = 0x55555d2dd9d0
        again = <optimized out>
#20 0x00007ffff7ec1667 in g_main_dispatch (context=context@entry=0x5555557b69b0) at ../glib/gmain.c:3344
        dispatch = 0x7ffff7ec4540 <g_timeout_dispatch>
        prev_source = 0x0
        begin_time_nsec = 85637407605886
        was_in_call = 0
        user_data = 0x555555ffac00
        callback = 0x7ffff6cd2dd0 <gdk_frame_clock_paint_idle>
        cb_funcs = 0x7ffff7faf260 <g_source_callback_funcs>
        cb_data = 0x5555601f1600
        need_destroy = <optimized out>
        source = 0x55555d2dd9d0
        current = 0x5555557bee80
        i = 0
        __func__ = "g_main_dispatch"
#21 0x00007ffff7ec3787 in g_main_context_dispatch_unlocked (context=0x5555557b69b0) at ../glib/gmain.c:4152
#22 g_main_context_iterate_unlocked
    (context=context@entry=0x5555557b69b0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>)
    at ../glib/gmain.c:4217
        max_priority = 120
        timeout = 0
        some_ready = 1
        nfds = 14
        allocated_nfds = <optimized out>
        fds = 0x55555e2a4f00
        begin_time_nsec = 85637407576415
#23 0x00007ffff7ec3e43 in g_main_context_iteration (context=context@entry=0x5555557b69b0, may_block=may_block@entry=1)
    at ../glib/gmain.c:4282
        retval = <optimized out>
#24 0x00007ffff7b8f05d in g_application_run
    (application=0x5555557c90d0 [TubaApplication], argc=<optimized out>, argv=<optimized out>) at ../gio/gapplication.c:2712
        arguments = 0x5555557d3620
        status = 0
        context = 0x5555557b69b0
        acquired_context = <optimized out>
        __func__ = "g_application_run"
#25 0x00005555555ad407 in main ()

Instance Backend

Mastodon

Operating System

Fedora 39

Package

Flatpak

Troubleshooting information

os: GNOME 46 (Flatpak runtime)
prefix: /app
flatpak: true
version: 0.8.1 (production)
gtk: 4.14.4 (4.14.4)
libadwaita: 1.5.1 (1.5.1)
libsoup: 3.4.4 (3.4.4)
libgtksourceview: 5.12.0 (5.12.0)

Additional Context

No response

@nekohayo nekohayo added the bug Something isn't working label Jun 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant