Bug#779080: unblock (pre-approval): gtk+2.0/2.24.25-2
Control: tags -1 d-i
On 2015-02-24 11:03, Mike Gabriel wrote:
> Package: release.debian.org
> Severity: normal
> User: release.debian.org@packages.debian.org
> Usertags: unblock
>
> Please consider unblocking planned upload of package gtk+2.0.
>
> + * debian/patches/0001-Make-gdk_event_apply_filters-safe-against-changes-in.patch:
> + Cherry-pick patch from upstream stable branch to protect
> + gdk_event_apply_filters_safe from changes in the filter list (Closes:
> + #777142)
>
> The MATE packaging team has discovered an issue in GTK-2 that is affecting several
> GTK2 based applications inside Debian.
>
Ack from RT PoV, CC'ing KiBi for a d-i ack given it produces a udeb.
Quoting the remainder of your message in full for his convenience.
~Niels
> """ from #777142
> A serious flaw in gdk_event_apply_filters function is causing weird crashes
> in various software. For example, mate-display-properties crashes when
> the screen resolution is changed or a new monitor is plugged in [1]. Some
> other older bugs like [2] and [3] also might be caused by this one.
> """
>
> In the upstream bug description (for GTK-3, please note this) [4], we find:
>
> """
> If an event filter function calls gdk_window_add_filter or
> gdk_window_remove_filter the list that gdk_event_apply_filters walks will
> become inconsistent.
>
> This may result in very obscure bugs and/or crashes.
>
> An example of this problem may be found in gnome-desktop where a filter
> is added to detect xrandr events and the callback calls a function that
> adds and/or removes a filter in another class to monitor _NET_WORKSPACE
> changes. This results in a crash when adding a monitor.
> """
>
> """
> An event filter may add or remove filters itself. This patch does
> two things to address this case. The first is to take a temporary
> reference to the filter while it is being used. The second is
> to wait until after the filter function is run before determining
> the next node in the list to process. This guards against
> changes to the next node. It also does not run functions
> that have been marked as removed. Though I'm not sure if this
> case can arise.
> """
>
> One of the MATE upstream devs sat down to backport that patch from GTK3
> to GTK2 (which is already part of GTK2 2.24.26).
>
> light+love,
> Mike
>
> [1] https://bugs.debian.org/760445
> [2] https://bugs.debian.org/708559
> [3] https://bugs.debian.org/718269
> [4] https://bugzilla.gnome.org/show_bug.cgi?id=635380
>
> unblock gtk+2.0/2.24.25-2
>
> -- System Information:
> Debian Release: 8.0
> APT prefers stable
> APT policy: (990, 'stable'), (500, 'testing-updates'), (500, 'testing-proposed-updates'), (500, 'testing')
> Architecture: amd64 (x86_64)
> Foreign Architectures: i386
>
> Kernel: Linux 3.16.0-4-amd64 (SMP w/4 CPU cores)
> Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
> Shell: /bin/sh linked to /bin/dash
> Init: sysvinit (via /sbin/init)
>
Reply to: