Hi,

Using Subversion 1.7.0-beta2, ra_serf.

It seems ra_serf attempts to free XML parser twice in some
circumstances. When performing switch between two branches I'm getting
the crash at:
>       libsvn_ra-1.dll!XML_ParserFree(XML_ParserStruct * parser=0x0f2474b0)  
> Line 1091 + 0x3f bytes    C
        libsvn_ra-1.dll!svn_ra_serf__handle_xml_parser(serf_request_t *
request=0x12957b48, serf_bucket_t * response=0x12630868, void *
baton=0x12618dc8, apr_pool_t * pool=0x12702428)  Line 1591 + 0x9
bytes   C

Full stack trace is attached.

Unfortunately I cannot reproduce this issue, but it happens from time to time.

-- 
Ivan Zhakov
        ntdll.dll!_RtlReportCriticalFailure@8()  + 0x57 bytes   
        ntdll.dll!_RtlpReportHeapFailure@4()  + 0x21 bytes      
        ntdll.dll!_RtlpLogHeapFailure@24()  + 0xa1 bytes        
        ntdll.dll!_RtlFreeHeap@12()  + 0x50010 bytes    
        kernel32.dll!_HeapFree@12()  + 0x14 bytes       
        msvcr90.dll!free(void * pBlock=0x125109b8)  Line 110    C
>       libsvn_ra-1.dll!XML_ParserFree(XML_ParserStruct * parser=0x0f2474b0)  
> Line 1091 + 0x3f bytes    C
        libsvn_ra-1.dll!svn_ra_serf__handle_xml_parser(serf_request_t * 
request=0x12957b48, serf_bucket_t * response=0x12630868, void * 
baton=0x12618dc8, apr_pool_t * pool=0x12702428)  Line 1591 + 0x9 bytes  C
        libsvn_ra-1.dll!handle_response(serf_request_t * request=0x12957b48, 
serf_bucket_t * response=0x125109b0, svn_ra_serf__handler_t * ctx=0x12618d88, 
int * serf_status=0x0e01e860, apr_pool_t * pool=0x12702428)  Line 1826 + 0x17 
bytes  C
        libsvn_ra-1.dll!handle_response_cb(serf_request_t * request=0x12957b48, 
serf_bucket_t * response=0x12630868, void * baton=0x00000000, apr_pool_t * 
pool=0x12702428)  Line 1858 + 0x2a bytes     C
        libsvn_ra-1.dll!handle_response(serf_request_t * request=0x00600000, 
apr_pool_t * pool=0x125109b0)  Line 849 + 0xf bytes        C
        libsvn_ra-1.dll!read_from_connection(serf_connection_t * 
conn=0x12952ac0)  Line 969 + 0xb bytes C
        libsvn_ra-1.dll!serf__process_connection(serf_connection_t * 
conn=0x12952ac0, short events=5)  Line 1071 + 0x7 bytes    C
        libsvn_ra-1.dll!serf_event_trigger(serf_context_t * s=0x1294d660, void 
* serf_baton=0x12952ac8, const apr_pollfd_t * desc=0x12952788)  Line 234 + 0xb 
bytes     C
        libsvn_ra-1.dll!serf_context_run(serf_context_t * ctx=0x00000001, int 
duration=-694967296, apr_pool_t * pool=0x12614070)  Line 296 + 0x8 bytes  C
        libsvn_ra-1.dll!finish_report(void * report_baton=0x1294b6c0, 
apr_pool_t * pool=0x1293f5f8)  Line 2370  C
        libsvn_wc-1.dll!svn_wc_crawl_revisions5(svn_wc_context_t * 
wc_ctx=0x12920630, const char * local_abspath=0x1293ff70, const 
svn_ra_reporter3_t * reporter=0x6c3621a8, void * report_baton=0x12940d70, int 
restore_files=1, svn_depth_t depth=-2, int honor_depth_exclude=1, int 
depth_compatibility_trick=0, int use_commit_times=0, svn_error_t * (void *)* 
cancel_func=0x063f4c70, void * cancel_baton=0x0a01c958, void (void *, const 
svn_wc_notify_t *, apr_pool_t *)* notify_func=0x063f4f20, void * 
notify_baton=0x11ff0188, apr_pool_t * scratch_pool=0x1293f5f8)  Line 861 + 0xb 
bytes   C
        libsvn_client-1.dll!switch_internal(long * result_rev=0x0e01eb88, const 
char * local_abspath=0x1293ff70, const char * anchor_abspath=0x129400c0, const 
char * switch_url=0x1293fee8, const svn_opt_revision_t * 
peg_revision=0x0e01eb78, const svn_opt_revision_t * revision=0x0e01eb68, 
svn_depth_t depth=-2, int depth_is_sticky=0, int ignore_externals=0, int 
allow_unver_obstructions=1, int ignore_ancestry=1, int * 
timestamp_sleep=0x1294b6b0, svn_client_ctx_t * ctx=0x000062ba, apr_pool_t * 
pool=0x1293f5f8)  Line 266 + 0x52 bytes  C
        libsvn_client-1.dll!svn_client__switch_internal(long * 
result_rev=0x0e01eb88, const char * path=0x1293ff70, const char * 
switch_url=0x1293fee8, const svn_opt_revision_t * peg_revision=0x0e01eb78, 
const svn_opt_revision_t * revision=0x0e01eb68, svn_depth_t depth=-2, int 
depth_is_sticky=0, int ignore_externals=0, int allow_unver_obstructions=1, int 
ignore_ancestry=1, int * timestamp_sleep=0x00000000, svn_client_ctx_t * 
ctx=0x129205d0, apr_pool_t * pool=0x1293f5f8)  Line 365 + 0x43 bytes       C
        libsvn_client-1.dll!svn_client_switch3(long * result_rev=0x0e01eb88, 
const char * path=0x1293fa50, const char * switch_url=0x1293fee8, const 
svn_opt_revision_t * peg_revision=0x0e01eb78, const svn_opt_revision_t * 
revision=0x0e01eb68, svn_depth_t depth=-2, int depth_is_sticky=0, int 
ignore_externals=0, int allow_unver_obstructions=1, int ignore_ancestry=1, 
svn_client_ctx_t * ctx=0x129205d0, apr_pool_t * pool=0x1293f5f8)  Line 397 + 
0x3f bytes  C
        libsvn_client-1.dll!svn_client_switch2(long * result_rev=0x6c506697, 
const char * path=0x00000000, const char * switch_url=0x0e01ecf0, const 
svn_opt_revision_t * peg_revision=0x0e01ecb4, const svn_opt_revision_t * 
revision=0x00000000, svn_depth_t depth=235006884, int depth_is_sticky=1, int 
ignore_externals=235006932, int allow_unver_obstructions=0, svn_client_ctx_t * 
ctx=0x052d81f0, apr_pool_t * pool=0x0e01ebb8)  Line 2052 + 0x3e bytes C
        mscorwks.dll!__EH_epilog3_GS()  + 0xa bytes     
        mscorwks.dll!_CallDescrWorker@20()  + 0x33 bytes        
        mscorwks.dll!_CallDescrWorkerWithHandler@24()  + 0x9f bytes     
        mscorwks.dll!CallDescrWithObjectArray()  + 0x334 bytes  
        mscorwks.dll!CStackBuilderSink::PrivateProcessMessage()  + 0x2d7 bytes  
        mscorlib.ni.dll!5cec95c3()      
        [Frames below may be incorrect and/or missing, no symbols loaded for 
mscorlib.ni.dll]   
        mscorlib.ni.dll!5d4b1bca()      
        mscorlib.ni.dll!5d4c5986()      
        mscorlib.ni.dll!5d4c5948()      
        mscorlib.ni.dll!5cf19fcf()      
        mscorlib.ni.dll!5cf302ff()      
        mscorlib.ni.dll!5cf1a533()      
        mscorlib.ni.dll!5cf1a3c9()      
        mscorwks.dll!_CallDescrWorker@20()  + 0x33 bytes        
        mscorwks.dll!_CallDescrWorkerWithHandler@24()  + 0x9f bytes     
        mscorwks.dll!DispatchCallBody()  + 0x1e bytes   
        mscorwks.dll!DispatchCallDebuggerWrapper()  + 0x3d bytes        
        mscorwks.dll!DispatchCallNoEH()  + 0x35 bytes   
        mscorwks.dll!QueueUserWorkItemManagedCallback()  + 0x40 bytes   
        mscorwks.dll!Thread::DoADCallBack()  - 0x15bf bytes     
        mscorwks.dll!Thread::ShouldChangeAbortToUnload()  - 0x737 bytes 
        mscorwks.dll!Thread::ShouldChangeAbortToUnload()  - 0x811 bytes 
        mscorwks.dll!Thread::ShouldChangeAbortToUnload()  - 0x685 bytes 
        mscorwks.dll!ManagedThreadBase::ThreadPool()  + 0x13 bytes      
        mscorwks.dll!ManagedPerAppDomainTPCount::DispatchWorkItem()  + 0xc2 
bytes       
        mscorwks.dll!ThreadpoolMgr::ExecuteWorkRequest()  + 0x7d bytes  
        mscorwks.dll!ThreadpoolMgr::WorkerThreadStart()  + 0x121 bytes  
        mscorwks.dll!Thread::intermediateThreadProc()  + 0x46 bytes     
        kernel32.dll!@BaseThreadInitThunk@12()  + 0x12 bytes    
        ntdll.dll!___RtlUserThreadStart@8()  + 0x27 bytes       
        ntdll.dll!__RtlUserThreadStart@8()  + 0x1b bytes        

Reply via email to