Hybrid AOT is not working for some generic methods #7016
Comments
/cc @vargaz any ideas, it looks like we AOT less than what we should in this specific case |
The LurchTable class uses some complicated generics with valuetypes, so we fail back to valuetype based sharing, which still has some restrictions around constrained calls, i.e. this one in
|
Are the restrictions documented somewhere? I don't see a big problem with the fact that the AOT fails, but there's no warning/error. Neither is there an option to keep the IL unstripped for the problematic calls. |
The restrictions are hard to describe at a user level. We should probably keep the IL for these methods. |
I don't quite understand why |
The problem is the AddInfo struct, generics + structs don't work very well in an AOT environment. As a workaround, I'd suggest getting rid of it and passing the 2 parameters normally. |
Hopefully fixes mono#7016.
/cc @chamons |
Hopefully fixes mono#7016.
Bumps to Java.Interop/master/0afb2b0f Bumps to llvm/master/a9cfb50e. Fixes: https://bugzilla.xamarin.com/show_bug.cgi?id=11771 Fixes: https://bugzilla.xamarin.com/show_bug.cgi?id=15051 Fixes: https://bugzilla.xamarin.com/show_bug.cgi?id=19436 Fixes: https://bugzilla.xamarin.com/show_bug.cgi?id=45901 Fixes: https://bugzilla.xamarin.com/show_bug.cgi?id=56071 Fixes: https://bugzilla.xamarin.com/show_bug.cgi?id=58413 Fixes: https://bugzilla.xamarin.com/show_bug.cgi?id=58413 Fixes: https://bugzilla.xamarin.com/show_bug.cgi?id=58413 Fixes: https://bugzilla.xamarin.com/show_bug.cgi?id=59184 fixes: https://bugzilla.xamarin.com/show_bug.cgi?id=60065 Fixes: https://bugzilla.xamarin.com/show_bug.cgi?id=60225 Fixes: https://bugzilla.xamarin.com/show_bug.cgi?id=60298 Fixes: https://bugzilla.xamarin.com/show_bug.cgi?id=60359 Fixes: https://bugzilla.xamarin.com/show_bug.cgi?id=60568 Fixes: https://bugzilla.xamarin.com/show_bug.cgi?id=60756 Fixes: https://bugzilla.xamarin.com/show_bug.cgi?id=60848 Fixes: https://bugzilla.xamarin.com/show_bug.cgi?id=60862 Fixes: https://bugzilla.xamarin.com/show_bug.cgi?id=60900 Fixes: https://bugzilla.xamarin.com/show_bug.cgi?id=60904 Fixes: https://bugzilla.xamarin.com/show_bug.cgi?id=60986 Fixes: https://github.com/mono/mono/issues/59400 Fixes: mono/mono#6169 Fixes: mono/mono#6187 Fixes: mono/mono#6192 Fixes: mono/mono#6255 Fixes: mono/mono#6264 Fixes: mono/mono#6266 Fixes: mono/mono#6281 Fixes: mono/mono#6283 Fixes: mono/mono#6320 Fixes: mono/mono#6339 Fixes: mono/mono#6343 Fixes: mono/mono#6349 Fixes: mono/mono#6379 Fixes: mono/mono#6383 Fixes: mono/mono#6401. Fixes: mono/mono#6411 Fixes: mono/mono#6414 Fixes: mono/mono#6490 Fixes: mono/mono#6721 Fixes: mono/mono#6767 Fixes: mono/mono#6777 Fixes: mono/mono#6848 Fixes: mono/mono#6940 Fixes: mono/mono#6948 Fixes: mono/mono#6998 Fixes: mono/mono#7016 Fixes: mono/mono#7085 Fixes: mono/mono#7086 Fixes: mono/mono#7095 Fixes: mono/mono#7137 Fixes: mono/mono#7184 Fixes: mono/mono#7240 Fixes: mono/mono#7262 Fixes: mono/mono#7289 Fixes: mono/mono#7338 Fixes: mono/mono#7356 Fixes: mono/mono#7364 Fixes: mono/mono#7378 Fixes: mono/mono#7389 Fixes: mono/mono#7460 Fixes: mono/mono#7535 Fixes: mono/mono#7536 Fixes: mono/mono#7610 Fixes: mono/mono#7624 Fixes: mono/mono#7637 Fixes: mono/mono#7655 Fixes: mono/mono#7657 Fixes: mono/mono#7685 Fixes: mono/mono#7786 Fixes: mono/mono#7792 Fixes: mono/mono#7822 Fixes: mono/mono#7860 Fixes: mono/mono#8089 Fixes: mono/mono#8267 Fixes: mono/mono#8409 Fixes: xamarin/maccore#628 Fixes: xamarin/maccore#629 Fixes: xamarin/maccore#673 Fixes: xamarin/maccore#673 Fixes: #1561
Fixes: #1130 Fixes: #1561 (comment) Fixes: #1845 Fixes: #1951 Context: https://bugzilla.xamarin.com/show_bug.cgi?id=10087 Context: https://bugzilla.xamarin.com/show_bug.cgi?id=11771 Context: https://bugzilla.xamarin.com/show_bug.cgi?id=12850 Context: https://bugzilla.xamarin.com/show_bug.cgi?id=18941 Context: https://bugzilla.xamarin.com/show_bug.cgi?id=19436 Context: https://bugzilla.xamarin.com/show_bug.cgi?id=25444 Context: https://bugzilla.xamarin.com/show_bug.cgi?id=33208 Context: https://bugzilla.xamarin.com/show_bug.cgi?id=58413 Context: https://bugzilla.xamarin.com/show_bug.cgi?id=59184 Context: https://bugzilla.xamarin.com/show_bug.cgi?id=59400 Context: https://bugzilla.xamarin.com/show_bug.cgi?id=59779 Context: https://bugzilla.xamarin.com/show_bug.cgi?id=60065 Context: https://bugzilla.xamarin.com/show_bug.cgi?id=60843 Context: mono/mono#6174 Context: mono/mono#6178 Context: mono/mono#6180 Context: mono/mono#6181 Context: mono/mono#6186 Context: mono/mono#6187 Context: mono/mono#6211 Context: mono/mono#6266 Context: mono/mono#6579 Context: mono/mono#6666 Context: mono/mono#6752 Context: mono/mono#6801 Context: mono/mono#6812 Context: mono/mono#6848 Context: mono/mono#6940 Context: mono/mono#6948 Context: mono/mono#6998 Context: mono/mono#6999 Context: mono/mono#7016 Context: mono/mono#7085 Context: mono/mono#7086 Context: mono/mono#7095 Context: mono/mono#7134 Context: mono/mono#7137 Context: mono/mono#7145 Context: mono/mono#7184 Context: mono/mono#7240 Context: mono/mono#7262 Context: mono/mono#7289 Context: mono/mono#7338 Context: mono/mono#7356 Context: mono/mono#7364 Context: mono/mono#7378 Context: mono/mono#7389 Context: mono/mono#7449 Context: mono/mono#7460 Context: mono/mono#7535 Context: mono/mono#7536 Context: mono/mono#7537 Context: mono/mono#7565 Context: mono/mono#7588 Context: mono/mono#7596 Context: mono/mono#7610 Context: mono/mono#7613 Context: mono/mono#7620 Context: mono/mono#7624 Context: mono/mono#7637 Context: mono/mono#7655 Context: mono/mono#7657 Context: mono/mono#7661 Context: mono/mono#7685 Context: mono/mono#7696 Context: mono/mono#7729 Context: mono/mono#7786 Context: mono/mono#7792 Context: mono/mono#7805 Context: mono/mono#7822 Context: mono/mono#7828 Context: mono/mono#7860 Context: mono/mono#7864 Context: mono/mono#7903 Context: mono/mono#7920 Context: mono/mono#8089 Context: mono/mono#8143 Context: mono/mono#8267 Context: mono/mono#8311 Context: mono/mono#8340 Context: mono/mono#8409 Context: mono/mono#8417 Context: mono/mono#8430 Context: mono/mono#8698 Context: mono/mono#8701 Context: mono/mono#8712 Context: mono/mono#8721 Context: mono/mono#8726 Context: mono/mono#8866 Context: mono/mono#9023 Context: mono/mono#9031 Context: mono/mono#9033 Context: mono/mono#9044 Context: mono/mono#9179 Context: mono/mono#9318 Context: mono/mono#9318 Context: xamarin/maccore#628 Context: xamarin/maccore#629 Context: xamarin/maccore#673
Fixes: #1130 Fixes: #1561 (comment) Fixes: #1845 Fixes: #1951 Context: https://bugzilla.xamarin.com/show_bug.cgi?id=10087 Context: https://bugzilla.xamarin.com/show_bug.cgi?id=11771 Context: https://bugzilla.xamarin.com/show_bug.cgi?id=12850 Context: https://bugzilla.xamarin.com/show_bug.cgi?id=18941 Context: https://bugzilla.xamarin.com/show_bug.cgi?id=19436 Context: https://bugzilla.xamarin.com/show_bug.cgi?id=25444 Context: https://bugzilla.xamarin.com/show_bug.cgi?id=33208 Context: https://bugzilla.xamarin.com/show_bug.cgi?id=58413 Context: https://bugzilla.xamarin.com/show_bug.cgi?id=59184 Context: https://bugzilla.xamarin.com/show_bug.cgi?id=59400 Context: https://bugzilla.xamarin.com/show_bug.cgi?id=59779 Context: https://bugzilla.xamarin.com/show_bug.cgi?id=60065 Context: https://bugzilla.xamarin.com/show_bug.cgi?id=60843 Context: mono/mono#6174 Context: mono/mono#6178 Context: mono/mono#6180 Context: mono/mono#6181 Context: mono/mono#6186 Context: mono/mono#6187 Context: mono/mono#6211 Context: mono/mono#6266 Context: mono/mono#6579 Context: mono/mono#6666 Context: mono/mono#6752 Context: mono/mono#6801 Context: mono/mono#6812 Context: mono/mono#6848 Context: mono/mono#6940 Context: mono/mono#6948 Context: mono/mono#6998 Context: mono/mono#6999 Context: mono/mono#7016 Context: mono/mono#7085 Context: mono/mono#7086 Context: mono/mono#7095 Context: mono/mono#7134 Context: mono/mono#7137 Context: mono/mono#7145 Context: mono/mono#7184 Context: mono/mono#7240 Context: mono/mono#7262 Context: mono/mono#7289 Context: mono/mono#7338 Context: mono/mono#7356 Context: mono/mono#7364 Context: mono/mono#7378 Context: mono/mono#7389 Context: mono/mono#7449 Context: mono/mono#7460 Context: mono/mono#7535 Context: mono/mono#7536 Context: mono/mono#7537 Context: mono/mono#7565 Context: mono/mono#7588 Context: mono/mono#7596 Context: mono/mono#7610 Context: mono/mono#7613 Context: mono/mono#7620 Context: mono/mono#7624 Context: mono/mono#7637 Context: mono/mono#7655 Context: mono/mono#7657 Context: mono/mono#7661 Context: mono/mono#7685 Context: mono/mono#7696 Context: mono/mono#7729 Context: mono/mono#7786 Context: mono/mono#7792 Context: mono/mono#7805 Context: mono/mono#7822 Context: mono/mono#7828 Context: mono/mono#7860 Context: mono/mono#7864 Context: mono/mono#7903 Context: mono/mono#7920 Context: mono/mono#8089 Context: mono/mono#8143 Context: mono/mono#8267 Context: mono/mono#8311 Context: mono/mono#8340 Context: mono/mono#8409 Context: mono/mono#8417 Context: mono/mono#8430 Context: mono/mono#8698 Context: mono/mono#8701 Context: mono/mono#8712 Context: mono/mono#8721 Context: mono/mono#8726 Context: mono/mono#8866 Context: mono/mono#9023 Context: mono/mono#9031 Context: mono/mono#9033 Context: mono/mono#9044 Context: mono/mono#9179 Context: mono/mono#9318 Context: mono/mono#9318 Context: xamarin/maccore#628 Context: xamarin/maccore#629 Context: xamarin/maccore#673
Steps to Reproduce
LurchTableTest.zip
Current Behavior
The application crashes because it couldn't locate an AOTed method and the IL code is stripped.
Expected Behavior
The program should not crash.
On which platforms did you notice this
[x] macOS
[ ] Linux
[ ] Windows
Version Used:
Mono JIT compiler version 5.8.0.123 (2017-10/38502063cac Thu Feb 1 12:58:29 EST 2018)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
TLS: normal
SIGSEGV: altstack
Notification: kqueue
Architecture: amd64
Disabled: none
Misc: softdebug
LLVM: yes(3.6.0svn-mono-master/8b1520c8aae)
GC: sgen (concurrent by default)
The text was updated successfully, but these errors were encountered: