[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Subversion crashing on large dir

From: Julian Foad <julian.foad_at_wandisco.com>
Date: Mon, 07 Jun 2010 12:01:38 +0100

On Sat, 2010-06-05, Dave Nedde wrote:
> I'm seeing a crash of subversion when trying to do a merge (or a
> subsequent revert) of a large directory. The directory is 129M,
> including .svn directories. Should I file a bug on this?

Hi Dave. Thanks for the report. Evidently, some part of the merge (and
revert) operation is using far more memory than would be considered
reasonable, and thus aborting.

129 MB is not considered large at all for a directory managed by
Subversion, so I assume there is something about the particular
arrangement of data or operations in your case that tickles this
behaviour.

Please would you try to write a reproduction script that starts with
"svnadmin create ...", "svn checkout ...", and does whatever is
necessary to cause this large memory usage? Then one of us should be
able to run it track down the cause.

Thanks.
- Julian

> Thanks,
>
> Dave
>
> ---
>
> svn, version 1.6.6 (r40053)
> compiled Dec 29 2009, 16:22:45
>
> uname -a:
> FreeBSD svl-junos-pool57.juniper.net 7.1-RELEASE-JNPR-2 FreeBSD 7.1-RELEASE-JNPR-2 #0: Mon Apr 27 16:24:20 PDT 2009 root_at_svl-junos-pool40.juniper.net:/usr/obj/usr/src/sys/MAC i386
>
> vmstat
> procs memory page disks faults cpu
> r b w avm fre flt re pi po fr sr da0 da1 in sy cs us sy id
> 2 6 0 921M 3009M 902 11 1 66 6 1099 0 0 33 379 810 -191 -298 589
>
> Stack trace:
> #0 0x287b9a07 in kill () from /lib/libc.so.7
> #1 0x2826c147 in raise () from /lib/libthr.so.3
> #2 0x287b857a in abort () from /lib/libc.so.7
> #3 0x08152287 in abort_on_pool_failure (retcode=Could not find the frame base for "abort_on_pool_failure".
> ) at ../subversion/libsvn_subr/pool.c:49
> #4 0x081c0c98 in apr_palloc (pool=0x292c2018, in_size=1048576)
> at /.amd/svl-eng005-cf2/vol/build12/nfsbuild56/deo/swtools/trunk/subversion/apr/memory/unix/apr_pools.c:664
> #5 0x081a96e0 in svn_stringbuf_ensure (str=0x27ad0b38, minimum_size=524292)
> at ../subversion/libsvn_subr/svn_string.c:46
> #6 0x081a9749 in svn_stringbuf_appendbytes (str=0x27ad0b38,
> bytes=0x27ac1168 "2010-06-04T16:45:01.000000Z", count=27)
> at ../subversion/libsvn_subr/svn_string.c:391
> #7 0x081a9835 in svn_stringbuf_appendcstr (targetstr=0x27ad0b38,
> cstr=0x27ac1168 "2010-06-04T16:45:01.000000Z") at ../subversion/libsvn_subr/svn_string.c:416
> #8 0x0809c030 in write_time (buf=0x27ad0b38, val=Unhandled dwarf expression opcode 0x93
> ) at ../subversion/libsvn_wc/entries.c:1560
> #9 0x0809c253 in write_entry (buf=0x27ad0b38, entry=0x28f44a30,
> name=0x28f44af0 "topic_routing-options_graceful-restart_effects_pim.html", this_dir=0x2884f128,
> pool=0x27ac1018) at ../subversion/libsvn_wc/entries.c:1657
> #10 0x0809e0aa in svn_wc__entries_write (entries=0x2884f0c0, adm_access=0x2884f088, pool=0x292c2018)
> at ../subversion/libsvn_wc/entries.c:2168
> #11 0x080a4e27 in run_log (adm_access=0x2884f088, rerun=0, diff3_cmd=0x0, pool=0x292c2018)
> at ../subversion/libsvn_wc/log.c:1875
> #12 0x080b4668 in svn_wc__del_tree_conflict (
> victim_path=0x29662f68 "doc/online/html/topic_chassis_pic-numbers-matrix.html",
> adm_access=0x2884f088, pool=0x292c2018) at ../subversion/libsvn_wc/tree_conflicts.c:497
> #13 0x08094b2d in revert_internal (
> path=0x29662f68 "doc/online/html/topic_chassis_pic-numbers-matrix.html", parent_access=0x2884f088,
> depth=svn_depth_empty, use_commit_times=0, changelist_hash=0x0,
> cancel_func=0x8054010 <svn_cl__check_cancel>, cancel_baton=0x0, notify_func=0x8057480 <notify>,
> notify_baton=0x28820970, pool=0x292c2018) at ../subversion/libsvn_wc/adm_ops.c:2267
> #14 0x08095076 in revert_internal (path=Variable "path" is not available.
> ) at ../subversion/libsvn_wc/adm_ops.c:2352
> #15 0x080950d0 in revert_internal (path=0x28835058 "doc/online", parent_access=Variable "parent_access" is not available.
> ) at ../subversion/libsvn_wc/adm_ops.c:2325
> #16 0x080950d0 in revert_internal (path=0x28820968 "doc", parent_access=Variable "parent_access" is not available.
> ) at ../subversion/libsvn_wc/adm_ops.c:2325
> #17 0x0809537a in svn_wc_revert3 (path=0x28820968 "doc", parent_access=0x28824068,
> depth=svn_depth_infinity, use_commit_times=0, changelists=0x28813208,
> cancel_func=0x8054010 <svn_cl__check_cancel>, cancel_baton=0x0, notify_func=0x8057480 <notify>,
> notify_baton=0x28820970, pool=0x28824018) at ../subversion/libsvn_wc/adm_ops.c:2382
> #18 0x0808942c in svn_client_revert2 (paths=0x288209b0, depth=svn_depth_infinity,
> changelists=0x28813208, ctx=0x288135e0, pool=0x28813018) at ../subversion/libsvn_client/revert.c:75
> #19 0x0805a88d in svn_cl__revert (os=0x288131c0, baton=0xbfbfe6d8, pool=0x28813018)
> at ../subversion/svn/revert-cmd.c:69
> #20 0x08055df0 in main (argc=Cannot access memory at address 0x3
> ) at ../subversion/svn/main.c:2127
>
Received on 2010-06-07 13:02:20 CEST

This is an archived mail posted to the Subversion Dev mailing list.