After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 637641 - Crash on audio alarms with invalid file URI set
Crash on audio alarms with invalid file URI set
Status: RESOLVED FIXED
Product: evolution
Classification: Applications
Component: Calendar
2.32.x (obsolete)
Other Linux
: Normal critical
: ---
Assigned To: evolution-calendar-maintainers
Evolution QA team
Depends on:
Blocks:
 
 
Reported: 2010-12-20 08:40 UTC by Milan Crha
Modified: 2011-03-09 07:57 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
evolution-alarm-notify crash (17.84 KB, text/plain)
2011-03-07 18:53 UTC, Dirk Foerster
  Details
Event (800 bytes, text/calendar)
2011-03-08 19:43 UTC, Dirk Foerster
  Details
evo patch (1.29 KB, patch)
2011-03-09 07:55 UTC, Milan Crha
committed Details | Review

Description Milan Crha 2010-12-20 08:40:02 UTC
Moving this from a downstream bug report:
https://bugzilla.redhat.com/show_bug.cgi?id=664183

abrt version: 1.1.14
architecture: x86_64
Attached file: backtrace
cmdline: /usr/libexec/evolution/2.32/evolution-alarm-notify
component: evolution
crash_function: has_case_prefix
executable: /usr/libexec/evolution/2.32/evolution-alarm-notify
kernel: 2.6.35.9-64.fc14.x86_64
package: evolution-2.32.1-1.fc14
rating: 4
reason: Process /usr/libexec/evolution/2.32/evolution-alarm-notify was killed
by signal 11 (SIGSEGV)
release: Fedora release 14 (Laughlin)
time: 1292713200
uid: 500

How to reproduce
-----
1.Evolution was not started. Did not use Evolution.

Core was generated by `/usr/libexec/evolution/2.32/evolution-alarm-notify'.
Program terminated with signal 11, Segmentation fault.

Thread 1 (Thread 1867)

  • #0 has_case_prefix
    at gconvert.c line 1582
  • #1 g_filename_from_uri
    at gconvert.c line 1878
  • #2 audio_notification
    at alarm-queue.c line 1653
  • #3 alarm_trigger_cb
    at alarm-queue.c line 431
  • #4 alarm_ready_cb
    at alarm.c line 110
  • #5 g_timeout_dispatch
    at gmain.c line 3585
  • #6 g_main_dispatch
    at gmain.c line 2149
  • #7 g_main_context_dispatch
    at gmain.c line 2702
  • #8 g_main_context_iterate
    at gmain.c line 2780
  • #9 g_main_loop_run
    at gmain.c line 2988
  • #10 IA__gtk_main
    at gtkmain.c line 1237
  • #11 main
    at notify-main.c line 118

Comment 1 Dirk Foerster 2011-03-07 18:53:32 UTC
Created attachment 182746 [details]
evolution-alarm-notify crash
Comment 2 Milan Crha 2011-03-08 07:46:13 UTC
Thanks for the update. Looking more closely to the backtrace I see that the alarm-notification daemon is trying to play an audio notification set on an event, but there is no file URI for it to play (with a sound file). I do not know whether it's correct or incorrect state, so I would rather check, because the source code lines seems to indicate that the alarm has set a sound file url.

Could you save the event, strip all private information from there (by replacing each letter with 'x' or something) and attach it here, please? I know what to do in the code, but I would like to know whether I can call it a fix or rather a workaround. Thanks in advance.
Comment 3 Dirk Foerster 2011-03-08 19:43:56 UTC
Created attachment 182855 [details]
Event
Comment 4 Milan Crha 2011-03-09 07:53:30 UTC
Thanks for the update. So it seems it's possible to get such event alarm.
Comment 5 Milan Crha 2011-03-09 07:55:51 UTC
Created attachment 182934 [details] [review]
evo patch

for evolution;

Check if stored URL is valid and not empty before using it. I also changed one thing, if one comples evolution without canberra and has valid audio alarms, then he/she never got any music played.
Comment 6 Milan Crha 2011-03-09 07:57:42 UTC
Created commit cc4dd64 in evo master (2.91.92+)