! Please note that this is a snapshot of our old Bugzilla server, which is read only since May 29, 2020. Please go to gitlab.xfce.org for our new server !
Crash
Status:
RESOLVED: FIXED
Product:
Xfce4-notifyd
Component:
general

Comments

Description Andrzej editbugs 2013-09-18 03:25:07 CEST
Created attachment 5153 
A patch

When flooded with notifications(*1) xfce4-notifyd crashes on line:
xfce4-notify-window.c:654

xfce_notify_window_fade_timeout(gpointer data)
{
    XfceNotifyWindow *window = data;
-->  gdouble op = gtk_window_get_opacity(GTK_WINDOW(window));

Attached patch adds some type check at the input of this and similar functions. With the patch I was not able to reproduce this issue anymore.

(*1) Added two indicator-plugins to the panel, each displaying a sound indicator. Then scrolled the mouse wheel on top of one of them. This creates an infinite event loop as both indicators are fighting each other, flooding xfce4-notifyd with events. After a minute xfce4-notifyd crashes.
Comment 1 Alistair Buxton 2013-09-18 03:46:09 CEST
Here is a small testcase which makes notifyd crash. To use it, run it and then move the mouse over and out of the notification bubble which appears. Eventually it will crash (within about 10 seconds).

#!/usr/bin/env python

import pynotify
import time

def sendmessage(title, message):
    pynotify.init("Test")
    notice = pynotify.Notification(title, message)
    notice.show()
    return

pynotify.init(app_name="me")

n = pynotify.Notification("Title", "Body", "dialog-warning")
n.show()
while(True):
    time.sleep(0.1)
    n.update("One", "Two", "dialog-warning")
    n.show()
Comment 2 Jérôme Guelfucci editbugs 2013-09-21 11:18:01 CEST
Thanks for your contribution, I pushed this to the git master branch.

Bug #10356

Reported by:
Andrzej
Reported on: 2013-09-18
Last modified on: 2013-09-21

People

Assignee:
Jérôme Guelfucci
CC List:
1 user

Version

Version:
unspecified

Attachments

A patch (1.35 KB, patch)
2013-09-18 03:25 CEST , Andrzej
no flags

Additional information