This commit makes all three buildslaves fail, with test failures in most
of the merge_tests and diff_tests. I ran merge_tests.py 1 locally with a
build from trunk@23204 and got the attached stacktrace. Apparently svn
is crashing on merging and diffing.
Unless someone has a quick solution, I'd rather revert this patch for now.
Lieven
bhuvan@tigris.org wrote:
> Author: bhuvan
> Date: Tue Jan 23 23:35:25 2007
> New Revision: 23204
>
> Log:
> Destroy the APR subpool before every successful return statement.
>
> [in subversion/libsvn_client/]
> * delete.c
> (delete_urls):
> * repos_diff.c
> (svn_client__get_diff_editor):
> * externals.c
> (switch_external):
> * list.c
> (get_dir_contents):
> Destroy the APR subpool before returning successfully to prevent
> iterative pool creation.
>
> Approved by: dlr
> Patch by: me
>
>
> Modified:
> trunk/subversion/libsvn_client/delete.c
> trunk/subversion/libsvn_client/externals.c
> trunk/subversion/libsvn_client/list.c
> trunk/subversion/libsvn_client/repos_diff.c
>
> Modified: trunk/subversion/libsvn_client/delete.c
> URL: http://svn.collab.net/viewvc/svn/trunk/subversion/libsvn_client/delete.c?pathrev=23204&r1=23203&r2=23204
> ==============================================================================
> --- trunk/subversion/libsvn_client/delete.c (original)
> +++ trunk/subversion/libsvn_client/delete.c Tue Jan 23 23:35:25 2007
> @@ -155,7 +155,10 @@
> SVN_ERR(svn_client__get_log_msg(&log_msg, &tmp_file, commit_items,
> ctx, pool));
> if (! log_msg)
> - return SVN_NO_ERROR;
> + {
> + svn_pool_destroy(subpool);
> + return SVN_NO_ERROR;
> + }
> }
> else
> log_msg = "";
>
> Modified: trunk/subversion/libsvn_client/externals.c
> URL: http://svn.collab.net/viewvc/svn/trunk/subversion/libsvn_client/externals.c?pathrev=23204&r1=23203&r2=23204
> ==============================================================================
> --- trunk/subversion/libsvn_client/externals.c (original)
> +++ trunk/subversion/libsvn_client/externals.c Tue Jan 23 23:35:25 2007
> @@ -200,6 +200,7 @@
> TRUE, FALSE, FALSE,
> timestamp_sleep, ctx,
> pool));
> + svn_pool_destroy(subpool);
> return SVN_NO_ERROR;
> }
> else if (entry->repos)
> @@ -239,6 +240,7 @@
> TRUE, timestamp_sleep,
> FALSE, ctx, subpool));
>
> + svn_pool_destroy(subpool);
> return SVN_NO_ERROR;
> }
> }
>
> Modified: trunk/subversion/libsvn_client/list.c
> URL: http://svn.collab.net/viewvc/svn/trunk/subversion/libsvn_client/list.c?pathrev=23204&r1=23203&r2=23204
> ==============================================================================
> --- trunk/subversion/libsvn_client/list.c (original)
> +++ trunk/subversion/libsvn_client/list.c Tue Jan 23 23:35:25 2007
> @@ -91,6 +91,7 @@
> list_func, baton, subpool));
> }
>
> + svn_pool_destroy(subpool);
> return SVN_NO_ERROR;
> }
>
>
> Modified: trunk/subversion/libsvn_client/repos_diff.c
> URL: http://svn.collab.net/viewvc/svn/trunk/subversion/libsvn_client/repos_diff.c?pathrev=23204&r1=23203&r2=23204
> ==============================================================================
> --- trunk/subversion/libsvn_client/repos_diff.c (original)
> +++ trunk/subversion/libsvn_client/repos_diff.c Tue Jan 23 23:35:25 2007
> @@ -956,5 +956,6 @@
> edit_baton,
> pool));
>
> + svn_pool_destroy(subpool);
> return SVN_NO_ERROR;
> }
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: svn-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: svn-help@subversion.tigris.org
>
>
>
Process info:
Cmd line: "c:\devel\subversion\trunk\Debug\subversion\svn\svn.exe" "merge"
Version: 1.5.0 (dev build), compiled Jan 23 2007, 18:48:57
Platform: Windows OS version 5.1 build 2600 Service Pack 2
Exception: ACCESS_VIOLATION
Registers:
eax=532f6174 ebx=7ffde000 ecx=00c60130 edx=00c62388 esi=00000000 edi=00000045
eip=532f6174 esp=0012fac4 ebp=0012fae0 efl=00010246
cd=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000
Stacktrace:
#2 0x0049e6d8 in set_target_revision (edit_baton=0x00c60130, target_revision=3, pool=(apr_pool_t *) 0x00c440e0) at c:\devel\subversion\trunk\subversion\libsvn_delta\cancel.c:53
svn_err__temp = (svn_error_t *) 0x6eed642c
edit_baton = 0x00c60130
target_revision = 3
pool = (apr_pool_t *) 0x00c440e0
eb = (edit_baton *) 0x00c60130
#3 0x0049e6d8 in set_target_revision (edit_baton=0x00c62738, target_revision=3, pool=(apr_pool_t *) 0x00c440e0) at c:\devel\subversion\trunk\subversion\libsvn_delta\cancel.c:53
svn_err__temp = (svn_error_t *) 0x00c6a490
edit_baton = 0x00c62738
target_revision = 3
pool = (apr_pool_t *) 0x00c440e0
eb = (edit_baton *) 0x00c62738
#4 0x004bdae4 in drive (b=(report_baton_t *) 0x00c62748, s_rev=1, info=(path_info_t *) 0x00c63bd0, pool=(apr_pool_t *) 0x00c440e0) at c:\devel\subversion\trunk\subversion\libsvn_repos\reporter.c:838
svn_err__temp = (svn_error_t *) 0x00c440e0
b = (report_baton_t *) 0x00c62748
s_rev = 1
info = (path_info_t *) 0x00c63bd0
pool = (apr_pool_t *) 0x00c440e0
t_anchor = 0x00c601c1 ""
s_root = (svn_fs_root_t *) 0x00c64fd8
s_entry = (svn_fs_dirent_t *) 0x0012fb64
info_is_set_path = 5090638
root_baton = 0x00c62784
t_entry = (svn_fs_dirent_t *) 0x00c70430
allowed = 1
s_fullpath = 0x00c440e0 "ˆz?"
#5 0x004bd6a4 in finish_report (b=(report_baton_t *) 0x00c62748, pool=(apr_pool_t *) 0x00c440e0) at c:\devel\subversion\trunk\subversion\libsvn_repos\reporter.c:930
b = (report_baton_t *) 0x00c62748
pool = (apr_pool_t *) 0x00c440e0
subpool = (apr_pool_t *) 0x00c71410
info = (path_info_t *) 0x00c63bd0
offset = 0
i = 4
s_rev = 1
#6 0x004bd3f9 in svn_repos_finish_report (baton=0x00c62748, pool=(apr_pool_t *) 0x00c440e0) at c:\devel\subversion\trunk\subversion\libsvn_repos\reporter.c:1006
baton = 0x00c62748
pool = (apr_pool_t *) 0x00c440e0
close_err = (svn_error_t *) 0x00000000
b = (report_baton_t *) 0x00c62748
finish_err = (svn_error_t *) 0x00c440e0
#7 0x004b928a in reporter_finish_report (reporter_baton=0x00c63ba8, pool=(apr_pool_t *) 0x00c440e0) at c:\devel\subversion\trunk\subversion\libsvn_ra_local\ra_plugin.c:118
reporter_baton = 0x00c63ba8
pool = (apr_pool_t *) 0x00c440e0
rbaton = (reporter_baton_t *) 0x00c63ba8
#8 0x0045db51 in do_merge (initial_URL1=0x00c60ad0 "file:///C:/devel/subversion/trunk/Debug/subversion/tests/cmdline/svn-test-work/repositories/merge_tests-1", initial_path1=0x00000000 "(null)", initial_revision1=(svn_opt_revision_t *) 0x0012fe88, initial_URL2=0x00c60ad0 "file:///C:/devel/subversion/trunk/Debug/subversion/tests/cmdline/svn-test-work/repositories/merge_tests-1", initial_path2=0x00000000 "(null)", initial_revision2=(svn_opt_revision_t *) 0x0012fe98, peg_revision=(svn_opt_revision_t *) 0x0012fd64, target_wcpath=0x00c60a48 "C:/devel/subversion/trunk/Debug/subversion/tests/cmdline/svn-test-work/working_copies/merge_tests-1.other", adm_access=(svn_wc_adm_access_t *) 0x00c60e10, recurse=1, ignore_ancestry=0, callbacks=(svn_wc_diff_callbacks2_t *) 0x0054ded4, merge_b=(merge_cmd_baton *) 0x0012fcc4, pool=(apr_pool_t *) 0x00c440e0) at c:\devel\subversion\trunk\subversion\libsvn_client\diff.c:1820
svn_err__temp = (svn_error_t *) 0x00c60a48
initial_URL1 = 0x00c60ad0 "file:///C:/devel/subversion/trunk/Debug/subversion/tests/cmdline/svn-test-work/repositories/merge_tests-1"
initial_path1 = 0x00000000 "(null)"
initial_revision1 = (svn_opt_revision_t *) 0x0012fe88
initial_URL2 = 0x00c60ad0 "file:///C:/devel/subversion/trunk/Debug/subversion/tests/cmdline/svn-test-work/repositories/merge_tests-1"
initial_path2 = 0x00000000 "(null)"
initial_revision2 = (svn_opt_revision_t *) 0x0012fe98
peg_revision = (svn_opt_revision_t *) 0x0012fd64
target_wcpath = 0x00c60a48 "C:/devel/subversion/trunk/Debug/subversion/tests/cmdline/svn-test-work/working_copies/merge_tests-1.other"
adm_access = (svn_wc_adm_access_t *) 0x00c60e10
recurse = 1
ignore_ancestry = 0
callbacks = (svn_wc_diff_callbacks2_t *) 0x0054ded4
merge_b = (merge_cmd_baton *) 0x0012fcc4
pool = (apr_pool_t *) 0x00c440e0
revision2 = (svn_opt_revision_t *) 0x00c7fc10
reporter = (svn_ra_reporter2_t *) 0x005544c0
start_revnum = 1
ra_session = (svn_ra_session_t *) 0x00c7fd80
report_baton = 0x00c63ba8
diff_editor = (svn_delta_editor_t *) 0x00c600f0
path1 = 0x00000000 "(null)"
URL1 = 0x00c7fc40 "file:///C:/devel/subversion/trunk/Debug/subversion/tests/cmdline/svn-test-work/repositories/merge_tests-1"
revision1 = (svn_opt_revision_t *) 0x00c7fc00
ctx = (svn_client_ctx_t *) 0x00c446d8
end_revnum = 3
ra_session2 = (svn_ra_session_t *) 0x00c685c0
diff_edit_baton = 0x00c60130
URL2 = 0x00c7fcd0 "file:///C:/devel/subversion/trunk/Debug/subversion/tests/cmdline/svn-test-work/repositories/merge_tests-1"
path2 = 0x00000000 "(null)"
#9 0x0045e340 in svn_client_merge_peg2 (source=0x00c60ad0 "file:///C:/devel/subversion/trunk/Debug/subversion/tests/cmdline/svn-test-work/repositories/merge_tests-1", revision1=(svn_opt_revision_t *) 0x0012fe88, revision2=(svn_opt_revision_t *) 0x0012fe98, peg_revision=(svn_opt_revision_t *) 0x0012fd64, target_wcpath=0x00c60a48 "C:/devel/subversion/trunk/Debug/subversion/tests/cmdline/svn-test-work/working_copies/merge_tests-1.other", recurse=1, ignore_ancestry=0, force=0, dry_run=1, merge_options=(apr_array_header_t *) 0x00000000, ctx=(svn_client_ctx_t *) 0x00c446d8, pool=(apr_pool_t *) 0x00c440e0) at c:\devel\subversion\trunk\subversion\libsvn_client\diff.c:2978
svn_err__temp = (svn_error_t *) 0x0012fcd4
source = 0x00c60ad0 "file:///C:/devel/subversion/trunk/Debug/subversion/tests/cmdline/svn-test-work/repositories/merge_tests-1"
revision1 = (svn_opt_revision_t *) 0x0012fe88
revision2 = (svn_opt_revision_t *) 0x0012fe98
peg_revision = (svn_opt_revision_t *) 0x0012fd64
target_wcpath = 0x00c60a48 "C:/devel/subversion/trunk/Debug/subversion/tests/cmdline/svn-test-work/working_copies/merge_tests-1.other"
recurse = 1
ignore_ancestry = 0
force = 0
dry_run = 1
merge_options = (apr_array_header_t *) 0x00000000
ctx = (svn_client_ctx_t *) 0x00c446d8
pool = (apr_pool_t *) 0x00c440e0
path = 0x00000000 "(null)"
entry = (svn_wc_entry_t *) 0x00c60f10
adm_access = (svn_wc_adm_access_t *) 0x00c60e10
merge_cmd_baton = (merge_cmd_baton) 0x0012fcc4
URL = 0x00c60ad0 "file:///C:/devel/subversion/trunk/Debug/subversion/tests/cmdline/svn-test-work/repositories/merge_tests-1"
#10 0x00409aab in svn_cl__merge (os=(apr_getopt_t *) 0x00c441f8, baton=0x0012fe80, pool=(apr_pool_t *) 0x00c440e0) at c:\devel\subversion\trunk\subversion\svn\merge-cmd.c:174
os = (apr_getopt_t *) 0x00c441f8
baton = 0x0012fe80
pool = (apr_pool_t *) 0x00c440e0
targets = (apr_array_header_t *) 0x00c60570
sourcepath1 = 0x00c60ad0 "file:///C:/devel/subversion/trunk/Debug/subversion/tests/cmdline/svn-test-work/repositories/merge_tests-1"
err = (svn_error_t *) 0x00c45f88
peg_revision = (svn_opt_revision_t) 0x0012fd64
ctx = (svn_client_ctx_t *) 0x00c446d8
targetpath = 0x00c60a48 "C:/devel/subversion/trunk/Debug/subversion/tests/cmdline/svn-test-work/working_copies/merge_tests-1.other"
using_alternate_syntax = 1
options = (apr_array_header_t *) 0x00000000
sourcepath2 = 0x00c60ad0 "file:///C:/devel/subversion/trunk/Debug/subversion/tests/cmdline/svn-test-work/repositories/merge_tests-1"
opt_state = (svn_cl__opt_state_t *) 0x0012fe88
#11 0x00408cd5 in main (argc=7, argv=0x003f6610) at c:\devel\subversion\trunk\subversion\svn\main.c:1559
argc = 7
argv = 0x003f6610
pool = (apr_pool_t *) 0x00c440e0
os = (apr_getopt_t *) 0x00c441f8
err = (svn_error_t *) 0x00000000
dash_m_arg = 0x00000000 "(null)"
cfg = (svn_config_t *) 0x00c45560
used_change_arg = 0
ctx = (svn_client_ctx_t *) 0x00c446d8
subcommand = (svn_opt_subcommand_desc2_t *) 0x005493d0
#12 0x0048b6c6 in __tmainCRTStartup () at f:\rtm\vctools\crt_bld\self_x86\crt\src\crtexe.c:586
lock_free = 0x00000000
fiberid = 0x00130000
nested = 0
#13 0x0048b51d in mainCRTStartup () at f:\rtm\vctools\crt_bld\self_x86\crt\src\crtexe.c:403
#14 0x7c816fd7 in RegisterWaitForInputIdle ()
Loaded modules:
0x00400000 C:\devel\subversion\trunk\Debug\subversion\svn\svn.exe (1.5.0.0, 1761280 bytes)
0x7c900000 C:\WINDOWS\system32\ntdll.dll (5.1.2600.2180, 720896 bytes)
0x7c800000 C:\WINDOWS\system32\kernel32.dll (5.1.2600.2945, 999424 bytes)
0x6ee60000 C:\Program Files\Apache Group\Apache2\bin\libaprutil.dll (0.9.12.0, 245760 bytes)
0x6ee50000 C:\Program Files\Apache Group\Apache2\bin\libapriconv.dll (0.9.7.0, 36864 bytes)
0x6eec0000 C:\Program Files\Apache Group\Apache2\bin\libapr.dll (0.9.12.0, 184320 bytes)
0x71ab0000 C:\WINDOWS\system32\ws2_32.dll (5.1.2600.2180, 94208 bytes)
0x77c10000 C:\WINDOWS\system32\msvcrt.dll (7.0.2600.2180, 360448 bytes)
0x71aa0000 C:\WINDOWS\system32\ws2help.dll (5.1.2600.2180, 32768 bytes)
0x77dd0000 C:\WINDOWS\system32\advapi32.dll (5.1.2600.2180, 634880 bytes)
0x77e70000 C:\WINDOWS\system32\rpcrt4.dll (5.1.2600.2180, 593920 bytes)
0x71a50000 C:\WINDOWS\system32\mswsock.dll (5.1.2600.2180, 258048 bytes)
0x10200000 C:\WINDOWS\WinSxS\x86_Microsoft.VC80.DebugCRT_1fc8b3b9a1e18e3b_8.0.50727.42_x-ww_f75eb16c\msvcr80d.dll (8.0.50727.42, 1179648 bytes)
0x76780000 C:\WINDOWS\system32\shfolder.dll (6.0.2900.2180, 36864 bytes)
0x10000000 C:\ruby\bin\libeay32.dll (0.0.0.0, 864256 bytes)
0x71ad0000 C:\WINDOWS\system32\wsock32.dll (5.1.2600.2180, 36864 bytes)
0x77f10000 C:\WINDOWS\system32\gdi32.dll (5.1.2600.2818, 290816 bytes)
0x77d40000 C:\WINDOWS\system32\user32.dll (5.1.2600.2622, 589824 bytes)
0x00350000 C:\ruby\bin\ssleay32.dll (0.0.0.0, 159744 bytes)
0x78130000 C:\WINDOWS\WinSxS\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.42_x-ww_0de06acd\msvcr80.dll (8.0.50727.42, 634880 bytes)
0x13000000 C:\Program Files\Apache Group\Apache2\bin\libdb44d.dll (4.0.4.20, 1482752 bytes)
0x10480000 C:\WINDOWS\WinSxS\x86_Microsoft.VC80.DebugCRT_1fc8b3b9a1e18e3b_8.0.50727.42_x-ww_f75eb16c\msvcp80d.dll (8.0.50727.42, 1032192 bytes)
0x76390000 C:\WINDOWS\system32\imm32.dll (5.1.2600.2180, 118784 bytes)
0x00af0000 C:\WINDOWS\system32\wxvault.dll (5.3.0.15, 405504 bytes)
0x76bf0000 C:\WINDOWS\system32\psapi.dll (5.1.2600.2180, 45056 bytes)
0x71b20000 C:\WINDOWS\system32\mpr.dll (5.1.2600.2180, 73728 bytes)
0x77c00000 C:\WINDOWS\system32\version.dll (5.1.2600.2180, 32768 bytes)
0x77f60000 C:\WINDOWS\system32\shlwapi.dll (6.0.2900.2995, 483328 bytes)
0x00b60000 C:\WINDOWS\system32\detoured.dll (0.0.0.0, 20480 bytes)
0x7c9c0000 C:\WINDOWS\system32\shell32.dll (6.0.2900.2951, 8474624 bytes)
0x773d0000 C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.2982_x-ww_ac3f9c03\comctl32.dll (6.0.2900.2982, 1060864 bytes)
0x5d090000 C:\WINDOWS\system32\comctl32.dll (5.82.2900.2982, 630784 bytes)
0x6ee40000 C:\Program Files\Subversion\iconv\_tbl_simple.so (0.0.0.0, 20480 bytes)
0x6e060000 C:\Program Files\Subversion\iconv\windows-1252.so (0.0.0.0, 24576 bytes)
0x6ed50000 C:\Program Files\Subversion\iconv\utf-8.so (0.0.0.0, 20480 bytes)
0x03000000 C:\devel\subversion\trunk\Debug\subversion\svn\dbghelp.dll (6.6.7.5, 1134592 bytes)
0x74ad0000 C:\WINDOWS\system32\powrprof.dll (6.0.2900.2180, 32768 bytes)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Wed Jan 24 22:00:02 2007