Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Crash During AOT of ASP.NET Core Assemblies #13941

Closed
brianrob opened this issue Apr 8, 2019 · 17 comments · Fixed by #14110
Assignees

Comments

@brianrob
Copy link

@brianrob brianrob commented Apr 8, 2019

Steps to Reproduce

Build this dockerfile: https://gist.github.com/brianrob/3b9d7a583e3c59acf469b22b005b5d6e

Current Behavior

There are a handful of ASP.NET assemblies that when AOT'd cause mono to crash:

  • System.Text.Encodings.Web.dll
  • System.IO.Pipelines.dll
  • System.Diagnostics.Tracing.dll

Expected Behavior

All assemblies are successfully AOT'd.

On which platforms did you notice this

[ ] macOS
[ X ] Linux
[ ] Windows

Version Used:

Mono JIT compiler version 6.3.0.77 (tarball Sat Apr 6 10:29:10 UTC 2019)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
TLS: __thread
SIGSEGV: altstack
Notifications: epoll
Architecture: amd64
Disabled: none
Misc: softdebug
Interpreter: yes
LLVM: yes(610)
Suspend: hybrid
GC: sgen (concurrent by default)

@brianrob

This comment has been minimized.

Copy link
Author

@brianrob brianrob commented Apr 8, 2019

@marek-safar

This comment has been minimized.

Copy link
Member

@marek-safar marek-safar commented Apr 11, 2019

@brianrob what is the crash log?

/cc @vargaz

@brianrob

This comment has been minimized.

Copy link
Author

@brianrob brianrob commented Apr 11, 2019

=====
Starting AOT: System.Globalization.Extensions.dll
=====

=================================================================
	Native Crash Reporting
=================================================================
Got a SIGSEGV while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries 
used by your application.
=================================================================
[91m/proc/self/maps:
40763000-40773000 rwxp 00000000 00:00 0 
55a22337a000-55a22380d000 r-xp 00000000 08:01 6134875                    /usr/bin/mono-sgen
55a223a0c000-55a223a13000 r--p 00492000 08:01 6134875                    /usr/bin/mono-sgen
55a223a13000-55a223a1a000 rw-p 00499000 08:01 6134875                    /usr/bin/mono-sgen
55a223a1a000-55a223a31000 rw-p 00000000 00:00 0 
55a225919000-55a22594b000 rw-p 00000000 00:00 0                          [heap]
7f661bfff000-7f661cfff000 rw-p 00000000 00:00 0 
7f661cfff000-7f661d000000 ---p 00000000 00:00 0 
7f661d000000-7f661dc00000 rw-p 00000000 00:00 0 
7f661df6d000-7f661df77000 r-xp 00000000 08:01 6134252                    /lib/x86_64-linux-gnu/libnss_files-2.24.so
7f661df77000-7f661e177000 ---p 0000a000 08:01 6134252                    /lib/x86_64-linux-gnu/libnss_files-2.24.so
7f661e177000-7f661e178000 r--p 0000a000 08:01 6134252                    /lib/x86_64-linux-gnu/libnss_files-2.24.so
7f661e178000-7f661e179000 rw-p 0000b000 08:01 6134252                    /lib/x86_64-linux-gnu/libnss_files-2.24.so
7f661e179000-7f661e17f000 rw-p 00000000 00:00 0 
7f661e17f000-7f661e18a000 r-xp 00000000 08:01 6134256                    /lib/x86_64-linux-gnu/libnss_nis-2.24.so
7f661e18a000-7f661e389000 ---p 0000b000 08:01 6134256                    /lib/x86_64-linux-gnu/libnss_nis-2.24.so
7f661e389000-7f661e38a000 r--p 0000a000 08:01 6134256                    /lib/x86_64-linux-gnu/libnss_nis-2.24.so
7f661e38a000-7f661e38b000 rw-p 0000b000 08:01 6134256                    /lib/x86_64-linux-gnu/libnss_nis-2.24.so
7f661e38b000-7f661e39f000 r-xp 00000000 08:01 6134246                    /lib/x86_64-linux-gnu/libnsl-2.24.so
7f661e39f000-7f661e59f000 ---p 00014000 08:01 6134246                    /lib/x86_64-linux-gnu/libnsl-2.24.so
7f661e59f000-7f661e5a0000 r--p 00014000 08:01 6134246                    /lib/x86_64-linux-gnu/libnsl-2.24.so
7f661e5a0000-7f661e5a1000 rw-p 00015000 08:01 6134246                    /lib/x86_64-linux-gnu/libnsl-2.24.so
7f661e5a1000-7f661e5a3000 rw-p 00000000 00:00 0 
7f661e5a3000-7f661e5aa000 r-xp 00000000 08:01 6134248                    /lib/x86_64-linux-gnu/libnss_compat-2.24.so
7f661e5aa000-7f661e7a9000 ---p 00007000 08:01 6134248                    /lib/x86_64-linux-gnu/libnss_compat-2.24.so
[0m
=================================================================
	Native stacktrace:
=================================================================
	0x55a22344c315 - mono : (null)
	0x55a22344c641 - mono : (null)
	0x55a2233f68b1 - mono : (null)
	0x55a2233bbd8b - mono : (null)
	0x7f661f3f80e0 - /lib/x86_64-linux-gnu/libpthread.so.0 : (null)
	0x55a223585ee9 - mono : (null)
	0x55a223586c0f - mono : (null)
	0x55a22352c310 - mono : (null)
	0x55a2233bee6b - mono : (null)
	0x55a2233c5902 - mono : mono_main
	0x55a2233b5e31 - mono : (null)
	0x7f661e7cb2e1 - /lib/x86_64-linux-gnu/libc.so.6 : __libc_start_main
	0x55a2233b65ca - mono : _start

=================================================================
	Telemetry Dumper:
=================================================================
[91m
=================================================================
	External Debugger Dump:
=================================================================
[0m[91m/tmp/mono-gdb-commands.614:1: Error in sourced command file:
ptrace: Operation not permitted.
[0m
=================================================================
	Basic Fault Adddress Reporting
=================================================================
Memory around native instruction pointer (0x55a223585ee9):0x55a223585ed9  8b 85 d8 06 00 00 48 85 c0 75 5a 4d 85 e4 74 08  ......H..uZM..t.
0x55a223585ee9  41 c7 04 24 03 00 00 00 66 83 3c 24 00 0f 85 76  A..$....f.<$...v
0x55a223585ef9  02 00 00 48 8d 05 5d a1 4a 00 8b 80 14 01 00 00  ...H..].J.......
0x55a223585f09  85 c0 0f 85 b2 02 00 00 48 89 ef 31 ed e8 35 ff  ........H..1..5.
=====
Starting AOT: System.IO.Compression.dll
=====
[91mAborted (core dumped)
[0m[91m/proc/self/maps:
405ef000-405ff000 rwxp 00000000 00:00 0 
558c21d00000-558c22193000 r-xp 00000000 08:01 6134875                    /usr/bin/mono-sgen
558c22392000-558c22399000 r--p 00492000 08:01 6134875                    /usr/bin/mono-sgen
558c22399000-558c223a0000 rw-p 00499000 08:01 6134875                    /usr/bin/mono-sgen
558c223a0000-558c223b7000 rw-p 00000000 00:00 0 
558c24033000-558c24065000 rw-p 00000000 00:00 0                          [heap]
7ffa173ff000-7ffa183ff000 rw-p 00000000 00:00 0 
7ffa183ff000-7ffa18400000 ---p 00000000 00:00 0 
7ffa18400000-7ffa19000000 rw-p 00000000 00:00 0 
7ffa191c6000-7ffa191d0000 r-xp 00000000 08:01 6134252                    /lib/x86_64-linux-gnu/libnss_files-2.24.so
7ffa191d0000-7ffa193d0000 ---p 0000a000 08:01 6134252                    /lib/x86_64-linux-gnu/libnss_files-2.24.so
7ffa193d0000-7ffa193d1000 r--p 0000a000 08:01 6134252                    /lib/x86_64-linux-gnu/libnss_files-2.24.so
7ffa193d1000-7ffa193d2000 rw-p 0000b000 08:01 6134252                    /lib/x86_64-linux-gnu/libnss_files-2.24.so
7ffa193d2000-7ffa193d8000 rw-p 00000000 00:00 0 
7ffa193d8000-7ffa193e3000 r-xp 00000000 08:01 6134256                    /lib/x86_64-linux-gnu/libnss_nis-2.24.so
7ffa193e3000-7ffa195e2000 ---p 0000b000 08:01 6134256                    /lib/x86_64-linux-gnu/libnss_nis-2.24.so
7ffa195e2000-7ffa195e3000 r--p 0000a000 08:01 6134256                    /lib/x86_64-linux-gnu/libnss_nis-2.24.so
7ffa195e3000-7ffa195e4000 rw-p 0000b000 08:01 6134256                    /lib/x86_64-linux-gnu/libnss_nis-2.24.so
7ffa195e4000-7ffa195f8000 r-xp 00000000 08:01 6134246                    /lib/x86_64-linux-gnu/libnsl-2.24.so
7ffa195f8000-7ffa197f8000 ---p 00014000 08:01 6134246                    /lib/x86_64-linux-gnu/libnsl-2.24.so
7ffa197f8000-7ffa197f9000 r--p 00014000 08:01 6134246                    /lib/x86_64-linux-gnu/libnsl-2.24.so
7ffa197f9000-7ffa197fa000 rw-p 00015000 08:01 6134246                    /lib/x86_64-linux-gnu/libnsl-2.24.so
7ffa197fa000-7ffa197fc000 rw-p 00000000 00:00 0 
7ffa197fc000-7ffa19803000 r-xp 00000000 08:01 6134248                    /lib/x86_64-linux-gnu/libnss_compat-2.24.so
7ffa19803000-7ffa19a02000 ---p 00007000 08:01 6134248                    /lib/x86_64-linux-gnu/libnss_compat-2.24.so
[0m
=================================================================
	Native Crash Reporting
=================================================================
Got a SIGSEGV while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries 
used by your application.
=================================================================

=================================================================
	Native stacktrace:
=================================================================
	0x558c21dd2315 - mono : (null)
	0x558c21dd2641 - mono : (null)
	0x558c21d7c8b1 - mono : (null)
	0x558c21d41d8b - mono : (null)
	0x7ffa1a6510e0 - /lib/x86_64-linux-gnu/libpthread.so.0 : (null)
	0x558c21f0bee9 - mono : (null)
	0x558c21f0cc0f - mono : (null)
	0x558c21eb2310 - mono : (null)
	0x558c21d44e6b - mono : (null)
	0x558c21d4b902 - mono : mono_main
	0x558c21d3be31 - mono : (null)
	0x7ffa19a242e1 - /lib/x86_64-linux-gnu/libc.so.6 : __libc_start_main
	0x558c21d3c5ca - mono : _start

=================================================================
	Telemetry Dumper:
=================================================================
[91m
=================================================================
	External Debugger Dump:
=================================================================
[0m[91m/tmp/mono-gdb-commands.618:1: Error in sourced command file:
ptrace: Operation not permitted.
[0m
=================================================================
	Basic Fault Adddress Reporting
=================================================================
Memory around native instruction pointer (0x558c21f0bee9):0x558c21f0bed9  8b 85 d8 06 00 00 48 85 c0 75 5a 4d 85 e4 74 08  ......H..uZM..t.
0x558c21f0bee9  41 c7 04 24 03 00 00 00 66 83 3c 24 00 0f 85 76  A..$....f.<$...v
0x558c21f0bef9  02 00 00 48 8d 05 5d a1 4a 00 8b 80 14 01 00 00  ...H..].J.......
0x558c21f0bf09  85 c0 0f 85 b2 02 00 00 48 89 ef 31 ed e8 35 ff  ........H..1..5.
[91mAborted (core dumped)

=====
Starting AOT: System.Net.Http.dll
=====
[91m/proc/self/maps:
40c5d000-40c6d000 rwxp 00000000 00:00 0 
5612e7d48000-5612e81db000 r-xp 00000000 08:01 6134875                    /usr/bin/mono-sgen
5612e83da000-5612e83e1000 r--p 00492000 08:01 6134875                    /usr/bin/mono-sgen
5612e83e1000-5612e83e8000 rw-p 00499000 08:01 6134875                    /usr/bin/mono-sgen
5612e83e8000-5612e83ff000 rw-p 00000000 00:00 0 
5612e9c9f000-5612e9cd1000 rw-p 00000000 00:00 0                          [heap]
7f385bfff000-7f385cfff000 rw-p 00000000 00:00 0 
7f385cfff000-7f385d000000 ---p 00000000 00:00 0 
7f385d000000-7f385dc00000 rw-p 00000000 00:00 0 
7f385dfcf000-7f385dfd9000 r-xp 00000000 08:01 6134252                    /lib/x86_64-linux-gnu/libnss_files-2.24.so
7f385dfd9000-7f385e1d9000 ---p 0000a000 08:01 6134252                    /lib/x86_64-linux-gnu/libnss_files-2.24.so
7f385e1d9000-7f385e1da000 r--p 0000a000 08:01 6134252                    /lib/x86_64-linux-gnu/libnss_files-2.24.so
7f385e1da000-7f385e1db000 rw-p 0000b000 08:01 6134252                    /lib/x86_64-linux-gnu/libnss_files-2.24.so
7f385e1db000-7f385e1e1000 rw-p 00000000 00:00 0 
7f385e1e1000-7f385e1ec000 r-xp 00000000 08:01 6134256                    /lib/x86_64-linux-gnu/libnss_nis-2.24.so
7f385e1ec000-7f385e3eb000 ---p 0000b000 08:01 6134256                    /lib/x86_64-linux-gnu/libnss_nis-2.24.so
7f385e3eb000-7f385e3ec000 r--p 0000a000 08:01 6134256                    /lib/x86_64-linux-gnu/libnss_nis-2.24.so
7f385e3ec000-7f385e3ed000 rw-p 0000b000 08:01 6134256                    /lib/x86_64-linux-gnu/libnss_nis-2.24.so
7f385e3ed000-7f385e401000 r-xp 00000000 08:01 6134246                    /lib/x86_64-linux-gnu/libnsl-2.24.so
7f385e401000-7f385e601000 ---p 00014000 08:01 6134246                    /lib/x86_64-linux-gnu/libnsl-2.24.so
7f385e601000-7f385e602000 r--p 00014000 08:01 6134246                    /lib/x86_64-linux-gnu/libnsl-2.24.so
7f385e602000-7f385e603000 rw-p 00015000 08:01 6134246                    /lib/x86_64-linux-gnu/libnsl-2.24.so
7f385e603000-7f385e605000 rw-p 00000000 00:00 0 
7f385e605000-7f385e60c000 r-xp 00000000 08:01 6134248                    /lib/x86_64-linux-gnu/libnss_compat-2.24.so
7f385e60c000-7f385e80b000 ---p 00007000 08:01 6134248                    /lib/x86_64-linux-gnu/libnss_compat-2.24.so
[0m
=================================================================
	Native Crash Reporting
=================================================================
Got a SIGSEGV while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries 
used by your application.
=================================================================

=================================================================
	Native stacktrace:
=================================================================
	0x5612e7e1a315 - mono : (null)
	0x5612e7e1a641 - mono : (null)
	0x5612e7dc48b1 - mono : (null)
	0x5612e7d89d8b - mono : (null)
	0x7f385f45a0e0 - /lib/x86_64-linux-gnu/libpthread.so.0 : (null)
	0x5612e7f53ee9 - mono : (null)
	0x5612e7f54c0f - mono : (null)
	0x5612e7efa310 - mono : (null)
	0x5612e7d8ce6b - mono : (null)
	0x5612e7d93902 - mono : mono_main
	0x5612e7d83e31 - mono : (null)
	0x7f385e82d2e1 - /lib/x86_64-linux-gnu/libc.so.6 : __libc_start_main
	0x5612e7d845ca - mono : _start

=================================================================
	Telemetry Dumper:
=================================================================
[91m
=================================================================
	External Debugger Dump:
=================================================================
[0m[91m/tmp/mono-gdb-commands.636:1: Error in sourced command file:
ptrace: Operation not permitted.
[0m
=================================================================
	Basic Fault Adddress Reporting
=================================================================
Memory around native instruction pointer (0x5612e7f53ee9):0x5612e7f53ed9  8b 85 d8 06 00 00 48 85 c0 75 5a 4d 85 e4 74 08  ......H..uZM..t.
0x5612e7f53ee9  41 c7 04 24 03 00 00 00 66 83 3c 24 00 0f 85 76  A..$....f.<$...v
0x5612e7f53ef9  02 00 00 48 8d 05 5d a1 4a 00 8b 80 14 01 00 00  ...H..].J.......
0x5612e7f53f09  85 c0 0f 85 b2 02 00 00 48 89 ef 31 ed e8 35 ff  ........H..1..5.

=====
Starting AOT: System.Threading.Overlapped.dll
=====
[91m/proc/self/maps:
4154f000-4155f000 rwxp 00000000 00:00 0 
55c1abc9f000-55c1ac132000 r-xp 00000000 08:01 6134875                    /usr/bin/mono-sgen
55c1ac331000-55c1ac338000 r--p 00492000 08:01 6134875                    /usr/bin/mono-sgen
55c1ac338000-55c1ac33f000 rw-p 00499000 08:01 6134875                    /usr/bin/mono-sgen
55c1ac33f000-55c1ac356000 rw-p 00000000 00:00 0 
55c1ad5d4000-55c1ad606000 rw-p 00000000 00:00 0                          [heap]
7f38bf3ff000-7f38c03ff000 rw-p 00000000 00:00 0 
7f38c03ff000-7f38c0400000 ---p 00000000 00:00 0 
7f38c0400000-7f38c1000000 rw-p 00000000 00:00 0 
7f38c1134000-7f38c113e000 r-xp 00000000 08:01 6134252                    /lib/x86_64-linux-gnu/libnss_files-2.24.so
7f38c113e000-7f38c133e000 ---p 0000a000 08:01 6134252                    /lib/x86_64-linux-gnu/libnss_files-2.24.so
7f38c133e000-7f38c133f000 r--p 0000a000 08:01 6134252                    /lib/x86_64-linux-gnu/libnss_files-2.24.so
7f38c133f000-7f38c1340000 rw-p 0000b000 08:01 6134252                    /lib/x86_64-linux-gnu/libnss_files-2.24.so
7f38c1340000-7f38c1346000 rw-p 00000000 00:00 0 
7f38c1346000-7f38c1351000 r-xp 00000000 08:01 6134256                    /lib/x86_64-linux-gnu/libnss_nis-2.24.so
7f38c1351000-7f38c1550000 ---p 0000b000 08:01 6134256                    /lib/x86_64-linux-gnu/libnss_nis-2.24.so
7f38c1550000-7f38c1551000 r--p 0000a000 08:01 6134256                    /lib/x86_64-linux-gnu/libnss_nis-2.24.so
7f38c1551000-7f38c1552000 rw-p 0000b000 08:01 6134256                    /lib/x86_64-linux-gnu/libnss_nis-2.24.so
7f38c1552000-7f38c1566000 r-xp 00000000 08:01 6134246                    /lib/x86_64-linux-gnu/libnsl-2.24.so
7f38c1566000-7f38c1766000 ---p 00014000 08:01 6134246                    /lib/x86_64-linux-gnu/libnsl-2.24.so
7f38c1766000-7f38c1767000 r--p 00014000 08:01 6134246                    /lib/x86_64-linux-gnu/libnsl-2.24.so
7f38c1767000-7f38c1768000 rw-p 00015000 08:01 6134246                    /lib/x86_64-linux-gnu/libnsl-2.24.so
7f38c1768000-7f38c176a000 rw-p 00000000 00:00 0 
7f38c176a000-7f38c1771000 r-xp 00000000 08:01 6134248                    /lib/x86_64-linux-gnu/libnss_compat-2.24.so
7f38c1771000-7f38c1970000 ---p 00007000 08:01 6134248                    /lib/x86_64-linux-gnu/libnss_compat-2.24.so
[0m
=================================================================
	Native Crash Reporting
=================================================================
Got a SIGSEGV while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries 
used by your application.
=================================================================

=================================================================
	Native stacktrace:
=================================================================
	0x55c1abd71315 - mono : (null)
	0x55c1abd71641 - mono : (null)
	0x55c1abd1b8b1 - mono : (null)
	0x55c1abce0d8b - mono : (null)
	0x7f38c25bf0e0 - /lib/x86_64-linux-gnu/libpthread.so.0 : (null)
	0x55c1abeaaee9 - mono : (null)
	0x55c1abeabc0f - mono : (null)
	0x55c1abe51310 - mono : (null)
	0x55c1abce3e6b - mono : (null)
	0x55c1abcea902 - mono : mono_main
	0x55c1abcdae31 - mono : (null)
	0x7f38c19922e1 - /lib/x86_64-linux-gnu/libc.so.6 : __libc_start_main
	0x55c1abcdb5ca - mono : _start

=================================================================
	Telemetry Dumper:
=================================================================
[91m
=================================================================
	External Debugger Dump:
=================================================================
[0m[91m/tmp/mono-gdb-commands.740:1: Error in sourced command file:
ptrace: Operation not permitted.
[0m
=================================================================
	Basic Fault Adddress Reporting
=================================================================
Memory around native instruction pointer (0x55c1abeaaee9):0x55c1abeaaed9  8b 85 d8 06 00 00 48 85 c0 75 5a 4d 85 e4 74 08  ......H..uZM..t.
0x55c1abeaaee9  41 c7 04 24 03 00 00 00 66 83 3c 24 00 0f 85 76  A..$....f.<$...v
0x55c1abeaaef9  02 00 00 48 8d 05 5d a1 4a 00 8b 80 14 01 00 00  ...H..].J.......
0x55c1abeaaf09  85 c0 0f 85 b2 02 00 00 48 89 ef 31 ed e8 35 ff  ........H..1..5.
@brianrob

This comment has been minimized.

Copy link
Author

@brianrob brianrob commented Apr 11, 2019

With actual stacks:

=====
Starting AOT: System.Globalization.Extensions.dll
=====

=================================================================
	Native Crash Reporting
=================================================================
Got a SIGSEGV while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries 
used by your application.
=================================================================
/proc/self/maps:
403b6000-403c6000 rwxp 00000000 00:00 0 
556467cb2000-556468145000 r-xp 00000000 08:01 7487720                    /usr/bin/mono-sgen
556468344000-55646834b000 r--p 00492000 08:01 7487720                    /usr/bin/mono-sgen
55646834b000-556468352000 rw-p 00499000 08:01 7487720                    /usr/bin/mono-sgen
556468352000-556468369000 rw-p 00000000 00:00 0 
55646a0c0000-55646a0f2000 rw-p 00000000 00:00 0                          [heap]
7f71d5bff000-7f71d6bff000 rw-p 00000000 00:00 0 
7f71d6bff000-7f71d6c00000 ---p 00000000 00:00 0 
7f71d6c00000-7f71d7800000 rw-p 00000000 00:00 0 
7f71d7942000-7f71d794c000 r-xp 00000000 08:01 6962405                    /lib/x86_64-linux-gnu/libnss_files-2.24.so
7f71d794c000-7f71d7b4c000 ---p 0000a000 08:01 6962405                    /lib/x86_64-linux-gnu/libnss_files-2.24.so
7f71d7b4c000-7f71d7b4d000 r--p 0000a000 08:01 6962405                    /lib/x86_64-linux-gnu/libnss_files-2.24.so
7f71d7b4d000-7f71d7b4e000 rw-p 0000b000 08:01 6962405                    /lib/x86_64-linux-gnu/libnss_files-2.24.so
7f71d7b4e000-7f71d7b54000 rw-p 00000000 00:00 0 
7f71d7b54000-7f71d7b5f000 r-xp 00000000 08:01 6962409                    /lib/x86_64-linux-gnu/libnss_nis-2.24.so
7f71d7b5f000-7f71d7d5e000 ---p 0000b000 08:01 6962409                    /lib/x86_64-linux-gnu/libnss_nis-2.24.so
7f71d7d5e000-7f71d7d5f000 r--p 0000a000 08:01 6962409                    /lib/x86_64-linux-gnu/libnss_nis-2.24.so
7f71d7d5f000-7f71d7d60000 rw-p 0000b000 08:01 6962409                    /lib/x86_64-linux-gnu/libnss_nis-2.24.so
7f71d7d60000-7f71d7d74000 r-xp 00000000 08:01 6962399                    /lib/x86_64-linux-gnu/libnsl-2.24.so
7f71d7d74000-7f71d7f74000 ---p 00014000 08:01 6962399                    /lib/x86_64-linux-gnu/libnsl-2.24.so
7f71d7f74000-7f71d7f75000 r--p 00014000 08:01 6962399                    /lib/x86_64-linux-gnu/libnsl-2.24.so
7f71d7f75000-7f71d7f76000 rw-p 00015000 08:01 6962399                    /lib/x86_64-linux-gnu/libnsl-2.24.so
7f71d7f76000-7f71d7f78000 rw-p 00000000 00:00 0 
7f71d7f78000-7f71d7f7f000 r-xp 00000000 08:01 6962401                    /lib/x86_64-linux-gnu/libnss_compat-2.24.so
7f71d7f7f000-7f71d817e000 ---p 00007000 08:01 6962401                    /lib/x86_64-linux-gnu/libnss_compat-2.24.so

=================================================================
	Native stacktrace:
=================================================================
	0x556467d84315 - mono : (null)
	0x556467d84641 - mono : (null)
	0x556467d2e8b1 - mono : (null)
	0x556467cf3d8b - mono : (null)
	0x7f71d8dcd0e0 - /lib/x86_64-linux-gnu/libpthread.so.0 : (null)
	0x556467ebdee9 - mono : (null)
	0x556467ebec0f - mono : (null)
	0x556467e64310 - mono : (null)
	0x556467cf6e6b - mono : (null)
	0x556467cfd902 - mono : mono_main
	0x556467cede31 - mono : (null)
	0x7f71d81a02e1 - /lib/x86_64-linux-gnu/libc.so.6 : __libc_start_main
	0x556467cee5ca - mono : _start

=================================================================
	Telemetry Dumper:
=================================================================

=================================================================
	External Debugger Dump:
=================================================================
[New LWP 2328]
Mono support loaded.
Mono support loaded.
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
0x00007f71d8dccb5a in __waitpid (pid=pid@entry=2329, stat_loc=stat_loc@entry=0x7ffe06251be4, options=options@entry=0) at ../sysdeps/unix/sysv/linux/waitpid.c:29
29	../sysdeps/unix/sysv/linux/waitpid.c: No such file or directory.
  Id   Target Id         Frame 
* 1    Thread 0x7f71d9816bc0 (LWP 2327) "mono" 0x00007f71d8dccb5a in __waitpid (pid=pid@entry=2329, stat_loc=stat_loc@entry=0x7ffe06251be4, options=options@entry=0) at ../sysdeps/unix/sysv/linux/waitpid.c:29
  2    Thread 0x7f71d73ff700 (LWP 2328) "SGen worker" pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185

Thread 2 (Thread 0x7f71d73ff700 (LWP 2328)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x0000556467fd190b in mono_os_cond_wait (mutex=0x556468366700 <lock>, cond=0x5564683666c0 <work_cond>) at ../../mono/utils/mono-os-mutex.h:177
#2  get_work (job=<synthetic pointer>, do_idle=<synthetic pointer>, work_context=<synthetic pointer>, worker_index=0) at sgen-thread-pool.c:165
#3  thread_func (data=<optimized out>) at sgen-thread-pool.c:196
#4  0x00007f71d8dc34a4 in start_thread (arg=0x7f71d73ff700) at pthread_create.c:456
#5  0x00007f71d8268d0f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97

Thread 1 (Thread 0x7f71d9816bc0 (LWP 2327)):
#0  0x00007f71d8dccb5a in __waitpid (pid=pid@entry=2329, stat_loc=stat_loc@entry=0x7ffe06251be4, options=options@entry=0) at ../sysdeps/unix/sysv/linux/waitpid.c:29
#1  0x0000556467d84547 in dump_native_stacktrace (mctx=mctx@entry=0x7ffe062525a0, signal=0x556468001506 "SIGSEGV") at mini-posix.c:1111
#2  0x0000556467d84641 in mono_dump_native_crash_info (signal=signal@entry=0x556468001506 "SIGSEGV", mctx=mctx@entry=0x7ffe062525a0, info=info@entry=0x7ffe06252870) at mini-posix.c:1153
#3  0x0000556467d2e8b1 in mono_handle_native_crash (signal=signal@entry=0x556468001506 "SIGSEGV", mctx=mctx@entry=0x7ffe062525a0, info=info@entry=0x7ffe06252870) at mini-exceptions.c:3324
#4  0x0000556467cf3d8b in mono_sigsegv_signal_handler_debug (_dummy=11, _info=0x7ffe06252870, context=0x7ffe06252740, debug_fault_addr=<optimized out>) at mini-runtime.c:3331
#5  <signal handler called>
#6  do_mono_image_load (image=0x55646a0e5790, status=status@entry=0x0, care_about_cli=care_about_cli@entry=1, care_about_pecoff=care_about_pecoff@entry=1) at image.c:1389
#7  0x0000556467ebe34a in do_mono_image_open (fname=fname@entry=0x7ffe06253eaf "System.Globalization.Extensions.dll", status=status@entry=0x0, care_about_cli=care_about_cli@entry=1, care_about_pecoff=care_about_pecoff@entry=1, refonly=refonly@entry=0, metadata_only=metadata_only@entry=0, load_from_context=<optimized out>) at image.c:1473
#8  0x0000556467ebec0f in mono_image_open_a_lot (fname=fname@entry=0x7ffe06253eaf "System.Globalization.Extensions.dll", status=status@entry=0x0, refonly=refonly@entry=0, load_from_context=load_from_context@entry=0) at image.c:1849
#9  0x0000556467ebed07 in mono_image_open_full (fname=fname@entry=0x7ffe06253eaf "System.Globalization.Extensions.dll", status=status@entry=0x0, refonly=refonly@entry=0) at image.c:1720
#10 0x0000556467ebed17 in mono_image_open (fname=fname@entry=0x7ffe06253eaf "System.Globalization.Extensions.dll", status=status@entry=0x0) at image.c:1868
#11 0x0000556467e64310 in get_runtimes_from_exe (out_image=0x556468353550 <exe_image>, runtimes=0x7ffe06252e10, file=0x7ffe06253eaf "System.Globalization.Extensions.dll") at domain.c:1930
#12 mono_init_internal (filename=filename@entry=0x7ffe06253eaf "System.Globalization.Extensions.dll", exe_filename=exe_filename@entry=0x7ffe06253eaf "System.Globalization.Extensions.dll", runtime_version=runtime_version@entry=0x0) at domain.c:565
#13 0x0000556467e64357 in mono_init_from_assembly (domain_name=domain_name@entry=0x7ffe06253eaf "System.Globalization.Extensions.dll", filename=filename@entry=0x7ffe06253eaf "System.Globalization.Extensions.dll") at domain.c:841
#14 0x0000556467cf6e6b in mini_init (filename=0x7ffe06253eaf "System.Globalization.Extensions.dll", runtime_version=runtime_version@entry=0x0) at mini-runtime.c:4314
#15 0x0000556467cfd902 in mono_main (argc=<optimized out>, argv=<optimized out>) at driver.c:2509
#16 0x0000556467cede31 in mono_main_with_options (argv=<optimized out>, argc=<optimized out>) at main.c:50
#17 main (argc=<optimized out>, argv=<optimized out>) at main.c:408

=================================================================
	Basic Fault Adddress Reporting
=================================================================
Memory around native instruction pointer (0x556467ebdee9):0x556467ebded9  8b 85 d8 06 00 00 48 85 c0 75 5a 4d 85 e4 74 08  ......H..uZM..t.
0x556467ebdee9  41 c7 04 24 03 00 00 00 66 83 3c 24 00 0f 85 76  A..$....f.<$...v
0x556467ebdef9  02 00 00 48 8d 05 5d a1 4a 00 8b 80 14 01 00 00  ...H..].J.......
0x556467ebdf09  85 c0 0f 85 b2 02 00 00 48 89 ef 31 ed e8 35 ff  ........H..1..5.
Aborted (core dumped)
=====
Starting AOT: System.IO.Compression.dll
=====

=================================================================
	Native Crash Reporting
=================================================================
Got a SIGSEGV while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries 
used by your application.
=================================================================
/proc/self/maps:
40792000-407a2000 rwxp 00000000 00:00 0 
55cea979b000-55cea9c2e000 r-xp 00000000 08:01 7487720                    /usr/bin/mono-sgen
55cea9e2d000-55cea9e34000 r--p 00492000 08:01 7487720                    /usr/bin/mono-sgen
55cea9e34000-55cea9e3b000 rw-p 00499000 08:01 7487720                    /usr/bin/mono-sgen
55cea9e3b000-55cea9e52000 rw-p 00000000 00:00 0 
55ceaab11000-55ceaab43000 rw-p 00000000 00:00 0                          [heap]
7f9787bff000-7f9788bff000 rw-p 00000000 00:00 0 
7f9788bff000-7f9788c00000 ---p 00000000 00:00 0 
7f9788c00000-7f9789800000 rw-p 00000000 00:00 0 
7f9789b78000-7f9789b82000 r-xp 00000000 08:01 6962405                    /lib/x86_64-linux-gnu/libnss_files-2.24.so
7f9789b82000-7f9789d82000 ---p 0000a000 08:01 6962405                    /lib/x86_64-linux-gnu/libnss_files-2.24.so
7f9789d82000-7f9789d83000 r--p 0000a000 08:01 6962405                    /lib/x86_64-linux-gnu/libnss_files-2.24.so
7f9789d83000-7f9789d84000 rw-p 0000b000 08:01 6962405                    /lib/x86_64-linux-gnu/libnss_files-2.24.so
7f9789d84000-7f9789d8a000 rw-p 00000000 00:00 0 
7f9789d8a000-7f9789d95000 r-xp 00000000 08:01 6962409                    /lib/x86_64-linux-gnu/libnss_nis-2.24.so
7f9789d95000-7f9789f94000 ---p 0000b000 08:01 6962409                    /lib/x86_64-linux-gnu/libnss_nis-2.24.so
7f9789f94000-7f9789f95000 r--p 0000a000 08:01 6962409                    /lib/x86_64-linux-gnu/libnss_nis-2.24.so
7f9789f95000-7f9789f96000 rw-p 0000b000 08:01 6962409                    /lib/x86_64-linux-gnu/libnss_nis-2.24.so
7f9789f96000-7f9789faa000 r-xp 00000000 08:01 6962399                    /lib/x86_64-linux-gnu/libnsl-2.24.so
7f9789faa000-7f978a1aa000 ---p 00014000 08:01 6962399                    /lib/x86_64-linux-gnu/libnsl-2.24.so
7f978a1aa000-7f978a1ab000 r--p 00014000 08:01 6962399                    /lib/x86_64-linux-gnu/libnsl-2.24.so
7f978a1ab000-7f978a1ac000 rw-p 00015000 08:01 6962399                    /lib/x86_64-linux-gnu/libnsl-2.24.so
7f978a1ac000-7f978a1ae000 rw-p 00000000 00:00 0 
7f978a1ae000-7f978a1b5000 r-xp 00000000 08:01 6962401                    /lib/x86_64-linux-gnu/libnss_compat-2.24.so
7f978a1b5000-7f978a3b4000 ---p 00007000 08:01 6962401                    /lib/x86_64-linux-gnu/libnss_compat-2.24.so

=================================================================
	Native stacktrace:
=================================================================
	0x55cea986d315 - mono : (null)
	0x55cea986d641 - mono : (null)
	0x55cea98178b1 - mono : (null)
	0x55cea97dcd8b - mono : (null)
	0x7f978b0030e0 - /lib/x86_64-linux-gnu/libpthread.so.0 : (null)
	0x55cea99a6ee9 - mono : (null)
	0x55cea99a7c0f - mono : (null)
	0x55cea994d310 - mono : (null)
	0x55cea97dfe6b - mono : (null)
	0x55cea97e6902 - mono : mono_main
	0x55cea97d6e31 - mono : (null)
	0x7f978a3d62e1 - /lib/x86_64-linux-gnu/libc.so.6 : __libc_start_main
	0x55cea97d75ca - mono : _start

=================================================================
	Telemetry Dumper:
=================================================================

=================================================================
	External Debugger Dump:
=================================================================
[New LWP 2335]
Mono support loaded.
Mono support loaded.
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
0x00007f978b002b5a in __waitpid (pid=pid@entry=2336, stat_loc=stat_loc@entry=0x7ffc657ee9a4, options=options@entry=0) at ../sysdeps/unix/sysv/linux/waitpid.c:29
29	../sysdeps/unix/sysv/linux/waitpid.c: No such file or directory.
  Id   Target Id         Frame 
* 1    Thread 0x7f978ba4cbc0 (LWP 2334) "mono" 0x00007f978b002b5a in __waitpid (pid=pid@entry=2336, stat_loc=stat_loc@entry=0x7ffc657ee9a4, options=options@entry=0) at ../sysdeps/unix/sysv/linux/waitpid.c:29
  2    Thread 0x7f97893ff700 (LWP 2335) "SGen worker" pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185

Thread 2 (Thread 0x7f97893ff700 (LWP 2335)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x000055cea9aba90b in mono_os_cond_wait (mutex=0x55cea9e4f700 <lock>, cond=0x55cea9e4f6c0 <work_cond>) at ../../mono/utils/mono-os-mutex.h:177
#2  get_work (job=<synthetic pointer>, do_idle=<synthetic pointer>, work_context=<synthetic pointer>, worker_index=0) at sgen-thread-pool.c:165
#3  thread_func (data=<optimized out>) at sgen-thread-pool.c:196
#4  0x00007f978aff94a4 in start_thread (arg=0x7f97893ff700) at pthread_create.c:456
#5  0x00007f978a49ed0f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97

Thread 1 (Thread 0x7f978ba4cbc0 (LWP 2334)):
#0  0x00007f978b002b5a in __waitpid (pid=pid@entry=2336, stat_loc=stat_loc@entry=0x7ffc657ee9a4, options=options@entry=0) at ../sysdeps/unix/sysv/linux/waitpid.c:29
#1  0x000055cea986d547 in dump_native_stacktrace (mctx=mctx@entry=0x7ffc657ef360, signal=0x55cea9aea506 "SIGSEGV") at mini-posix.c:1111
#2  0x000055cea986d641 in mono_dump_native_crash_info (signal=signal@entry=0x55cea9aea506 "SIGSEGV", mctx=mctx@entry=0x7ffc657ef360, info=info@entry=0x7ffc657ef630) at mini-posix.c:1153
#3  0x000055cea98178b1 in mono_handle_native_crash (signal=signal@entry=0x55cea9aea506 "SIGSEGV", mctx=mctx@entry=0x7ffc657ef360, info=info@entry=0x7ffc657ef630) at mini-exceptions.c:3324
#4  0x000055cea97dcd8b in mono_sigsegv_signal_handler_debug (_dummy=11, _info=0x7ffc657ef630, context=0x7ffc657ef500, debug_fault_addr=<optimized out>) at mini-runtime.c:3331
#5  <signal handler called>
#6  do_mono_image_load (image=0x55ceaab36790, status=status@entry=0x0, care_about_cli=care_about_cli@entry=1, care_about_pecoff=care_about_pecoff@entry=1) at image.c:1389
#7  0x000055cea99a734a in do_mono_image_open (fname=fname@entry=0x7ffc657f1eb9 "System.IO.Compression.dll", status=status@entry=0x0, care_about_cli=care_about_cli@entry=1, care_about_pecoff=care_about_pecoff@entry=1, refonly=refonly@entry=0, metadata_only=metadata_only@entry=0, load_from_context=<optimized out>) at image.c:1473
#8  0x000055cea99a7c0f in mono_image_open_a_lot (fname=fname@entry=0x7ffc657f1eb9 "System.IO.Compression.dll", status=status@entry=0x0, refonly=refonly@entry=0, load_from_context=load_from_context@entry=0) at image.c:1849
#9  0x000055cea99a7d07 in mono_image_open_full (fname=fname@entry=0x7ffc657f1eb9 "System.IO.Compression.dll", status=status@entry=0x0, refonly=refonly@entry=0) at image.c:1720
#10 0x000055cea99a7d17 in mono_image_open (fname=fname@entry=0x7ffc657f1eb9 "System.IO.Compression.dll", status=status@entry=0x0) at image.c:1868
#11 0x000055cea994d310 in get_runtimes_from_exe (out_image=0x55cea9e3c550 <exe_image>, runtimes=0x7ffc657efbf0, file=0x7ffc657f1eb9 "System.IO.Compression.dll") at domain.c:1930
#12 mono_init_internal (filename=filename@entry=0x7ffc657f1eb9 "System.IO.Compression.dll", exe_filename=exe_filename@entry=0x7ffc657f1eb9 "System.IO.Compression.dll", runtime_version=runtime_version@entry=0x0) at domain.c:565
#13 0x000055cea994d357 in mono_init_from_assembly (domain_name=domain_name@entry=0x7ffc657f1eb9 "System.IO.Compression.dll", filename=filename@entry=0x7ffc657f1eb9 "System.IO.Compression.dll") at domain.c:841
#14 0x000055cea97dfe6b in mini_init (filename=0x7ffc657f1eb9 "System.IO.Compression.dll", runtime_version=runtime_version@entry=0x0) at mini-runtime.c:4314
#15 0x000055cea97e6902 in mono_main (argc=<optimized out>, argv=<optimized out>) at driver.c:2509
#16 0x000055cea97d6e31 in mono_main_with_options (argv=<optimized out>, argc=<optimized out>) at main.c:50
#17 main (argc=<optimized out>, argv=<optimized out>) at main.c:408

=================================================================
	Basic Fault Adddress Reporting
=================================================================
Memory around native instruction pointer (0x55cea99a6ee9):0x55cea99a6ed9  8b 85 d8 06 00 00 48 85 c0 75 5a 4d 85 e4 74 08  ......H..uZM..t.
0x55cea99a6ee9  41 c7 04 24 03 00 00 00 66 83 3c 24 00 0f 85 76  A..$....f.<$...v
0x55cea99a6ef9  02 00 00 48 8d 05 5d a1 4a 00 8b 80 14 01 00 00  ...H..].J.......
0x55cea99a6f09  85 c0 0f 85 b2 02 00 00 48 89 ef 31 ed e8 35 ff  ........H..1..5.
Aborted (core dumped)
=====
Starting AOT: System.Net.Http.dll
=====

=================================================================
	Native Crash Reporting
=================================================================
Got a SIGSEGV while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries 
used by your application.
=================================================================
/proc/self/maps:
403c7000-403d7000 rwxp 00000000 00:00 0 
55ca0b640000-55ca0bad3000 r-xp 00000000 08:01 7487720                    /usr/bin/mono-sgen
55ca0bcd2000-55ca0bcd9000 r--p 00492000 08:01 7487720                    /usr/bin/mono-sgen
55ca0bcd9000-55ca0bce0000 rw-p 00499000 08:01 7487720                    /usr/bin/mono-sgen
55ca0bce0000-55ca0bcf7000 rw-p 00000000 00:00 0 
55ca0cc73000-55ca0cca5000 rw-p 00000000 00:00 0                          [heap]
7f19d63ff000-7f19d73ff000 rw-p 00000000 00:00 0 
7f19d73ff000-7f19d7400000 ---p 00000000 00:00 0 
7f19d7400000-7f19d8000000 rw-p 00000000 00:00 0 
7f19d8179000-7f19d8183000 r-xp 00000000 08:01 6962405                    /lib/x86_64-linux-gnu/libnss_files-2.24.so
7f19d8183000-7f19d8383000 ---p 0000a000 08:01 6962405                    /lib/x86_64-linux-gnu/libnss_files-2.24.so
7f19d8383000-7f19d8384000 r--p 0000a000 08:01 6962405                    /lib/x86_64-linux-gnu/libnss_files-2.24.so
7f19d8384000-7f19d8385000 rw-p 0000b000 08:01 6962405                    /lib/x86_64-linux-gnu/libnss_files-2.24.so
7f19d8385000-7f19d838b000 rw-p 00000000 00:00 0 
7f19d838b000-7f19d8396000 r-xp 00000000 08:01 6962409                    /lib/x86_64-linux-gnu/libnss_nis-2.24.so
7f19d8396000-7f19d8595000 ---p 0000b000 08:01 6962409                    /lib/x86_64-linux-gnu/libnss_nis-2.24.so
7f19d8595000-7f19d8596000 r--p 0000a000 08:01 6962409                    /lib/x86_64-linux-gnu/libnss_nis-2.24.so
7f19d8596000-7f19d8597000 rw-p 0000b000 08:01 6962409                    /lib/x86_64-linux-gnu/libnss_nis-2.24.so
7f19d8597000-7f19d85ab000 r-xp 00000000 08:01 6962399                    /lib/x86_64-linux-gnu/libnsl-2.24.so
7f19d85ab000-7f19d87ab000 ---p 00014000 08:01 6962399                    /lib/x86_64-linux-gnu/libnsl-2.24.so
7f19d87ab000-7f19d87ac000 r--p 00014000 08:01 6962399                    /lib/x86_64-linux-gnu/libnsl-2.24.so
7f19d87ac000-7f19d87ad000 rw-p 00015000 08:01 6962399                    /lib/x86_64-linux-gnu/libnsl-2.24.so
7f19d87ad000-7f19d87af000 rw-p 00000000 00:00 0 
7f19d87af000-7f19d87b6000 r-xp 00000000 08:01 6962401                    /lib/x86_64-linux-gnu/libnss_compat-2.24.so
7f19d87b6000-7f19d89b5000 ---p 00007000 08:01 6962401                    /lib/x86_64-linux-gnu/libnss_compat-2.24.so

=================================================================
	Native stacktrace:
=================================================================
	0x55ca0b712315 - mono : (null)
	0x55ca0b712641 - mono : (null)
	0x55ca0b6bc8b1 - mono : (null)
	0x55ca0b681d8b - mono : (null)
	0x7f19d96040e0 - /lib/x86_64-linux-gnu/libpthread.so.0 : (null)
	0x55ca0b84bee9 - mono : (null)
	0x55ca0b84cc0f - mono : (null)
	0x55ca0b7f2310 - mono : (null)
	0x55ca0b684e6b - mono : (null)
	0x55ca0b68b902 - mono : mono_main
	0x55ca0b67be31 - mono : (null)
	0x7f19d89d72e1 - /lib/x86_64-linux-gnu/libc.so.6 : __libc_start_main
	0x55ca0b67c5ca - mono : _start

=================================================================
	Telemetry Dumper:
=================================================================

=================================================================
	External Debugger Dump:
=================================================================
[New LWP 2356]
Mono support loaded.
Mono support loaded.
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
0x00007f19d9603b5a in __waitpid (pid=pid@entry=2357, stat_loc=stat_loc@entry=0x7fffcb9805e4, options=options@entry=0) at ../sysdeps/unix/sysv/linux/waitpid.c:29
29	../sysdeps/unix/sysv/linux/waitpid.c: No such file or directory.
  Id   Target Id         Frame 
* 1    Thread 0x7f19da04dbc0 (LWP 2355) "mono" 0x00007f19d9603b5a in __waitpid (pid=pid@entry=2357, stat_loc=stat_loc@entry=0x7fffcb9805e4, options=options@entry=0) at ../sysdeps/unix/sysv/linux/waitpid.c:29
  2    Thread 0x7f19d7bff700 (LWP 2356) "SGen worker" pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185

Thread 2 (Thread 0x7f19d7bff700 (LWP 2356)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x000055ca0b95f90b in mono_os_cond_wait (mutex=0x55ca0bcf4700 <lock>, cond=0x55ca0bcf46c0 <work_cond>) at ../../mono/utils/mono-os-mutex.h:177
#2  get_work (job=<synthetic pointer>, do_idle=<synthetic pointer>, work_context=<synthetic pointer>, worker_index=0) at sgen-thread-pool.c:165
#3  thread_func (data=<optimized out>) at sgen-thread-pool.c:196
#4  0x00007f19d95fa4a4 in start_thread (arg=0x7f19d7bff700) at pthread_create.c:456
#5  0x00007f19d8a9fd0f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97

Thread 1 (Thread 0x7f19da04dbc0 (LWP 2355)):
#0  0x00007f19d9603b5a in __waitpid (pid=pid@entry=2357, stat_loc=stat_loc@entry=0x7fffcb9805e4, options=options@entry=0) at ../sysdeps/unix/sysv/linux/waitpid.c:29
#1  0x000055ca0b712547 in dump_native_stacktrace (mctx=mctx@entry=0x7fffcb980fa0, signal=0x55ca0b98f506 "SIGSEGV") at mini-posix.c:1111
#2  0x000055ca0b712641 in mono_dump_native_crash_info (signal=signal@entry=0x55ca0b98f506 "SIGSEGV", mctx=mctx@entry=0x7fffcb980fa0, info=info@entry=0x7fffcb981270) at mini-posix.c:1153
#3  0x000055ca0b6bc8b1 in mono_handle_native_crash (signal=signal@entry=0x55ca0b98f506 "SIGSEGV", mctx=mctx@entry=0x7fffcb980fa0, info=info@entry=0x7fffcb981270) at mini-exceptions.c:3324
#4  0x000055ca0b681d8b in mono_sigsegv_signal_handler_debug (_dummy=11, _info=0x7fffcb981270, context=0x7fffcb981140, debug_fault_addr=<optimized out>) at mini-runtime.c:3331
#5  <signal handler called>
#6  do_mono_image_load (image=0x55ca0cc98770, status=status@entry=0x0, care_about_cli=care_about_cli@entry=1, care_about_pecoff=care_about_pecoff@entry=1) at image.c:1389
#7  0x000055ca0b84c34a in do_mono_image_open (fname=fname@entry=0x7fffcb982ebf "System.Net.Http.dll", status=status@entry=0x0, care_about_cli=care_about_cli@entry=1, care_about_pecoff=care_about_pecoff@entry=1, refonly=refonly@entry=0, metadata_only=metadata_only@entry=0, load_from_context=<optimized out>) at image.c:1473
#8  0x000055ca0b84cc0f in mono_image_open_a_lot (fname=fname@entry=0x7fffcb982ebf "System.Net.Http.dll", status=status@entry=0x0, refonly=refonly@entry=0, load_from_context=load_from_context@entry=0) at image.c:1849
#9  0x000055ca0b84cd07 in mono_image_open_full (fname=fname@entry=0x7fffcb982ebf "System.Net.Http.dll", status=status@entry=0x0, refonly=refonly@entry=0) at image.c:1720
#10 0x000055ca0b84cd17 in mono_image_open (fname=fname@entry=0x7fffcb982ebf "System.Net.Http.dll", status=status@entry=0x0) at image.c:1868
#11 0x000055ca0b7f2310 in get_runtimes_from_exe (out_image=0x55ca0bce1550 <exe_image>, runtimes=0x7fffcb981810, file=0x7fffcb982ebf "System.Net.Http.dll") at domain.c:1930
#12 mono_init_internal (filename=filename@entry=0x7fffcb982ebf "System.Net.Http.dll", exe_filename=exe_filename@entry=0x7fffcb982ebf "System.Net.Http.dll", runtime_version=runtime_version@entry=0x0) at domain.c:565
#13 0x000055ca0b7f2357 in mono_init_from_assembly (domain_name=domain_name@entry=0x7fffcb982ebf "System.Net.Http.dll", filename=filename@entry=0x7fffcb982ebf "System.Net.Http.dll") at domain.c:841
#14 0x000055ca0b684e6b in mini_init (filename=0x7fffcb982ebf "System.Net.Http.dll", runtime_version=runtime_version@entry=0x0) at mini-runtime.c:4314
#15 0x000055ca0b68b902 in mono_main (argc=<optimized out>, argv=<optimized out>) at driver.c:2509
#16 0x000055ca0b67be31 in mono_main_with_options (argv=<optimized out>, argc=<optimized out>) at main.c:50
#17 main (argc=<optimized out>, argv=<optimized out>) at main.c:408

=================================================================
	Basic Fault Adddress Reporting
=================================================================
Memory around native instruction pointer (0x55ca0b84bee9):0x55ca0b84bed9  8b 85 d8 06 00 00 48 85 c0 75 5a 4d 85 e4 74 08  ......H..uZM..t.
0x55ca0b84bee9  41 c7 04 24 03 00 00 00 66 83 3c 24 00 0f 85 76  A..$....f.<$...v
0x55ca0b84bef9  02 00 00 48 8d 05 5d a1 4a 00 8b 80 14 01 00 00  ...H..].J.......
0x55ca0b84bf09  85 c0 0f 85 b2 02 00 00 48 89 ef 31 ed e8 35 ff  ........H..1..5.
Aborted (core dumped)
=====
Starting AOT: System.Threading.Overlapped.dll
=====

=================================================================
	Native Crash Reporting
=================================================================
Got a SIGSEGV while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries 
used by your application.
=================================================================
/proc/self/maps:
40b28000-40b38000 rwxp 00000000 00:00 0 
55ed7f52e000-55ed7f9c1000 r-xp 00000000 08:01 7487720                    /usr/bin/mono-sgen
55ed7fbc0000-55ed7fbc7000 r--p 00492000 08:01 7487720                    /usr/bin/mono-sgen
55ed7fbc7000-55ed7fbce000 rw-p 00499000 08:01 7487720                    /usr/bin/mono-sgen
55ed7fbce000-55ed7fbe5000 rw-p 00000000 00:00 0 
55ed7fd26000-55ed7fd58000 rw-p 00000000 00:00 0                          [heap]
7f0bb2fff000-7f0bb3fff000 rw-p 00000000 00:00 0 
7f0bb3fff000-7f0bb4000000 ---p 00000000 00:00 0 
7f0bb4000000-7f0bb4c00000 rw-p 00000000 00:00 0 
7f0bb4e50000-7f0bb4e5a000 r-xp 00000000 08:01 6962405                    /lib/x86_64-linux-gnu/libnss_files-2.24.so
7f0bb4e5a000-7f0bb505a000 ---p 0000a000 08:01 6962405                    /lib/x86_64-linux-gnu/libnss_files-2.24.so
7f0bb505a000-7f0bb505b000 r--p 0000a000 08:01 6962405                    /lib/x86_64-linux-gnu/libnss_files-2.24.so
7f0bb505b000-7f0bb505c000 rw-p 0000b000 08:01 6962405                    /lib/x86_64-linux-gnu/libnss_files-2.24.so
7f0bb505c000-7f0bb5062000 rw-p 00000000 00:00 0 
7f0bb5062000-7f0bb506d000 r-xp 00000000 08:01 6962409                    /lib/x86_64-linux-gnu/libnss_nis-2.24.so
7f0bb506d000-7f0bb526c000 ---p 0000b000 08:01 6962409                    /lib/x86_64-linux-gnu/libnss_nis-2.24.so
7f0bb526c000-7f0bb526d000 r--p 0000a000 08:01 6962409                    /lib/x86_64-linux-gnu/libnss_nis-2.24.so
7f0bb526d000-7f0bb526e000 rw-p 0000b000 08:01 6962409                    /lib/x86_64-linux-gnu/libnss_nis-2.24.so
7f0bb526e000-7f0bb5282000 r-xp 00000000 08:01 6962399                    /lib/x86_64-linux-gnu/libnsl-2.24.so
7f0bb5282000-7f0bb5482000 ---p 00014000 08:01 6962399                    /lib/x86_64-linux-gnu/libnsl-2.24.so
7f0bb5482000-7f0bb5483000 r--p 00014000 08:01 6962399                    /lib/x86_64-linux-gnu/libnsl-2.24.so
7f0bb5483000-7f0bb5484000 rw-p 00015000 08:01 6962399                    /lib/x86_64-linux-gnu/libnsl-2.24.so
7f0bb5484000-7f0bb5486000 rw-p 00000000 00:00 0 
7f0bb5486000-7f0bb548d000 r-xp 00000000 08:01 6962401                    /lib/x86_64-linux-gnu/libnss_compat-2.24.so
7f0bb548d000-7f0bb568c000 ---p 00007000 08:01 6962401                    /lib/x86_64-linux-gnu/libnss_compat-2.24.so

=================================================================
	Native stacktrace:
=================================================================
	0x55ed7f600315 - mono : (null)
	0x55ed7f600641 - mono : (null)
	0x55ed7f5aa8b1 - mono : (null)
	0x55ed7f56fd8b - mono : (null)
	0x7f0bb62db0e0 - /lib/x86_64-linux-gnu/libpthread.so.0 : (null)
	0x55ed7f739ee9 - mono : (null)
	0x55ed7f73ac0f - mono : (null)
	0x55ed7f6e0310 - mono : (null)
	0x55ed7f572e6b - mono : (null)
	0x55ed7f579902 - mono : mono_main
	0x55ed7f569e31 - mono : (null)
	0x7f0bb56ae2e1 - /lib/x86_64-linux-gnu/libc.so.6 : __libc_start_main
	0x55ed7f56a5ca - mono : _start

=================================================================
	Telemetry Dumper:
=================================================================

=================================================================
	External Debugger Dump:
=================================================================
[New LWP 2463]
Mono support loaded.
Mono support loaded.
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
0x00007f0bb62dab5a in __waitpid (pid=pid@entry=2464, stat_loc=stat_loc@entry=0x7ffc3cd011a4, options=options@entry=0) at ../sysdeps/unix/sysv/linux/waitpid.c:29
29	../sysdeps/unix/sysv/linux/waitpid.c: No such file or directory.
  Id   Target Id         Frame 
* 1    Thread 0x7f0bb6d24bc0 (LWP 2462) "mono" 0x00007f0bb62dab5a in __waitpid (pid=pid@entry=2464, stat_loc=stat_loc@entry=0x7ffc3cd011a4, options=options@entry=0) at ../sysdeps/unix/sysv/linux/waitpid.c:29
  2    Thread 0x7f0bb47ff700 (LWP 2463) "SGen worker" pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185

Thread 2 (Thread 0x7f0bb47ff700 (LWP 2463)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x000055ed7f84d90b in mono_os_cond_wait (mutex=0x55ed7fbe2700 <lock>, cond=0x55ed7fbe26c0 <work_cond>) at ../../mono/utils/mono-os-mutex.h:177
#2  get_work (job=<synthetic pointer>, do_idle=<synthetic pointer>, work_context=<synthetic pointer>, worker_index=0) at sgen-thread-pool.c:165
#3  thread_func (data=<optimized out>) at sgen-thread-pool.c:196
#4  0x00007f0bb62d14a4 in start_thread (arg=0x7f0bb47ff700) at pthread_create.c:456
#5  0x00007f0bb5776d0f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97

Thread 1 (Thread 0x7f0bb6d24bc0 (LWP 2462)):
#0  0x00007f0bb62dab5a in __waitpid (pid=pid@entry=2464, stat_loc=stat_loc@entry=0x7ffc3cd011a4, options=options@entry=0) at ../sysdeps/unix/sysv/linux/waitpid.c:29
#1  0x000055ed7f600547 in dump_native_stacktrace (mctx=mctx@entry=0x7ffc3cd01b60, signal=0x55ed7f87d506 "SIGSEGV") at mini-posix.c:1111
#2  0x000055ed7f600641 in mono_dump_native_crash_info (signal=signal@entry=0x55ed7f87d506 "SIGSEGV", mctx=mctx@entry=0x7ffc3cd01b60, info=info@entry=0x7ffc3cd01e30) at mini-posix.c:1153
#3  0x000055ed7f5aa8b1 in mono_handle_native_crash (signal=signal@entry=0x55ed7f87d506 "SIGSEGV", mctx=mctx@entry=0x7ffc3cd01b60, info=info@entry=0x7ffc3cd01e30) at mini-exceptions.c:3324
#4  0x000055ed7f56fd8b in mono_sigsegv_signal_handler_debug (_dummy=11, _info=0x7ffc3cd01e30, context=0x7ffc3cd01d00, debug_fault_addr=<optimized out>) at mini-runtime.c:3331
#5  <signal handler called>
#6  do_mono_image_load (image=0x55ed7fd4b790, status=status@entry=0x0, care_about_cli=care_about_cli@entry=1, care_about_pecoff=care_about_pecoff@entry=1) at image.c:1389
#7  0x000055ed7f73a34a in do_mono_image_open (fname=fname@entry=0x7ffc3cd03eb3 "System.Threading.Overlapped.dll", status=status@entry=0x0, care_about_cli=care_about_cli@entry=1, care_about_pecoff=care_about_pecoff@entry=1, refonly=refonly@entry=0, metadata_only=metadata_only@entry=0, load_from_context=<optimized out>) at image.c:1473
#8  0x000055ed7f73ac0f in mono_image_open_a_lot (fname=fname@entry=0x7ffc3cd03eb3 "System.Threading.Overlapped.dll", status=status@entry=0x0, refonly=refonly@entry=0, load_from_context=load_from_context@entry=0) at image.c:1849
#9  0x000055ed7f73ad07 in mono_image_open_full (fname=fname@entry=0x7ffc3cd03eb3 "System.Threading.Overlapped.dll", status=status@entry=0x0, refonly=refonly@entry=0) at image.c:1720
#10 0x000055ed7f73ad17 in mono_image_open (fname=fname@entry=0x7ffc3cd03eb3 "System.Threading.Overlapped.dll", status=status@entry=0x0) at image.c:1868
#11 0x000055ed7f6e0310 in get_runtimes_from_exe (out_image=0x55ed7fbcf550 <exe_image>, runtimes=0x7ffc3cd023d0, file=0x7ffc3cd03eb3 "System.Threading.Overlapped.dll") at domain.c:1930
#12 mono_init_internal (filename=filename@entry=0x7ffc3cd03eb3 "System.Threading.Overlapped.dll", exe_filename=exe_filename@entry=0x7ffc3cd03eb3 "System.Threading.Overlapped.dll", runtime_version=runtime_version@entry=0x0) at domain.c:565
#13 0x000055ed7f6e0357 in mono_init_from_assembly (domain_name=domain_name@entry=0x7ffc3cd03eb3 "System.Threading.Overlapped.dll", filename=filename@entry=0x7ffc3cd03eb3 "System.Threading.Overlapped.dll") at domain.c:841
#14 0x000055ed7f572e6b in mini_init (filename=0x7ffc3cd03eb3 "System.Threading.Overlapped.dll", runtime_version=runtime_version@entry=0x0) at mini-runtime.c:4314
#15 0x000055ed7f579902 in mono_main (argc=<optimized out>, argv=<optimized out>) at driver.c:2509
#16 0x000055ed7f569e31 in mono_main_with_options (argv=<optimized out>, argc=<optimized out>) at main.c:50
#17 main (argc=<optimized out>, argv=<optimized out>) at main.c:408

=================================================================
	Basic Fault Adddress Reporting
=================================================================
Memory around native instruction pointer (0x55ed7f739ee9):0x55ed7f739ed9  8b 85 d8 06 00 00 48 85 c0 75 5a 4d 85 e4 74 08  ......H..uZM..t.
0x55ed7f739ee9  41 c7 04 24 03 00 00 00 66 83 3c 24 00 0f 85 76  A..$....f.<$...v
0x55ed7f739ef9  02 00 00 48 8d 05 5d a1 4a 00 8b 80 14 01 00 00  ...H..].J.......
0x55ed7f739f09  85 c0 0f 85 b2 02 00 00 48 89 ef 31 ed e8 35 ff  ........H..1..5.
Aborted (core dumped)
@alexanderkyte

This comment has been minimized.

Copy link
Member

@alexanderkyte alexanderkyte commented Apr 17, 2019

@lambdageek this looks like the same loader+AOT issue

	External Debugger Dump:
=================================================================
[New LWP 2328]
Mono support loaded.
Mono support loaded.
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
0x00007f71d8dccb5a in __waitpid (pid=pid@entry=2329, stat_loc=stat_loc@entry=0x7ffe06251be4, options=options@entry=0) at ../sysdeps/unix/sysv/linux/waitpid.c:29
29	../sysdeps/unix/sysv/linux/waitpid.c: No such file or directory.
  Id   Target Id         Frame 
* 1    Thread 0x7f71d9816bc0 (LWP 2327) "mono" 0x00007f71d8dccb5a in __waitpid (pid=pid@entry=2329, stat_loc=stat_loc@entry=0x7ffe06251be4, options=options@entry=0) at ../sysdeps/unix/sysv/linux/waitpid.c:29
  2    Thread 0x7f71d73ff700 (LWP 2328) "SGen worker" pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185

Thread 2 (Thread 0x7f71d73ff700 (LWP 2328)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x0000556467fd190b in mono_os_cond_wait (mutex=0x556468366700 <lock>, cond=0x5564683666c0 <work_cond>) at ../../mono/utils/mono-os-mutex.h:177
#2  get_work (job=<synthetic pointer>, do_idle=<synthetic pointer>, work_context=<synthetic pointer>, worker_index=0) at sgen-thread-pool.c:165
#3  thread_func (data=<optimized out>) at sgen-thread-pool.c:196
#4  0x00007f71d8dc34a4 in start_thread (arg=0x7f71d73ff700) at pthread_create.c:456
#5  0x00007f71d8268d0f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97

Thread 1 (Thread 0x7f71d9816bc0 (LWP 2327)):
#0  0x00007f71d8dccb5a in __waitpid (pid=pid@entry=2329, stat_loc=stat_loc@entry=0x7ffe06251be4, options=options@entry=0) at ../sysdeps/unix/sysv/linux/waitpid.c:29
#1  0x0000556467d84547 in dump_native_stacktrace (mctx=mctx@entry=0x7ffe062525a0, signal=0x556468001506 "SIGSEGV") at mini-posix.c:1111
#2  0x0000556467d84641 in mono_dump_native_crash_info (signal=signal@entry=0x556468001506 "SIGSEGV", mctx=mctx@entry=0x7ffe062525a0, info=info@entry=0x7ffe06252870) at mini-posix.c:1153
#3  0x0000556467d2e8b1 in mono_handle_native_crash (signal=signal@entry=0x556468001506 "SIGSEGV", mctx=mctx@entry=0x7ffe062525a0, info=info@entry=0x7ffe06252870) at mini-exceptions.c:3324
#4  0x0000556467cf3d8b in mono_sigsegv_signal_handler_debug (_dummy=11, _info=0x7ffe06252870, context=0x7ffe06252740, debug_fault_addr=<optimized out>) at mini-runtime.c:3331
#5  <signal handler called>
#6  do_mono_image_load (image=0x55646a0e5790, status=status@entry=0x0, care_about_cli=care_about_cli@entry=1, care_about_pecoff=care_about_pecoff@entry=1) at image.c:1389
#7  0x0000556467ebe34a in do_mono_image_open (fname=fname@entry=0x7ffe06253eaf "System.Globalization.Extensions.dll", status=status@entry=0x0, care_about_cli=care_about_cli@entry=1, care_about_pecoff=care_about_pecoff@entry=1, refonly=refonly@entry=0, metadata_only=metadata_only@entry=0, load_from_context=<optimized out>) at image.c:1473
#8  0x0000556467ebec0f in mono_image_open_a_lot (fname=fname@entry=0x7ffe06253eaf "System.Globalization.Extensions.dll", status=status@entry=0x0, refonly=refonly@entry=0, load_from_context=load_from_context@entry=0) at image.c:1849
#9  0x0000556467ebed07 in mono_image_open_full (fname=fname@entry=0x7ffe06253eaf "System.Globalization.Extensions.dll", status=status@entry=0x0, refonly=refonly@entry=0) at image.c:1720
#10 0x0000556467ebed17 in mono_image_open (fname=fname@entry=0x7ffe06253eaf "System.Globalization.Extensions.dll", status=status@entry=0x0) at image.c:1868
#11 0x0000556467e64310 in get_runtimes_from_exe (out_image=0x556468353550 <exe_image>, runtimes=0x7ffe06252e10, file=0x7ffe06253eaf "System.Globalization.Extensions.dll") at domain.c:1930
#12 mono_init_internal (filename=filename@entry=0x7ffe06253eaf "System.Globalization.Extensions.dll", exe_filename=exe_filename@entry=0x7ffe06253eaf "System.Globalization.Extensions.dll", runtime_version=runtime_version@entry=0x0) at domain.c:565
#13 0x0000556467e64357 in mono_init_from_assembly (domain_name=domain_name@entry=0x7ffe06253eaf "System.Globalization.Extensions.dll", filename=filename@entry=0x7ffe06253eaf "System.Globalization.Extensions.dll") at domain.c:841
#14 0x0000556467cf6e6b in mini_init (filename=0x7ffe06253eaf "System.Globalization.Extensions.dll", runtime_version=runtime_version@entry=0x0) at mini-runtime.c:4314
#15 0x0000556467cfd902 in mono_main (argc=<optimized out>, argv=<optimized out>) at driver.c:2509
#16 0x0000556467cede31 in mono_main_with_options (argv=<optimized out>, argc=<optimized out>) at main.c:50
#17 main (argc=<optimized out>, argv=<optimized out>) at main.c:408
@lambdageek lambdageek self-assigned this Apr 17, 2019
@lambdageek

This comment has been minimized.

Copy link
Member

@lambdageek lambdageek commented Apr 17, 2019

@brianrob So.... good news / bad news:

good news: you've found a real bug! we pass a null pointer and then try to write through it without checking. I'll have a PR shortly.

bad news: you can't AOT those particular assemblies. They are considered by Mono to be "problematic images" - they are specific versions of particular assemblies that are known to contain platform specific code that Mono cannot execute. So if Mono ever sees one of these assemblies it will refuse to load it.

The full list is here https://github.com/mono/mono/blob/master/mcs/tools/xbuild/data/deniedAssembliesList.txt the format it "assembly name, GUID, version".

Mono's msbuild also has some knowledge about these assemblies, so it may be possible to substitute our versions for the problematic ones. You may want to talk to @radical about your options here.

lambdageek added a commit to lambdageek/mono that referenced this issue Apr 17, 2019
If 'status' is null, don't try to write to it.

Fixes mono#13941
monojenkins added a commit to monojenkins/mono that referenced this issue Apr 17, 2019
If 'status' is null, don't try to write to it.

Fixes mono#13941
monojenkins added a commit to monojenkins/mono that referenced this issue Apr 17, 2019
If 'status' is null, don't try to write to it.

Fixes mono#13941
@lambdageek

This comment has been minimized.

Copy link
Member

@lambdageek lambdageek commented Apr 17, 2019

@brianrob So you mention in the bug report that System.Diagnostics.Tracing.dll also causes a crash. But that assembly isn't a "problematic image" for mono. Any chance you've a stack trace for that one? It may be a different bug.

@brianrob

This comment has been minimized.

Copy link
Author

@brianrob brianrob commented Apr 17, 2019

Thanks @lambdageek. I looked at the list of denied assemblies, and they are all framework assemblies. Is there an effort to fix these issues in the framework? To make sure I understand correctly is this statement true: Any app that uses these assemblies will crash when the assembly is loaded.

With respect to System.Diagnostics.Tracing let me get you a stack.

@lambdageek

This comment has been minimized.

Copy link
Member

@lambdageek lambdageek commented Apr 17, 2019

Is there an effort to fix these issues in the framework?

Yes. But the bad ones are still around. We blacklist specific instances (determined by GUID) of those assemblies. What we saw is that folks would create NuGets that would include copies of (for example) a specific version of System.Net.Http that only works on .NET Framework on Windows. Then users would download that NuGet and use it in apps. They would end up with that bad copy of System.Net.Http copied to their output dir and at runtime Mono would pick up System.Net.Http from the app's folder instead of from Mono's system frameworks, and then the app would crash trying to invoke some Windows code on non-Windows platforms.

To make sure I understand correctly is this statement true: Any app that uses these assemblies will crash when the assembly is loaded.

Mono's loader will refuse to load assemblies whose name+GUID match the blacklist. What happens after that kind of depends on the circumstances of the load:

  • If it's part of the normal loading of references of one assembly to another, the loader will probe the app dir, skip over the blacklisted assembly and then probe elsewhere and ultimately resolve the reference by finding Mono's own implementation of that framework assembly.
  • for some kinds of reflection API calls (Assembly.LoadFrom, Assembly.Load with a code path, and others), the runtime will attempt to open the bad assembly, see that it is blacklisted and basically act as if it the assembly wasn't found at all. After that it kind of depends on how the app is written. But usually there will be some sort of managed exception.
  • In this specific case it's the Mono AOT compiler that's attempting to load the assembly - the loader subsystem is passed a specific file path, probes the assembly, determines that it's blacklisted and returns null. From the point of view of the AOT compiler it's the same as if you passed some malformed file or the filename of a non-existent file - there's no fallback, compilation fails.

We emit a notice to our logging (run with MONO_LOG_LEVEL=info MONO_LOG_MASK=asm environment variables set) whenever we probe and determine that we're asked to open one of these blacklisted assemblies.

@brianrob

This comment has been minimized.

Copy link
Author

@brianrob brianrob commented Apr 17, 2019

It looks like my list at the beginning of the issue is wrong, and System.Diagnostics.Tracing.dll does get properly AOT'd. The full list is:

  • System.Globalization.Extensions.dll
  • System.IO.Compression.dll
  • System.Net.Http.dll
  • System.Threading.Overlapped.dll

Since all of these are on the deny list, it sounds like these are all expected. Is there an issue in CoreFX that I can point at for these? Also, should I expect that these wouldn't work on Windows either even if they contain Windows code? Or do we just block them because we know that the mono implementation work?

Also, thanks for the explanation of runtime behavior. That helps a whole bunch.

@lambdageek

This comment has been minimized.

Copy link
Member

@lambdageek lambdageek commented Apr 17, 2019

I'm not sure if/where this was tracked in CoreFX - maybe someone else could chime in.

We block them on Windows too - we really want to run Mono's own versions everywhere. (I don't recall if we tried them with Mono on Windows and determined that they were inappropriate for Mono even there, or if we just implemented a single uniform behavior for the sake of simplicity & clarity.)

@brianrob

This comment has been minimized.

Copy link
Author

@brianrob brianrob commented Apr 17, 2019

Thanks @lambdageek. @danmosemsft, do you know if we are tracking a fix for this issue in the CoreFX repo?

@danmosemsft

This comment has been minimized.

Copy link
Contributor

@danmosemsft danmosemsft commented Apr 17, 2019

I do not - not familiar with this

@brianrob

This comment has been minimized.

Copy link
Author

@brianrob brianrob commented Apr 18, 2019

@lambdageek, it occurs to me that when I compiled this app, I targeted net472. To my knowledge, this is the best way to produce a runnable layout that Mono can execute at this time. Thus, it makes sense that these assemblies could contain platform-specific code that can't be run on Linux. Given a properly compiled .NET Core app that is either platform-neutral or targets the proper platform (in this case Linux), I wouldn't expect any of those assemblies to be on the deny list. Does that sound right? Stated another way, all of the assemblies on the deny list should be desktop assemblies, which by definition are only ever supported on Windows, even if we can make many of them work cross-platform.

lambdageek added a commit that referenced this issue Apr 19, 2019
* [loader] Dont't store through a null ptr

If 'status' is null, don't try to write to it.

Fixes #13941

* [metadata] Protect writes to MonoImageOpenStatus* in a few places.

When possible assert that `MonoImageOpenStatus *status` arguments to various
functions in the runtime aren't null.  There are a few places (MONO_API) where
it's possible that callers are passing null.  In that case, use a local
MonoImageOpenStatus, or check for null before doing assignments.
@marek-safar

This comment has been minimized.

Copy link
Member

@marek-safar marek-safar commented Apr 23, 2019

@brianrob Are they .NET Core or .NET Framework assemblies? We deny loading only .NET Framework ones. as they have .NET framework specific implementation. Removing them from your install/current folder location should resolve the issue.

@lambdageek we should not hit this code path for netcore at all.

@brianrob

This comment has been minimized.

Copy link
Author

@brianrob brianrob commented Apr 23, 2019

@marek-safar these are desktop assemblies targeted at 4.7.1. My understanding is that this is the right way to run against mono right now. Should I be able to run .NET Core targeted apps against mono now?

@marek-safar

This comment has been minimized.

Copy link
Member

@marek-safar marek-safar commented Apr 24, 2019

@brianrob they are windows specific so we do our best to identify them and ignore them. We are probably missing more checks for AOT but you should be able to move forward by deleting them to allow using Mono implementation of these assemblies which are cross platform compatible.

akoeplinger added a commit that referenced this issue May 7, 2019
* [loader] Dont't store through a null ptr

If 'status' is null, don't try to write to it.

Fixes #13941

* [metadata] Protect writes to MonoImageOpenStatus* in a few places.

When possible assert that `MonoImageOpenStatus *status` arguments to various
functions in the runtime aren't null.  There are a few places (MONO_API) where
it's possible that callers are passing null.  In that case, use a local
MonoImageOpenStatus, or check for null before doing assignments.
akoeplinger added a commit that referenced this issue May 7, 2019
* [loader] Dont't store through a null ptr

If 'status' is null, don't try to write to it.

Fixes #13941

* [metadata] Protect writes to MonoImageOpenStatus* in a few places.

When possible assert that `MonoImageOpenStatus *status` arguments to various
functions in the runtime aren't null.  There are a few places (MONO_API) where
it's possible that callers are passing null.  In that case, use a local
MonoImageOpenStatus, or check for null before doing assignments.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
5 participants
You can’t perform that action at this time.