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