We sometimes throw new exception without specifying exception message.
For example:
throw new NullPointerException();
However, because of the above code, sometimes NullPointerException like below happens:
Exception: java.lang.NullPointerException: println needs a message
at android.os.Parcel.readException(Parcel.java:1605)
I think I could solve this problem by adding message like below:
throw new NullPointerException("blah");
However, what if I cannot find where the problem code is, and there are too many 'throw new NullPointerException();' so that I don't want to mess-up our company's project by adding exception message at all of the Exception codes.
I cannot modify Parcel.java because it is AOSP code.
Can I get some ideas? Should I track where in the source code uses Parcel.java?
The real crash exception I got is here:
java.lang.NullPointerException: println needs a message
at android.os.Parcel.readException(Parcel.java:1605)
at android.os.Parcel.readException(Parcel.java:1552)
at com.google.android.gms.internal.zzee.zzb(Unknown Source)
at com.google.android.gms.internal.zzdzm.zzd(Unknown Source)
at com.google.android.gms.internal.zzdzr.zza(Unknown Source)
at com.google.android.gms.common.api.internal.zzm.zzb(Unknown Source)
at com.google.android.gms.common.api.internal.zzc.zza(Unknown Source)
at com.google.android.gms.common.api.internal.zzbr.zzb(Unknown Source)
at com.google.android.gms.common.api.internal.zzbr.zzakz(Unknown Source)
at com.google.android.gms.common.api.internal.zzbr.onConnected(Unknown Source)
at com.google.android.gms.common.internal.zzac.onConnected$51662RJ4E9NMIP1FDTPIUGJLDPI6OP9R55B0____0(Unknown Source)
at com.google.android.gms.common.internal.zzn.zzamz(Unknown Source)
at com.google.android.gms.common.internal.zze.zzy(Unknown Source)
at com.google.android.gms.common.internal.zzh.handleMessage(Unknown Source)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.os.HandlerThread.run(HandlerThread.java:61)
Related
Error when testing new versions of Google Fit Samples,
Process: com.google.android.gms.fit.samples.basicrecordingapi, PID: 22949
java.lang.NullPointerException: Attempt to invoke virtual method 'android.accounts.Account com.google.android.gms.auth.api.signin.GoogleSignInAccount.getAccount()' on a null object reference
at com.google.android.gms.common.api.GoogleApi.zzagd(Unknown Source)
at com.google.android.gms.common.api.GoogleApi.zza(Unknown Source)
at com.google.android.gms.common.api.internal.zzbr.<init>(Unknown Source)
at com.google.android.gms.common.api.internal.zzbp.zzb(Unknown Source)
at com.google.android.gms.common.api.internal.zzbp.handleMessage(Unknown Source)
at android.os.Handler.dispatchMessage(Handler.java:98)
at android.os.Looper.loop(Looper.java:158)
at android.os.HandlerThread.run(HandlerThread.java:61)
the methods have changed and I have noticed that since then, my application that uses the old methods does not register the data for DataTypes TYPE_ACTIVITY_SEGMENT, TYPE_STEP_COUNT_DELTA and sometimes TYPE_HEART_RATE_BPM. What is the solution?
My custom sender application is crashing whenever I'm clicking 'STOP CASTING' on the cast-options menu in the app. The error I'm getting is:
java.lang.NullPointerException: Attempt to write to field 'java.lang.ref.WeakReference android.support.v4.media.session.MediaSessionCompat$Callback.mSessionImpl' on a null object reference
at android.support.v4.media.session.MediaSessionCompat$MediaSessionImplApi21.setCallback(MediaSessionCompat.java:2305)
at android.support.v4.media.session.MediaSessionCompat.setCallback(MediaSessionCompat.java:267)
at android.support.v4.media.session.MediaSessionCompat.setCallback(MediaSessionCompat.java:255)
at com.google.android.gms.internal.zznv.zzen(Unknown Source)
at com.google.android.gms.cast.framework.CastSession.zzei(Unknown Source)
at com.google.android.gms.cast.framework.CastSession.zza(Unknown Source)
at com.google.android.gms.cast.framework.CastSession$zzb.zzei(Unknown Source)
at com.google.android.gms.cast.framework.zzf$zza.onTransact(Unknown Source)
at android.os.Binder.transact(Binder.java:387)
at zv.a(:com.google.android.gms.DynamiteModulesC:199)
at zl.a(:com.google.android.gms.DynamiteModulesC:128)
at aaa.onTransact(:com.google.android.gms.DynamiteModulesC:122)
at android.os.Binder.transact(Binder.java:387)
at com.google.android.gms.cast.framework.zzh$zza$zza.zzb(Unknown Source)
at com.google.android.gms.cast.framework.CastSession.end(Unknown Source)
at com.google.android.gms.cast.framework.Session$zza.end(Unknown Source)
at com.google.android.gms.cast.framework.zzq$zza.onTransact(Unknown Source)
at android.os.Binder.transact(Binder.java:387)
at abc.a(:com.google.android.gms.DynamiteModulesC:216)
at abk.a(:com.google.android.gms.DynamiteModulesC:303)
at acg.a(:com.google.android.gms.DynamiteModulesC:70)
at acg.e(:com.google.android.gms.DynamiteModulesC:38)
at acd.onTransact(:com.google.android.gms.DynamiteModulesC:126)
at android.os.Binder.transact(Binder.java:387)
at com.google.android.gms.internal.zznn$zza$zza.zzg(Unknown Source)
at com.google.android.gms.internal.zznq.onRouteUnselected(Unknown Source)
at android.support.v7.media.MediaRouter$Callback.onRouteUnselected(MediaRouter.java:1787)
at android.support.v7.media.MediaRouter$GlobalMediaRouter$CallbackHandler.invokeCallback(MediaRouter.java:2999)
at android.support.v7.media.MediaRouter$GlobalMediaRouter$CallbackHandler.handleMessage(MediaRouter.java:2946)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5461)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
and I can't seem to find anyone with this error. I've followed https://github.com/googlecast/CastHelloText-android/ to the point. I will post the full activity here if it's wanted.
I've found answer on google issue tracking system on https://issuetracker.google.com/issues/37129745
In short, update v7 supprt library to 25.1.1
I'm seeing in crash being reported in crashlytics which has this stack trace which has no mention of my app code.
I have seen DeadObjectException with com.google.android.gms and there, the crash was triggered when removing listeners.
Also, everytime my app starts, I get the installer for logging purposes, i.e.
packageManager.getInstallerPackageName(my-package-name)
There is no callback associated with this call.
Crash is observed mainly on Lollipop and Kitkat, though few Marshmallow and Nougat users have experienced it too.
Has anyone experienced something similar?
Fatal Exception: java.lang.RuntimeException: android.os.DeadObjectException
at android.app.ApplicationPackageManager.getPackageInstaller(ApplicationPackageManager.java:1632)
at com.google.android.gms.common.zze.zzl(Unknown Source)
at com.google.android.gms.common.GoogleApiAvailability.getInstance(Unknown Source:8000)
at com.google.android.gms.internal.zzpy.zzc(Unknown Source:24000)
at com.google.android.gms.internal.zzpv.begin(Unknown Source)
at com.google.android.gms.internal.zzqa.zzc(Unknown Source)
at com.google.android.gms.internal.zzpp.onConnectionSuspended(Unknown Source)
at com.google.android.gms.common.internal.zzk$1.onConnectionSuspended(Unknown Source)
at com.google.android.gms.common.internal.zzd$zzd.handleMessage(Unknown Source)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5438)
at java.lang.reflect.Method.invoke(Method.java)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:699)
Caused by android.os.DeadObjectException
at android.os.BinderProxy.transactNative(Binder.java)
at android.os.BinderProxy.transact(Binder.java:496)
at android.content.pm.IPackageManager$Stub$Proxy.getPackageInstaller(IPackageManager.java:4229)
at android.app.ApplicationPackageManager.getPackageInstaller(ApplicationPackageManager.java:1629)
at com.google.android.gms.common.zze.zzl(Unknown Source)
at com.google.android.gms.common.GoogleApiAvailability.getInstance(Unknown Source:8000)
at com.google.android.gms.internal.zzpy.zzc(Unknown Source:24000)
at com.google.android.gms.internal.zzpv.begin(Unknown Source)
at com.google.android.gms.internal.zzqa.zzc(Unknown Source)
at com.google.android.gms.internal.zzpp.onConnectionSuspended(Unknown Source)
at com.google.android.gms.common.internal.zzk$1.onConnectionSuspended(Unknown Source)
at com.google.android.gms.common.internal.zzd$zzd.handleMessage(Unknown Source)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5438)
at java.lang.reflect.Method.invoke(Method.java)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:699)
Here are the Fabric crashlytics reason for this exception.
DeadObjectExceptions are usually a symptom of a problem occurring somewhere else (likely in a remote process). Even though this exception may be safe to catch, it's worth looking for problems in related services.
This error could mean one of two things:
1) There is a bug (which caused a crash) in an associated process.
2) The other process was killed by the OS.
Source: Fabric crashlytics report.
Resources: Here & Here
I am using the Nest Android SDK and am getting close to releasing my application. I have found that it is not possible to use Proguard with the Nest SDK as it stands today. Once a user is authenticated, the data that comes back causes the crash below.
How can I get passed this, and still keep ProGuard enabled? I created an issue on the github page but I assume it will not be a high priority by Nest.
09-06 23:49:32.807 15229-15229/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: <my_package>, PID: 15229
java.lang.IllegalStateException: Conflicting property name definitions: 'locale' (for [field com.nestlabs.sdk.Device#b]) vs 'name' (for [method com.nestlabs.sdk.Device#b(0 params)])
at com.fasterxml.jackson.databind.introspect.POJOPropertyBuilder.findRenamed(Unknown Source)
at com.fasterxml.jackson.databind.introspect.POJOPropertyBuilder.findNewName(Unknown Source)
at com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector._renameProperties(Unknown Source)
at com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector.collect(Unknown Source)
at com.fasterxml.jackson.databind.introspect.BasicClassIntrospector.collectProperties(Unknown Source)
at com.fasterxml.jackson.databind.introspect.BasicClassIntrospector.forDeserialization(Unknown Source)
at com.fasterxml.jackson.databind.introspect.BasicClassIntrospector.forDeserialization(Unknown Source)
at com.fasterxml.jackson.databind.DeserializationConfig.introspect(Unknown Source)
at com.fasterxml.jackson.databind.deser.DeserializerCache._createDeserializer(Unknown Source)
at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCache2(Unknown Source)
at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCacheValueDeserializer(Unknown Source)
at com.fasterxml.jackson.databind.deser.DeserializerCache.findValueDeserializer(Unknown Source)
at com.fasterxml.jackson.databind.DeserializationContext.findRootValueDeserializer(Unknown Source)
at com.fasterxml.jackson.databind.ObjectMapper._findRootDeserializer(Unknown Source)
at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(Unknown Source)
at com.fasterxml.jackson.databind.ObjectMapper.readValue(Unknown Source)
at com.firebase.client.d.a(Unknown Source)
at com.nestlabs.sdk.aa.a(Unknown Source)
at com.firebase.client.c.ba.run(Unknown Source)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
I have a Service that acts like an overlay with a chathead (like facebook messenger) when the user tap on this chatHead I pop a MapView (v2)
It works for the majority of my users, but in the bug report all the Xiaomi Xiaomi Redmi Note 3 users have the same crash
java.lang.RuntimeException: Unable to create service
com.package.MyService: java.lang.NullPointerException: Attempt to
invoke virtual method 'android.content.res.Configuration
android.content.res.Resources.getConfiguration()' on a null object
reference at
android.app.ActivityThread.handleCreateService(ActivityThread.java) at
android.app.ActivityThread.access$1800(ActivityThread.java) at
android.app.ActivityThread$H.handleMessage(ActivityThread.java) at
android.os.Handler.dispatchMessage(Handler.java) at
android.os.Looper.loop(Looper.java) at
android.app.ActivityThread.main(ActivityThread.java) at
java.lang.reflect.Method.invoke(Native Method) at
java.lang.reflect.Method.invoke(Method.java:372) at
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java) Caused by:
java.lang.NullPointerException: Attempt to invoke virtual method
'android.content.res.Configuration
android.content.res.Resources.getConfiguration()' on a null object
reference at android.view.SurfaceView.init(SurfaceView.java) at
android.view.SurfaceView.(SurfaceView.java) at
maps.V.x.(Unknown Source) at maps.V.v.(Unknown Source) at
maps.D.v.(Unknown Source) at maps.D.v.a(Unknown Source) at
maps.ad.ae.a(Unknown Source) at maps.ad.u.a(Unknown Source) at
maps.ad.R.a(Unknown Source) at
wc.onTransact(:com.google.android.gms.DynamiteModulesB:66) at
android.os.Binder.transact(Binder.java) at
com.google.android.gms.maps.a.e$a$a.a(Unknown Source) at
com.google.android.gms.maps.MapView$a.a(Unknown Source) at
com.google.android.gms.dynamic.e.a(Unknown Source) at
com.google.android.gms.dynamic.c.a(Unknown Source) at
com.google.android.gms.maps.MapView$b.g(Unknown Source) at
com.google.android.gms.maps.MapView$b.a(Unknown Source) at
com.google.android.gms.dynamic.b.a(Unknown Source) at
com.google.android.gms.dynamic.b.a(Unknown Source) at
com.google.android.gms.maps.MapView.a(Unknown Source)
The code that seems to fail is here
this.setTheme(R.style.AppTheme);
this.myView = LayoutInflater.from(this).inflate(R.layout.my_map, null);
this.mapView = (MapView) myView.findViewById(R.id.map);
this.mapView.onCreate(null);
this.mapView.getMapAsync(this);
The line that throws this error is
this.mapView.getMapAsync(this);
Anyone have a solution for this?
Try turning Hardware acceleration on in manifest
android:hardwareAccelerated="true"
it worked for me
source: https://code.google.com/p/gmaps-api-issues/issues/detail?id=9071