Bug 3008 - AOT crash - LLVM only - alert in aot-runtime.c
Summary: AOT crash - LLVM only - alert in aot-runtime.c
Status: RESOLVED NORESPONSE
Alias: None
Product: iOS
Classification: Xamarin
Component: XI runtime ()
Version: 5.0
Hardware: Macintosh Mac OS
: --- normal
Target Milestone: Untriaged
Assignee: Bugzilla
URL:
Depends on:
Blocks:
 
Reported: 2012-01-22 13:44 UTC by Nic Wise
Modified: 2013-06-01 08:17 UTC (History)
6 users (show)

Tags:
Is this bug a regression?: ---
Last known good build:

Notice (2018-05-24): bugzilla.xamarin.com is now in read-only mode.

Please join us on Visual Studio Developer Community and in the Xamarin and Mono organizations on GitHub to continue tracking issues. Bugzilla will remain available for reference in read-only mode. We will continue to work on open Bugzilla bugs, copy them to the new locations as needed for follow-up, and add the new items under Related Links.

Our sincere thanks to everyone who has contributed on this bug tracker over the years. Thanks also for your understanding as we make these adjustments and improvements for the future.


Please create a new report on Developer Community or GitHub with your current version information, steps to reproduce, and relevant error messages or log files if you are hitting an issue that looks similar to this resolved bug and you do not yet see a matching new report.

Related Links:
Status:
RESOLVED NORESPONSE

Description Nic Wise 2012-01-22 13:44:35 UTC
I have an app, the source of which I'm happy to provide, which does this under LLVM:

<Notice>: * Assertion at ../../../../../mono/mono/mini/aot-runtime.c:2247, condition `(guint8*)addr < (guint8*)jinfo->code_start + jinfo->code_size' not met

But not under the normal compiler (I did have to up the trampoline count to 512 tho)

The code is in the new System.Threading.Task (well, new to me!) stuff, if that helps.

That error was dug out of the iphone's log.

Any ideas? Anything I can provide (aside from the source, which I'm happy to but only via email)
Comment 1 Miguel de Icaza [MSFT] 2012-01-26 19:57:14 UTC
Hello Nic,

Could you send me the source by email?
Comment 2 Nic Wise 2012-01-28 08:35:41 UTC
OK, I had a bit more of a play with this, and by adding some logging, I can't reproduce it reliably.

I think it was caused by an exception being throw in a task, which wasn't being handled, so:

Task.Factory.StartNew(() => {
throw new Exception("bang!");
				return true;
			}).ContinueWith(t => {
				Console.WriteLine("this is still called");
			}, new UIKitScheduler());

The UIKitScheduler comes from here:

https://gist.github.com/1431457

I think Frank Kruger wrote the original tho: https://gist.github.com/1100597

So, I'll keep playing with it, to see if I can re-reproduce it.
Comment 3 Zoltan Varga 2012-01-28 09:16:18 UTC
That code path is called during exception handling. We would need at least the project binaries to be able to track it down.
Comment 4 Nic Wise 2012-02-01 06:26:15 UTC
I'll try to re-reproduce it, but I'm off for a month from monday, so I'm unlikely to have time before I go. Might on the plane tho - could literally drop it off as we fly over (LHR->LAX) ;-)
Comment 5 Sebastien Pouliot 2013-05-31 11:22:51 UTC
Nic, I'm pretty sure this is "long past" :) but if not please re-open with a test case.
Comment 6 Nic Wise 2013-06-01 08:17:13 UTC
Sebastien

yeah, close it. I've not seen this error in a LONG time...