Hi Jon

Thanks for your response.  

>http://docs.xamarin.com/guides/android/troubleshooting#15-unexpected-nullreferenceexceptions

I can't see any sign of the things mentioned in the 
unexpected-nullreferenceexceptions section, below are the log cat entries for 
three crashes (set to  adb shell setprop debug.mono.trace E:all).  The first 
happens on the main thread pretty close to launch and the second two occur on a 
background thread (at which point it is the only background thread and the 
foreground activity is pretty much an empty layout with no interaction going 
on). Also typically I don't think the second one fits my previous tolist 
foreach pattern but does happened between two log message where seemingly 
nothing can go wrong and also on first access to sqlite-net for that class ( 
calling its  public TableQuery<T> Table<T> () where T : new()).  One other 
occasional pattern that I have noticed which may help is that whilst is is 
usually  around 1 in 8 it is not that uncommon (to often to be chance but far 
from every time) for it to fail at exactly the same point on the next run after 
a crash.

>>>>>>>>>>>>

02-20 09:31:37.809: I/ActivityThread(8132): Pub 
NVG.AroundMe.mono.MonoRuntimeProvider.__mono_init__: mono.MonoRuntimeProvider
02-20 09:31:37.809: I/ApplicationPackageManager(8132): cscCountry is not German 
: CPW
02-20 09:31:38.029: E/mono(8132): WARNING: The runtime version supported by 
this application is unavailable.
02-20 09:31:38.029: E/mono(8132): Using default runtime: v2.0.50727
02-20 09:31:38.169: W/monodroid-gc(8132): GREF GC Threshold: 46800
02-20 09:31:38.809: D/BatteryService(160): update start
02-20 09:31:38.809: D/BatteryService(160): update start
02-20 09:31:38.809: D/BatteryService(160): update start
02-20 09:31:40.429: D/Android Helpers(8132): Set Exceptions handler on: 1 
1073881512 1073881512
02-20 09:31:40.569: D/Application onCreate(8132): Starting on thread: 1 - 1
02-20 09:31:41.689: D/sqlite-c(8132): getting mapping
02-20 09:31:41.849: I/mono(8132): Stacktrace:
02-20 09:31:41.849: E/mono(8132): [0xafd4d460:] EXCEPTION handling: 
System.NullReferenceException: Object reference not set to an instance of an 
object
02-20 09:31:41.849: I/mono(8132): "<unnamed thread>" tid=0x0xafd4d460 
this=0x0x48d58010 thread handle 0x403 state : not waiting owns ()
02-20 09:31:41.859: E/mono(8132): Unhandled Exception:
02-20 09:31:41.859: E/mono(8132): System.NullReferenceException: Object 
reference not set to an instance of an object
02-20 09:31:41.869: I/mono(8132): [ERROR] FATAL UNHANDLED EXCEPTION: 
System.NullReferenceException: Object reference not set to an instance of an 
object
02-20 09:31:41.959: I/OrientationDebug(160): [pwm] in 
updateOrientationListenerLp()
02-20 09:31:41.959: V/OrientationDebug(160): in updateOrientationListenerLp(), 
Screen status=true, current orientation=5, SensorEnabled=true
02-20 09:31:41.959: I/OrientationDebug(160): [pwm] needSensorRunningLp(), 
return true #4
02-20 09:31:41.959: I/ActivityManager(160): Process NVG.AroundMe (pid 8132) has 
died.
02-20 09:31:41.979: I/Launcher(256): onResume(). mIsNewIntent : false

>>>>>>>>>>>>>>>>
02-20 09:35:36.739: D/sqlite-c(8414): exe 4
02-20 09:35:36.739: D/sqlite-c(8414): exe 5
02-20 09:35:36.739: D/sqlite-c(8414): exe 6
02-20 09:35:36.739: D/sqlite-c(8414): exe 3a
02-20 09:35:36.739: D/sqlite-c(8414): exe 3b
02-20 09:35:36.739: D/sqlite-c(8414): exe 4
02-20 09:35:36.739: D/sqlite-c(8414): exe 5
02-20 09:35:36.739: D/sqlite-c(8414): exe 6
02-20 09:35:36.739: D/sqlite-c(8414): exe 3a
02-20 09:35:36.739: D/sqlite-c(8414): exe 3b
02-20 09:35:36.739: D/sqlite-c(8414): exe 4
02-20 09:35:36.739: D/sqlite-c(8414): exe 5
02-20 09:35:36.739: D/sqlite-c(8414): exe 6
02-20 09:35:36.739: D/sqlite-c(8414): exe 3a
02-20 09:35:36.739: D/sqlite-c(8414): exe 3b
02-20 09:35:36.749: D/sqlite-c(8414): exe 4
02-20 09:35:36.749: D/sqlite-c(8414): exe 5
02-20 09:35:36.749: D/sqlite-c(8414): exe 6
02-20 09:35:36.749: D/sqlite-c(8414): exe 7
02-20 09:35:36.749: D/sqlite-c(8414): exe 8
02-20 09:35:36.749: D/Repository(8414): Getting Ids
02-20 09:35:36.749: I/mono(8414): Stacktrace:
02-20 09:35:36.759: E/mono(8414): [0x39d628:] EXCEPTION handling: 
System.NullReferenceException: Object reference not set to an instance of an 
object
02-20 09:35:36.759: I/mono(8414): "<unnamed thread>" tid=0x0x39d628 
this=0x0x48d5b5b0 thread handle 0x579 state : not waiting owns ()
02-20 09:35:36.759: E/mono(8414): Unhandled Exception:
02-20 09:35:36.759: E/mono(8414): System.NullReferenceException: Object 
reference not set to an instance of an object
02-20 09:35:36.759: I/mono(8414): [ERROR] FATAL UNHANDLED EXCEPTION: 
System.NullReferenceException: Object reference not set to an instance of an 
object
02-20 09:35:36.789: I/ActivityManager(160): Process NVG.AroundMe (pid 8414) has 
died.
02-20 09:35:36.799: E/InputDispatcher(160): channel '408544c8 
NVG.AroundMe/aroundme.Home (server)' ~ Consumer closed input channel or an 
error occurred.  events=0x8
02-20 09:35:36.799: E/InputDispatcher(160): channel '408544c8 
NVG.AroundMe/aroundme.Home (server)' ~ Channel is unrecoverably broken and will 
be disposed!
02-20 09:35:36.799: I/WindowManager(160): WIN DEATH: Window{408544c8 
NVG.AroundMe/aroundme.Home paused=false}
02-20 09:35:36.809: I/OrientationDebug(160): [pwm] in 
updateOrientationListenerLp()
02-20 09:35:36.809: V/OrientationDebug(160): in updateOrientationListenerLp(), 
Screen status=true, current orientation=5, SensorEnabled=true
02-20 09:35:36.809: I/OrientationDebug(160): [pwm] needSensorRunningLp(), 
return true #4
02-20 09:35:36.819: I/Launcher(256): onResume(). mIsNewIntent : false
02-20 09:35:36.829: E/Launcher(256): setWindowOpaque()
02-20 09:35:36.839: D/ProgramMonitor(2073):  onReceive -no
02-20 09:35:36.839: D/ProgramMonitor(2073): appWidgetIds.length : 0
02-20 09:35:36.839: D/ProgramMonitor(2073):  onReceive - 
action:com.sec.android.app.controlpanel.RUNNING_PROGRAM_REQ

>>>>>>>>>>>>>>>>>

02-20 09:35:36.739: D/sqlite-c(8414): exe 4
02-20 09:35:36.739: D/sqlite-c(8414): exe 5
02-20 09:35:36.739: D/sqlite-c(8414): exe 6
02-20 09:35:36.739: D/sqlite-c(8414): exe 3a
02-20 09:35:36.739: D/sqlite-c(8414): exe 3b
02-20 09:35:36.749: D/sqlite-c(8414): exe 4
02-20 09:35:36.749: D/sqlite-c(8414): exe 5
02-20 09:35:36.749: D/sqlite-c(8414): exe 6
02-20 09:35:36.749: D/sqlite-c(8414): exe 7
02-20 09:35:36.749: D/sqlite-c(8414): exe 8
02-20 09:35:36.749: D/Repository(8414): Getting Ids
02-20 09:35:36.749: I/mono(8414): Stacktrace:
02-20 09:35:36.759: E/mono(8414): [0x39d628:] EXCEPTION handling: 
System.NullReferenceException: Object reference not set to an instance of an 
object
02-20 09:35:36.759: I/mono(8414): "<unnamed thread>" tid=0x0x39d628 
this=0x0x48d5b5b0 thread handle 0x579 state : not waiting owns ()
02-20 09:35:36.759: E/mono(8414): Unhandled Exception:
02-20 09:35:36.759: E/mono(8414): System.NullReferenceException: Object 
reference not set to an instance of an object
02-20 09:35:36.759: I/mono(8414): [ERROR] FATAL UNHANDLED EXCEPTION: 
System.NullReferenceException: Object reference not set to an instance of an 
object
02-20 09:35:36.789: I/ActivityManager(160): Process NVG.AroundMe (pid 8414) has 
died.
02-20 09:35:36.799: E/InputDispatcher(160): channel '408544c8 
NVG.AroundMe/aroundme.Home (server)' ~ Consumer closed input channel or an 
error occurred.  events=0x8
02-20 09:35:36.799: E/InputDispatcher(160): channel '408544c8 
NVG.AroundMe/aroundme.Home (server)' ~ Channel is unrecoverably broken and will 
be disposed!
02-20 09:35:36.799: I/WindowManager(160): WIN DEATH: Window{408544c8 
NVG.AroundMe/aroundme.Home paused=false}
02-20 09:35:36.809: I/OrientationDebug(160): [pwm] in 
updateOrientationListenerLp()
02-20 09:35:36.809: V/OrientationDebug(160): in updateOrientationListenerLp(), 
Screen status=true, current orientation=5, SensorEnabled=true
02-20 09:35:36.809: I/OrientationDebug(160): [pwm] needSensorRunningLp(), 
return true #4
02-20 09:35:36.819: I/Launcher(256): onResume(). mIsNewIntent : false
02-20 09:35:36.829: E/Launcher(256): setWindowOpaque()
02-20 09:35:36.839: D/ProgramMonitor(2073):  onReceive -no
02-20 09:35:36.839: D/ProgramMonitor(2073): appWidgetIds.length : 0
02-20 09:35:36.839: D/ProgramMonitor(2073):  onReceive - 
action:com.sec.android.app.controlpanel.RUNNING_PROGRAM_REQ

>>>>>>>>>>>>>>>

>If you're hitting a mono limitation, mono will normally write to stderr before 
>aborting the process. Unfortunately, Android prior to 4.1 Jelly Bean ignores 
>stderr, so you might not be able to see those messages, but if you're using 
>4.1 Jelly Bean or later you should see messages written to log cat. 

I'm afraid I am running on pre 4.1 and don't currently have access to a device 
the does run > 4.1

Thanks

Keith










--
View this message in context: 
http://mono-for-android.1047100.n5.nabble.com/Possible-JIT-issue-relating-to-generic-list-tp5712901p5712906.html
Sent from the Mono for Android mailing list archive at Nabble.com.
_______________________________________________
Monodroid mailing list
Monodroid@lists.ximian.com

UNSUBSCRIBE INFORMATION:
http://lists.ximian.com/mailman/listinfo/monodroid

Reply via email to