Skip to content

System.Security.Cryptography.Xml.Tests fail on mono linux ARM64 #50300

Closed
@ericstj

Description

@ericstj

Tests are crashing with segfault while initializing OpenSSL.

https://dev.azure.com/dnceng/public/_build/results?buildId=1058396&view=ms.vss-test-web.build-test-results-tab&runId=32633134&resultId=180106&paneView=attachments

core.1001.99:
https://helixre8s23ayyeko0k025g8.blob.core.windows.net/dotnet-runtime-refs-pull-50288-merge-db294f34f17e4673ad/System.Security.Cryptography.Xml.Tests/core.1001.99?sv=2019-07-07&se=2021-04-15T18%3A31%3A06Z&sr=c&sp=rl&sig=y51iybChEIg%2B9i1C8IWdd8szXZPbfdQZ9pqMpk3XUz8%3D

console.3a06eda1.log:
https://helixre8s23ayyeko0k025g8.blob.core.windows.net/dotnet-runtime-refs-pull-50288-merge-db294f34f17e4673ad/System.Security.Cryptography.Xml.Tests/console.3a06eda1.log?sv=2019-07-07&se=2021-04-15T18%3A31%3A06Z&sr=c&sp=rl&sig=y51iybChEIg%2B9i1C8IWdd8szXZPbfdQZ9pqMpk3XUz8%3D

Interesting snippets from log.

=================================================================
	Managed Stacktrace:
=================================================================
	  at <unknown> <0xffffffff>
	  at CryptoInitializer:EnsureOpenSslInitialized <0x00007>
	  at CryptoInitializer:.cctor <0x00023>
Thread 10 (Thread 0x7f728a41e0 (LWP 110)):
#0  0x0000007f71c29f6c in bn_mul_add_words () from /lib/aarch64-linux-gnu/libcrypto.so.1.0.0
#1  0x0000007f71c2c0ec in ?? () from /lib/aarch64-linux-gnu/libcrypto.so.1.0.0
#2  0x0000007f5010cdf8 in ?? ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
Thread 11 (Thread 0x7f726a41e0 (LWP 111)):
#0  0x0000007f7cd94a38 in __waitpid (pid=116, stat_loc=0x7f7269ca44, options=0) at ../sysdeps/unix/sysv/linux/waitpid.c:29
#1  0x0000007f7c842fcc in dump_native_stacktrace (signal=<optimized out>, mctx=<optimized out>) at /__w/1/s/src/mono/mono/mini/mini-posix.c:966
#2  mono_dump_native_crash_info (signal=<optimized out>, mctx=<optimized out>, info=<optimized out>) at /__w/1/s/src/mono/mono/mini/mini-posix.c:1010
#3  0x0000007f7c801e14 in mono_handle_native_crash (signal=0x7f7c8b85c8 "SIGSEGV", mctx=0x7f7269d5d0, info=0x7f7269d930) at /__w/1/s/src/mono/mono/mini/mini-exceptions.c:3395
#4  0x0000007f7c772764 in mono_sigsegv_signal_handler_debug (_dummy=11, _info=0x7f7269d930, context=0x7f7269d9b0, debug_fault_addr=0x3d4) at /__w/1/s/src/mono/mono/mini/mini-runtime.c:3556
#5  <signal handler called>
#6  _dl_close (_map=0x0) at dl-close.c:809
#7  0x0000007f7cdbc9f8 in _dl_catch_error (objname=0x7f7cd71038 <dlclose_doit>, errstring=0x7f7cd82000, mallocedp=0x7f5402a7e0, operate=0x7f7269ec24, args=0x7f5402a7e8) at dl-error.c:187
#8  0x0000007f7cd71610 in _dlerror_run (operate=operate@entry=0x7f7cd71038 <dlclose_doit>, args=0x0) at dlerror.c:163
#9  0x0000007f7cd7106c in __dlclose (handle=<optimized out>) at dlclose.c:46
#10 0x0000007f71dce2a4 in DlOpen (libraryName=0x7f71dd6dfe "libssl.so.1.1") at /__w/1/s/src/libraries/Native/Unix/System.Security.Cryptography.Native/opensslshim.c:50
#11 0x0000007f71dce178 in OpenLibrary () at /__w/1/s/src/libraries/Native/Unix/System.Security.Cryptography.Native/opensslshim.c:82
#12 0x0000007f71dc8074 in InitializeOpenSSLShim () at /__w/1/s/src/libraries/Native/Unix/System.Security.Cryptography.Native/opensslshim.c:127
#13 0x0000007f71dbc620 in CryptoNative_EnsureOpenSslInitialized () at /__w/1/s/src/libraries/Native/Unix/System.Security.Cryptography.Native/openssl.c:1318
#14 0x0000007f71e4172c in ?? ()
#15 0x8020080280200802 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Thread 13 (Thread 0x7f722a41e0 (LWP 113)):
#0  0x0000007f71c29fb4 in bn_mul_add_words () from /lib/aarch64-linux-gnu/libcrypto.so.1.0.0
#1  0x0000007f71c2c0ec in ?? () from /lib/aarch64-linux-gnu/libcrypto.so.1.0.0
#2  0x0000007f4c0b8390 in ?? ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Observation from @bartonjs is that threads 10 and 13 should not be inside libcrypto before thread 11 completes initialization.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area-System.Securityneeds-further-triageIssue has been initially triaged, but needs deeper consideration or reconsideration

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions