Your message dated Thu, 21 Jan 2016 21:19:29 -0500
with message-id <[email protected]>
and subject line Re: Bug#678081: libsvn-perl: Assertion
`svn_dirent_is_canonical(base, pool)' failed with SVN::Client
has caused the Debian Bug report #678081,
regarding libsvn-perl: Assertion `svn_dirent_is_canonical(base, pool)' failed
with SVN::Client
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)
--
678081: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=678081
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: libsvn-perl
Version: 1.7.5-1
Severity: important
I get an assertion failure with:
------------------------------------------------------------
#!/usr/bin/env perl
use strict;
use SVN::Client;
my $svnc = SVN::Client->new;
$svnc->info('.', undef, undef, sub { }, 0);
------------------------------------------------------------
With subversion 1.6.17dfsg-3:
perl:
/build/buildd-subversion_1.6.17dfsg-3-powerpc-3JzUhd/subversion-1.6.17dfsg/subversion/libsvn_subr/path.c:114:
svn_path_join: Assertion `svn_path_is_canonical(base, pool)' failed.
With subversion 1.7.5-1:
perl: /tmp/buildd/subversion-1.7.5/subversion/libsvn_subr/dirent_uri.c:955:
svn_dirent_join: Assertion `svn_dirent_is_canonical(base, pool)' failed.
The assertion failure apparently occurs in the library, but perhaps
the Perl interface provided wrong data, causing the assertion failure.
Note: I'm not sure that the program is correct (the SVN::Client
man page doesn't have many details), but even if it isn't, one
should never get an assertion failure in Perl. So, there's at
least a bug on the subversion side.
-- System Information:
Debian Release: wheezy/sid
APT prefers unstable
APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable'), (1,
'experimental')
Architecture: amd64 (x86_64)
Kernel: Linux 3.2.0-2-amd64 (SMP w/2 CPU cores)
Locale: LANG=POSIX, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages libsvn-perl depends on:
ii libapr1 1.4.5-1.1
ii libc6 2.13-33
ii libsvn1 1.7.5-1
ii multiarch-support 2.13-33
ii perl 5.14.2-11
ii perl-base [perlapi-5.14.2] 5.14.2-11
libsvn-perl recommends no packages.
libsvn-perl suggests no packages.
-- no debconf information
--- End Message ---
--- Begin Message ---
On Tue, Jun 19, 2012 at 03:39:38AM +0200, Vincent Lefevre wrote:
> I get an assertion failure with:
>
> ------------------------------------------------------------
> #!/usr/bin/env perl
>
> use strict;
> use SVN::Client;
>
> my $svnc = SVN::Client->new;
> $svnc->info('.', undef, undef, sub { }, 0);
> ------------------------------------------------------------
>
> With subversion 1.6.17dfsg-3:
> perl:
> /build/buildd-subversion_1.6.17dfsg-3-powerpc-3JzUhd/subversion-1.6.17dfsg/subversion/libsvn_subr/path.c:114:
> svn_path_join: Assertion `svn_path_is_canonical(base, pool)' failed.
>
> With subversion 1.7.5-1:
> perl: /tmp/buildd/subversion-1.7.5/subversion/libsvn_subr/dirent_uri.c:955:
> svn_dirent_join: Assertion `svn_dirent_is_canonical(base, pool)' failed.
>
> The assertion failure apparently occurs in the library, but perhaps
> the Perl interface provided wrong data, causing the assertion failure.
Yes, the wrong data is the non-canonical path '.'. Nearly all SVN
functions want to work with a canonical path/URL, so you'll probably
want to reference the svn_path documentation:
https://subversion.apache.org/docs/api/latest/svn__path_8h.html#details
> Note: I'm not sure that the program is correct (the SVN::Client
> man page doesn't have many details),
The language bindings closely follow the C API, so you're best off just
referencing that: https://subversion.apache.org/docs/api/latest/
> but even if it isn't, one
> should never get an assertion failure in Perl.
Why not? The library is asserting the contract of its API. The Perl
script is violating that contract, so it triggers the assertion.
Cheers,
--
James
GPG Key: 4096R/331BA3DB 2011-12-05 James McCoy <[email protected]>
--- End Message ---