1. load app - app opens and run Maps as expected
2. click on any annotation - offending code under Resources/ui/common/FirstView.js
3. Monitor logs - from there
03-26 13:16:51.689: I/ActivityManager(499): Start proc com.map for activity com.map/.MaptestActivity: pid=11910 uid=10150 gids={1015, 3003}
03-26 13:16:51.744: I/TiApplication(11910): (main) [0,0] checkpoint, app created.
03-26 13:16:51.775: I/TiApplication(11910): (main) [34,34] Titanium 2.1.3.MapsModule (2013/03/04 08:32 15997d0)
03-26 13:16:51.853: I/TiApplication(11910): (main) [82,116] Titanium Javascript runtime: v8
03-26 13:16:51.861: D/dalvikvm(11910): Trying to load lib /data/data/com.map/lib/libstlport_shared.so 0x4051b880
03-26 13:16:51.861: D/dalvikvm(11910): Added shared lib /data/data/com.map/lib/libstlport_shared.so 0x4051b880
03-26 13:16:51.861: D/dalvikvm(11910): No JNI_OnLoad found in /data/data/com.map/lib/libstlport_shared.so 0x4051b880, skipping init
03-26 13:16:51.861: D/dalvikvm(11910): Trying to load lib /data/data/com.map/lib/libkroll-v8.so 0x4051b880
03-26 13:16:51.869: D/dalvikvm(11910): Added shared lib /data/data/com.map/lib/libkroll-v8.so 0x4051b880
03-26 13:16:51.924: I/TiRootActivity(11910): (main) [0,0] checkpoint, on root activity create, savedInstanceState: null
03-26 13:16:52.127: E/TiApplication(11910): (KrollRuntimeThread) [204,204] APP PROXY: ti.modules.titanium.app.AppModule@405baf10
03-26 13:16:52.150: D/dalvikvm(11910): Trying to load lib /data/data/com.map/lib/libti.map.so 0x4051b880
03-26 13:16:52.150: D/dalvikvm(11910): Added shared lib /data/data/com.map/lib/libti.map.so 0x4051b880
03-26 13:16:52.150: D/dalvikvm(11910): No JNI_OnLoad found in /data/data/com.map/lib/libti.map.so 0x4051b880, skipping init
03-26 13:16:52.181: D/Module(11910): Loading module: ui/tablet/ApplicationWindow -> Resources/ui/tablet/ApplicationWindow.js
03-26 13:16:52.189: D/Module(11910): Loading module: ui/common/FirstView -> Resources/ui/common/FirstView.js
03-26 13:16:52.220: W/ProcessStats(499): Skipping unknown process pid 11954
03-26 13:16:52.260: I/dalvikvm(11910): Could not find method org.appcelerator.titanium.TiBlob.getImage, referenced from method ti.map.AnnotationProxy.handleCustomView
03-26 13:16:52.260: W/dalvikvm(11910): VFY: unable to resolve virtual method 5930: Lorg/appcelerator/titanium/TiBlob;.getImage ()Landroid/graphics/Bitmap;
03-26 13:16:52.260: D/dalvikvm(11910): VFY: replacing opcode 0x6e at 0x0017
03-26 13:16:52.260: D/dalvikvm(11910): VFY: dead code 0x001a-0025 in Lti/map/AnnotationProxy;.handleCustomView (Ljava/lang/Object;)V
03-26 13:16:52.260: D/dalvikvm(11910): VFY: dead code 0x0027-003f in Lti/map/AnnotationProxy;.handleCustomView (Ljava/lang/Object;)V
03-26 13:16:52.314: I/dalvikvm(11910): Could not find method org.appcelerator.kroll.common.Log.d, referenced from method ti.map.TiUIMapView.onMarkerDrag
03-26 13:16:52.314: W/dalvikvm(11910): VFY: unable to resolve static method 5483: Lorg/appcelerator/kroll/common/Log;.d (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
03-26 13:16:52.314: D/dalvikvm(11910): VFY: replacing opcode 0x71 at 0x0006
03-26 13:16:52.322: D/dalvikvm(11910): VFY: dead code 0x0009-0009 in Lti/map/TiUIMapView;.onMarkerDrag (Lcom/google/android/gms/maps/model/Marker;)V
03-26 13:16:52.322: I/dalvikvm(11910): Could not find method org.appcelerator.titanium.util.TiConvert.toBoolean, referenced from method ti.map.TiUIMapView.processMapProperties
03-26 13:16:52.322: W/dalvikvm(11910): VFY: unable to resolve static method 6734: Lorg/appcelerator/titanium/util/TiConvert;.toBoolean (Ljava/util/HashMap;Ljava/lang/String;Z)Z
03-26 13:16:52.322: D/dalvikvm(11910): VFY: replacing opcode 0x71 at 0x0079
03-26 13:16:52.322: D/dalvikvm(11910): VFY: dead code 0x007c-007f in Lti/map/TiUIMapView;.processMapProperties (Lorg/appcelerator/kroll/KrollDict;)V
03-26 13:16:52.322: I/dalvikvm(11910): Could not find method org.appcelerator.titanium.util.TiConvert.toBoolean, referenced from method ti.map.TiUIMapView.propertyChanged
03-26 13:16:52.322: W/dalvikvm(11910): VFY: unable to resolve static method 6732: Lorg/appcelerator/titanium/util/TiConvert;.toBoolean (Ljava/lang/Object;Z)Z
03-26 13:16:52.322: D/dalvikvm(11910): VFY: replacing opcode 0x71 at 0x0066
03-26 13:16:52.322: D/dalvikvm(11910): VFY: dead code 0x0069-006d in Lti/map/TiUIMapView;.propertyChanged (Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Lorg/appcelerator/kroll/KrollProxy;)V
03-26 13:16:52.369: D/dalvikvm(11910): GC_EXTERNAL_ALLOC freed 603K, 46% free 3343K/6087K, external 2357K/2773K, paused 31ms
03-26 13:16:52.424: D/dalvikvm(11910): Trying to load lib /data/data/com.map/lib/libtiverify.so 0x4051b880
03-26 13:16:52.424: D/dalvikvm(11910): Added shared lib /data/data/com.map/lib/libtiverify.so 0x4051b880
03-26 13:16:52.431: W/dalvikvm(11910): VFY: unable to resolve static field 549 (common_google_play_services_install_title) in Lcom/google/android/gms/R$string;
03-26 13:16:52.431: D/dalvikvm(11910): VFY: replacing opcode 0x60 at 0x0041
03-26 13:16:52.431: W/dalvikvm(11910): VFY: unable to resolve static field 545 (common_google_play_services_enable_title) in Lcom/google/android/gms/R$string;
03-26 13:16:52.431: D/dalvikvm(11910): VFY: replacing opcode 0x60 at 0x004c
03-26 13:16:52.431: W/dalvikvm(11910): VFY: unable to resolve static field 553 (common_google_play_services_update_title) in Lcom/google/android/gms/R$string;
03-26 13:16:52.431: D/dalvikvm(11910): VFY: replacing opcode 0x60 at 0x0057
03-26 13:16:52.431: D/dalvikvm(11910): VFY: dead code 0x0043-004a in Lcom/google/android/gms/common/GooglePlayServicesUtil;.a (ILandroid/app/Activity;ILandroid/content/DialogInterface$OnCancelListener;I)Landroid/app/Dialog;
03-26 13:16:52.431: D/dalvikvm(11910): VFY: dead code 0x004e-0056 in Lcom/google/android/gms/common/GooglePlayServicesUtil;.a (ILandroid/app/Activity;ILandroid/content/DialogInterface$OnCancelListener;I)Landroid/app/Dialog;
03-26 13:16:52.431: D/dalvikvm(11910): VFY: dead code 0x0059-0061 in Lcom/google/android/gms/common/GooglePlayServicesUtil;.a (ILandroid/app/Activity;ILandroid/content/DialogInterface$OnCancelListener;I)Landroid/app/Dialog;
03-26 13:16:52.431: W/dalvikvm(11910): VFY: unable to resolve static field 546 (common_google_play_services_install_button) in Lcom/google/android/gms/R$string;
03-26 13:16:52.431: D/dalvikvm(11910): VFY: replacing opcode 0x60 at 0x0009
03-26 13:16:52.431: W/dalvikvm(11910): VFY: unable to resolve static field 543 (common_google_play_services_enable_button) in Lcom/google/android/gms/R$string;
03-26 13:16:52.431: D/dalvikvm(11910): VFY: replacing opcode 0x60 at 0x0010
03-26 13:16:52.431: W/dalvikvm(11910): VFY: unable to resolve static field 551 (common_google_play_services_update_button) in Lcom/google/android/gms/R$string;
03-26 13:16:52.431: D/dalvikvm(11910): VFY: replacing opcode 0x60 at 0x0017
03-26 13:16:52.431: D/dalvikvm(11910): VFY: dead code 0x000b-000f in Lcom/google/android/gms/common/GooglePlayServicesUtil;.a (Landroid/content/Context;I)Ljava/lang/String;
03-26 13:16:52.431: D/dalvikvm(11910): VFY: dead code 0x0012-0016 in Lcom/google/android/gms/common/GooglePlayServicesUtil;.a (Landroid/content/Context;I)Ljava/lang/String;
03-26 13:16:52.431: D/dalvikvm(11910): VFY: dead code 0x0019-001d in Lcom/google/android/gms/common/GooglePlayServicesUtil;.a (Landroid/content/Context;I)Ljava/lang/String;
03-26 13:16:52.431: W/dalvikvm(11910): VFY: unable to resolve static field 550 (common_google_play_services_unknown_issue) in Lcom/google/android/gms/R$string;
03-26 13:16:52.431: D/dalvikvm(11910): VFY: replacing opcode 0x60 at 0x0004
03-26 13:16:52.431: D/dalvikvm(11910): VFY: dead code 0x0006-0065 in Lcom/google/android/gms/common/GooglePlayServicesUtil;.b (Landroid/content/Context;II)Ljava/lang/String;
03-26 13:16:52.431: D/dalvikvm(11910): DexOpt: couldn't find field Landroid/content/res/Configuration;.smallestScreenWidthDp
03-26 13:16:52.431: W/dalvikvm(11910): VFY: unable to resolve instance field 30
03-26 13:16:52.431: D/dalvikvm(11910): VFY: replacing opcode 0x52 at 0x0012
03-26 13:16:52.431: D/dalvikvm(11910): VFY: dead code 0x0014-0018 in Lcom/google/android/gms/common/GooglePlayServicesUtil;.b (Landroid/content/res/Resources;)Z
03-26 13:16:52.431: I/dalvikvm(11910): DexOpt: unable to optimize static field ref 0x0224 at 0x18 in Lcom/google/android/gms/common/GooglePlayServicesUtil;.b
03-26 13:16:52.431: I/dalvikvm(11910): DexOpt: unable to optimize static field ref 0x0223 at 0x38 in Lcom/google/android/gms/common/GooglePlayServicesUtil;.b
03-26 13:16:52.431: I/dalvikvm(11910): DexOpt: unable to optimize static field ref 0x0220 at 0x3f in Lcom/google/android/gms/common/GooglePlayServicesUtil;.b
03-26 13:16:52.431: I/dalvikvm(11910): DexOpt: unable to optimize static field ref 0x0228 at 0x46 in Lcom/google/android/gms/common/GooglePlayServicesUtil;.b
03-26 13:16:52.478: W/dalvikvm(11910): Unable to resolve superclass of Lmaps/p/s; (427)
03-26 13:16:52.478: W/dalvikvm(11910): Link of class 'Lmaps/p/s;' failed
03-26 13:16:52.478: W/dalvikvm(11910): Unable to resolve superclass of Lmaps/y/bo; (3820)
03-26 13:16:52.478: W/dalvikvm(11910): Link of class 'Lmaps/y/bo;' failed
03-26 13:16:52.478: W/dalvikvm(11910): Unable to resolve superclass of Lmaps/i/k; (4208)
03-26 13:16:52.478: W/dalvikvm(11910): Link of class 'Lmaps/i/k;' failed
03-26 13:16:52.478: E/dalvikvm(11910): Could not find class 'maps.i.k', referenced from method maps.z.ag.a
03-26 13:16:52.478: W/dalvikvm(11910): VFY: unable to resolve new-instance 3540 (Lmaps/i/k;) in Lmaps/z/ag;
03-26 13:16:52.478: D/dalvikvm(11910): VFY: replacing opcode 0x22 at 0x006d
03-26 13:16:52.486: D/dalvikvm(11910): VFY: dead code 0x006f-007f in Lmaps/z/ag;.a (Landroid/view/LayoutInflater;Lcom/google/android/gms/maps/GoogleMapOptions;ZLjava/lang/String;)Lmaps/z/ag;
03-26 13:16:52.588: I/TiRootActivity(11910): (main) [0,0] checkpoint, on root activity resume. activity = com.map.MaptestActivity@405a2128
03-26 13:16:52.650: I/gralloc(499): Allocated 0x660072 size 6488161
03-26 13:16:52.713: D/dalvikvm(11910): GC_CONCURRENT freed 965K, 44% free 4079K/7175K, external 5955K/6705K, paused 2ms+3ms
03-26 13:16:52.744: D/libEGL(11910): loaded /system/lib/egl/libGLES_android.so
03-26 13:16:52.744: D/libEGL(11910): loaded /system/lib/egl/libEGL_POWERVR_SGX540_120.so
03-26 13:16:52.744: D/libEGL(11910): loaded /system/lib/egl/libGLESv1_CM_POWERVR_SGX540_120.so
03-26 13:16:52.752: I/ActivityManager(499): Displayed com.map/.MaptestActivity: +1s60ms
03-26 13:16:52.760: D/libEGL(11910): loaded /system/lib/egl/libGLESv2_POWERVR_SGX540_120.so
03-26 13:16:52.760: W/InputManagerService(499): Starting input on non-focused client com.android.internal.view.IInputMethodClient$Stub$Proxy@409415c8 (uid=10035 pid=861)
03-26 13:16:52.799: W/SocketListener(260): Num of active clients:1
03-26 13:16:52.814: I/gralloc(499): Allocated 0x660072 size 6488161
03-26 13:16:52.869: W/dalvikvm(11910): VFY: unable to resolve static field 554 (MapAttrs) in Lcom/google/android/gms/R$styleable;
03-26 13:16:52.869: D/dalvikvm(11910): VFY: replacing opcode 0x62 at 0x000d
03-26 13:16:52.869: D/dalvikvm(11910): VFY: dead code 0x000f-0066 in Lcom/google/android/gms/maps/model/CameraPosition;.createFromAttributes (Landroid/content/Context;Landroid/util/AttributeSet;)Lcom/google/android/gms/maps/model/CameraPosition;
03-26 13:16:52.877: I/gralloc(499): Allocated 0x660072 size 6488161
03-26 13:16:52.908: I/gralloc(499): Allocated 0x660072 size 6488161
03-26 13:16:53.150: W/SocketListener(260): Num of active clients:1
03-26 13:16:54.150: D/dalvikvm(11910): GC_FOR_MALLOC freed 1336K, 44% free 4578K/8071K, external 6468K/6705K, paused 47ms
03-26 13:16:55.252: D/dalvikvm(11910): GC_FOR_MALLOC freed 991K, 44% free 4956K/8775K, external 6150K/6705K, paused 30ms
03-26 13:16:55.314: D/dalvikvm(11910): GC_EXTERNAL_ALLOC freed 12K, 43% free 5010K/8775K, external 6150K/6705K, paused 33ms
03-26 13:16:55.353: W/SocketListener(260): Num of active clients:1
03-26 13:16:55.572: W/SocketListener(260): Num of active clients:1
03-26 13:16:57.502: D/AndroidRuntime(11910): Shutting down VM
03-26 13:16:57.502: W/dalvikvm(11910): threadid=1: thread exiting with uncaught exception (group=0x4001e560)
03-26 13:16:57.510: E/TiApplication(11910): (main) [4912,4912] Sending event: exception on thread: main msg:java.lang.NullPointerException; Titanium 2.1.3.MapsModule,2013/03/04 08:32,15997d0
03-26 13:16:57.510: E/TiApplication(11910): java.lang.NullPointerException
03-26 13:16:57.510: E/TiApplication(11910): at ti.map.TiUIMapView.onMarkerClick(TiUIMapView.java:411)
03-26 13:16:57.510: E/TiApplication(11910): at com.google.android.gms.maps.GoogleMap$4.f(Unknown Source)
03-26 13:16:57.510: E/TiApplication(11910): at com.google.android.gms.internal.an$a.onTransact(Unknown Source)
03-26 13:16:57.510: E/TiApplication(11910): at android.os.Binder.transact(Binder.java:295)
03-26 13:16:57.510: E/TiApplication(11910): at com.google.android.gms.maps.internal.IOnMarkerClickListener$Stub$Proxy.onMarkerClick(IOnMarkerClickListener.java:84)
03-26 13:16:57.510: E/TiApplication(11910): at maps.z.by.a(Unknown Source)
03-26 13:16:57.510: E/TiApplication(11910): at maps.y.ba.a(Unknown Source)
03-26 13:16:57.510: E/TiApplication(11910): at maps.y.d.c(Unknown Source)
03-26 13:16:57.510: E/TiApplication(11910): at maps.y.bj.a(Unknown Source)
03-26 13:16:57.510: E/TiApplication(11910): at maps.y.v.c(Unknown Source)
03-26 13:16:57.510: E/TiApplication(11910): at maps.y.bf.onSingleTapConfirmed(Unknown Source)
03-26 13:16:57.510: E/TiApplication(11910): at maps.d.v.onSingleTapConfirmed(Unknown Source)
03-26 13:16:57.510: E/TiApplication(11910): at maps.d.j.handleMessage(Unknown Source)
03-26 13:16:57.510: E/TiApplication(11910): at android.os.Handler.dispatchMessage(Handler.java:99)
03-26 13:16:57.510: E/TiApplication(11910): at android.os.Looper.loop(Looper.java:130)
03-26 13:16:57.510: E/TiApplication(11910): at android.app.ActivityThread.main(ActivityThread.java:3859)
03-26 13:16:57.510: E/TiApplication(11910): at java.lang.reflect.Method.invokeNative(Native Method)
03-26 13:16:57.510: E/TiApplication(11910): at java.lang.reflect.Method.invoke(Method.java:507)
03-26 13:16:57.510: E/TiApplication(11910): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:840)
03-26 13:16:57.510: E/TiApplication(11910): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:598)
03-26 13:16:57.510: E/TiApplication(11910): at dalvik.system.NativeStart.main(Native Method)
03-26 13:16:57.572: E/AndroidRuntime(11910): FATAL EXCEPTION: main
03-26 13:16:57.572: E/AndroidRuntime(11910): java.lang.NullPointerException
03-26 13:16:57.572: E/AndroidRuntime(11910): at ti.map.TiUIMapView.onMarkerClick(TiUIMapView.java:411)
03-26 13:16:57.572: E/AndroidRuntime(11910): at com.google.android.gms.maps.GoogleMap$4.f(Unknown Source)
03-26 13:16:57.572: E/AndroidRuntime(11910): at com.google.android.gms.internal.an$a.onTransact(Unknown Source)
03-26 13:16:57.572: E/AndroidRuntime(11910): at android.os.Binder.transact(Binder.java:295)
03-26 13:16:57.572: E/AndroidRuntime(11910): at com.google.android.gms.maps.internal.IOnMarkerClickListener$Stub$Proxy.onMarkerClick(IOnMarkerClickListener.java:84)
03-26 13:16:57.572: E/AndroidRuntime(11910): at maps.z.by.a(Unknown Source)
03-26 13:16:57.572: E/AndroidRuntime(11910): at maps.y.ba.a(Unknown Source)
03-26 13:16:57.572: E/AndroidRuntime(11910): at maps.y.d.c(Unknown Source)
03-26 13:16:57.572: E/AndroidRuntime(11910): at maps.y.bj.a(Unknown Source)
03-26 13:16:57.572: E/AndroidRuntime(11910): at maps.y.v.c(Unknown Source)
03-26 13:16:57.572: E/AndroidRuntime(11910): at maps.y.bf.onSingleTapConfirmed(Unknown Source)
03-26 13:16:57.572: E/AndroidRuntime(11910): at maps.d.v.onSingleTapConfirmed(Unknown Source)
03-26 13:16:57.572: E/AndroidRuntime(11910): at maps.d.j.handleMessage(Unknown Source)
03-26 13:16:57.572: E/AndroidRuntime(11910): at android.os.Handler.dispatchMessage(Handler.java:99)
03-26 13:16:57.572: E/AndroidRuntime(11910): at android.os.Looper.loop(Looper.java:130)
03-26 13:16:57.572: E/AndroidRuntime(11910): at android.app.ActivityThread.main(ActivityThread.java:3859)
03-26 13:16:57.572: E/AndroidRuntime(11910): at java.lang.reflect.Method.invokeNative(Native Method)
03-26 13:16:57.572: E/AndroidRuntime(11910): at java.lang.reflect.Method.invoke(Method.java:507)
03-26 13:16:57.572: E/AndroidRuntime(11910): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:840)
03-26 13:16:57.572: E/AndroidRuntime(11910): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:598)
03-26 13:16:57.572: E/AndroidRuntime(11910): at dalvik.system.NativeStart.main(Native Method)
03-26 13:16:57.580: W/ActivityManager(499): Force finishing activity com.map/.MaptestActivity
03-26 13:16:57.713: D/dalvikvm(499): GC_EXTERNAL_ALLOC freed 221K, 35% free 9552K/14535K, external 9368K/9368K, paused 114ms
03-26 13:16:57.744: W/ApplicationContext(499): Unable to create files directory
03-26 13:16:57.759: I/gralloc(499): Allocated 0x64657375 size 1818322493
03-26 13:16:58.088: W/ActivityManager(499): Activity pause timeout for HistoryRecord{40702598 com.map/.MaptestActivity}
03-26 13:16:58.103: D/ActivitityRenderTarget(861): onResume
03-26 13:16:58.127: W/IMGSRV(861): eglglue.c:778: InitContext: ignoring buffer type CBUF_TYPE_PDS_VERT_SECONDARY_PREGEN_BUFFER
Map Module does not force the app to close as long as all the annotations have been added during Map creation i.e. "var map = MapModule.createView({ annotations : [anno1, anno2, anno3],"
The logs indicate that it is essentially failing since it can not find the method getImage() on TiBlob. This was implemented as part of TIMOB-10080 in 3.0.0. Since a patched SDK is being used, can you see if the method actually exists in this version of the SDK?
On TiBlob.java there is no getImage() method for the 2.1.3.GA sdk that have been patched. We looked for getImage() as is seen below:
PR https://github.com/pingwang2011/titanium_mobile/commit/44d71ff33595c9142ab57357bcc0595b092139b7#L1R448
PR to fix the NPE: https://github.com/appcelerator/titanium_modules/pull/94
Closing ticket as duplicate of the ticket that is mentioned above and has since been closed.