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 442329 - Todo conduit hangs indefinitely on tasks without due date copied *from* PDA
Todo conduit hangs indefinitely on tasks without due date copied *from* PDA
Status: RESOLVED FIXED
Product: evolution
Classification: Applications
Component: Do Not Use
unspecified
Other All
: Normal critical
: ---
Assigned To: Veerapuram Varadhan
Evolution QA team
Depends on:
Blocks:
 
 
Reported: 2007-05-30 14:27 UTC by Sebastian Breier
Modified: 2013-09-13 12:34 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
strace of crash (172 bytes, text/plain)
2007-06-22 16:30 UTC, Kevin McAllister
Details

Description Sebastian Breier 2007-05-30 14:27:47 UTC
Steps to reproduce:
1. Create task without due date/empty date on the PDA
2. Synchronize or "Copy from PDA"


Stack trace:
(gdb) cont
Continuing.
[New Thread -1277781104 (LWP 9610)]

Program received signal SIGABRT, Aborted.
[Switching to Thread -1226258752 (LWP 9141)]
0xffffe410 in __kernel_vsyscall ()
(gdb) thread apply all bt



Other information:
Copying tasks with empty due date *to* the PDA works fine.
Comment 1 Sebastian Breier 2007-05-30 14:28:15 UTC
See also https://bugs.launchpad.net/ubuntu/+source/gnome-pilot-conduits/+bug/81170 in Ubuntu. Lots of people seem to have this problem.

The problem did not occur in previous versions of Ubuntu.
Comment 2 Matt Davey 2007-05-31 06:26:44 UTC
Thanks for forwarding this bug.  Shame it took so long for the bug to be notified upstream!  I'll notify the developers who work on the evo conduits.

This bug is well described, and appears to be easily reproducible (although I haven't tried yet).  In the meantime, it would be handy if you could provide a debug backtrace.
Comment 3 Sebastian Breier 2007-05-31 06:36:38 UTC
(In reply to comment #2)
> This bug is well described, and appears to be easily reproducible (although I
> haven't tried yet).  In the meantime, it would be handy if you could provide a
> debug backtrace.

Isn't the one I posted already a debug backtrace? I installed the gnome-pilot-conduits-dbg package and used gdb as described on the GettingTraces page. Do I need some other dbg package or do something different in gdb?
Comment 4 Kevin McAllister 2007-06-22 16:29:15 UTC
I am willing to gather data to help solve this problem as well.  In the spirit of such I have grabbed an strace of gpilotd syncing with my palm.

I confirm it writes "Dated" todo's no problem, but when it reaches the first one without a date it dies.  And something interesting in the trace:


Excerpt from strace which I have attached to the case:
write(2, "etodoconduit-Message: add_record"..., 189etodoconduit-Message: add_record: adding [0 1183089600 3 0 'pick an exterminator and call them' '' 11] to desktop

) = 189
[... Do a whole bunch of USBDEVFS Stuff ...]
write(2, "etodoconduit-Message: add_record"..., 107etodoconduit-Message: add_record: adding [1 -1 3 0 'Brainstorm: Customer communication' '' 11] to desktop

) = 107
time(NULL)                              = 1182529355
time(NULL)                              = 1182529355
getppid()                               = 24715
getgid32()                              = 1000
open("/dev/tty", O_RDWR|O_NONBLOCK|O_NOCTTY) = 25
writev(25, [{"*** stack smashing detected ***:"..., 33}, {"gpilotd", 7}, {" terminated\n", 12}], 3*** stack smashing detected ***: gpilotd terminated
) = 52
rt_sigprocmask(SIG_UNBLOCK, [ABRT], NULL, 8) = 0
tgkill(24717, 24717, SIGABRT)           = 0
--- SIGABRT (Aborted) @ 0 (0) ---
+++ killed by SIGABRT (core dumped) +++


So the first record had a date field, the second one didn't and you can see something curious, it tries to open /dev/tty on this one.  Which is strange since I am not using /dev/tty but the USB stuff.

Going to do a bit more digging when I get a chance.  But possibly this is related?
Comment 5 Kevin McAllister 2007-06-22 16:30:15 UTC
Created attachment 90463 [details]
strace of crash

Here is the aforementioned strace.
Comment 6 Fabrice Bellet 2007-07-26 17:08:01 UTC
Hi!

I can confirm the same behaviour, with the same test case. After digging a bit into the code of evolution, I could identify that the problem is caused in comp_from_remote_record() in todo-conduit.c, by todo.due being completely garbage when no due date is filled in the task on the PDA side. So I assume we should test todo.indefinite before using a possible non-significant todo.due struct.

A comment in the code of unpack_ToDo() from pilot-link-0.12.1 confirms that todo->due in invalid when todo->indefinite is set to 1.

See redhat bugzilla https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=249640 for a possible patch that works for me.

Comment 7 Matt Davey 2007-07-27 08:52:07 UTC
Thanks for this, Fabrice.  Sounds like the culprit.

I've added a comment to
https://bugs.launchpad.net/ubuntu/+source/gnome-pilot-conduits/+bug/81170

asking for any success reports, so we can get this adopted asap.
Comment 8 Kevin McAllister 2007-08-01 17:43:12 UTC
I have applied the patch to detailed on the redhat bugzilla and rebuilt the deb for 2.10.1 on feisty.  And it is now working fine.  I was able to sync up about 200 tasks about 150 or so of them with non due-date with my palm tungsten e.
Comment 9 Matt Davey 2007-11-03 17:32:00 UTC
Assigning to Evolution->conduits.

Evo team: please see the simple patch in the redhat bugzilla ticket:
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=249640

This fixes a crash in the todo conduit due to an unitialised due-date field.
Comment 10 Sebastian Breier 2007-11-03 23:10:24 UTC
Btw, this problem doesn't persist for me in g-p 2.0.15 / evo 2.12.0. I can copy tasks without due date from and to PDA having no problems.
Comment 11 Matt Davey 2007-11-04 11:31:24 UTC
I should have checked the source!  Looks like this issue was fixed in Evo 2.11.92+ or 2.12.x.
Comment 12 André Klapper 2009-11-07 18:06:50 UTC
Closing as per last comment.