Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Skip to content

App HealthMate crashes when Displaying Mapbox Map

  • /e/ version: 0-7-o-2020021240990-dev-pioneer
  • Device model: H3113 / Sony Xperia XA2
  • When it started to occur: since I first tried a few days ago
  • Reproducible with the last /e/ version: ?
  • Reproducible with LineageOS: ?

Summary

The Withings app Healthmate crashes whenever it displays a Mapbox map.

  • The device is unusable
  • The bug is the source of a data loss or a big waste of time
  • The bug concerns a third party app
  • The bug concerns security
  • The bug concerns privacy

The problem

Steps to reproduce

  1. Install and Open Health Mate
  2. On the dashboard, click the plus button and start a new outdoor activity (walking, running, hiking, etc)
  3. Move around outside to have some waypoints tracked.
  4. Stop the activity, close and reopen the app

What is the current behavior?

When opening the app the next time, it crashes immediately while rendering the dashboard with the map on it.

After one or two days, there is enough other stuff on the dashboard, so that the map is not within the visible screen area. The app does not crash immediately while rendering the dashboard, but still crashes as soon as one scrolls the map into view.

What is the expected correct behavior?

The app does not crash.

Technical informations

Relevant logs (adb logcat)

👇 not sure whether the following are relevant, but those happen a lot before the exception occurs, always with field num 8, 9, 10 or 11.

02-27 17:49:28.976 11843 11843 D SafeParcel: Unknown field num 8 in com.google.android.gms.maps.model.PolylineOptions, skipping.
02-27 17:49:28.977 11843 11843 D SafeParcel: Unknown field num 9 in com.google.android.gms.maps.model.PolylineOptions, skipping.
02-27 17:49:28.977 11843 11843 D SafeParcel: Unknown field num 10 in com.google.android.gms.maps.model.PolylineOptions, skipping.
02-27 17:49:28.977 11843 11843 D SafeParcel: Unknown field num 11 in com.google.android.gms.maps.model.PolylineOptions, skipping.

👇 definitely relevant:

02-27 17:49:29.743 11843 11843 D AndroidRuntime: Shutting down VM
02-27 17:49:29.744 11843 11843 E AndroidRuntime: FATAL EXCEPTION: main
02-27 17:49:29.744 11843 11843 E AndroidRuntime: Process: com.withings.wiscale2, PID: 11843
02-27 17:49:29.744 11843 11843 E AndroidRuntime: java.lang.IllegalArgumentException: Parameter specified as non-null is null: method c.i.d.j.b, parameter bitmap
02-27 17:49:29.744 11843 11843 E AndroidRuntime:        at org.microg.gms.maps.mapbox.GoogleMapImpl.snapshot(Unknown Source:7)
02-27 17:49:29.744 11843 11843 E AndroidRuntime:        at com.google.android.gms.maps.internal.IGoogleMapDelegate$Stub.onTransact(Unknown Source:387)
02-27 17:49:29.744 11843 11843 E AndroidRuntime:        at org.microg.gms.maps.mapbox.GoogleMapImpl.onTransact(Unknown Source:0)
02-27 17:49:29.744 11843 11843 E AndroidRuntime:        at android.os.Binder.transact(Binder.java:627)
02-27 17:49:29.744 11843 11843 E AndroidRuntime:        at com.google.android.gms.internal.maps.zza.zzb(Unknown Source:2)
02-27 17:49:29.744 11843 11843 E AndroidRuntime:        at com.google.android.gms.maps.internal.zzg.snapshot(Unknown Source:4)
02-27 17:49:29.744 11843 11843 E AndroidRuntime:        at com.google.android.gms.maps.GoogleMap.snapshot(Unknown Source:3)
02-27 17:49:29.744 11843 11843 E AndroidRuntime:        at com.google.android.gms.maps.GoogleMap.snapshot(Unknown Source:1)
02-27 17:49:29.744 11843 11843 E AndroidRuntime:        at com.withings.wiscale2.a.c.d.b.q.run(WorkoutBigItemViewHolder.kt:1)
02-27 17:49:29.744 11843 11843 E AndroidRuntime:        at android.os.Handler.handleCallback(Handler.java:790)
02-27 17:49:29.744 11843 11843 E AndroidRuntime:        at android.os.Handler.dispatchMessage(Handler.java:99)
02-27 17:49:29.744 11843 11843 E AndroidRuntime:        at android.os.Looper.loop(Looper.java:164)
02-27 17:49:29.744 11843 11843 E AndroidRuntime:        at android.app.ActivityThread.main(ActivityThread.java:6494)
02-27 17:49:29.744 11843 11843 E AndroidRuntime:        at java.lang.reflect.Method.invoke(Native Method)
02-27 17:49:29.744 11843 11843 E AndroidRuntime:        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
02-27 17:49:29.744 11843 11843 E AndroidRuntime:        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)

Relevant screenshots

Solutions

Workaround

Not tracking activities with location data. 🤷

Possible fixes