microg / microg/GmsCore

[com.paris.velib] Issue with Cronet and Mapbox prevents the app from being used

Open
#3,013 1 comment 3 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Java
Stars
14.6k
Forks
3.2k
Avg merge
12d 11h
Merged PRs (30d)
4

Description

Affected app
Name: Vélib
Package id: com.paris.velib

Describe the bug
The map that should display the share bikes stations in Paris blinks in and out of existence and the stations themselves are never shown, rendering the app more or less unusable.

The probable stacktraces that are relevant (from adb logcat *:W) are

08-12 09:51:31.928  5464  5510 W com.paris.veli: Unsupported class loader
08-12 09:51:32.132   643  1313 E HWComposer: getSupportedContentTypes: getSupportedContentTypes failed for display 0: Unsupported (8)
08-12 09:51:32.148  5464  5510 W com.paris.veli: Unsupported class loader
08-12 09:51:32.149  5464  5545 E ion     : ioctl c0044901 failed with code -1: Invalid argument
08-12 09:51:32.149  1158  2208 E system_server: Invalid class loader spec: =UnsupportedClassLoaderContext=
08-12 09:51:32.149  5464  5510 E CronetProviderInstaller: Unable to read Cronet version from the Cronet module 
08-12 09:51:32.149  5464  5510 E CronetProviderInstaller: java.lang.ClassNotFoundException: Didn't find class "org.chromium.net.impl.ImplVersion" on path: DexPathList[[zip file "/system/priv-app/GmsCore/GmsCore.apk"],nativeLibraryDirectories=[/system/priv-app/GmsCore/lib/arm64, /system/priv-app/GmsCore/GmsCore.apk!/lib/arm64-v8a, /system/lib64, /system/system_ext/lib64]]
08-12 09:51:32.149  5464  5510 E CronetProviderInstaller:       at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:218)
08-12 09:51:32.149  5464  5510 E CronetProviderInstaller:       at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
08-12 09:51:32.149  5464  5510 E CronetProviderInstaller:       at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
08-12 09:51:32.149  5464  5510 E CronetProviderInstaller:       at com.google.android.gms.net.CronetProviderInstaller.zzc(Unknown Source:68)
08-12 09:51:32.149  5464  5510 E CronetProviderInstaller:       at com.google.android.gms.net.PlayServicesCronetProvider.tryToInstallCronetProvider(Unknown Source:5)
08-12 09:51:32.149  5464  5510 E CronetProviderInstaller:       at com.google.android.gms.net.PlayServicesCronetProvider.isEnabled(Unknown Source:0)
08-12 09:51:32.149  5464  5510 E CronetProviderInstaller:       at com.mapbox.common.module.cronet.LazyEngineKt.findCronetProvider(Unknown Source:33)
08-12 09:51:32.149  5464  5510 E CronetProviderInstaller:       at com.mapbox.common.module.cronet.LazyEngine.<init>(Unknown Source:18)
08-12 09:51:32.149  5464  5510 E CronetProviderInstaller:       at com.mapbox.common.module.cronet.CronetClientDetail.<init>(Unknown Source:21)
08-12 09:51:32.149  5464  5510 E CronetProviderInstaller:       at com.mapbox.common.PlatformHttpService.createPlatformHttpService(Unknown Source:13)
08-12 09:51:32.149  1158  2208 E PackageDexUsage: Unsupported context?
08-12 09:51:32.153  5464  5547 W DynamiteModule: IDynamite loader version = 2, no high precision latency measurement.
08-12 09:51:32.153  5464  5547 W DynamiteModule: IDynamite loader version = 2
08-12 09:51:32.156  5464  5547 W com.paris.veli: Unsupported class loader
08-12 09:51:27.391 30960 30960 W         : (5)[30960:kworker/u16:9]<I>CTS-Core ESD protection work
08-12 09:51:27.452     0     0 E         : (5)[608:allocator@4.0-s][ION][ion_dbg] alloc_pages order=4 cache=0
08-12 09:51:32.332  5464  5567 W Mapbox  : [maps-core]: {}[Style]: Source 'COMPOSE_SOURCE_ID_geojson_b62385d6-9da2-4942-8496-ab624e09e3f0' missing for layer 'euroSymbolLayer'
08-12 09:51:32.357  5464  5464 W Mapbox  : [maps-core]: Failed to get style property type because layer bike_lane is not in style
08-12 09:51:32.358  5464  5464 E Mapbox  : [maps-android\Mbgl-LayerUtils]: Layer type: null unknown.
08-12 09:51:32.358  5464  5464 W Mapbox  : [maps-core]: Failed to get style property type because layer cycleway is not in style
08-12 09:51:32.358  5464  5464 E Mapbox  : [maps-android\Mbgl-LayerUtils]: Layer type: null unknown.
08-12 09:51:32.361  1158  2477 W ServiceManager: Permission failure: android.permission.HIGH_SAMPLING_RATE_SENSORS from uid=1010165 pid=5464
08-12 09:51:32.382  5464  5547 W com.paris.veli: Unsupported class loader
08-12 09:51:32.383  5464  5547 E CronetProviderInstaller: Unable to read Cronet version from the Cronet module 
08-12 09:51:32.383  5464  5547 E CronetProviderInstaller: java.lang.ClassNotFoundException: Didn't find class "org.chromium.net.impl.ImplVersion" on path: DexPathList[[zip file "/system/priv-app/GmsCore/GmsCore.apk"],nativeLibraryDirectories=[/system/priv-app/GmsCore/lib/arm64, /system/priv-app/GmsCore/GmsCore.apk!/lib/arm64-v8a, /system/lib64, /system/system_ext/lib64]]
08-12 09:51:32.383  5464  5547 E CronetProviderInstaller:       at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:218)
08-12 09:51:32.383  5464  5547 E CronetProviderInstaller:       at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
08-12 09:51:32.383  5464  5547 E CronetProviderInstaller:       at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
08-12 09:51:32.383  5464  5547 E CronetProviderInstaller:       at com.google.android.gms.net.CronetProviderInstaller.zzc(Unknown Source:68)
08-12 09:51:32.383  5464  5547 E CronetProviderInstaller:       at com.google.android.gms.net.zza.run(Unknown Source:4)
08-12 09:51:32.383  5464  5547 E CronetProviderInstaller:       at java.lang.Thread.run(Thread.java:920)
08-12 09:51:32.383  1158  2477 E system_server: Invalid class loader spec: =UnsupportedClassLoaderContext=
08-12 09:51:32.383  1158  2477 E PackageDexUsage: Unsupported context?

To Reproduce
Steps to reproduce the behavior:

  1. Start the app
  2. Observe the blinking map

Expected behavior
Both map and stations load properly because Cronet is available and properly detected.

System
Android Version: 12
Custom ROM: /e/OS 3.0.4-s20250711508139

microG
microG Core version: 0.3.6.244735-17
microG Self-Check results: all ticked except "look for accounts on the device" (or something like that, device is in French) as the app is started in a professional account via Shelter (but the app has been working without issues for years)

Additional context
There was no recent /e/OS update, no idea about microG or the app itself, though.
Someone reported no issue with the app on a more recent android base: https://community.e.foundation/t/issue-with-velib-application-bike-sharing-in-paris/73206/2?u=silmathoron

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No repository file or test is identified in the report. Reproduce the Vélib failure on Android 12 with microG, then trace the CronetProviderInstaller and PlayServicesCronetProvider entries alongside the Mapbox log messages; done means the map and bike stations load without blinking.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, java
Domain
mobile-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.