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

mate-media: INT_cairo_region_destroy(): mate-volume-control-applet killed by SIGABRT #202

Open
raveit65 opened this issue Aug 28, 2023 · 7 comments

Comments

@raveit65
Copy link
Member

This is one of repeating bugs which occurred very often in fedora in the last years and were reported by users via fedora bug reporting tool.
This is a blocker bug which prevent me to switch the applet to in-process build to avoid that the whole panel crashes.
No in-process --> no wayland session.

Actual behaviour

Truncated backtrace:
Thread no. 1 (11 frames)
 #6 INT_cairo_region_destroy at ../src/cairo-region.c:430
 #7 gdk_window_append_old_updated_area at ../gdk/gdkwindow.c:1165
 #8 gdk_window_process_updates_internal at ../gdk/gdkwindow.c:4022
 #9 gdk_window_process_updates_with_mode at ../gdk/gdkwindow.c:4215
 #11 _g_closure_invoke_va at ../gobject/gclosure.c:895
 #14 _gdk_frame_clock_emit_paint at ../gdk/gdkframeclock.c:657
 #15 gdk_frame_clock_paint_idle at ../gdk/gdkframeclockidle.c:597
 #20 g_main_context_iterate.isra.0 at ../glib/gmain.c:4276
 #22 gtk_main at ../gtk/gtkmain.c:1329
 #23 _mate_panel_applet_factory_main_internal at /usr/src/debug/mate-panel-1.26.3-1.fc38.x86_64/libmate-panel-applet/mate-panel-applet.c:2459
 #24 mate_panel_applet_factory_main at /usr/src/debug/mate-panel-1.26.3-1.fc38.x86_64/libmate-panel-applet/mate-panel-applet.c:2487

Full stacktrace: https://bugzilla.redhat.com/attachment.cgi?id=1980725

Steps to reproduce the behaviour

User info:
I have the volume control in a panel at the top of the screen.
I launched a game that changed my screen resolution.
I'm guessing the change of resolution triggered a re-layout of the panel.
I can't reproduce this issue.

MATE general version

1.26.x

Package version

mate-media-1.26.1-1.fc38

Linux Distribution

Fedora 38

Link to bugreport of your Distribution (requirement)

https://bugzilla.redhat.com/show_bug.cgi?id=2227548

@mate-desktop/core-team

@lukefromdc
Copy link
Member

lukefromdc commented Aug 29, 2023

I've never once worked with the frame clock stuff, but going through that backtrace it looks like we might be sending garbage to a GtkWindow used for a channel bar, a tooltip, or some other widget. With three different things crashing, my guess is the same bad data causes all three, and it just depends on what gets the garbage first.

Wondering if a sound device is being removed, the RAM associated with it freed, and then libmate-mixer is reading that RAM after something else has written to it?

@lukefromdc
Copy link
Member

See
mate-desktop/libmatemixer#39

@raveit65
Copy link
Member Author

This issue isn't caused by unplug a usb device like in your links.
Description is complete different.

@lukefromdc
Copy link
Member

lukefromdc commented Aug 29, 2023

If so, we have even more problems. Who on the team has the most experience with the audio device handling code? Something has to be corrupting data for all this crap to happen.

Also note that since I cannot duplicate the crash I have no way to test a proposed fix other than to ensure it doesn't break anything else

@lukefromdc
Copy link
Member

lukefromdc commented Aug 29, 2023

These are the build options I use for libmatemixer, last one is so Checkinstall doesn't pick up the compiled schemas file, leaving it for the Postinst script to handle.Last two are ignored as they are boilerplate from other packages:

./autogen.sh --prefix=/usr libdir=/usr/lib/x86_64-linux-gnu --sysconfdir=/etc --enable-shared=yes --enable-static=no --disable-maintainer-mode --disable-schemas-compile

@lukefromdc
Copy link
Member

I get this configuration summary:

Configure summary:

    libmatemixer 1.27.0
    ===================

    Prefix ........................: /usr
    Source code location ..........: .
    Compiler ......................: gcc
    Compiler flags ................: -g -O2
    Warning flags .................: -Wall -Wmissing-prototypes

    Build Null module .............: yes
    Build PulseAudio module .......: yes
    Build ALSA module .............: yes (udev: yes)
    Build OSS module ..............: no

@raveit65
Copy link
Member Author

Same like what i use for 10 years for fedora https://src.fedoraproject.org/rpms/libmatemixer/blob/rawhide/f/libmatemixer.spec#_67

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants