GNOME Bugzilla – Bug 712388
[abrt] Crash when opening Properties of a Weather calendar
Last modified: 2013-11-18 20:38:40 UTC
Moving this from a downstream bug report: https://bugzilla.redhat.com/show_bug.cgi?id=1029972 Description of problem: 1) In Evolution's calendar view, create a new calendar of the "Weather" type. 2) Right click on the weather calendar in the side bar and select "Properties". 3) Evolution crashes. The city I selected when creating the weather calendar was "Grand Rapids, Michigan, United States". But the crash behavior seems the same when I select other cities, for example: "Sault Ste. Marie, Michigan, United States." Version-Release number of selected component: evolution-3.8.5-2.fc19 Additional info: reporter: libreport-2.1.9 backtrace_rating: 4 cmdline: evolution crash_function: gweather_location_equal executable: /usr/bin/evolution kernel: 3.11.7-200.fc19.x86_64 Core was generated by `evolution'. Program terminated with signal 11, Segmentation fault.
+ Trace 232778
Thread 1 (Thread 0x7f555e2afa40 (LWP 2332))
Created attachment 260163 [details] [review] eds patch for evolution-data-server; This is not for the crash, but for a changed format of the saved weather location, because it was changed (see below).
Created attachment 260164 [details] [review] evo patch for evolution; Fix the crash by storing latitude and longitude, instead of state code and city name, as a weather location. The problem was that the current code was supposed to save "StationCode/CityName", but the looked-up City didn't have set any StationCode, which means that the saved location string in the ESource was "(null)/City". Restoring this location string lead to NULL 'matched' in cal_config_weather_string_to_location(), thus we passed NULL location to GWeather library, which it doesn't like. Another issue with storing city name was that the name is localized, and can produce different name when the process is run in a different language. That means that the only correct way of the save is to use latitude and longitute of the place. It also required some changes in eds (see above), but now the calendar actually works, and shows the forecast.
Created commit 063a2bc in eds master (3.11.3+) Created commit 1db9434 in evo master (3.11.3+) Created commit b9fe27e in eds gnome-3-10 (3.10.3+) Created commit 1d5af7d in evo gnome-3-10 (3.10.3+)