[Evolution-hackers] [evolution-alarm-notify] Crash in remove_queued_alarm() and possible remedy
- From: Thomas Mittelstaedt <tmstaedt t-mittelstaedt de>
- To: evolution-hackers gnome org
- Subject: [Evolution-hackers] [evolution-alarm-notify] Crash in remove_queued_alarm() and possible remedy
- Date: Tue, 08 Jul 2014 07:42:43 +0200
Yes, I still run that ancient version 2.28.4 + "patches", but I just
compared my code to the current git code for
calendar/alarm-notify/alarm-queue.c and the functions in question show
the same code.
I recently had segfaults in remove_queued_alarm(), where the
cqa->queued_alarms pointer was broken. [1]
These crashes recently happened more often, but not always and usually
when I made intense use of alarms, snoozing some, rescheduling others, a
"torture test", if you will, spanning several hours.
Finally I tried the following remedy in tray_list_remove_icons(),
calling tray_list_remove_async() directly instead of putting it in the
message queue. Does that make sense to you, experts?
static void
tray_list_remove_icons (void)
{
Message *msg;
msg = g_slice_new0 (Message);
msg->func = tray_list_remove_async;
/*
message_push (msg);
*/
/* Calling tray_list_remove_async directly!! */
tray_list_remove_async(msg);
}
[1]
[Thread debugging using libthread_db enabled]
Core was generated by
`/opt/evo/libexec/evolution/2.28/evolution-alarm-notify
--oaf-activate-iid=OAFII'.
Program terminated with signal 11, Segmentation fault.
#0 0x08057af1 in remove_queued_alarm (cqa=0x8f0ab80,
alarm_id=0xb622d2e0, free_object=0, remove_alarm=1)
at ../../../../../src/evolution/git/evolution/calendar/gui/alarm-notify/alarm-queue.c:304
304 qa = l->data;
(gdb) bt
#0 0x08057af1 in remove_queued_alarm (cqa=0x8f0ab80,
alarm_id=0xb622d2e0, free_object=0, remove_alarm=1)
at ../../../../../src/evolution/git/evolution/calendar/gui/alarm-notify/alarm-queue.c:304
#1 0x0805901e in tray_list_remove_async (msg=0xb7466a18)
at ../../../../../src/evolution/git/evolution/calendar/gui/alarm-notify/alarm-queue.c:1121
#2 0x080578a8 in message_proxy (msg=0xb7466a18)
at ../../../../../src/evolution/git/evolution/calendar/gui/alarm-notify/alarm-queue.c:170
#3 0x05b0fe0c in g_thread_pool_thread_proxy (data=0x8d8d898)
at /build/buildd/glib2.0-2.24.1/glib/gthreadpool.c:315
#4 0x05b0deef in g_thread_create_proxy (data=0xb6c36d18)
at /build/buildd/glib2.0-2.24.1/glib/gthread.c:1893
#5 0x0031e96e in start_thread (arg=0xacc17b70) at pthread_create.c:300
#6 0x084a9ffe in clone ()
at ../sysdeps/unix/sysv/linux/i386/clone.S:130
Backtrace
[Date Prev][
Date Next] [Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]