Oops, my bad! You're absolutely right, that was 'svn diff' command. And this mistake was the reason of crash 'disappearing': after that I built svn 1.8.9 from sources and got the same crash again, so it is reproducible.
Here is a backtrace for `svn diff -r 1403046 ..` invocation: http://pastebin.com/DkfRVZmP. svn, version 1.8.9 (r1591380) compiled Jun 20 2014, 23:36:08 on x86_64-unknown-linux-gnu Built using gcc 4.7.2: gcc (Ubuntu/Linaro 4.7.2-2ubuntu2) 4.7.2 23.06.2014, 13:18, "Bert Huijben" <b...@qqmail.nl>: >> -----Original Message----- >> From: Mikhail Veltishchev [mailto:dichlofos...@yandex.ru] >> Sent: vrijdag 20 juni 2014 20:41 >> To: users@subversion.apache.org >> Subject: assertion failed / segfault in svn_ra_do_diff3 >> >> I recently caught a segfault / assertion fail in svn client. >> >> svn, version 1.8.5 (r1542147) >> compiled Dec 2 2013, 21:40:18 on x86_64-unknown-linux-gnu (built from >> sources on Ubuntu 12.04 LTS) >> >> It was a reproducible segfault at command something like that >> svn up -r XXXXXXX .. >> >> Here is a backtrace, all coredumps are saved for future analysis. >> >> 0x00007f58656ee425 in raise () from /lib/x86_64-linux-gnu/libc.so.6 >> #1 0x00007f58656f1b8b in abort () from /lib/x86_64-linux-gnu/libc.so.6 >> #2 0x00007f5865efcabe in svn_error_abort_on_malfunction >> (can_return=<optimized out>, file=<optimized out>, line=<optimized out>, >> expr=<optimized out>) at subversion/libsvn_subr/error.c:722 >> #3 0x00007f58665f6cdd in svn_ra_do_diff3 (session=0x1c83770, >> reporter=0x7fff6cc76f48, report_baton=0x7fff6cc76f98, revision=1403046, >> diff_target=<optimized out>, depth=<optimized out>, ignore_ancestry=1, >> text_deltas=1, versus >> _url=0x1bf41e8 >> "svn+ssh://arcadia.yandex.ru/arc/trunk/arcadia/yweb/robot/queuer", >> diff_editor=0x1bf48c8, diff_baton=0x1bf4948, pool=0x1bf3228) at >> subversion/libsvn_ra/ra_loader.c:870 >> #4 0x00007f5866ad0d73 in diff_repos_wc >> (path_or_url1=path_or_url1@entry=0x1c41b10 "..", >> revision1=revision1@entry=0x7fff6cc77568, >> peg_revision=peg_revision@entry=0x7fff6cc773b0, >> path2=path2@entry=0x1c41b10 "..", reverse=rever >> se@entry=0, depth=depth@entry=svn_depth_unknown, >> ignore_ancestry=ignore_ancestry@entry=1, >> show_copies_as_adds=show_copies_as_adds@entry=0, >> use_git_diff_format=use_git_diff_format@entry=0, >> changelists=changelists@entry=0x1bed79 >> 0, callbacks=callbacks@entry=0x7f5866d0acc0 <diff_callbacks>, >> callback_baton=callback_baton@entry=0x7fff6cc77190, >> cmd_baton=cmd_baton@entry=0x7fff6cc77190, ctx=ctx@entry=0x1bee980, >> scratch_pool=scratch_pool@entry=0x1bf3228, re >> vision2=0x7fff6cc77578) at subversion/libsvn_client/diff.c:2027 >> #5 0x00007f5866ad22d5 in do_diff >> (callback_baton=callback_baton@entry=0x7fff6cc77190, >> ctx=ctx@entry=0x1bee980, path_or_url1=path_or_url1@entry=0x1c41b10 >> "..", path_or_url2=path_or_url2@entry=0x1c41b10 "..", revision1=revision >> 1@entry=0x7fff6cc77568, revision2=revision2@entry=0x7fff6cc77578, >> peg_revision=peg_revision@entry=0x7fff6cc773b0, >> depth=depth@entry=svn_depth_unknown, >> ignore_ancestry=ignore_ancestry@entry=1, >> show_copies_as_adds=show_copies_as >> _adds@entry=0, use_git_diff_format=use_git_diff_format@entry=0, >> changelists=changelists@entry=0x1bed790, pool=pool@entry=0x1bf3228, >> callbacks=0x7f5866d0acc0 <diff_callbacks>) at >> subversion/libsvn_client/diff.c:2090 >> #6 0x00007f5866ad3b9a in svn_client_diff_peg6 >> (options=options@entry=0x0, path_or_url=0x1c41b10 "..", >> peg_revision=peg_revision@entry=0x7fff6cc773b0, >> start_revision=start_revision@entry=0x7fff6cc77568, >> end_revision=end_revisi >> on@entry=0x7fff6cc77578, relative_to_dir=relative_to_dir@entry=0x0, >> depth=svn_depth_unknown, ignore_ancestry=1, no_diff_added=0, >> no_diff_deleted=0, >> show_copies_as_adds=show_copies_as_adds@entry=0, >> ignore_content_type=0, ignore >> _properties=ignore_properties@entry=0, properties_only=0, >> use_git_diff_format=0, header_encoding=0x1 <error: Cannot access >> memory at address 0x1>, outstream=outstream@entry=0x1c418d0, >> errstream=errstream@entry=0x1c419a0, chang >> elists=0x1bed790, ctx=ctx@entry=0x1bee980, pool=pool@entry=0x1bf3228) >> at subversion/libsvn_client/diff.c:2677 >> #7 0x000000000040bc59 in svn_cl__diff (os=<optimized out>, >> baton=<optimized out>, pool=0x1bed1f8) at subversion/svn/diff-cmd.c:441 >> #8 0x000000000041ad13 in sub_main (argc=argc@entry=5, >> argv=argv@entry=0x7fff6cc77878, pool=pool@entry=0x1bed1f8) at >> subversion/svn/svn.c:2878 >> #9 0x0000000000406c5d in main (argc=5, argv=0x7fff6cc77878) at >> subversion/svn/svn.c:2969 > > This stacktrace is for some invocation of 'svn diff'. There is no way you > can get this for an invocation of 'svn update' > (Update doesn't use any of the UI level diff logic) > > So either you are using bad debug symbols, or you are mixing different > problems. >> Here is an locals info for svn_ra_do_diff3 call: >> >> #4 0x00007f5866ad0d73 in diff_repos_wc >> (path_or_url1=path_or_url1@entry=0x1c41b10 "..", >> revision1=revision1@entry=0x7fff6cc77568, >> peg_revision=peg_revision@entry=0x7fff6cc773b0, >> path2=path2@entry=0x1c41b10 "..", reverse=rever >> se@entry=0, depth=depth@entry=svn_depth_unknown, >> ignore_ancestry=ignore_ancestry@entry=1, >> show_copies_as_adds=show_copies_as_adds@entry=0, >> use_git_diff_format=use_git_diff_format@entry=0, > > This is another reference to 'svn diff' > > Git diff format is a UI level diff support flag, which was also abused for > the working copy walker in 1.8, but it is unrelated to svn update. >> changelists=changelists@entry=0x1bed79 >> 0, callbacks=callbacks@entry=0x7f5866d0acc0 <diff_callbacks>, >> callback_baton=callback_baton@entry=0x7fff6cc77190, >> cmd_baton=cmd_baton@entry=0x7fff6cc77190, ctx=ctx@entry=0x1bee980, >> scratch_pool=scratch_pool@entry=0x1bf3228, re >> vision2=0x7fff6cc77578) at subversion/libsvn_client/diff.c:2027 >> (gdb) info locals >> svn_err__temp = <optimized out> >> url1 = 0x1bf41e8 >> "svn+ssh://arcadia.yandex.ru/arc/trunk/arcadia/yweb/robot/queuer" >> anchor = 0x1bf3cd8 "" >> anchor_url = 0x1bf40d8 >> "svn+ssh://arcadia.yandex.ru/arc/trunk/arcadia/yweb/robot/queuer/dump >> dups" >> target = 0x1bf3ce0 ".." >> rev = 1403046 >> ra_session = 0x1c83770 >> diff_depth = svn_depth_unknown >> reporter = <optimized out> >> reporter_baton = <optimized out> >> diff_editor = 0x1bf48c8 >> diff_edit_baton = 0x1bf4948 >> rev2_is_base = 0 >> server_supports_depth = 1 >> abspath_or_url1 = 0x1bf3420 >> "/fasthd/mvel/trunk/arcadia/yweb/robot/queuer" >> abspath2 = 0x1bf3ac8 "/fasthd/mvel/trunk/arcadia/yweb/robot/queuer" >> anchor_abspath = 0x1bf3e18 >> "/fasthd/mvel/trunk/arcadia/yweb/robot/queuer/dumpdups" >> kind1 = svn_node_dir >> kind2 = svn_node_dir >> is_copy = 0 >> cf_revision = <optimized out> >> cf_repos_relpath = <optimized out> >> cf_repos_root_url = <optimized out> >> pool = 0x1bf3228 >> >> ... and from next stack: >> svn_err__temp = 0 >> >> others are optimized out. >> >> After repo updating this crash disappeared. Before that crash I updated >> 'arcadia/yweb/robot/queuer' subtree to different revision (1403046) a >> couple of times and rolled it back to 1403047. > > Bert >> -- >> Best regards, Mikhail Veltishchev [Software Dev @ Yandex] >> mailto:dichlofos...@yandex.ru -- Best regards, Mikhail Veltishchev [Software Dev @ Yandex] J: dichlofo...@jabber.ru [home] m...@jabber.ru [work] ICQ: 7575717