FS#24540 - [subversion] Perl Swig SVN bindings not working (noticed with git svn)

Attached to Project: Arch Linux
Opened by Otto Allmendinger (OttoA) - Thursday, 02 June 2011, 00:26 GMT
Last edited by Stéphane Gaudreault (stephane) - Friday, 18 May 2012, 13:27 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Angel Velasquez (angvp)
Stéphane Gaudreault (stephane)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 5
Private No


The perl subversion module fails when being used by git-svn

# pacman -Q subversion perl git
subversion 1.6.15-1
perl 5.14.0-1

# git svn rebase
/usr/bin/perl: symbol lookup error: /usr/lib/perl5/vendor_perl/auto/SVN/_Core/_Core.so: undefined symbol: Perl_Gthr_key_ptr
git: 'svn' is not a git command. See 'git --help'.

Did you mean this?

Rebuilding from abs fails but I think compiling against the newest perl version should fix the problem
This task depends upon

Closed by  Stéphane Gaudreault (stephane)
Friday, 18 May 2012, 13:27 GMT
Reason for closing:  Works for me
Comment by Ionut Biru (wonder) - Thursday, 02 June 2011, 07:14 GMT
can you check subversion subversion 1.6.17 which hit testing this morning?
Comment by Otto Allmendinger (OttoA) - Thursday, 02 June 2011, 08:51 GMT
Different error message:

# git svn rebase
Bizarre copy of UNKNOWN in subroutine entry at /usr/lib/perl5/vendor_perl/SVN/Base.pm line 80.
Comment by Otto Allmendinger (OttoA) - Thursday, 02 June 2011, 11:00 GMT Comment by Dan McGee (toofishes) - Thursday, 02 June 2011, 14:30 GMT
Sounds like the upstream perl subversion code isn't compatible with 5.14. This really has nothing to do with me so I'm going to unassign myself, but I'd recommend reporting this upstream to the subversion project.
Comment by Otto Allmendinger (OttoA) - Thursday, 02 June 2011, 16:34 GMT
The title is a bit misleading now. The module is being used by git, but is provided by subversion.
Comment by Stéphane Gaudreault (stephane) - Thursday, 02 June 2011, 18:06 GMT
I think this should be reported upstream : http://subversion.apache.org/issue-tracker.html
Comment by Otto Allmendinger (OttoA) - Sunday, 05 June 2011, 15:06 GMT
I've sent an email to users@subversion.apache.org
Comment by Stéphane Gaudreault (stephane) - Tuesday, 07 June 2011, 18:47 GMT
Could you please give a step by step example (preferably using a public svn server) that could be used to reproduce the "Bizarre copy of UNKNOWN ..." error ?

Comment by Otto Allmendinger (OttoA) - Tuesday, 07 June 2011, 19:10 GMT
Without using an svn server, using internal perl binding tests:

1. Get subversion package from archlinux svn
2. run makepkg
3. cd src/subversion-1.6.17/subversion/bindings/swig/perl/native
4. run "make test"
Comment by Angel Velasquez (angvp) - Wednesday, 08 June 2011, 20:37 GMT
I run the test and everything went fine.

make test
PERL_DL_NONLAZY=1 LD_LIBRARY_PATH=:/home/angvp/pkgs/subversion/src/subversion-1.6.17/subversion/bindings/swig/perl/libsvn_swig_perl/.libs:/home/angvp/pkgs/subversion/src/subversion-1.6.17/subversion/libsvn_client/.libs:/home/angvp/pkgs/subversion/src/subversion-1.6.17/subversion/libsvn_delta/.libs:/home/angvp/pkgs/subversion/src/subversion-1.6.17/subversion/libsvn_fs/.libs:/home/angvp/pkgs/subversion/src/subversion-1.6.17/subversion/libsvn_ra/.libs:/home/angvp/pkgs/subversion/src/subversion-1.6.17/subversion/libsvn_repos/.libs:/home/angvp/pkgs/subversion/src/subversion-1.6.17/subversion/libsvn_wc/.libs:/home/angvp/pkgs/subversion/src/subversion-1.6.17/subversion/libsvn_diff/.libs:/home/angvp/pkgs/subversion/src/subversion-1.6.17/subversion/libsvn_subr/.libs:/home/angvp/pkgs/subversion/src/subversion-1.6.17/subversion/libsvn_ra_local/.libs:/home/angvp/pkgs/subversion/src/subversion-1.6.17/subversion/libsvn_ra_svn/.libs:/home/angvp/pkgs/subversion/src/subversion-1.6.17/subversion/libsvn_ra_neon/.libs:/home/angvp/pkgs/subversion/src/subversion-1.6.17/subversion/libsvn_ra_serf/.libs:/home/angvp/pkgs/subversion/src/subversion-1.6.17/subversion/libsvn_fs_base/.libs:/home/angvp/pkgs/subversion/src/subversion-1.6.17/subversion/libsvn_fs_util/.libs:/home/angvp/pkgs/subversion/src/subversion-1.6.17/subversion/libsvn_fs_fs/.libs /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" ../../../../../subversion/bindings/swig/perl/native/t/*.t
../../../../../subversion/bindings/swig/perl/native/t/0use.t ........... ok
../../../../../subversion/bindings/swig/perl/native/t/1repos.t ......... 1/6 # committed 1,2011-06-08T20:31:09.010295Z,root
../../../../../subversion/bindings/swig/perl/native/t/1repos.t ......... 2/6 # committed 2,2011-06-08T20:31:09.357502Z,root
# committed 3,2011-06-08T20:31:09.670357Z,root
# cleanup
../../../../../subversion/bindings/swig/perl/native/t/1repos.t ......... ok
../../../../../subversion/bindings/swig/perl/native/t/2fs.t ............ 20/22 # cleanup
../../../../../subversion/bindings/swig/perl/native/t/2fs.t ............ ok
../../../../../subversion/bindings/swig/perl/native/t/3client.t ........ 119/119 # cleanup
../../../../../subversion/bindings/swig/perl/native/t/3client.t ........ ok
../../../../../subversion/bindings/swig/perl/native/t/4pool.t .......... 1/6 # cleanup
../../../../../subversion/bindings/swig/perl/native/t/4pool.t .......... ok
../../../../../subversion/bindings/swig/perl/native/t/5delta-compat.t .. ok
../../../../../subversion/bindings/swig/perl/native/t/5delta.t ......... ok
../../../../../subversion/bindings/swig/perl/native/t/6ra.t ............ 2/40 # cleanup
../../../../../subversion/bindings/swig/perl/native/t/6ra.t ............ ok
../../../../../subversion/bindings/swig/perl/native/t/7editor.t ........ # committed 1,2011-06-08T20:31:20.792145Z,root
../../../../../subversion/bindings/swig/perl/native/t/7editor.t ........ ok
../../../../../subversion/bindings/swig/perl/native/t/8lock.t .......... ok
All tests successful.
Files=10, Tests=214, 16 wallclock secs ( 0.17 usr 0.04 sys + 2.02 cusr 0.53 csys = 2.76 CPU)
Result: PASS

perl 5.14.0-1
subversion 1.6.17-3
swig 2.0.4-1

Comment by Stéphane Gaudreault (stephane) - Thursday, 09 June 2011, 02:34 GMT
All tests successful here on x86_64.

perl 5.14.0-1
subversion 1.6.17-3
swig 2.0.4-1
Comment by Angel Velasquez (angvp) - Monday, 13 June 2011, 15:07 GMT

We ran the tests and everything went fine? we need to see if this is a real bug, this is blocking the perl update to core, and is making our work slower, please we will need to know if this is a real issue and then we need to reproduce it to fix it.. need some information here, what architecture were you using? I've tried perl 5.14.0 + swig + subversion on differents x86_64 machines and everything is working as expected.

I don't want to close this report or stop the movement to perl 5.14.0 for this.
Comment by Otto Allmendinger (OttoA) - Monday, 13 June 2011, 15:13 GMT
Still fails with git and "make test" on my i686 desktop and on my i686 laptop.

EDIT: x86->i686
Comment by Angel Velasquez (angvp) - Monday, 13 June 2011, 15:18 GMT
Do you mean i686 right?

Your perl environment is sane? I mean, you didn't installed cpan packages by hand, right?
Comment by Otto Allmendinger (OttoA) - Monday, 13 June 2011, 17:36 GMT
Yes I meant i686, sorry

I think my perl environment is sane.

I tested it on a third i686 and it failed, also tested it on a x86_64 machine and it passed (!)

So this is probably related to the architecture.
Comment by Stéphane Gaudreault (stephane) - Tuesday, 14 June 2011, 01:40 GMT
I can reproduce the problem in a clean i686 chroot environment :

PERL_DL_NONLAZY=1 LD_LIBRARY_PATH=:/var/abs/testing/subversion/src/subversion-1.6.17/subversion/bindings/swig/perl/libsvn_swig_perl/.libs:/var/abs/testing/subversion/src/subversion-1.6.17/subversion/libsvn_client/.libs:/var/abs/testing/subversion/src/subversion-1.6.17/subversion/libsvn_delta/.libs:/var/abs/testing/subversion/src/subversion-1.6.17/subversion/libsvn_fs/.libs:/var/abs/testing/subversion/src/subversion-1.6.17/subversion/libsvn_ra/.libs:/var/abs/testing/subversion/src/subversion-1.6.17/subversion/libsvn_repos/.libs:/var/abs/testing/subversion/src/subversion-1.6.17/subversion/libsvn_wc/.libs:/var/abs/testing/subversion/src/subversion-1.6.17/subversion/libsvn_diff/.libs:/var/abs/testing/subversion/src/subversion-1.6.17/subversion/libsvn_subr/.libs:/var/abs/testing/subversion/src/subversion-1.6.17/subversion/libsvn_ra_local/.libs:/var/abs/testing/subversion/src/subversion-1.6.17/subversion/libsvn_ra_svn/.libs:/var/abs/testing/subversion/src/subversion-1.6.17/subversion/libsvn_ra_neon/.libs:/var/abs/testing/subversion/src/subversion-1.6.17/subversion/libsvn_ra_serf/.libs:/var/abs/testing/subversion/src/subversion-1.6.17/subversion/libsvn_fs_base/.libs:/var/abs/testing/subversion/src/subversion-1.6.17/subversion/libsvn_fs_util/.libs:/var/abs/testing/subversion/src/subversion-1.6.17/subversion/libsvn_fs_fs/.libs /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" ../../../../../subversion/bindings/swig/perl/native/t/*.t
../../../../../subversion/bindings/swig/perl/native/t/0use.t ........... ok
../../../../../subversion/bindings/swig/perl/native/t/1repos.t ......... 1/6 # committed 1,2011-06-14T01:36:28.980615Z,root
../../../../../subversion/bindings/swig/perl/native/t/1repos.t ......... 2/6 # committed 2,2011-06-14T01:36:29.502849Z,root
# committed 3,2011-06-14T01:36:29.924264Z,root
../../../../../subversion/bindings/swig/perl/native/t/1repos.t ......... 5/6 # cleanup
../../../../../subversion/bindings/swig/perl/native/t/1repos.t ......... ok
../../../../../subversion/bindings/swig/perl/native/t/2fs.t ............ 1/22 Bizarre copy of UNKNOWN in subroutine entry at ../../../../../subversion/bindings/swig/perl/native/t/2fs.t line 37.
# cleanup
# Looks like you planned 22 tests but ran 7.
# Looks like your test exited with 255 just after 7.
../../../../../subversion/bindings/swig/perl/native/t/2fs.t ............ Dubious, test returned 255 (wstat 65280, 0xff00)
Failed 15/22 subtests
../../../../../subversion/bindings/swig/perl/native/t/3client.t ........ 1/119 Undefined subroutine &main::0 called at /var/abs/testing/subversion/src/subversion-1.6.17/subversion/bindings/swig/perl/native/blib/lib/SVN/Client.pm line 927.
../../../../../subversion/bindings/swig/perl/native/t/3client.t ........ Failed 110/119 subtests
../../../../../subversion/bindings/swig/perl/native/t/4pool.t .......... 1/6 # cleanup
../../../../../subversion/bindings/swig/perl/native/t/4pool.t .......... ok
../../../../../subversion/bindings/swig/perl/native/t/5delta-compat.t .. ok
../../../../../subversion/bindings/swig/perl/native/t/5delta.t ......... ok
../../../../../subversion/bindings/swig/perl/native/t/6ra.t ............ 2/40 Bizarre copy of UNKNOWN in list assignment at /var/abs/testing/subversion/src/subversion-1.6.17/subversion/bindings/swig/perl/native/blib/lib/SVN/Ra.pm line 492.
# cleanup
# Looks like you planned 40 tests but ran 18.
# Looks like your test exited with 255 just after 18.
../../../../../subversion/bindings/swig/perl/native/t/6ra.t ............ Dubious, test returned 255 (wstat 65280, 0xff00)
Failed 22/40 subtests
../../../../../subversion/bindings/swig/perl/native/t/7editor.t ........ # committed 1,2011-06-14T01:36:34.643950Z,root
../../../../../subversion/bindings/swig/perl/native/t/7editor.t ........ ok
../../../../../subversion/bindings/swig/perl/native/t/8lock.t .......... ok

Test Summary Report
../../../../../subversion/bindings/swig/perl/native/t/2fs.t (Wstat: 65280 Tests: 7 Failed: 0)
Non-zero exit status: 255
Parse errors: Bad plan. You planned 22 tests but ran 7.
../../../../../subversion/bindings/swig/perl/native/t/3client.t (Wstat: 11 Tests: 9 Failed: 0)
Non-zero wait status: 11
Parse errors: Bad plan. You planned 119 tests but ran 9.
../../../../../subversion/bindings/swig/perl/native/t/6ra.t (Wstat: 65280 Tests: 18 Failed: 0)
Non-zero exit status: 255
Parse errors: Bad plan. You planned 40 tests but ran 18.
Files=10, Tests=67, 8 wallclock secs ( 0.09 usr 0.02 sys + 2.08 cusr 0.17 csys = 2.36 CPU)
Result: FAIL
Failed 3/10 test programs. 0/67 subtests failed.
make: *** [test_dynamic] Error 255
Comment by Angel Velasquez (angvp) - Sunday, 26 June 2011, 01:44 GMT
Ok it's working for me on i686 with perl 5.14.1 (despite the tests results)

I did the following steps:

1) git svn init svn://svn.archlinux.org/packages/subversion
2) git svn fetch -r HEAD
3) git svn rebase

would you mind to test and give me some feedback again? if this got fixed we can proceed with the movement to perl 5.14.1 to core!
Comment by Jekyll Wu (adaptee) - Sunday, 26 June 2011, 07:28 GMT
The command sequence above worked well for me , but 'git svn clone ....' failed.

$ git svn clone svn://svn.archlinux.org/packages/subversion
Initialized empty Git repository in /tmp/subversion/.git/
Bizarre copy of UNKNOWN in subroutine entry at /usr/lib/perl5/vendor_perl/SVN/Base.pm line 80.

Comment by Ondrej Jirman (megous) - Wednesday, 29 June 2011, 18:01 GMT
"git svn" is still not working in the current arch linux (after upgrade to perl 5.14.1) because of this bug. I'm using the i686 arch.

I'm getting the same "Bizarre copy of UNKNOWN" message while doing "git svn fetch" on a repository.
Comment by Taylor Hedberg (tmhedberg) - Wednesday, 29 June 2011, 18:44 GMT
Still seeing the "Bizarre copy of UNKNOWN" issue as well with `git svn rebase` on i686.
Comment by Angel Velasquez (angvp) - Wednesday, 29 June 2011, 19:20 GMT
Hi remember this bug is completely upstream, but you could try this:

a) use git svn init , instead svn clone (and try git svn fetch + rebase .. this is working on i686)
b) do pressure on subversion upstream (just few people reported this and they are not paying so much attention, some noise could help).

Comment by Otto Allmendinger (OttoA) - Wednesday, 29 June 2011, 19:22 GMT
It should be said that it is not completely clear that this is a subversion bug. Latest subversion compiled against Perl 5.12 works fine, so it might still be a Perl bug.
Comment by Miikka Viljanen (mviljane) - Thursday, 30 June 2011, 06:41 GMT
I also have this problem and using "git svn init" and then fetch does not work either. Doing "git svn fetch -r HEAD" gives the same "Bizarre copy of UNKNOWN" error for me.

Any other workarounds to try?
Comment by Taylor Hedberg (tmhedberg) - Thursday, 30 June 2011, 13:59 GMT
The fetch-based workaround isn't working for me either. I just had to downgrade to get it working again.
Comment by Stéphane Gaudreault (stephane) - Friday, 01 July 2011, 23:44 GMT
It is a subversion bug. In Makefile.PL the ExtUtils::MakeMaker overwrite CCFLAGS[1]. We have a patch for this [2] and a new package should be available in [testing] very soon.

[1] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=628522
[2] http://projects.archlinux.org/svntogit/packages.git/tree/subversion/trunk/subversion-perl-bindings.patch
Comment by Ismael Barros (RazZziel) - Saturday, 02 July 2011, 13:21 GMT
Contrary to the comment on #24577 about holding perl-5.14 due to this bug, it has finally made it into extra, breaking git svn for me with the "Bizarre copy of UNKNOWN" on i686.

The only way I managed to fix this was to "yaourt -U perl-5.12.3-1-i686.pkg.tar.xz git- subversion-1.6.17-2-i686.pkg.tar.xz". Downgrading subversion is needed as well, because otherwise "git svn fetch" gives me "error: git-svn died of signal 11".
Comment by Ionut Biru (wonder) - Saturday, 02 July 2011, 13:27 GMT
@Ismael, contrary to what was said, i'm still amazed that you end up downgrading instead of trying that patch.
Comment by Ismael Barros (RazZziel) - Saturday, 02 July 2011, 13:52 GMT
@Ionut I need git-svn urgently for work, I don't really have time to try the patch, sorry
Comment by Otto Allmendinger (OttoA) - Saturday, 02 July 2011, 14:07 GMT
Patch works for me. Thanks Stéphane!
Comment by x2b (x2b) - Friday, 13 April 2012, 18:50 GMT
  • Field changed: Percent Complete (100% → 0%)
The problem persists with my setup:

> git svn clone http://mysql-python.svn.sourceforge.net/svnroot/mysql-python

Initialized empty Git repository in /.../mysql-python/.git/
Bizarre copy of UNKNOWN in subroutine entry at /usr/lib/perl5/site_perl/SVN/Base.pm line 80.

This is my setup:

>pacman -Q subversion perl git

subversion 1.7.4-1
perl 5.14.2-7
git 1.7.10-1
Comment by Evangelos Foutras (foutrelis) - Friday, 13 April 2012, 18:53 GMT
@x2b: Something is probably wrong with your setup. I tried your command and I didn't get any error messages.

Additionally, Base.pm is located under /usr/lib/perl5/vendor_perl/SVN/, not /usr/lib/perl5/site_perl/SVN/.

See if /usr/lib/perl5/site_perl/SVN/Base.pm is owned by any package, and if not, do some cleanup under /usr/lib/perl5/site_perl/ (this directory is empty on my system.)
Comment by Stéphane Gaudreault (stephane) - Saturday, 14 April 2012, 16:41 GMT
Works for me.