Ramkumar Ramachandra wrote on Tue, Jul 27, 2010 at 00:02:07 +0530:
> Hi,
>
> It's a little late here, and I don't have the patience the debug this
> segmentation fault right now. Here's the backtrace from a simple `svn
> diff`: if it helps, revision-0.dump had just been `svn mv`ed from
> revision0.dump. I think it has something to do with the file's
> svn:mime-type being application/octet-stream?
>
I can't reproduce it using tr...@{yesterday}:
[[[
1:sandbox/wc1% $svn ps svn:mime-type application/octet-stream iota
svn: warning: '/tmp/daniel/sandbox/wc1/iota' is not under version control
0:sandbox/wc1% ls
branches tags trunk
0:sandbox/wc1% cd trunk
0:wc1/trunk% $svn ps svn:mime-type application/octet-stream iota
property 'svn:mime-type' set on 'iota'
0:wc1/trunk% $svn ci iota -mfoo
Sending iota
Committed revision 2.
0:wc1/trunk% $svn mv iota iota2
A iota2
D iota
0:wc1/trunk% $svn di
Index: iota
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
0:wc1/trunk%
]]]
Can you give a reproduction script?
Daniel
(or add a regression test...)
> -- Ram
>
> #0 0x00007ffff6bd93d4 in find_entry (ht=0x0, key=0x7ffff7951a7c, klen=13,
> val=0x0)
> at /home/artagnon/svn/src/apr-1.4.2/tables/apr_hash.c:260
> hep = 0x0
> he = 0x649d20
> hash = 0
> #1 0x00007ffff6bd9712 in apr_hash_get (ht=0x0, key=0x7ffff7951a7c, klen=13)
> at /home/artagnon/svn/src/apr-1.4.2/tables/apr_hash.c:330
> he = 0x7fffffffd890
> #2 0x00007ffff78e3fec in get_prop_mimetype (props=0x0) at
> subversion/libsvn_wc/diff.c:506
> mimetype_val = 0x649d20
> #3 0x00007ffff78e4d00 in file_diff (db=0x6db4f8, path=0x713368
> "svnrdump_tests_data/revision-0.dump", pool=0x713148)
> at subversion/libsvn_wc/diff.c:754
> translated = 0x0
> baseprops = 0x0
> working_mimetype = 0x7131c0
> "/home/artagnon/svn/svn-trunk/subversion/tests/cmdline/svnrdump_tests_data/revision-0.dump"
> modified = 0
> base_mimetype = 0x649d20 "\002"
> workingprops = 0x0
> propchanges = 0x0
> eb = 0x6cff20
> textbase = 0x713f48
> "/home/artagnon/svn/svn-trunk/subversion/tests/cmdline/svnrdump_tests_data/.svn/pristine/335a6306b5bf1fc799b
> 6f4976513b7b3c1189bd5"
> empty_file = 0x6e1bf8 "/tmp/svn-64lEba"
> replaced = 0
> status = svn_wc__db_status_copied
> original_repos_relpath = 0x7137d8
> "subversion/trunk/subversion/tests/cmdline/svnrdump_tests_data/revision0.dump"
> revision = -1
> revert_base_revnum = 0
> have_base = 0
> base_status = 4153677978
> local_abspath = 0x7134e8
> "/home/artagnon/svn/svn-trunk/subversion/tests/cmdline/svnrdump_tests_data/revision-0.dump"
> #4 0x00007ffff78e54c2 in directory_elements_diff (db=0x6db4f8) at
> subversion/libsvn_wc/diff.c:893
> svn_err__temp = 0x6cff20
> subdir_baton = 0x100000000
> hidden = 0
> kind = svn_wc__db_kind_file
> name = 0x6db8a8 "revision-0.dump"
> child_abspath = 0x7131c0
> "/home/artagnon/svn/svn-trunk/subversion/tests/cmdline/svnrdump_tests_data/revision-0.dump"
> path = 0x713368 "svnrdump_tests_data/revision-0.dump"
> children = 0x6db8d0
> i = 0
> in_anchor_not_target = 0
> iterpool = 0x713148
> eb = 0x6cff20
> #5 0x00007ffff78e5585 in directory_elements_diff (db=0x6d0110) at
> subversion/libsvn_wc/diff.c:921
> svn_err__temp = 0x0
> depth_below_here = svn_depth_unknown
> subdir_baton = 0x6db4f8
> hidden = 0
> kind = svn_wc__db_kind_dir
> name = 0x6d0b68 "svnrdump_tests_data"
> child_abspath = 0x6da4f0
> "/home/artagnon/svn/svn-trunk/subversion/tests/cmdline/svnrdump_tests_data"
> path = 0x6db4e0 "svnrdump_tests_data"
> children = 0x6d0488
> i = 59
> in_anchor_not_target = 0
> iterpool = 0x6da478
> eb = 0x6cff20
> #6 0x00007ffff78e86d4 in svn_wc_diff6 (wc_ctx=0x649d08, target_path=0x677860
> "", callbacks=0x7fffffffdeb0,
> callback_baton=0x7fffffffdef0, depth=svn_depth_unknown,
> ignore_ancestry=1, show_copies_as_adds=0, changelists=0x649518,
> cancel_func=0x41294f <svn_cl__check_cancel>, cancel_baton=0x0,
> pool=0x6777e8) at subversion/libsvn_wc/diff.c:1925
> svn_err__temp = 0xfffffffe
> eb = 0x6cff20
> db = 0x6d0110
> target = 0x7ffff7951b05 ""
> target_abspath = 0x6cfee8
> "/home/artagnon/svn/svn-trunk/subversion/tests/cmdline"
> anchor_path = 0x677860 ""
> kind = svn_wc__db_kind_dir
> #7 0x00007ffff7b968dc in diff_wc_wc (path1=0x677860 "",
> revision1=0x7fffffffe378, path2=0x677868 "", revision2=0x7fffffffe388,
> depth=svn_depth_unknown, ignore_ancestry=1, show_copies_as_adds=0,
> changelists=0x649518, callbacks=0x7fffffffdeb0,
> callback_baton=0x7fffffffdef0, ctx=0x649c50, pool=0x6777e8) at
> subversion/libsvn_client/diff.c:1543
> svn_err__temp = 0x7fffffffdf70
> abspath1 = 0x677b50
> "/home/artagnon/svn/svn-trunk/subversion/tests/cmdline"
> err = 0x0
> #8 0x00007ffff7b977f2 in do_diff (diff_param=0x7fffffffdf70,
> callbacks=0x7fffffffdeb0, callback_baton=0x7fffffffdef0, ctx=0x649c50,
> pool=0x6777e8) at subversion/libsvn_client/diff.c:1818
> svn_err__temp = 0x6777e8
> diff_paths = {is_repos1 = 0, is_repos2 = 0}
> #9 0x00007ffff7b980a1 in svn_client_diff5 (options=0x0, path1=0x677860 "",
> revision1=0x7fffffffe378, path2=0x677868 "",
> revision2=0x7fffffffe388, relative_to_dir=0x0, depth=svn_depth_unknown,
> ignore_ancestry=1, no_diff_deleted=0,
> show_copies_as_adds=0, ignore_content_type=0, use_git_diff_format=0,
> header_encoding=0x1 <Address 0x1 out of bounds>,
> outfile=0x67f878, errfile=0x67f8e8, changelists=0x649518, ctx=0x649c50,
> pool=0x6777e8) at subversion/libsvn_client/diff.c:2073
> diff_params = {path1 = 0x677860 "", revision1 = 0x7fffffffe378, path2
> = 0x677868 "", revision2 = 0x7fffffffe388,
> peg_revision = 0x7fffffffdea0, depth = svn_depth_unknown,
> ignore_ancestry = 1, no_diff_deleted = 0, show_copies_as_adds = 0,
> changelists = 0x649518}
> diff_cmd_baton = {diff_cmd = 0x0, options = {for_internal = 0x6778c0,
> for_external = {argv = 0x6778c0, argc = 8}},
> pool = 0x6777e8, outfile = 0x67f878, errfile = 0x67f8e8,
> header_encoding = 0x1 <Address 0x1 out of bounds>,
> orig_path_1 = 0x677860 "", orig_path_2 = 0x677868 "", revnum1 =
> 979365, revnum2 = -1, force_binary = 0, force_empty = 0,
> relative_to_dir = 0x0, use_git_diff_format = 0, wc_ctx = 0x649d08,
> visited_paths = 0x677958}
> diff_callbacks = {file_changed = 0x7ffff7b9527a <diff_file_changed>,
> file_added = 0x7ffff7b953dd <diff_file_added>,
> file_deleted = 0x7ffff7b9574f <diff_file_deleted_with_diff>,
> dir_added = 0x7ffff7b958b9 <diff_dir_added>,
> dir_deleted = 0x7ffff7b958fe <diff_dir_deleted>, dir_props_changed
> = 0x7ffff7b94333 <diff_props_changed>,
> dir_opened = 0x7ffff7b95943 <diff_dir_opened>, dir_closed =
> 0x7ffff7b95988 <diff_dir_closed>}
> peg_revision = {kind = svn_opt_revision_unspecified, value = {number
> = 0, date = 0}}
> #10 0x000000000040c8ba in svn_cl__diff (os=0x6494b8, baton=0x7fffffffe350,
> pool=0x649268) at subversion/svn/diff-cmd.c:340
> svn_err__temp = 0x28
> path = 0x67f9e8 ""
> target1 = 0x677860 ""
> target2 = 0x677868 ""
> opt_state = 0x7fffffffe370
> ctx = 0x649c50
> options = 0x0
> targets = 0x67f9a0
> outfile = 0x67f878
> errfile = 0x67f8e8
> status = 0
> old_target = 0x424b9c ""
> new_target = 0x424b9c ""
> iterpool = 0x6777e8
> pegged_diff = 0
> i = 0
> summarize_func = 0x40bac5 <summarize_regular>
> #11 0x000000000041569b in main (argc=2, argv=0x7fffffffe6d8) at
> subversion/svn/main.c:2331
> err = 0x0
> allocator = 0x649180
> pool = 0x649268
> opt_id = 32767
> os = 0x6494b8
> opt_state = {revision_ranges = 0x649490, start_revision = {kind =
> svn_opt_revision_base, value = {number = 0, date = 0}},
> end_revision = {kind = svn_opt_revision_working, value = {number =
> 0, date = 0}}, used_change_arg = 0,
> used_revision_arg = 0, limit = 0, depth = svn_depth_unknown,
> no_unlock = 0, message = 0x0, ancestor_path = 0x0, force = 0,
> force_log = 0, incremental = 0, quiet = 0, non_interactive = 0,
> version = 0, verbose = 0, update = 0, strict = 0,
> filedata = 0x0, encoding = 0x0, help = 0, auth_username = 0x0,
> auth_password = 0x0, extensions = 0x0, targets = 0x0,
> xml = 0, no_ignore = 0, no_auth_cache = 0, no_diff_deleted = 0,
> show_copies_as_adds = 0, notice_ancestry = 0,
> ignore_ancestry = 0, ignore_externals = 0, stop_on_copy = 0,
> dry_run = 0, revprop = 0, diff_cmd = 0x0, merge_cmd = 0x0,
> editor_cmd = 0x0, record_only = 0, old_target = 0x0, new_target =
> 0x0, relocate = 0, config_dir = 0x0, config_options = 0x0,
> autoprops = 0, no_autoprops = 0, native_eol = 0x0, summarize = 0,
> remove = 0, changelists = 0x649518, changelist = 0x0,
> keep_changelists = 0, keep_local = 0, all_revprops = 0, no_revprops
> = 0, revprop_table = 0x0, parents = 0,
> use_merge_history = 0, accept_which = svn_cl__accept_unspecified,
> show_revs = svn_cl__show_revs_merged,
> set_depth = svn_depth_unknown, reintegrate = 0, trust_server_cert =
> 0, strip_count = 0, ignore_keywords = 0,
> reverse_diff = 0, ignore_whitespace = 0, show_diff = 0,
> internal_diff