Bug#772735: kgb-client hits an assert on SVN repo path with a tailing /
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 /
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 /
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 /
-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