source ID not found

Jane Atkinson jane at janeatkinson.co.nz
Tue Feb 4 08:41:22 UTC 2014


On 04/02/14 21:29, Patrick Ohly wrote:
> On Tue, 2014-02-04 at 11:22 +1300, Jane Atkinson wrote:
>> Program received signal SIGTRAP, Trace/breakpoint trap.
>> 0xb7b7b15a in g_logv () from /lib/i386-linux-gnu/libglib-2.0.so.0
>> (gdb) where
>> #0  0xb7b7b15a in g_logv () from /lib/i386-linux-gnu/libglib-2.0.so.0
>> #1  0xb7b7b273 in g_log () from /lib/i386-linux-gnu/libglib-2.0.so.0
>> #2  0xb7b72cbc in g_source_remove () from
>> /lib/i386-linux-gnu/libglib-2.0.so.0
>> #3  0xb7de2d99 in SyncEvo::ForkExecParent::~ForkExecParent
>> (this=0x8213518, __in_chrg=<optimized out>) at
>> /data/runtests/work/sources/syncevolution/src/syncevo/ForkExec.cpp:125
> Thanks, that's it.
>
> I think I know why the source tag is invalid in that destructor. Here's
> a patch which should fix it:
>
> diff --git a/src/syncevo/ForkExec.cpp b/src/syncevo/ForkExec.cpp
> index 31009b8..aabffed 100644
> --- a/src/syncevo/ForkExec.cpp
> +++ b/src/syncevo/ForkExec.cpp
> @@ -333,11 +333,14 @@ gboolean ForkExecParent::outputReady(GIOChannel *source,
>              // Will remove event source from main loop.
>              cont = false;
>  
> -            // Free channel.
> +            // Free channel and forget source tag (source will be free
> +            // when returning false).
>              if (source == me->m_out) {
>                  me->m_out = NULL;
> +                me->m_outID = 0;
>              } else {
>                  me->m_err = NULL;
> +                me->m_errID = 0;
>              }
>              g_io_channel_unref(source);
>
> Can compile from source and try that out?
>

What specifically do I need to compile? syncevolution,
syncevo-dbus-server or something else?

It's been a while since I've compiled anything, so I'll need slightly
more detailed instructions.

Regards

Jane Atkinson




More information about the SyncEvolution mailing list