GNOME Bugzilla – Bug 319076
crash when syncing with palm, conduit setting copy from palm
Last modified: 2013-09-10 13:42:14 UTC
Distribution: Debian testing/unstable Package: Evolution-Data-Server Severity: major Version: GNOME2.10.2 1.2.x Gnome-Distributor: Debian Synopsis: crash when syncing with palm, conduit setting copy from palm Bugzilla-Product: Evolution-Data-Server Bugzilla-Component: Calendar Bugzilla-Version: 1.2.x BugBuddy-GnomeVersion: 2.0 (2.10.1) Description: Description of the crash: While syncronizing my palm with Evolution, the e data server crashes while the ecalconduit is active. I have the settings "Copy from Pilot" (because Evolutions just messes up my entries in the DateBk5) and around 5000 DateBk entries. How often does this happen? Every time. Additional Information: I believe that this is a timeout error: With setting "Copy from Pilot" first all records are deleted from calender.ics. This takes really long. Within this time either the pilot disconnectes or gpilotd stops communicating (I don't know, this is purely hypothetical). As a point which makes this reasonable is that if I prior to starting evolution and gpilotd, remove the .evolution/calender/local/system/calender.ics*, then syncronisation (copying from the pilot) works. Debugging Information: Backtrace was generated from '/usr/libexec/evolution-data-server-1.2' Using host libthread_db library "/lib/tls/libthread_db.so.1". (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) [Thread debugging using libthread_db enabled] [New Thread -1218852192 (LWP 4613)] [New Thread -1280877648 (LWP 18029)] [New Thread -1231045712 (LWP 4633)] [New Thread -1222394960 (LWP 4614)] (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) 0xb7630c41 in waitpid () from /lib/tls/libc.so.6
+ Trace 63573
Thread 1 (Thread -1218852192 (LWP 4613))
------- Bug moved to this database by unknown@gnome.bugs 2005-10-17 15:26 UTC ------- The original reporter of this bug does not have an account here. Reassigning to the person who moved it here, unknown@gnome.bugs. Previous reporter was preining@logic.at.
I think this has been fixed in 1.4, dinesh ?
no, not fixed. seems like this is the best stacktrace of all those duplicates around, so confirming this and updating version number according to bug 320825 and bug 319266.
*** Bug 320825 has been marked as a duplicate of this bug. ***
*** Bug 319266 has been marked as a duplicate of this bug. ***
*** Bug 319857 has been marked as a duplicate of this bug. ***
*** Bug 335969 has been marked as a duplicate of this bug. ***
*** Bug 342920 has been marked as a duplicate of this bug. ***
last duplicate is version 1.6 it has good steps on how to reproduce Can anyone get us a trace with debugging symbols? Please see http://live.gnome.org/GettingTraces for more information on how to do so.
Created attachment 66234 [details] Stack-trace with evolution and data-server with debug symbols You needed a backtrace with debug info. I just installed evolution-dbg (2.6.1-3) and evolution-data-server-dbg (1.6.1-2) on my Debian system and did a synchronize. Attached the trace. I hope this helps. Let me know if you need something else. I runned KDE 3.5.2 at this time, but Gnome would do the same (as far as I can see). I noted however a strange line about data-server 1.2 ???? (i have 1.6 installed)
Created attachment 66273 [details] stack-trace made with bug-buddy with debug evolution & libraries Now I read the description about debugging symbols completly, and installed debug libraries libglib2.0-0-dbg, libgtk2.0-0-dbg, and libgnomevfs2-0-dbg. I allready had installed debug versions of evolution (2.6.1-3) and evolution-data-server (1.6.1-2). Attached another stack trace with evolution and libraries with debugging information.
thanks. it has some values missing due to enabled compiler optimisations, but following is the relevant part (unless I am mistaken)
+ Trace 68517
*** Bug 272436 has been marked as a duplicate of this bug. ***
last duplicate has no optimisations and a helpful trace. Confirming report finally.
+ Trace 68518
reassigning bugs assigned to dinesh layek to avoid rotting. removing old target milestone.
*** Bug 347269 has been marked as a duplicate of this bug. ***
One thing I have noticed when Copying from the Palm is that the CPU is pegged during the whole process. I'm wondering if this would be part of the timeout issues noticed up above.
*** Bug 348351 has been marked as a duplicate of this bug. ***
Another duplicate. Why the hell is this crash with a bunch of dupes targetted for Future? Removing this bad target milestone. Fix this. Hint: pvl_head() does not like to be called with a NULL pointer...
Cross reference: Same issue with pvl_head() for bug 347775.
I have backported gnome-pilot 2.0.14 from Ubuntu Edgy to Ubuntu Dapper. With this version, evolution-data-server does not crash any more using Copy from pilot. I have more entries in my calendar as before.
Cool. You may want to talk to Sebastien Bacher, the Ubuntu packaging guru.
dbet1: what are you suggesting that the crash is due to the version of gnome-pilot on Dapper? I'm not convinced; see bug 382879 which shows what is probably yet another duplicate, occuring with gnome-pilot 2.0.15 I'm seeing the crash on Edgy. I can provide a full non-optimised backtrace if required (similar, but not identical to above). It's in icalcomponent.c, icalcomponent_as_ical_string. Am happy to help, as I didn't get too far delving into e-d-s myself.
Matt: feel free to attach your trace as an attachment
*** Bug 382879 has been marked as a duplicate of this bug. ***
There are several comments about pvl_head and a NULL pointer. I think there is the problem, but I cannot verify this. Maybe the problem is gone on my installation because I use libusb with gnome-pilot now, but I dont't think that was the problem.
Created attachment 78007 [details] unoptimised backtrace of save_file_when_idle / icalcomponent / pvl_head crash I'm attaching a backtrace and contents of an icalproperty variable whose null list is being dereferenced.
Created attachment 78013 [details] similar but not identical backtrace to previous attachment
I tried running evolution-data-server in valgrind while doing a sync. The sync ran slowly, particularly when syncing the calendar. I suspect there's a ton of malloc/free calls when deleting all appointments (copy from PDA). Interestingly, despite several tries, I wasn't able to get e-d-s to crash when running under valgrind. Suggests to me some kind of a race condition in which the icalcomponent memory is getting corrupted while it is being converted to a string?? I don't grok the e-d-s code :( I had been wondering whether the Ubuntu patch to port the gnome-pilot evo conduits to the pilot-link 0.12.x API could have introduced a regression, but it seems unlikely as bug 382879 looks like a dupe and was on fedora with pilot-link 0.11.8. Is this a regression? Can anyone say what version it appeared in? I'm not clear from the opening of this bug what version it was first spotted in. I may try building the e-d-s 1.6 from Dapper and e-d-s 1.9 from Feisty to see if I can narrow things down.
Created attachment 78026 [details] gdb session showing, perhaps, memory corruption Perhaps an e-d-s developer could look over this attachment. It contains a backtrace basically identical to my last one. I've shown the contents of the icalcomponent "impl" and "kind" and "kind_string". Note that "kind" and "kind_string" agree that the component is a VEVENT, but impl->kind contains ICAL_NO_COMPONENT. I can't see from the code how these variables should be able to disagree. Note that optimisation is turned off. As I said previously, I can't get this crash when running with valgrind. Also, I had no success installing e-d-s 1.6 or 1.9. The inter-package dependencies are too intricate for me to bite off just now. Hope this all helps. I'm done for now.
In the past if I deleted all entries from the calender, e-d-s never crashed during a copy from pilot sync. It crashed only the sync has to delete all my entries first. But the crash occured not during the deletions. It beguns with the copy operation and after a while it crashes. I hope this helps.
It seems that it makes a difference if e-d-s is running or not. I sayed that I does not have a crash since I installed gnome-pilot 2.0.14. Today I had one. After stopping e-d-s the problem was gone. With gnome-pilot 2.0.13 the crash comes after all deletions of the records and after a while the copy was begun. With 2.0.14 the crash was very early in the beginning of the deletion phase. But only when e-d-s was running. I hope this helps. If you wish I can give you the backtrace, but it is without symbols.
Interesting discussion over at bug 363102. Seems to me that this bug is caused by the same fault: the background save_file_when_idle is saving a record that is deleted by a different thread while the operation is in progress. KaBoom.
Could someone please look at this soon?
*** Bug 397230 has been marked as a duplicate of this bug. ***
Bug 363102 has been resolved. The e-d-s patch has been committed to head and gnome-2-16. So this bug should be fixed by the next 2.16 release (e-d-s 1.8.4?) and unstable (e-d-s 1.9.7 or 1.9.6.2?).
@chen: DO use a namespace for the whitespace, please! so, can this be closed as fixed according to the last comment?
I haven't verified the fix. It would be best if dbet1 could install a version of evolution containing the fix and verify before this gets closed.
I have installed the patch from Bug 363102 for E-D-S 1.6.3 and had never a crash again while synchronization my Palm to evolution calendar. I always use Copy from PDA. I have not tried with newer versions of evolution. If it is helpful for you I can try it with evolution 2.10 with a virtual machine.
(In reply to comment #38) > I have installed the patch from Bug 363102 for E-D-S 1.6.3 and had never a > crash again [...] Thanks for testing and confirming, much appreaciated! :) According to the stacktrace this indeed is a duplicate of bug 363102. Also, got confirmation that the patch fixes it. Closing appropriately. *** This bug has been marked as a duplicate of 363102 ***