GNOME Bugzilla – Bug 274032
crashe on sync
Last modified: 2006-10-05 13:45:50 UTC
Distribution: Fedora Core release Rawhide (Rawhide) Package: Evolution Priority: Normal Version: GNOME2.10.0 2.2.1 Gnome-Distributor: Red Hat, Inc Synopsis: gpilotd crashes on setup Bugzilla-Product: Evolution Bugzilla-Component: Gnome-pilot & pilot-link Bugzilla-Version: 2.2.1 BugBuddy-GnomeVersion: 2.0 (2.9.1) Description: Description of the crash: I tried to set up my Tungsten C to work with Evolution and gpilotd crashed Steps to reproduce the crash: 1. Pick Tools->Pilot settings from the Evolution menu 2. Follow the prompts (Cradle is plugged in via USB) 3. Press sync button on cradle when instructed ("About to retrieve UserName and ID from the pilot") Expected Results: Communication with the pilot How often does this happen? Whenever I try it. Additional Information: Debugging Information: Backtrace was generated from '/usr/libexec/gpilotd' (no debugging symbols found) 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) [Thread debugging using libthread_db enabled] [New Thread -1208457536 (LWP 27421)] (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) (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) 0x003a47e2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
+ Trace 57245
Thread 1 (Thread -1208457536 (LWP 27421))
Unknown reporter: sklar@sklar.com, changed to bugbuddy-import@ximian.com. Setting qa contact to the default for this product. This bug either had no qa contact or an invalid one.
*** Bug 300842 has been marked as a duplicate of this bug. ***
reassigning to gnome-pilot
*** Bug 301256 has been marked as a duplicate of this bug. ***
*** Bug 302597 has been marked as a duplicate of this bug. ***
*** Bug 303441 has been marked as a duplicate of this bug. ***
*** Bug 303752 has been marked as a duplicate of this bug. ***
*** Bug 305002 has been marked as a duplicate of this bug. ***
I fixed the crash problem on my system. All I had to do was change my /etc/udev/rules.d/10-visor.rules file. I added MODE="0666" to the rule and now my pilot syncs. For reference, the contents of the file is: BUS="usb", SYSFS{product}="Palm Tungsten T / Zire 71", KERNEL="ttyUSB*", SYMLINK="pilot" MODE="0666" Right now gpilotd and hotsync have stopped crashing, however, none of the conduits seem to work. That is probably an unrelated issue. Best of luck.
*** Bug 307104 has been marked as a duplicate of this bug. ***
*** Bug 307311 has been marked as a duplicate of this bug. ***
*** Bug 307305 has been marked as a duplicate of this bug. ***
This happens also with Tungsten T5. Specially with conduits EAddress, ECalendar and EToDo.
Also hit with my Tungsten T3 on a brand new FC4 x86-64 install. This worked fine on FC3 x86-64. I'm happy to test any workarounds or patches.
Also with my Palm Tungsten T3 on FC4 x86. With FC3 all works fine
Created attachment 47951 [details] Crash on sync with an Palm m500
To complete my report, gpilot hangs when i have to synchronise appointement on several days.
I just added an appointment spanning multiple days and a crash occoured by gpilotd. I got the following backtrace (unfortunately debuggign symbols are disabled in the build I used): Backtrace was generated from '/usr/libexec/gpilotd' (no debugging symbols found)...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)...[Thread debugging using libthread_db enabled] [New Thread -1208084800 (LWP 4794)] [New Thread -1223308368 (LWP 14649)] [Thread debugging using libthread_db enabled] [New Thread -1208084800 (LWP 4794)] [New Thread -1223308368 (LWP 14649)] [Thread debugging using libthread_db enabled] [New Thread -1208084800 (LWP 4794)] [New Thread -1223308368 (LWP 14649)] [New Thread -1212818512 (LWP 14648)] (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)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...0x001857a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
+ Trace 61307
I'm using FC3.
This is visible on FC4 not on my FC3.
*** Bug 307681 has been marked as a duplicate of this bug. ***
*** Bug 307730 has been marked as a duplicate of this bug. ***
*** Bug 307857 has been marked as a duplicate of this bug. ***
*** Bug 308284 has been marked as a duplicate of this bug. ***
*** Bug 308240 has been marked as a duplicate of this bug. ***
I've been digging into this problem as it's a major blocker for me to run FC4 as my main OS. I've made some progress, but am now running into a conduit problem. The first problem is the crash - that is caused by udev taking a moment before it creates /dev/ttyUSB[01]; gnome-pilot is supposed to loop trying to connect until the specified devices are created. However, the checks for error codes (particularly on pi_bind) are incorrect. They check for ret == -1, but that function can and does return other negative values on error. Thus, we blithly keep on going an call pi_listen, but the connection doesn't exist. Fixed in the attached gpilotd.diff BTW, the reason some people haven't run into it is that on their machine, either the relevant device files always exist (using serial connection probably) or happen to be created in time. The next problem encountered is that we disconnect from the device as soon as we've connected, before doing anything. The problem here is that the usage of the pilot-link API in gpilotd.c doesn't match what it should. In particular, the 'socket' fd we pass around is just a lookup handle, so we _must not_ call pi_close() on the listener handle after getting a handle from accept; that has the effect of closing the connection. Yes, I agree this is unexpected behaviour which doesn't match any other socket API; talk with the pilot-link developers, not me. :> Fixed in the attached gpilotd2.diff patch. This then finally permits me to get the user name and id from my Tungsten. Next, when I try to sync, no conduits are invoked. When somebody put together the patch to port gnome-pilot to 0.12.0-pre*, they changed the usage of dlp_ReadDBList from something that worked to something that's not even close to working, which resulted in finding the first database and then several hundred thousand chunks of random memory. The attached manager.diff patch reverts those changes as well as adds better error handling in that loop. This results in the databases being found and the conduits are attempted to be run, but they run into other errors. I'll keep pushing ahead unless somebody beats me to it. All patches are on top of the patches included in the FC4 gnome-pilot RPM. Also, FWIW, I updated my version of pilot-link to pilot-link-0.12.0-pre4 in case there were relevant bug-fixes. I must say, gnome-pilot as shipped in FC4 didn't have a hope of working. While I understand the desire to ship with newer software upstream whenever possible, a) pilot-link-0.12 is still in beta, and b) the changes to gnome-pilot to support the new pilot-link obviously weren't tested. "working" is more important than "brand-spanking-new".
Created attachment 48322 [details] [review] Fix return code checks
Created attachment 48323 [details] [review] Don't call pi_close on listen_sd after establishing connection
Created attachment 48324 [details] [review] Fix database-reading loop
*** Bug 308986 has been marked as a duplicate of this bug. ***
*** Bug 308380 has been marked as a duplicate of this bug. ***
*** Bug 308385 has been marked as a duplicate of this bug. ***
*** Bug 308707 has been marked as a duplicate of this bug. ***
*** Bug 308733 has been marked as a duplicate of this bug. ***
Ok, I've had success getting the three evolution conduits to work. I'm going to treat this bug report as a meta-bug pointing out the required patches to the other involved components, so there's a record in one place for whoever at RedHat puts together FC4 updates for pilot-link, gnome-pilot, evolution and evolution-data-server (lucky guy) :P To get everything working: 1) pilot-link needs to be updated to pilot-link-0.12.0-pre4 (note that that obsoletes many of the patches included in the pilot-link RPM shipped with FC4). Then the following three patches which I've reported in their bug database need to be applied: http://bugs.pilot-link.org/1507 http://bugs.pilot-link.org/1508 http://bugs.pilot-link.org/1509 2) gnome-pilot needs to be updated with the three patches attached to this bug, as well as the memory leak patch in bug #309077 3) evolution needs to be updated with the patches attached to bug #309078 4) evolution-data-server needs to be updated with the patches attached to bug #309079 Once all patches have been applied and the components rebuilt in order, then I am able to successfully sync the calendar, addressbook and todo list with evolution. Basic operations seem to work fine and are now clean in valgrind. The worst memory leaks are fixed by the above referenced patches, although there are still a couple which I haven't tracked down yet. Note that gnome-pilot still isn't backing up the PDA databases as it did in FC3; I'll look into that next, as backups are A Good Thing.
5) Backup conduit has been updated for new pilot-link API etc and is now functional. See bug #309092 for details. I believe that satisfies my requirements functionality-wise. With the full set of patches, sync is working for me as anticipated.
Since some of the problems are upstream issues and some are problems with the RedHat patches, I'm starting to divvy up the patches accordingly. To begin with, bug #309092 which is the backup conduit issue has been divided into bug #309130 and https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=161799 I will work back through all my above patches in a similar fashion. As a side note, this is perhaps a good example why it's not a good idea for the default bugzilla for FC4 problems in gnome to be bugzilla.gnome.org; the Gnome folks here are getting inundated by reports of this bug, and the problems are largely due to RedHat patches.
I've now split the evolution patches into two sets. The first is now bug #309138 which is the upstream memory leaks. The second is https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=161817 which is the fix to port to the new pilot-link API.
Finally, I've redone the patches attached to this bug and placed them at https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=161824 as they have to do with RedHat's porting of gnome-pilot to the new pilot-link API. That then obsoletes the patches attached to this bug. I believe that completes the splitting of the patches to appropriate locations.
Comment on attachment 48322 [details] [review] Fix return code checks Obseleted as described in the bug above.
Comment on attachment 48323 [details] [review] Don't call pi_close on listen_sd after establishing connection Obsoleted as described above in the bug.
Comment on attachment 48324 [details] [review] Fix database-reading loop Obsoleted as described in the bug above.
The memory leaks patch looks good. The other patch related to compatibility with pilot-link 0.12.prexxxx version. The patch has ported the code to use the pilot-link 0.12.prexxx APIs, however, doesn't enforce it in configure, because of which, the gnome-pilot fails to compile. If pilot-link 0.12.prexxx APIs are stable enough, I would suggest move the dependency from 0.11.x to 0.12.prexxx.
Mark: I am committing your mem-leak patch. Thanks for the patch, however, in future generate patches with "-p" option. For more details check the HACKING file.
Could you please offer all the changed RPM files for download? It's quite complicated to do all these things....
Ok, I've put together updated SRPMS and RPMS for i386 with my fixes; however, I need a place to host them (comes to 29M total). If somebody can either host them or point me to a place that can host them, I can make them available for people to try. I don't know what the holdup at RedHat is; they may be trying to track down the separate problem of udev taking forever to create the ttyUSB* devices on sync. There was also a report of the newer versions in rawhide deleting todo lists, but I've been unable to reproduce that with my patched versions.
Now available at:- http://zeniv.linux.org.uk/pub/people/mark_adams/ ftp://zeniv.linux.org.uk/pub/people/mark_adams/ yum metadata is in place so you could point yum at either of those URLs
thanks nigel, with this rpms palm sync works fine with my t3. there is only one litte problem, after every sync i get 2 warnings from gpilotd warning Unknown conduit"" does anyone know what i can do?
i found another problem. memo-file sync doesnt work. any ideas?
Could be that the stuff in gnome-pilot-conduits also needs some fixes; I've not taken a look at that package. I'll see if I can get some time to do so in the next day or two.
RPMs also available at http://www.spenneberg.org/Evolution Ralf
Ok, gnome-pilot-conduits did indeed need a bit of work. I identified the following issues: 1) there was another bug in the gnome-pilot port to pilot-link-0.12pre which gets tickled by these conduits; I've updated the patch at https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=161824 2) there were to crashers in the expense conduit; report and patch is in bug #311072 3) I encountered three memory leaks in the memo conduit; report and patch is in bug #311074 In addition, the location of the conduits had to be updated to match what gnome-pilot expected. With these changes, the conduits at least nominally seem to work, and valgrind is much happier; I've not tested extensively. It was also pointed out that a line I'd added to the pilot-link and gnome-pilot specfiles while trying to do 64->32 cross compile a while ago and then forgot about broke building on x86_64. I've fixed those specfiles and re-spun those packages with newer release numbers. I've sent updated SRPMS and RPMS to both Ralf and Nigel so that they can make them available when they get an opportunity. I've also built and sent x86_64 versions of the RPMS. David, these SRPMS should form a pretty good basis for a FC4 update. I've put a bit of effort into cleaning things up and updating specfiles and lib64 patches, so they should be in good shape. I've also moved the conduits to /usr/lib{64}/gnome-pilot/conduits/ instead of /usr/share/gnome-pilot/conduits/ as requested. To ensure you're getting the latest packages, here are the new versions: pilot-link-0.12.0-0.pre4.0.fc4.2 gnome-pilot-2.0.13-4 gnome-pilot-conduits-2.0.13-2 evolution-2.2.2-6 evolution-data-server-1.2.2-4
The updated RPMS are now available at both sites listed above. Patrick, can you verify that syncing memo files now works for you?
With the latest RPMS syncing memofiles work again. Many thanks.
*** Bug 309098 has been marked as a duplicate of this bug. ***
*** Bug 312456 has been marked as a duplicate of this bug. ***
*** Bug 312617 has been marked as a duplicate of this bug. ***
*** Bug 315958 has been marked as a duplicate of this bug. ***
*** Bug 315475 has been marked as a duplicate of this bug. ***
*** Bug 313371 has been marked as a duplicate of this bug. ***
the last dups are all FC4. given the vast number of duplicates this needs to be fixed. raising priority.
Fedora does patch to use p-l 0.12 which changed the memory handling.
Mark, Your fix seems to work just fine on my FC4/x86-64. Thanks! However, current Fedora RPM versions are closing in, which may cause them to upgrade your RPMs, breaking the Palm sync (again). Can you bump your RPM versions, maybe syncing the fixes with Fedora. (I believe we spoke about it in Fedora's -devel list) Thanks again!
Well, using only the gnome-pilot and gnome-pilot-conduits packages on a fully updated Fedora Core 4 x86 (As of 10-11-2005), syncing now works. Hope they get FC4 updated in the maintstream soon. Thank you much for your work!!!
*** Bug 316953 has been marked as a duplicate of this bug. ***
*** Bug 317094 has been marked as a duplicate of this bug. ***
*** Bug 318033 has been marked as a duplicate of this bug. ***
*** Bug 318341 has been marked as a duplicate of this bug. ***
*** Bug 319478 has been marked as a duplicate of this bug. ***
*** Bug 320240 has been marked as a duplicate of this bug. ***
*** Bug 320882 has been marked as a duplicate of this bug. ***
*** Bug 323216 has been marked as a duplicate of this bug. ***
*** Bug 323538 has been marked as a duplicate of this bug. ***
*** Bug 327774 has been marked as a duplicate of this bug. ***
*** Bug 328467 has been marked as a duplicate of this bug. ***
The current gnome-pilot CVS has been updated, and should fix this issue when compiled against current pilot-link CVS.
*** Bug 330536 has been marked as a duplicate of this bug. ***
*** Bug 331318 has been marked as a duplicate of this bug. ***
*** Bug 332363 has been marked as a duplicate of this bug. ***
*** Bug 333410 has been marked as a duplicate of this bug. ***
*** Bug 333742 has been marked as a duplicate of this bug. ***
*** Bug 336698 has been marked as a duplicate of this bug. ***
*** Bug 338740 has been marked as a duplicate of this bug. ***
according to comment #74, this issue should be fixed in gnome-pilot 2.0.13 or later. can anyone please re-test this? thanks a lot in advance for helping! (no duplicates for half a year now, setting status to NEEDINFO.)
Previous comment should read *fixed in gnome-pilot 2.0.14 or later*. gnome-pilot 2.0.13 won't build against pilot-link 0.12.x, but gnome-pilot 2.0.14 will. This bug was caused by a buggy redhat patch to port gp 2.0.13 to pl 0.12.x. The lack of duplicates would correspond to when redhat downgraded fc5 to pilot-link 0.11.8. Closing this bug.