Package: libsvn-perl Version: 1.8.10-5 Severity: important Tags: upstream Hi,
when I use git-svn to clone or fetch from a repository, and the repository
contains a commit that modifies a large number of files, then perl will die
with a segfault when trying to apply that commit:
$ git svn fetch
A scenario-simulator/test/test-simulator.properties
A scenario-simulator/test/log4j.properties
...
[snip long list]
...
A
core-util/test/com/opencloud/util/concurrent/fibers/WhenUsingDefaultFiberFactory.java
A
core-util/test/com/opencloud/util/concurrent/TimingWheelExecutorTest.java
error: git-svn died of signal 11
$
This is 100% reproducible with the affected commits, making it essentially
impossible to fully clone these repositories. The only workaround I can think
of is doing a shallow clone starting at the next commit, which means you won't
get the full history.
I have attached a backtrace, and here is the output of running the command
with the perl debugger:
Signal SEGV at /usr/share/perl5/Git/SVN/Fetcher.pm line 361.
Git::SVN::Fetcher::apply_textdelta(Git::SVN::Fetcher=HASH(0x26a51b0),
HASH(0x2b14238), undef, _p_apr_pool_t=SCALAR(0x2b14148)) called at
/usr/lib/x86_64-linux-gnu/perl5/5.20/SVN/Ra.pm line 623
SVN::Ra::Reporter::AUTOLOAD(SVN::Ra::Reporter=ARRAY(0x26e2510),
SVN::Pool=REF(0x26e1e98)) called at /usr/share/perl5/Git/SVN/Ra.pm line 300
Git::SVN::Ra::gs_do_update(Git::SVN::Ra=HASH(0x26a4fe8), 49802, 49802,
Git::SVN=HASH(0x26a4ad8), Git::SVN::Fetcher=HASH(0x26a51b0)) called at
/usr/share/perl5/Git/SVN.pm line 1210
Git::SVN::do_fetch(Git::SVN=HASH(0x26a4ad8), HASH(0x26eb380), 49802)
called at /usr/share/perl5/Git/SVN/Ra.pm line 451
Git::SVN::Ra::gs_fetch_loop_common(Git::SVN::Ra=HASH(0x26a4fe8), 49800,
91763, ARRAY(0x1c2acc0), ARRAY(0x1c2acf0)) called at
/usr/share/perl5/Git/SVN.pm line 184
Git::SVN::fetch_all("svn", HASH(0x11fd4b8)) called at
/usr/lib/git-core/git-svn line 560
main::cmd_fetch("svn") called at /usr/lib/git-core/git-svn line 377
eval {...} called at /usr/lib/git-core/git-svn line 375
-Jan
-- System Information:
Debian Release: 8.0
APT prefers unstable
APT policy: (500, 'unstable'), (102, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 3.16.0-4-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_NZ.UTF-8, LC_CTYPE=en_NZ.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
Versions of packages libsvn-perl depends on:
ii libapr1 1.5.1-3
ii libc6 2.19-15
ii libsvn1 1.8.10-5
ii multiarch-support 2.19-15
ii perl 5.20.2-2
ii perl-base [perlapi-5.20.1] 5.20.2-2
libsvn-perl recommends no packages.
libsvn-perl suggests no packages.
-- no debconf information
--
-[ OpenPGP key ID: 00A0FD5F ]-
The most dangerous phrase in the language is, "We've always done it this
way."
-- Grace Hopper
#0 _wrap_svn_txdelta_apply (my_perl=<optimized out>, cv=<optimized out>) at
svn_delta.c:3918
arg2 = 0x7f60d749afa0
arg6 = 0x7fffeb7313a8
res4 = <optimized out>
argvi = 1
arg3 = 0x7f60d738c0a0
"\224\a\214QS\357~\342\314\345\312Ϙ\330\300\070\327`\177"
arg7 = 0x7fffeb7313b0
_global_pool = <optimized out>
buf4 = 0x0
temp6 = 0x7f60ddc2f700 <apply_window at
/build/subversion-Hohtq2/subversion-1.8.10/subversion/libsvn_delta/text_delta.c:759>
sp = 0x7f60d733ff60
arg4 = <optimized out>
temp7 = 0x7f60d73880a0
arg1 = 0x7f60d749af28
arg5 = <optimized out>
alloc4 = 0
ax = 24039
items = 4
#1 0x00007f60e13cc9ab in Perl_pp_entersub (my_perl=0x1cc6010) at pp_hot.c:2794
markix = <optimized out>
sp = <optimized out>
sv = 0x2759310
gv = 0x1cc6001
cv = <optimized out>
cx = <optimized out>
gimme = 3
hasargs = <optimized out>
#2 0x00007f60e13c5216 in Perl_runops_standard (my_perl=0x1cc6010) at run.c:42
op = <optimized out>
#3 0x00007f60e13fc84f in S_docatch (my_perl=0x1cc6010, o=<optimized out>) at
pp_ctl.c:3227
ret = <optimized out>
oldop = 0x2350ac0
cur_env = {
je_prev = 0x7fffeb731b30,
je_buf = {[0] = {
__jmpbuf = {[0] = 30171152,
[1] = 7282039959158873762,
[2] = 140053904097112,
[3] = 140737143576160,
[4] = 30171152,
[5] = 53365432,
[6] = -7282091381711085918,
[7] = -7219616678411936094},
__mask_was_saved = 0,
__saved_mask = {
__val = {[0] = 30171152,
[1] = 140054072444977,
[2] = 140053904097080,
[3] = 30195984,
[4] = 18446744073709551615,
[5] = 140054072515172,
[6] = 140737143576160,
[7] = 30171152,
[8] = 30196064,
[9] = 30182960,
[10] = 0,
[11] = 140054072705844,
[12] = 19,
[13] = 30171152,
[14] = 53365720,
[15] = 140053904097112}
}
}},
je_ret = 0,
je_mustcatch = false
}
#4 0x00007f60e13c5216 in Perl_runops_standard (my_perl=0x1cc6010) at run.c:42
op = <optimized out>
#5 0x00007f60e134e181 in Perl_call_sv (my_perl=0x1cc6010, sv=0x32e4bd8,
flags=<optimized out>) at perl.c:2756
sp = 0x7f60d733ff58
myop = {
op_next = 0x0,
op_sibling = 0x0,
op_ppaddr = 0x7f60e13cc4f0 <Perl_pp_entersub at pp_hot.c:2530>,
op_targ = 0,
op_type = 176,
op_opt = 0,
op_slabbed = 0,
op_savefree = 0,
op_static = 0,
op_folded = 0,
op_spare = 0,
op_flags = 66 'B',
op_private = 0 '\000',
op_first = 0x0,
op_other = 0x0
}
method_unop = {
op_next = 0x7fffeb731660,
op_sibling = 0x0,
op_ppaddr = 0x7f60e13cddc0 <Perl_pp_method at pp_hot.c:2945>,
op_targ = 0,
op_type = 175,
op_opt = 0,
op_slabbed = 0,
op_savefree = 0,
op_static = 0,
op_folded = 0,
op_spare = 0,
op_flags = 0 '\000',
op_private = 0 '\000',
op_first = 0x0
}
method_svop = {
op_next = 0x7fffeb731690,
op_sibling = 0x100000000,
op_ppaddr = 0x1cc6158,
op_targ = 15,
op_type = 13,
op_opt = 0,
op_slabbed = 0,
op_savefree = 0,
op_static = 0,
op_folded = 0,
op_spare = 0,
op_flags = 0 '\000',
op_private = 0 '\000',
op_sv = 0x1
}
oldmark = 24037
retval = 0
oldscope = 18
oldcatch = false
ret = <optimized out>
oldop = 0x2b1a918
cur_env = {
je_prev = 0x7fffeb73170f,
je_buf = {[0] = {
__jmpbuf = {[0] = 140054064104992,
[1] = 17,
[2] = 30171152,
[3] = 140054032851169,
[4] = 140053904105512,
[5] = 53365432,
[6] = 140054060798064,
[7] = 140054032851152},
__mask_was_saved = 53365720,
__saved_mask = {
__val = {[0] = 17,
[1] = 140054072291362,
[2] = 53365720,
[3] = 140054072504480,
[4] = 53365720,
[5] = 15,
[6] = 30171152,
[7] = 140054072515172,
[8] = 53365432,
[9] = 53365720,
[10] = 30171152,
[11] = 524288,
[12] = 140054032852116,
[13] = 140054072516082,
[14] = 53365432,
[15] = 30171152}
}
}},
je_ret = 2,
je_mustcatch = false
}
#6 0x00007f60e134e830 in Perl_call_method (my_perl=<optimized out>,
methname=methname@entry=0x7f60dee0a0e1 "apply_textdelta", flags=flags@entry=2)
at perl.c:2671
len = <optimized out>
sv = <optimized out>
#7 0x00007f60dee06398 in svn_swig_pl_callback_thunk
(caller_func=caller_func@entry=CALL_METHOD, func=func@entry=0x7f60dee0a0e1,
result=result@entry=0x7fffeb731880, fmt=fmt@entry=0x7f60dee0a0ba "OOsS")
at
/build/subversion-Hohtq2/subversion-1.8.10/subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.c:625
fp = 0x7f60dee0a0be ""
ap = {[0] = {
gp_offset = 48,
fp_offset = 0,
overflow_arg_area = 0x7fffeb731878,
reg_save_area = 0x7fffeb7317f0
}}
count = <optimized out>
call_flags = 2
sp = 0x7f60d733ff58
#8 0x00007f60dee06865 in thunk_apply_textdelta (file_baton=0x7f60e16df0d0,
base_checksum=0x0, pool=0x7f60d7342028, handler=0x7fffeb7318e0,
h_baton=0x7fffeb7318e8) at
/build/subversion-Hohtq2/subversion-1.8.10/subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.c:873
svn_err__temp = <optimized out>
ib = 0x7f60e16df0d0
result = 0x7fffeb731980
#9 0x00007f60da9e634c in ra_svn_handle_apply_textdelta (conn=<optimized out>,
pool=<optimized out>, params=<optimized out>, ds=0x7fffeb731980)
at
/build/subversion-Hohtq2/subversion-1.8.10/subversion/libsvn_ra_svn/editorp.c:717
svn_err__temp = <optimized out>
token = 0x7f60e16e11c8 "c4681"
entry = 0x7f60e16df0a0
wh = 0x7f60e16e6000
wh_baton = 0x7f60debe9ca0 <apr_pool_clear+144>
base_checksum = 0x0
#10 0x00007f60da9e665e in svn_ra_svn_drive_editor2 (conn=0x7f60e16e6000,
pool=0x7f60e16e3028, editor=0x7f60e16e30a0, edit_baton=0x7f60e16e3120,
aborted=aborted@entry=0x0, for_replay=for_replay@entry=0) at
/build/subversion-Hohtq2/subversion-1.8.10/subversion/libsvn_ra_svn/editorp.c:938
state = {
editor = 0x7f60e16e30a0,
edit_baton = 0x7f60e16e3120,
tokens = 0x7f60e16e34a8,
aborted = 0x0,
done = 0,
pool = 0x7f60e16e3028,
file_pool = 0x7f60e16df028,
file_refs = 1,
for_replay = 0
}
subpool = 0x7f60e16e1028
cmd = 0x7f60e16e1130 "apply-textdelta"
i = <optimized out>
err = <optimized out>
write_err = <optimized out>
params = 0x7f60e16e1148
#11 0x00007f60da9e0fbc in ra_svn_finish_report (baton=0x7f60e16e32f0,
pool=<optimized out>)
at
/build/subversion-Hohtq2/subversion-1.8.10/subversion/libsvn_ra_svn/client.c:299
svn_err__temp = <optimized out>
b = 0x7f60e16e32f0
#12 0x00007f60d855c83d in svn_ra_reporter2_invoke_finish_report
(_obj=0x7f60db44d480 <reporter_3in2_wrapper>, pool=0x7f60e16e3028,
report_baton=<optimized out>) at svn_ra.c:2066
No locals.
#13 _wrap_svn_ra_reporter2_invoke_finish_report (my_perl=<optimized out>,
cv=<optimized out>) at svn_ra.c:12746
arg2 = 0x7f60e16e3150
argvi = 0
items = <optimized out>
arg3 = <optimized out>
_global_pool = <optimized out>
argp1 = 0x7f60db44d480 <reporter_3in2_wrapper>
sp = <optimized out>
ax = <optimized out>
arg1 = 0x7f60db44d480 <reporter_3in2_wrapper>
res1 = <optimized out>
result = 0x0
#14 0x00007f60e13cc9ab in Perl_pp_entersub (my_perl=0x1cc6010) at pp_hot.c:2794
markix = <optimized out>
sp = <optimized out>
sv = 0x2affa30
gv = 0x1
cv = <optimized out>
cx = <optimized out>
gimme = 1
hasargs = <optimized out>
#15 0x00007f60e13c5216 in Perl_runops_standard (my_perl=0x1cc6010) at run.c:42
op = <optimized out>
#16 0x00007f60e1355d7d in S_run_body (oldscope=1, my_perl=0x1cc6010) at
perl.c:2451
No locals.
#17 perl_run (my_perl=0x1cc6010) at perl.c:2372
oldscope = 1
ret = <optimized out>
cur_env = {
je_prev = 0x1cc6350,
je_buf = {[0] = {
__jmpbuf = {[0] = 0,
[1] = 7282046399673097890,
[2] = 4197928,
[3] = 140737143577936,
[4] = 0,
[5] = 0,
[6] = -7282091381828526430,
[7] = -7219616596398088542},
__mask_was_saved = 0,
__saved_mask = {
__val = {[0] = 0,
[1] = 0,
[2] = 0,
[3] = 140054075588103,
[4] = 7165064481289011201,
[5] = 0,
[6] = 7596496373740942904,
[7] = 140054071660504,
[8] = 0,
[9] = 0,
[10] = 4197928,
[11] = 140054075613989,
[12] = 0,
[13] = 0,
[14] = 0,
[15] = 0}
}
}},
je_ret = 3,
je_mustcatch = true
}
#18 0x0000000000400e19 in main (argc=3, argv=0x7fffeb731d58,
env=0x7fffeb731d78) at perlmain.c:114
exitstatus = <optimized out>
i = <optimized out>
quit
signature.asc
Description: Digital signature

