Bug#356894: [Swig-devel] Swig 1.3.28 and current CVS breaks subversion bindings

Marcelo Matus mmatus at acms.arizona.edu
Wed Mar 22 18:58:19 UTC 2006


How are you getting this file

  SVN/Mirror/Ra.pm

it seems subversion generates one, but it is only 214 lines long.
also, this call:

  $reporter->set_path ('', $start, @lock, 0);

is no where to be found in the *.pm files generated by subversion-1.3.0.

Are you sure you don't have a PATH variable set such as is using
and old version of Ra.pm?

Anyway, it fails calling 'set_path'

   obj->set_path(report_baton, path, revision, start_empty, lock_token, pool);

where the '6' one refers to 'lock_token', is @lock realy a string parameter,
could you print it out before the call?.

SWIG/perl now detects better errors such as calling with the wrong
number of arguments or wrong argument type.

Marcelo


Loïc Minier wrote:

>        Hi there,
>
> This is a followup for Debian bug <http://bugs.debian.org/356894>.
>
>On Mon, Mar 20, 2006, Marcelo Matus wrote:
>  
>
>>subversion 1.3.0 has been tested against 1.3.28 and 1.3.29, and it seems 
>>to be working,
>>well, at least the internal subversion test-suites for perl, python and 
>>ruby.
>>
>>still, if you thing there is an issue, the best thing will be try to 
>>isolate the problem
>>in one small example that we could test over here.
>>    
>>
>
> The exact error is thrown by the following line:
>    $reporter->set_path ('', $start, @lock, 0);
> in SVN/Mirror/Ra.pm at line 524.
>
> However, while setting up a test case for you, I copy-pasted the
> SVN::Mirror example from the manual page:
>    #!/usr/bin/perl -w
>
>    use SVN::Mirror;
>
>    my $url = 'svn://svn.debian.org/svn/pkg-madwifi';
>    my $repos = '/tmp/foobar/repo';
>
>    my $m = SVN::Mirror->new (source => $url,
>                              repos => $repos,
>                              target_path => '/mirror/pkg-madwifi',
>                              repos_create => 1,
>                              skip_to => 80
>                             );
>
> % mkdir -p /tmp/foobar/repo; cd /tmp/foobar; perl ~/foo.pl
> % perl ~/foo.pl 
> Use of uninitialized value in -e at /usr/share/perl5/SVN/Mirror.pm line 86.
> zsh: segmentation fault  perl ~/foo.pl
>
> Looks to me as there's a couple of bugs here already:
> - documentation out of date
> - does not check whether repospath is defined prior to checking whether
>   the file exists
> - perl segfaults
>
> Just adding a "target" to that call is enough to trigger the actual
> bug:
>    #!/usr/bin/perl -w
>
>    use SVN::Mirror;
>
>    my $url = 'svn://svn.debian.org/svn/pkg-madwifi';
>    my $repos = '/tmp/foobar/repo';
>
>    my $m = SVN::Mirror->new (source => $url,
>                              repos => $repos,
>                              target => '/tmp/foobar/target',
>                              target_path => '/mirror/pkg-madwifi',
>                              repos_create => 1,
>                              skip_to => 80
>                             );
>    $m->init;
>    $m->run;
> % perl ~/foo.pl
> Committed revision 1.
> Syncing svn://svn.debian.org/svn/pkg-madwifi
> Retrieving log information from 80 to 89
> In SVN/Mirror/Ra.pm (reached)
> TypeError in method 'svn_ra_reporter2_invoke_set_path', argument 6 of
> type 'char const *'
>
>    HTH,
>  
>






More information about the pkg-subversion-maintainers mailing list