LocationManagerService: system location request with no attribution tag : java.lang.IllegalArgumentException
- /e/ version:
1.14-beta-s-20230725313784-stable-FP3
- Device model(s): Probably
All
- Developer mode enabled: yes
- Device rooted: no
- Trackers blocker enabled: yes
Summary
Upon tapping on the refresh button of the weather widget user gets java.lang.IllegalArgumentException for system location request with no attribution tag
The problem
Steps to reproduce
- Fake location using Advanced Privacy
- Tap on the refresh button of the /e/OS Weather widget
- Repeat the above 2 steps multiple times
What is the current behavior?
- LocationManagerService: system location request with no attribution tag
What is the expected correct behavior?
- No such exceptions should be observed.
Technical informations
Relevant logs (adb logcat
)
07-27 13:28:11.017 3404 3404 I WeatherUpdater: Updating weather
07-27 13:28:11.018 1522 1997 W AudioTrack: restoreTrack_l(40): dead IAudioTrack, PCM, creating a new one from getTimestampExtended()
07-27 13:28:11.018 1522 1997 I BpBinder: onLastStrongRef automatically unlinking death recipients: <uncached descriptor>
07-27 13:28:11.020 1522 1778 W LocationManagerService: system location request with no attribution tag
07-27 13:28:11.020 1522 1778 W LocationManagerService: java.lang.IllegalArgumentException
07-27 13:28:11.020 1522 1778 W LocationManagerService: at com.android.server.location.LocationManagerService.registerLocationListener(LocationManagerService.java:713)
07-27 13:28:11.020 1522 1778 W LocationManagerService: at android.location.LocationManager.requestLocationUpdates(LocationManager.java:1498)
07-27 13:28:11.020 1522 1778 W LocationManagerService: at com.android.location.fused.FusedLocationProvider$ChildLocationListener.resetProviderRequest(FusedLocationProvider.java:278)
07-27 13:28:11.020 1522 1778 W LocationManagerService: at com.android.location.fused.FusedLocationProvider$ChildLocationListener.access$000(FusedLocationProvider.java:222)
07-27 13:28:11.020 1522 1778 W LocationManagerService: at com.android.location.fused.FusedLocationProvider.updateRequirementsLocked(FusedLocationProvider.java:146)
07-27 13:28:11.020 1522 1778 W LocationManagerService: at com.android.location.fused.FusedLocationProvider.onSetRequest(FusedLocationProvider.java:116)
07-27 13:28:11.020 1522 1778 W LocationManagerService: at android.location.provider.LocationProviderBase$Service.setRequest(LocationProviderBase.java:323)
07-27 13:28:11.020 1522 1778 W LocationManagerService: at com.android.server.location.provider.proxy.ProxyLocationProvider.lambda$onSetRequest$0(ProxyLocationProvider.java:184)
07-27 13:28:11.020 1522 1778 W LocationManagerService: at com.android.server.location.provider.proxy.ProxyLocationProvider$$ExternalSyntheticLambda0.run(Unknown Source:2)
07-27 13:28:11.020 1522 1778 W LocationManagerService: at com.android.server.servicewatcher.ServiceWatcherImpl$MyServiceConnection.runOnBinder(ServiceWatcherImpl.java:247)
07-27 13:28:11.020 1522 1778 W LocationManagerService: at com.android.server.servicewatcher.ServiceWatcherImpl.lambda$runOnBinder$0(ServiceWatcherImpl.java:125)
07-27 13:28:11.020 1522 1778 W LocationManagerService: at com.android.server.servicewatcher.ServiceWatcherImpl$$ExternalSyntheticLambda0.run(Unknown Source:4)
07-27 13:28:11.020 1522 1778 W LocationManagerService: at android.os.Handler.handleCallback(Handler.java:938)
07-27 13:28:11.020 1522 1778 W LocationManagerService: at android.os.Handler.dispatchMessage(Handler.java:99)
07-27 13:28:11.020 1522 1778 W LocationManagerService: at android.os.Looper.loopOnce(Looper.java:201)
07-27 13:28:11.020 1522 1778 W LocationManagerService: at android.os.Looper.loop(Looper.java:288)
07-27 13:28:11.020 1522 1778 W LocationManagerService: at android.os.HandlerThread.run(HandlerThread.java:67)
07-27 13:28:11.020 1522 1778 W LocationManagerService: at com.android.server.ServiceThread.run(ServiceThread.java:44)
07-27 13:28:11.022 1522 1778 W LocationManagerService: system location request with no attribution tag
07-27 13:28:11.022 1522 1778 W LocationManagerService: java.lang.IllegalArgumentException
07-27 13:28:11.022 1522 1778 W LocationManagerService: at com.android.server.location.LocationManagerService.registerLocationListener(LocationManagerService.java:713)
07-27 13:28:11.022 1522 1778 W LocationManagerService: at android.location.LocationManager.requestLocationUpdates(LocationManager.java:1498)
07-27 13:28:11.022 1522 1778 W LocationManagerService: at com.android.location.fused.FusedLocationProvider$ChildLocationListener.resetProviderRequest(FusedLocationProvider.java:278)
07-27 13:28:11.022 1522 1778 W LocationManagerService: at com.android.location.fused.FusedLocationProvider$ChildLocationListener.access$000(FusedLocationProvider.java:222)
07-27 13:28:11.022 1522 1778 W LocationManagerService: at com.android.location.fused.FusedLocationProvider.updateRequirementsLocked(FusedLocationProvider.java:147)
07-27 13:28:11.022 1522 1778 W LocationManagerService: at com.android.location.fused.FusedLocationProvider.onSetRequest(FusedLocationProvider.java:116)
07-27 13:28:11.022 1522 1778 W LocationManagerService: at android.location.provider.LocationProviderBase$Service.setRequest(LocationProviderBase.java:323)
07-27 13:28:11.022 1522 1778 W LocationManagerService: at com.android.server.location.provider.proxy.ProxyLocationProvider.lambda$onSetRequest$0(ProxyLocationProvider.java:184)
07-27 13:28:11.022 1522 1778 W LocationManagerService: at com.android.server.location.provider.proxy.ProxyLocationProvider$$ExternalSyntheticLambda0.run(Unknown Source:2)
07-27 13:28:11.022 1522 1778 W LocationManagerService: at com.android.server.servicewatcher.ServiceWatcherImpl$MyServiceConnection.runOnBinder(ServiceWatcherImpl.java:247)
07-27 13:28:11.022 1522 1778 W LocationManagerService: at com.android.server.servicewatcher.ServiceWatcherImpl.lambda$runOnBinder$0(ServiceWatcherImpl.java:125)
07-27 13:28:11.022 1522 1778 W LocationManagerService: at com.android.server.servicewatcher.ServiceWatcherImpl$$ExternalSyntheticLambda0.run(Unknown Source:4)
07-27 13:28:11.022 1522 1778 W LocationManagerService: at android.os.Handler.handleCallback(Handler.java:938)
07-27 13:28:11.022 1522 1778 W LocationManagerService: at android.os.Handler.dispatchMessage(Handler.java:99)
07-27 13:28:11.022 1522 1778 W LocationManagerService: at android.os.Looper.loopOnce(Looper.java:201)
07-27 13:28:11.022 1522 1778 W LocationManagerService: at android.os.Looper.loop(Looper.java:288)
07-27 13:28:11.022 1522 1778 W LocationManagerService: at android.os.HandlerThread.run(HandlerThread.java:67)
07-27 13:28:11.022 1522 1778 W LocationManagerService: at com.android.server.ServiceThread.run(ServiceThread.java:44)
07-27 13:28:11.023 880 922 E LocSvc_APIClientBase: onResponseCb:917] ERROR: 5 ID: 68
07-27 13:28:11.027 3432 4039 D NetworkLocation: Schedule high-power scan now
07-27 13:28:11.030 3432 4039 D NetworkLocation: Schedule high-power scan in 19997ms
07-27 13:28:11.030 3432 4040 D NetworkLocation: Not yet implemented: onSuccess
07-27 13:28:11.031 1522 1778 I GnssLocationProvider: GNSS HAL Requesting location updates from network provider for 10000 millis.
07-27 13:28:11.036 3432 4039 D NetworkLocation: Schedule high-power scan in 19991ms
07-27 13:28:11.082 927 2003 D AF::TrackHandle: OpPlayAudio: track:146 usage:13 not muted
07-27 13:28:11.083 1522 1997 D AudioTrack: createTrack_l(40): AUDIO_OUTPUT_FLAG_FAST denied by server; frameCount 4146 -> 4146
07-27 13:28:11.085 927 1152 W APM_AudioPolicyManager: releaseOutput() no output for client 40
07-27 13:28:11.086 874 2910 D audio_hw_primary: start_output_stream: enter: stream(0xe6e84330)usecase(1: low-latency-playback) devices(0x2) is_haptic_usecase(0)
07-27 13:28:11.087 874 2910 D audio_hw_primary: select_devices for use case (low-latency-playback)
07-27 13:28:11.087 874 2910 I msm8974_platform: platform_check_and_set_codec_backend_cfg:becf: afe: bitwidth 16, samplerate 48000 channels 2, backend_idx 0 usecase = 1 device (speaker)
07-27 13:28:11.087 874 2910 I msm8974_platform: platform_check_and_set_codec_backend_cfg: new_snd_devices[0] is 2
07-27 13:28:11.087 874 2910 I msm8974_platform: platform_check_codec_backend_cfg:becf: afe: bitwidth 16, samplerate 48000 channels 2, backend_idx 0 usecase = 1 device (speaker)
07-27 13:28:11.087 874 2910 E audio_hw_extn: audio_extn_enable_hifi_filter: Could not get ctl for mixer cmd - HiFi Filter, using default control
07-27 13:28:11.087 874 2910 D msm8974_platform: platform_check_codec_backend_cfg:becf: updated afe: bitwidth 16, samplerate 48000 channels 2,backend_idx 0 usecase = 1 device (speaker)
07-27 13:28:11.087 874 2910 I msm8974_platform: platform_check_codec_backend_cfg:becf: afe: Codec selected backend: 0 updated bit width: 16 and sample rate: 48000
07-27 13:28:11.087 874 2910 D audio_hw_primary: check_usecases_codec_backend:becf: force routing 0
07-27 13:28:11.087 874 2910 D audio_hw_primary: check_usecases_codec_backend:becf: (85) check_usecases curr device: speaker, usecase device: backends match 0
07-27 13:28:11.087 874 2910 D audio_hw_primary: check_usecases_codec_backend:becf: check_usecases num.of Usecases to switch 0
07-27 13:28:11.087 874 2910 D hardware_info: hw_info_append_hw_type : device_name = speaker
07-27 13:28:11.087 874 2910 D audio_hw_primary: enable_snd_device: snd_device(2: speaker)
07-27 13:28:11.087 874 2910 D msm8974_platform: platform_get_island_cfg_on_device:island cfg status on snd_device = (speaker 0)
07-27 13:28:11.087 874 2910 I soundtrigger: audio_extn_sound_trigger_update_device_status: device 0x2 of type 0 for Event 1, with Raise=0
07-27 13:28:11.087 874 2910 D audio_route: Apply path: speaker
Also, just after faking the location using Advanced Privacy and tapping on the refresh button of the widget, I get the below logs :
07-27 13:32:23.106 874 2910 D msm8974_platform: platform_set_channel_map mixer_ctl_name:Playback Channel Map12
07-27 13:32:23.107 874 2910 D msm8974_platform: platform_set_channel_map: set mapping(1 2 0 0 0 0 0 0) for channel:2
07-27 13:32:23.107 3404 3404 I WeatherUpdater: WeatherInfo is null. Status reported: -2
07-27 13:32:23.108 0 0 I aw8898_startup: enter
07-27 13:32:23.131 0 0 I aw8898_mute: mute state=0
07-27 13:32:23.131 0 0 I : aw8898_smartpa_cfg, flag = 1
07-27 13:32:23.165 874 2910 D audio_hw_primary: start_output_stream: exit
07-27 13:32:23.789 3404 7981 I WeatherUpdater: Could not get city name in country code: in. Fallbacking to default city name Chicago
07-27 13:32:23.843 3404 3480 I OpenGLRenderer: Davey! duration=9223363929601ms; Flags=0, FrameTimelineVsyncId=64022, IntendedVsync=8107252851875, Vsync=8107252851875, InputEventId=0, HandleInputStart=8107253877011, AnimationStart=8107253879980, PerformTraversalsStart=8107253881542, DrawStart=8107256241386, FrameDeadline=8107286185207, FrameInterval=8107253871698, FrameStartTime=16666666, SyncQueued=8107257269511, SyncStart=8107257506750, IssueDrawCommandsStart=8107258527688, SwapBuffers=8107262877219, FrameCompleted=9223372036854775807, DequeueBufferDuration=90261, QueueBufferDuration=1148229, GpuCompleted=9223372036854775807, SwapBuffersCompleted=8107264945292, DisplayPresentTime=7971630695760,
07-27 13:32:24.172 3301 4201 I DPMJ : |REQ:RCVR| DPM creating socket
07-27 13:32:25.295 0 0 W healthd : battery l=98 v=4408 t=33.6 h=2 st=2 c=327453 fc=3056000 cc=1 chg=u
07-27 13:32:26.255 874 913 D audio_hw_primary: out_standby: enter: stream (0xe6e84330) usecase(1: low-latency-playback)
07-27 13:32:26.256 0 0 I aw8898_mute: mute state=1
07-27 13:32:26.256 0 0 I : aw8898_smartpa_cfg, flag = 0
07-27 13:32:26.301 874 913 D audio_hw_primary: disable_audio_route: reset and update mixer path: low-latency-playback
07-27 13:32:26.304 874 913 D soundtrigger: audio_extn_sound_trigger_update_stream_status: uc_info->id 1 of type 0 for Event 2, with Raise=0
07-27 13:32:26.304 874 913 D hardware_info: hw_info_append_hw_type : device_name = speaker
07-27 13:32:26.304 874 913 D audio_hw_primary: disable_snd_device: snd_device(2: speaker)
07-27 13:32:26.308 874 913 I soundtrigger: audio_extn_sound_trigger_update_device_status: device 0x2 of type 0 for Event 0, with Raise=0
Relevant screenshots
Solutions
Workaround
Possible fixes