Dear users, I keep getting some application crash in openssl module, I checked the dumps and stacks and found that although the stacks vary, the ssl_accept function is found on all of them, below are some of exmaples. I google the related information about this, looks like there is some problem when calling ssl_accept under multi-thread circumstance. My question is, is it possible that calling ssl_accept in multi-threading circumstance will result in app to crash?
-------------------------------------------------- OpenSSL version, extracted from the README file OpenSSL 1.0.1 14 Mar 2012 --------------------------------------------------------------------------------- OS version and platform: Windows Server 2008 R2 Enterprise Edition 6.1 SP 1. 0:014> kb ChildEBP RetAddr Args to Child 01fbdeb0 769dc752 00000002 01fbe06c 00000001 ntdll!NtWaitForMultipleObjects+0xc 01fbe034 74fe564b 00000002 00000000 00000000 KERNELBASE!WaitForMultipleObjectsEx+0x10b 01fbe0a8 74fe57f5 01fbe194 01fbe194 00000000 kernel32!WerpReportFaultInternal+0x1c4 01fbe0bc 74fb780f 01fbe194 01fbe164 76a608dc kernel32!WerpReportFault+0x6d 01fbe0c8 76a608dc 01fbe194 00000001 d4795733 kernel32!BasepReportFault+0x19 01fbe164 7743bf2c 01fbe194 774030b4 fffffffe KERNELBASE!UnhandledExceptionFilter+0x1f1 01fbe16c 774030b4 fffffffe 7740e728 01fbffd4 ntdll!__RtlUserThreadStart+0x57 01fbe180 773c5246 00000000 00000000 00000000 ntdll!_EH4_CallFilterFunc+0x12 01fbe1a8 773c51b1 774ae1e0 773ef810 00000000 ntdll!_except_handler4_common+0x8e 01fbe1c8 77402e71 01fbe2cc 01fbffc4 01fbe31c ntdll!_except_handler4+0x20 01fbe1ec 77402e43 01fbe2cc 01fbffc4 01fbe31c ntdll!ExecuteHandler2+0x26 01fbe2b4 77402cbb 01fbe2cc 01fbe31c 01fbe2cc ntdll!ExecuteHandler+0x24 01fbe2b4 004f105b 01fbe2cc 01fbe31c 01fbe2cc ntdll!KiUserExceptionDispatcher+0xf 01fbe784 004f12c3 00000000 02f51ad8 00572538 libeay32!asn1_item_combine_free+0x1b 01fbe798 004f11c0 00000008 00572498 02f51ad8 libeay32!ASN1_template_free+0x93 01fbe7bc 004f12c3 00000000 01fbe80c 005725a8 libeay32!asn1_item_combine_free+0x180 01fbe7d0 004f11c0 02f51ad8 0057256c 01fbe80c libeay32!ASN1_template_free+0x93 01fbe7f4 004f12e1 00000000 0000007b 02b53338 libeay32!asn1_item_combine_free+0x180 01fbe804 004ed97f 02f51ad8 005725a8 003d6628 libeay32!ASN1_item_free+0x11 01fbe810 003d6628 02f51ad8 02b53338 003d7121 libeay32!X509_free+0xf 01fbe81c 003d7121 02b53338 00000001 003d713e ssleay32!SSL_SESSION_free+0x88 01fbe828 003d713e 02b8d328 004d4ec3 02b53338 ssleay32!timeout_doall_arg+0x51 01fbe830 004d4ec3 02b53338 01fbe888 00000100 ssleay32!timeout_LHASH_DOALL_ARG+0xe 01fbe848 004d4f4c 00fbeea0 00000000 003d7130 libeay32!doall_util_fn+0x33 01fbe860 003d719a 00fbeea0 003d7130 01fbe888 libeay32!lh_doall_arg+0x1c 01fbe890 003d3a65 01681048 53069705 00000000 ssleay32!SSL_CTX_flush_sessions+0x5a 01fbe8b8 003b93a0 02d719f8 00000002 77230b8a ssleay32!ssl_update_cache+0xe5 01fbe8e4 003d557d 00000003 00000002 00407c29 ssleay32!ssl3_accept+0x950 01fbe8f0 00407c29 02d719f8 a298a10e 02ae8830 ssleay32!SSL_accept+0x1d ... 0:015> kb ChildEBP RetAddr Args to Child 02ceddf8 76cec752 00000002 02cedfb4 00000001 ntdll!NtWaitForMultipleObjects+0xc 02cedf7c 7690564b 00000002 00000000 00000000 KERNELBASE!WaitForMultipleObjectsEx+0x10b 02cedff0 769057f5 02cee0dc 02cee0dc 00000000 kernel32!WerpReportFaultInternal+0x1c4 02cee004 768d780f 02cee0dc 02cee0ac 76d708dc kernel32!WerpReportFault+0x6d 02cee010 76d708dc 02cee0dc 00000001 c33b8f5c kernel32!BasepReportFault+0x19 02cee0ac 7775bf2c 02cee0dc 777230b4 fffffffe KERNELBASE!UnhandledExceptionFilter+0x1f1 02cee0b4 777230b4 fffffffe 7772e728 02ceffd4 ntdll!__RtlUserThreadStart+0x57 02cee0c8 776e5246 00000000 00000000 00000000 ntdll!_EH4_CallFilterFunc+0x12 02cee0f0 776e51b1 777ce1e0 7770f810 00000000 ntdll!_except_handler4_common+0x8e 02cee110 77722e71 02cee214 02ceffc4 02cee264 ntdll!_except_handler4+0x20 02cee134 77722e43 02cee214 02ceffc4 02cee264 ntdll!ExecuteHandler2+0x26 02cee1fc 77722cbb 02cee214 02cee264 02cee214 ntdll!ExecuteHandler+0x24 02cee1fc 77731c10 02cee214 02cee264 02cee214 ntdll!KiUserExceptionDispatcher+0xf 02cee6d8 7773521c 00f10000 1668b140 00000e00 ntdll!RtlpHeapFreeListCompare+0x12 02cee6f8 77731c77 00f10000 0000077f 77731bfe ntdll!RtlpHeapFindListLookupEntry+0x74 02cee720 77735cc1 00f10000 00000e00 0258a000 ntdll!RtlpFindEntry+0x49 02cee748 776ff85b 00f10000 00000400 00000e00 ntdll!RtlpInsertFreeBlock+0x17d 02cee79c 7773b1db 00f10000 0258a000 00000e00 ntdll!RtlpDeCommitFreeBlock+0x9d 02cee824 77732664 0258a000 0258a008 00000000 ntdll!RtlpFreeHeap+0x219 02cee848 74b74c39 00f10000 00000000 0258a008 ntdll!RtlFreeHeap+0x206 02cee894 004825bd 0258a008 013c9460 004bd045 msvcr80!free+0xcd 02cee8a0 004bd045 0258a008 0258a008 00000000 libeay32!CRYPTO_free+0x1d 02cee8b8 00379377 013c9460 02811908 74d60b8a libeay32!BUF_MEM_free+0x25 02cee8e4 0039557d 00000003 00000002 00407c29 ssleay32!ssl3_accept+0x927 02cee8f0 00407c29 02811908 b5ab33b8 024d80c0 ssleay32!SSL_accept+0x1d ... ntdll!NtWaitForMultipleObjects+0x15 KERNELBASE!WaitForMultipleObjectsEx+0x100 kernel32!WaitForMultipleObjectsExImplementation+0xe0 kernel32!WaitForMultipleObjects+0x18 kernel32!WerpReportFaultInternal+0x186 kernel32!WerpReportFault+0x70 kernel32!BasepReportFault+0x20 kernel32!UnhandledExceptionFilter+0x1af ntdll!__RtlUserThreadStart+0x62 ntdll!_EH4_CallFilterFunc+0x12 ntdll!_except_handler4+0x8e ntdll!ExecuteHandler2+0x26 ntdll!ExecuteHandler+0x24 ntdll!RtlDispatchException+0x127 ntdll!KiUserExceptionDispatcher+0xf ssleay32!freelist_extract+0x3c ssleay32!ssl3_setup_read_buffer+0x7b ssleay32!ssl3_setup_buffers+0xb ssleay32!ssl23_get_client_hello+0x34 ssleay32!ssl23_accept+0x16e ssleay32!SSL_accept+0x1d ...