[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: [PATCH] Fix segfault when gnome keyring lookup fails

From: Jan Palus <jpalus_at_fastmail.com>
Date: Thu, 12 Jul 2018 20:23:13 +0200

On 12.07.2018 15:08, Daniel Shahaf wrote:
> Thanks for the patch; however, I don't think that's the correct fix.

To be honest I wasn't sure of that either but on the other hand I thought that
having initialized state won't hurt.
 
> Does the following patch fix the problem? Speaking of which, could you explain
> how to reproduce the problem?

As expected the patch does fix the issue, however the question about reproducer
is somewhat problematic. No matter what I try I cannot reproduce it when
invoking subversion manually from command line (ie with empty environment). The
problem manifests itself only when using automation script which involves
gradle->svnant->native subversion binary. I've added basic debug statements and
it appears following condition fails already:

    if (!available_collection(non_interactive, pool))
      return SVN_NO_ERROR;

which fails on first call:

  service = secret_service_get_sync(SECRET_SERVICE_NONE, NULL, &gerror);
  if (gerror || !service)
    goto error_return;

with gerror->message being "Cannot autolaunch D-Bus without X11 $DISPLAY"

The main difference between invoking svn directly and through the script is
value of uninitialized "done". In script it is always non-zero while invoked
directly it's the opposite. If you manually force done to some random, non-zero
value the reproducer goes down to:

env -i svn co --no-auth-cache <url> --username user --password pass --non-interactive

Regards
Jan
Received on 2018-07-12 20:23:33 CEST

This is an archived mail posted to the Subversion Dev mailing list.