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
...

Reply via email to