[Geany-devel] SM r4968 bug (was: Multiple instances of Geany issues)

Dimitar Zhekov dimitar.zhekov at xxxxx
Wed Jun 2 17:33:37 UTC 2010


On Wed, 2 Jun 2010 09:39:44 +0400
Eugene Arshinov <earshinov at gmail.com> wrote:

> On Tue, 1 Jun 2010 21:22:06 +0300%
> Dimitar Zhekov <dimitar.zhekov at gmail.com> wrote:
> 
> > 67 works, 68 fails. Stable.
> > 
> 
> Thanks much for investigating this.
> 
> Seems that it will be hard to fix.  I've looked through the changes
> made by merge to files I usually touch in SM, but did not find
> anything that could cause such a failure. And core SM code in sm.c
> during the merge, of course, remained the same.

It's somehow sm-related. If I comment out smc_conn = sm_connect(...),
4968 works.

BTW, you should pass the new client id to gdk_set_sm_client_id(), not
the old/NULL one, but that's not the cause of the error.

> In all cases I've googled it's only the program that crashes, not the
> entire session…  Also, errno=32 (EPIPE) indicates something weird is
> going on.  Maybe (blind guess), if startup time is nevertheless the
> issue, XFCE session manager terminates the connection on timeout…

The "startup time" between which two events? The SM does not know when
a program is started, and does not care when/if it's first window will
be displayed. You can even write a console program with SM support. :)

> Maybe you can track down the bug further by merging trunk to 4967
> «step by step» and checking whether the bug is present after each
> step.  When using binary search, those 500 trunk commits will require
> 10 steps to check.  AFAIU, I had no large conflicts while merging.  So,
> if you suddenly have free time for this method, please give it a try.

That'll be a bit more complex. The commits are related, so I can't just
arbitarily "turn on/off" half or quarter of them. And if the crash is
caused by 2+ related changes, well... Anyway, I'll run some tests in
the weekend.

-- 
E-gards: Jimmy



More information about the Devel mailing list