# git svn problems



## andrnils (Mar 28, 2011)

Hi,

I'm having some troubles with git on my FreeBSD 8.2 amd64 box. I'm using serf for http(s) access.

More specifically, using git's svn capabilities. On trying to clone a svn repo ( even an empty one ) I get:


```
$ git svn clone [url]https://url/trunk/relng[/url]
Initialized empty Git repository in /tmp/relng/.git/
r1527 = 9bd86559f46df65ed71f4f0c7f13e110fcceec81 (refs/remotes/git-svn)
Checked out HEAD:
  [url]https://url/trunk/relng[/url] r1527
error: git-svn died of signal 11
andrnils@jailer:/tmp 11:14:22 139
```

The core file left reveals 

```
$ gdb /usr/bin/perl relng/perl.core 
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "amd64-marcel-freebsd"...(no debugging symbols found)...
Core was generated by `perl'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /usr/local/lib/perl5/5.12.3/mach/CORE/libperl.so...(no debugging symbols found)...done."]
.
.
.
lots of symbol loading
.
.
.
#0  0x0000000800d7fe6f in free () from /lib/libc.so.7
[New Thread 8010041c0 (LWP 100419)]
(gdb) where
#0  0x0000000800d7fe6f in free () from /lib/libc.so.7
#1  0x000000080475b66d in apr_allocator_destroy (allocator=0x804c55800)
    at memory/unix/apr_pools.c:134
#2  0x000000080475c2bd in apr_pool_terminate () at memory/unix/apr_pools.c:604
#3  0x000000080282e7f9 in _wrap_apr_terminate (my_perl=Variable "my_perl" is not available.
) at core.c:2367
#4  0x00000008006ea690 in Perl_pp_entersub ()
   from /usr/local/lib/perl5/5.12.3/mach/CORE/libperl.so
#5  0x00000008006e8cf2 in Perl_runops_standard ()
   from /usr/local/lib/perl5/5.12.3/mach/CORE/libperl.so
#6  0x000000080068f161 in Perl_call_sv ()
   from /usr/local/lib/perl5/5.12.3/mach/CORE/libperl.so
#7  0x000000080068f632 in Perl_call_list ()
   from /usr/local/lib/perl5/5.12.3/mach/CORE/libperl.so
#8  0x000000080069392a in perl_destruct ()
   from /usr/local/lib/perl5/5.12.3/mach/CORE/libperl.so
#9  0x0000000000400e22 in main ()
```

Anyone seen something similar? I tried on a Linux system as well, and there it works.

Best regards
andrnils


----------



## andrnils (Mar 28, 2011)

Hmm, so it seems that git svn has caused problems before, with threading and perl's garbage collect.

I disabled threading in both perl and apr1 and rebuilt subversion, p5-subversion, serf and git ( not in that order ). Serf doesn't build without threads in apr ( serfs test-cases breaks, I disabled them in the Makefile ).

With this setup I also get a segfault, but somewhere else:


```
$ gdb /usr/bin/perl relng/perl.core GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "amd64-marcel-freebsd"...(no debugging symbols found)...
Core was generated by `perl'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /usr/local/lib/perl5/5.12.3/mach/CORE/libperl.so...(no debugging symbols found)...done.
.
.
.
More symbol loading
.
.
.
Loaded symbols for /usr/local/lib/perl5/site_perl/5.12.3/mach/auto/SVN/_Delta/_Delta.so
Reading symbols from /libexec/ld-elf.so.1...done.
Loaded symbols for /libexec/ld-elf.so.1
#0  0x0000000800c4ee6f in free () from /lib/libc.so.7
(gdb) where
#0  0x0000000800c4ee6f in free () from /lib/libc.so.7
#1  0x000000080489425d in apr_allocator_destroy (allocator=0x801b83e40)
    at memory/unix/apr_pools.c:134
#2  0x0000000804894d8d in apr_pool_terminate ()
    at memory/unix/apr_pools.c:604
#3  0x000000080264c40f in _wrap_apr_terminate (cv=Variable "cv" is not available.
) at core.c:2367
#4  0x00000008006df823 in Perl_pp_entersub ()
   from /usr/local/lib/perl5/5.12.3/mach/CORE/libperl.so
#5  0x00000008006dde6e in Perl_runops_standard ()
   from /usr/local/lib/perl5/5.12.3/mach/CORE/libperl.so
#6  0x000000080068b220 in Perl_call_sv ()
   from /usr/local/lib/perl5/5.12.3/mach/CORE/libperl.so
#7  0x000000080068b693 in Perl_call_list ()
   from /usr/local/lib/perl5/5.12.3/mach/CORE/libperl.so
#8  0x000000080068f5b5 in perl_destruct ()
   from /usr/local/lib/perl5/5.12.3/mach/CORE/libperl.so
#9  0x0000000000400d74 in main ()
```

Still a bit confused about what's going on here.


----------



## andrnils (Mar 28, 2011)

And a backtrace with perl built with debuging symbols:

[CMD="0  0x0000000800e9ae6f in free () from /lib/libc.so.7
(gdb) where
#0  0x0000000800e9ae6f in free () from /lib/libc.so.7
#1  0x0000000804a9425d in apr_allocator_destroy (allocator=0x802023fc0)
    at memory/unix/apr_pools.c:134
#2  0x0000000804a94d8d in apr_pool_terminate ()
    at memory/unix/apr_pools.c:604
#3  0x000000080287940f in _wrap_apr_terminate (cv=Variable "cv" is not available.
) at core.c:2367
#4  0x00000008007c9963 in Perl_pp_entersub () at pp_hot.c:2885
#5  0x000000080076a11e in Perl_runops_debug () at dump.c:2049
#6  0x00000008006aaeb8 in Perl_call_sv (sv=0x802a8ed38, flags=14)
    at perl.c:2605
#7  0x00000008006b6e79 in Perl_call_list (oldscope=1, 
    paramList=0x8019aaf78) at perl.c:4600
#8  0x00000008006a356d in perl_destruct (my_perl=0x801204104)
    at perl.c:566
#9  0x0000000000400dc1 in main (argc=4, argv=0x7fffffffeaf8, 
    env=0x7fffffffeb20) at perlmain.c:126"]
[/CMD]


----------

