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 _______________________________________________ evolution-hackers mailing list evolution-hackers@gnome.org To change your list options or unsubscribe, visit ... https://mail.gnome.org/mailman/listinfo/evolution-hackers