lucenenet-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Shad Storhaug (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (LUCENENET-602) Error using Lucene.Net.Facet 4.8.0-beta00005 with Xamarin.iOS
Date Wed, 20 Jun 2018 21:09:00 GMT

    [ https://issues.apache.org/jira/browse/LUCENENET-602?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16518601#comment-16518601
] 

Shad Storhaug commented on LUCENENET-602:
-----------------------------------------

Enrico,

Thanks for the feedback.

A Google search indicates several people who have run into this issue and most of them seem
to indicate that changing the compilation settings will fix the issue.

https://www.google.com/search?q=attempting+to+jit+compile+method&rlz=1C1CHFX_enTH570&oq=Attempting+to+JIT+compile+method&aqs=chrome.0.0l6.1608j0j7&sourceid=chrome&ie=UTF-8

In particular, see:

* https://stackoverflow.com/questions/28123471/ios-app-store-executionengineexception-attempting-to-jit-compile#comment44666064_28143012
* https://forums.xamarin.com/discussion/98523/system-executionengineexception-attempting-to-jit-compile-method-on-physical-device-ipod-touch
* https://stackoverflow.com/questions/44331069/xamarin-ios-executionengineexception-attempting-to-jit-compile-method-while
* https://forums.xamarin.com/discussion/98200/executionengineexception-attempting-to-jit-compile-method-when-assigning-delegate-class

While many of the answers seem to indicate that a {{System.ExecutionEngineException}} is thrown
from .NET, when trying to catch the exception I get a compile warning:

{quote}Warning	CS0618	'ExecutionEngineException' is obsolete: 'This type previously indicated
an unspecified fatal error in the runtime. The runtime no longer raises this exception so
this type is obsolete.'{quote}

Therefore, I would suggest trying the solutions in the above answers on the 4.8.0-beta00005
build to see if you can fix this using the compilation settings, as some of the documentation
and answers seem to indicate this issue has already been fixed on AOT. The fact the exception
thrown is marked obsolete also seems to indicate this is not the right way to fix this issue.

*IMPORTANT:* 4.8.0-beta00004 was compiled with optimizations disabled, so there is a high
likelihood that it will not work with AOT. Make sure you are using 4.8.0-beta00005.

If you are still having the issue, please put together a small standalone project with code
that causes the exception to happen along with step by step instructions about how to make
it occur so we can try to reproduce the issue here.

{quote} i think, for example there is the paragraph "Using Delegates to call Native Functions"
in which is contained our exception.{quote}

Thanks. But in this case we are not calling native functions, so this doesn't seem like a
solution to this particular issue.

> Error using Lucene.Net.Facet 4.8.0-beta00005  with Xamarin.iOS
> --------------------------------------------------------------
>
>                 Key: LUCENENET-602
>                 URL: https://issues.apache.org/jira/browse/LUCENENET-602
>             Project: Lucene.Net
>          Issue Type: Bug
>          Components: Lucene.Net.Facet
>    Affects Versions: Lucene.Net 4.8.0
>         Environment: Xamarin Forms 3.0.0.561731
> Ios 10.3.3 and Higher
> Lucene.Net.Facet 4.8.0-beta00005
>            Reporter: Enrico Caltran
>            Priority: Blocker
>              Labels: AOT, Xamarin.iOS, lucene.net.facet
>             Fix For: Lucene.Net 4.8.0
>
>   Original Estimate: 120h
>  Remaining Estimate: 120h
>
> I'm using Lucene.Net.Facet 4.8.0-beta00005 in a big Xamarin project.
> +With Xamarin.Android and Xamarin.UWP it's all right.+
> *+But With Xamarin.iOS on device (Ipad)+*, i'm receiving this error:
>  _Attempting to JIT compile method 'Lucene.Net.Support.LurchTable2&lt;Lucene.Net.Facet.Taxonomy.FacetLabel,
Lucene.Net.Facet.Taxonomy.Directory.DirectoryTaxonomyReader/Int32Class&gt;:InternalInsert&lt;Lucene.Net.Support.LurchTable2/Add2Info<Lucene.Net.Facet.Taxonomy.FacetLabel,
Lucene.Net.Facet.Taxonomy.Directory.DirectoryTaxonomyReader/Int32Class>> (int,Lucene.Net.Facet.Taxonomy.FacetLabel,int&,Lucene.Net.Support.LurchTable`2/Add2Info<Lucene.Net.Facet.Taxonomy.FacetLabel,
Lucene.Net.Facet.Taxonomy.Directory.DirectoryTaxonomyReader/Int32Class>&)' while running
in aot-only mode. See [https://developer.xamarin.com/guides/ios/advanced_topics/limitations/]
for more information._
> _{color:#d04437}at Lucene.Net.Support.LurchTable2[TKey,TValue].Insert[T] (TKey key, T&amp;
value) &lt;0x2570f48 + 0x000e0&gt; in &lt;063e095c95d945a4ace32ab83d1227eb#2ae0fea9ea4eacaef83bf2e9713bb8ea&gt;:0
at (wrapper unknown) System.Object.gsharedvt_in() at Lucene.Net.Support.LurchTable2[TKey,TValue].AddOrUpdate
(TKey key, TValue addValue, Lucene.Net.Support.KeyValueUpdate2[TKey,TValue] fnUpdate) &lt;0x232824c
+ 0x0013b&gt; in &lt;063e095c95d945a4ace32ab83d1227eb#2ae0fea9ea4eacaef83bf2e9713bb8ea&gt;:0
at Lucene.Net.Facet.Taxonomy.LRUHashMap2[TKey,TValue].Put (TKey key, TValue value) <0x2c487f8
+ 0x0015b> in <79d3a7b905954d0993025c09c5d087ce#2ae0fea9ea4eacaef83bf2e9713bb8ea>:0
at Lucene.Net.Facet.Taxonomy.Directory.DirectoryTaxonomyReader.GetOrdinal (Lucene.Net.Facet.Taxonomy.FacetLabel
cp) <0x2c51970 + 0x0019b> in <79d3a7b905954d0993025c09c5d087ce#2ae0fea9ea4eacaef83bf2e9713bb8ea>:0
at Lucene.Net.Facet.Taxonomy.Int32TaxonomyFacets.GetTopChildren{color} (System.Int32 topN,
System.String dim, System.String[] path) <0x2c481dc + 0x0008f> in <79d3a7b905954d0993025c09c5d087ce#2ae0fea9ea4eacaef83bf2e9713bb8ea>:0
at Login.MyMB.Lucene.Client.LuceneArticoliSearcher.GetListaArticoloXRicercaAvanzataConRicercaSemplice
(System.Collections.Generic.List1[T] listParametri) &lt;0x224add0 + 0x001bb&gt; in
&lt;8f49891e0f0546e185aba7424d294ef7#2ae0fea9ea4eacaef83bf2e9713bb8ea&gt;:0 at Login.MyMB.Lucene.Client.LuceneArticoliSearcher.GetListaArticoloConRicercaSemplice
(System.Collections.Generic.List1[T] listParametri) <0x224afbc + 0x0009f> in <8f49891e0f0546e185aba7424d294ef7#2ae0fea9ea4eacaef83bf2e9713bb8ea>:0
at MyMB.Forms.RicercaLucene.RicercaArticoloLucene.GetListaArticoliXRicercaSemplice (Login.MyMB.Interface.IAmbiente
ambiente, Login.MyMB.Lucene.Client.LuceneArticoliSearcher las, System.Collections.Generic.List`1[T]
ListParametri, System.Boolean isAbilitataRicercaBarcode) <0xe47fc0 + 0x000e7> in <f1bb3149abe145459612794f1a096634#2ae0fea9ea4eacaef83bf2e9713bb8ea>:0
..............................._
> At the link [https://docs.microsoft.com/it-it/xamarin/ios/internals/limitations] , I
found the problem cause (I suppose...):
> _Value types as Dictionary Keys Using a value type as a Dictionary<TKey, TValue>
key is problematic, as the default Dictionary constructor attempts to use EqualityComparer<TKey>.Default.
EqualityComparer<TKey>.Default, in turn, attempts to use Reflection to instantiate a
new type which implements the IEqualityComparer<TKey> interface. This works for reference
types (as the reflection+create a new type step is skipped), but for value types it crashes
and burns rather quickly once you attempt to use it on the device. Workaround: Manually implement
the IEqualityComparer<TKey> interface in a new type and provide an instance of that
type to the Dictionary<TKey, TValue> (IEqualityComparer<TKey>) constructor._
> So, what can I do? Thank you in advance, Enrico Caltran +393357485560 [enrico.caltran@timegroup.it|mailto:enrico.caltran@timegroup.it]



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Mime
View raw message