Bug#772735: kgb-client hits an assert on SVN repo path with a tailing /

2014-12-10 Thread Pierre Schweitzer
Package: kgb-client
Severity: important
Tags: upstream

This report follows the report on Ubuntu LP:
https://bugs.launchpad.net/ubuntu/+source/kgb-bot/+bug/1400453

When calling the kgb-client on a SVN repo with a tailing /, the client will
hit an assert:
perl: /build/buildd/subversion-1.8.8/subversion/libsvn_subr/dirent_uri.c:972:
svn_dirent_join: Assertion `svn_dirent_is_canonical(base, pool)' failed.
Aborted

The solution to fix it is to remove said tailing /.

Because SVN provides the path with the tailing / in case of a hook, it would
be better if kgb-client chomps it.



-- System Information:
Debian Release: 8.0
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.16.0-4-amd64 (SMP w/8 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#772735: [kgb-maintainers] Bug#772735: kgb-client hits an assert on SVN repo path with a tailing /

2014-12-10 Thread gregor herrmann
On Wed, 10 Dec 2014 17:04:56 +0100, Pierre Schweitzer wrote:

 Package: kgb-client
 Severity: important
 Tags: upstream
 
 This report follows the report on Ubuntu LP:
 https://bugs.launchpad.net/ubuntu/+source/kgb-bot/+bug/1400453
 
 When calling the kgb-client on a SVN repo with a tailing /, the client will
 hit an assert:
 perl: /build/buildd/subversion-1.8.8/subversion/libsvn_subr/dirent_uri.c:972:
 svn_dirent_join: Assertion `svn_dirent_is_canonical(base, pool)' failed.
 Aborted
 
 The solution to fix it is to remove said tailing /.
 
 Because SVN provides the path with the tailing / in case of a hook, it would
 be better if kgb-client chomps it.

Leading or trailing? I suppose the former, as you wrote in launchpad.

Anyway, I can't confirm this behaviour.
Luckily my post-commit hook writes a log so I could look at the last
invocation, which looks like:

/usr/bin/kgb-client --conf /home/groups/$CONFIG.conf /var/svnroot/$REPO 1588

(From your LP bug:
kgb-client --conf /etc/kgb-client/kgb-reactos.conf --repository svn 
/srv/svn/reactos/ 65590
)

Running it again there is no output and the return code is 0.
(And I see the commit message in the channel :))

Or is it the trailing / after all?

% /usr/bin/kgb-client --conf /home/groups/$CONFIG.conf /var/svnroot/$REPO/ 1588
perl: 
/build/subversion-IvrZTj/subversion-1.8.10/subversion/libsvn_subr/dirent_uri.c:972:
 svn_dirent_join: Assertion `svn_dirent_is_canonical(base, pool)' failed.

+ coredump.

Ok, here we are.


I'm just not so sure where the trailing / in your invocation comes from.

Unless I'm mistaken, the subversion version that passed the path
without a trailing slash to the post-commit hook in my example was
1.8.9-2, and KGB was at version 1.33-1.

But yes, having the client strip the trailing / from the path might
be a good idea.


Cheers,
gregor

-- 
 .''`.  Homepage: http://info.comodo.priv.at/ - OpenPGP key 0xBB3A68018649AA06
 : :' : Debian GNU/Linux user, admin, and developer  -  http://www.debian.org/
 `. `'  Member of VIBE!AT  SPI, fellow of the Free Software Foundation Europe
   `-   NP: Bettina Wegner: Ueber den Berg


signature.asc
Description: Digital Signature


Bug#772735: [kgb-maintainers] Bug#772735: kgb-client hits an assert on SVN repo path with a tailing /

2014-12-10 Thread gregor herrmann
On Wed, 10 Dec 2014 19:17:04 +0100, Pierre Schweitzer wrote:

 Yes, I'm sorry, it's trailing /.
 Just confused a bit while writing the bug report.

Ok, thanks for clarifying.
 
 For the record, our invocation is in post-commit hook is:
 kgb-client --conf /etc/kgb-client/kgb-reactos.conf --repository svn
 $1 $2  /dev/null 21 

I have

REPOS=$1
REV=$2

KGB_CLI=/usr/bin/kgb-client
KGB_CONF=$some.config
$KGB_CLI --conf $KGB_CONF $REPOS $REV

So that's the same, except that
- I don't get a trailing slash
- I don't use --repository svn
  (no idea if this has any influence)


Cheers,
gregor
 
-- 
 .''`.  Homepage: http://info.comodo.priv.at/ - OpenPGP key 0xBB3A68018649AA06
 : :' : Debian GNU/Linux user, admin, and developer  -  http://www.debian.org/
 `. `'  Member of VIBE!AT  SPI, fellow of the Free Software Foundation Europe
   `-   NP: Treibhaus: Colosseum


signature.asc
Description: Digital Signature


Bug#772735: [kgb-maintainers] Bug#772735: kgb-client hits an assert on SVN repo path with a tailing /

2014-12-10 Thread Pierre Schweitzer
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Yes, I'm sorry, it's trailing /.
Just confused a bit while writing the bug report.

For the record, our invocation is in post-commit hook is:
kgb-client --conf /etc/kgb-client/kgb-reactos.conf --repository svn
$1 $2  /dev/null 21 

Sorry for the confusion.

On 10/12/2014 18:43, gregor herrmann wrote:
 On Wed, 10 Dec 2014 17:04:56 +0100, Pierre Schweitzer wrote:
 
 Package: kgb-client Severity: important Tags: upstream
 
 This report follows the report on Ubuntu LP: 
 https://bugs.launchpad.net/ubuntu/+source/kgb-bot/+bug/1400453
 
 When calling the kgb-client on a SVN repo with a tailing /, the
 client will hit an assert: perl:
 /build/buildd/subversion-1.8.8/subversion/libsvn_subr/dirent_uri.c:972:

 
svn_dirent_join: Assertion `svn_dirent_is_canonical(base, pool)' failed.
 Aborted
 
 The solution to fix it is to remove said tailing /.
 
 Because SVN provides the path with the tailing / in case of a
 hook, it would be better if kgb-client chomps it.
 
 Leading or trailing? I suppose the former, as you wrote in
 launchpad.
 
 Anyway, I can't confirm this behaviour. Luckily my post-commit hook
 writes a log so I could look at the last invocation, which looks
 like:
 
 /usr/bin/kgb-client --conf /home/groups/$CONFIG.conf
 /var/svnroot/$REPO 1588
 
 (From your LP bug: kgb-client --conf
 /etc/kgb-client/kgb-reactos.conf --repository svn /srv/svn/reactos/
 65590 )
 
 Running it again there is no output and the return code is 0. (And
 I see the commit message in the channel :))
 
 Or is it the trailing / after all?
 
 % /usr/bin/kgb-client --conf /home/groups/$CONFIG.conf
 /var/svnroot/$REPO/ 1588 perl:
 /build/subversion-IvrZTj/subversion-1.8.10/subversion/libsvn_subr/dirent_uri.c:972:
 svn_dirent_join: Assertion `svn_dirent_is_canonical(base, pool)'
 failed.
 
 + coredump.
 
 Ok, here we are.
 
 
 I'm just not so sure where the trailing / in your invocation comes
 from.
 
 Unless I'm mistaken, the subversion version that passed the path 
 without a trailing slash to the post-commit hook in my example was 
 1.8.9-2, and KGB was at version 1.33-1.
 
 But yes, having the client strip the trailing / from the path
 might be a good idea.
 
 
 Cheers, gregor
 


- -- 
Pierre Schweitzer pierre at reactos.org
System  Network Administrator
Senior Kernel Developer
ReactOS Deutschland e.V.
-BEGIN PGP SIGNATURE-
Version: GnuPG v1

iQIcBAEBAgAGBQJUiI4gAAoJEHVFVWw9WFsLHPQQAKHu3tzIfVTFV/sSleZPR6WT
tjgfxGR68zk8UZ5kicSDtsXudPIhmkGOz9clPj+qV+PquOgeAC+T9ruPyqXDAuBa
wR3KenFym4I6KqAwcvhfUmNueP5B0j1yt/DfaUyrQ2kl3IkmFzL2x9FD59T+vfER
uhi2RnQbui1MhCNGVmBhKLeJiX70wIN7hfKqsFsXtazQ/jGB4EFDbbk0itjCedyZ
cS4P1Zd4koqpLOEaPAUQFM95Eu/AWW+x1Njq7T0YoJnQsOKFSuJlobGxJWsd3net
+pbcy391cVCsgwAOa5VUYA2e+csvVDMyhVs53vNZAgt9N2Y2PfnLfnYcsObLbfPp
KPhyarczWmJgzNK+VS4ofmbfsBdagqbYUzx5B+o9QZhNpAaH8VcZdcpX8JbE7Qyj
IghRRB+l60oZG8N+WRTNBYx5L1g591Rmx6J3A4Zhy4UxdoM97hpXcWOpm83w0CPM
XEx4HMONu/jEhpGHguLqAJ1B2BFSS8v7T/q/vRxaBH9rkhXYsqNLCTNJwYAGxg4g
a2y0Si+iYeTEzQMYFmwcNyReQ4PfRgbK0+Lp0gtjQvqwVKyu+K0a5W1q7rCv9cCM
08ALOXYqrtpTnL2KTIb8wb5qCIkz+33WNcCKSDizgrtbyHGDakJdlbolZTv490iL
WUwXFpz+9GxSyziImAjI
=83xQ
-END PGP SIGNATURE-


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org