Question App crashes with "To many Binders sent to SYSTEM" - Sony Xperia 5 IV

12-02 16:38:13.792 E/BpBinder( 2658): Too many binder proxy objects sent to uid 1000 from uid 10363 (6000 proxies held)
12-02 16:38:13.792 E/ActivityManager( 2658): Uid 10363 sent too many Binders to uid 1000
12-02 16:38:13.796 I/sensors-hal( 1485): batch:207, android.sensor.accelerometer/11, period=200000000, max_latency=2000000000
12-02 16:38:13.796 I/sensors-hal( 1485): set_config:57, sample_period_ns is adjusted to 200000000 based on min/max delay_ns
12-02 16:38:13.796 I/sensors-hal( 1485): send_sensor_config_request:419, resampler is used, set resampler config
12-02 16:38:13.796 I/sensors-hal( 1485): send_sync_sensor_request:365, send sync request
12-02 16:38:13.796 I/sensors-hal( 1485): send_sync_sensor_request:391, wait for notification of response
12-02 16:38:13.798 I/ActivityManager( 2658): Killing 5973:com.innowireless.xcal.mobile5/u0a363 (adj 0): Too many Binders sent to SYSTEM
Can you tell what causes the App Crash?
If many calls are the cause, is there a way to plant a log of which uid is being called?

Any steps to reproduce that?

WalterCool said:
Any steps to reproduce that?
Click to expand...
Click to collapse
Thank you for your interest.
The ping test is conducted for 24 hours through the self-developed app.

Park Hyo Hyeon said:
Thank you for your interest.
The ping test is conducted for 24 hours through the self-developed app.
Click to expand...
Click to collapse
Hmmm, I think your problem is related to Android Development and not specific to Xperia 5 IV.
libs/binder/BpBinder.cpp - platform/frameworks/native - Git at Google
Looks like this error would happens when some application is spamming/abusing of binder calls. Just remember some background apps may fail to work after a while. Android recommends to use some Notification for background job at best.

WalterCool said:
Hmmm, I think your problem is related to Android Development and not specific to Xperia 5 IV.
libs/binder/BpBinder.cpp - platform/frameworks/native - Git at Google
Looks like this error would happens when some application is spamming/abusing of binder calls. Just remember some background apps may fail to work after a while. Android recommends to use some Notification for background job at best.
Click to expand...
Click to collapse
thank you
I will refer to the advice and check the error again.

Related

CM Freezing bug Logcated

Anyone got an idea.. link to full post.. http://forum.xda-developers.com/galaxy-s4-sprint/help/lag-freezing-cm-base-logcat-t2823956
This is the output of my logcat. (Slimmed down. If you need more pastebin has more. And i can just pull another..)
E/TemperatureHumiditySensor( 743): mCompEngine is NULL
I/Choreographer( 1134): Skipped 778 frames! The application may be doing too much work on its main thread.
I/Choreographer( 1134): Skipped 65 frames! The application may be doing too much work on its main thread.
I/ActivityManager( 743): START u0 {act=android.intent.action.MAIN cat=[android.intent.category.HOME] flg=0x10200000 cmp=com.tsf.shell/.Home} from pid 743
W/Launcher( 4352): setApplicationContext called twice! [email protected] 24c0
Looks like android.view at API 16 Could be a possible culprit.. source..http://vaibhavtolia.wordpress.com/2013/10/03/79/
Daisflaque said:
Looks like android.view at API 16 Could be a possible culprit.. source..http://vaibhavtolia.wordpress.com/2013/10/03/79/
Click to expand...
Click to collapse
Bump.

[Q] App blocks ACTION_MEDIA_BUTTON

Hi.
I have almost no knowledge of Android development, sorry if the question is stupid or incorrectly formulated
An application named Sygic (satellite navigation, "com.sygic.aura" on Google Play) has a bug/feature that it blocks ACTION_MEDIA_BUTTON. From the user's point of view, media buttons of external keyboard or software buttons wit appropriate actions assigned (play/pause, skip, previous track) don't work when the app is running (in foregroud or even background as a service). As far as I could determine, the app doesn't register any broadcast receiver listening to MEDIA_BUTTON intent (at least not in Android Manifest). It certainly doesn't implement any useful feature based on media button presses.
Analysis of logcat didn't help me much. Below I quote both versions of log when I press Play and then Pause.
1. Standard log (filtered relevant entries) with no Sygic running (result is fine - music starts and then stops playing):
Code:
W/AudioTrack( 530): AUDIO_OUTPUT_FLAG_FAST denied by client due to mismatching sample rate (48000 vs 44100)
W/AppOps ( 530): Bad call: specified package android under uid 10006 but it is really 1000
W/AppOps ( 530): Bad call: specified package android under uid 10006 but it is really 1000
W/DvcNeonEqualizer( 4304): Starting fixed point NEON optimized equalizer with DVC
I/MediaFocusControl( 530): Remote Control registerMediaButtonIntent() for PendingIntent{41fa16e8: PendingIntentRecord{41fa20a0 com.maxmpz.audioplayer broad
castIntent}}
I/HeadsetService( 786): Audio session removed: 77
I/HeadsetService( 786): Selected configuration: speaker
I/PlayerService( 4304): ACTION_API_COMMAND cmd=1
I/MediaFocusControl( 530): AudioFocus requestAudioFocus() from [email protected][email protected]
I/MediaFocusControl( 530): Remote Control registerMediaButtonIntent() for PendingIntent{41f0a6b8: PendingIntentRecord{41fa20a0 com.maxmpz.audioplayer broad
castIntent}}
W/KeyguardUpdateMonitor( 650): Ignoring generation id 13 because it's not current
W/AudioTrack( 530): AUDIO_OUTPUT_FLAG_FAST denied by client due to mismatching sample rate (48000 vs 44100)
W/AppOps ( 530): Bad call: specified package android under uid 10006 but it is really 1000
I/PlayerService( 4304): ACTION_API_COMMAND cmd=1
W/AppOps ( 530): Bad call: specified package android under uid 10006 but it is really 1000
I/MediaFocusControl( 530): AudioFocus abandonAudioFocus() from [email protected][email protected]
W/PlayerService( 4304): Poweramp Player Service leaves the scene
2. With Sygic on it say only (no real action is visibly done):
Code:
W/AudioTrack( 530): AUDIO_OUTPUT_FLAG_FAST denied by client due to mismatching sample rate (48000 vs 44100)
W/AppOps ( 530): Bad call: specified package android under uid 10006 but it is really 1000
W/AppOps ( 530): Bad call: specified package android under uid 10006 but it is really 1000
Other applications are working just fine.
The developer (Sygic) is not communicating at all with me. Is there any chance to help myself with that? Settings? Xposed module? Some utility to filter broadcast receivers?

emulate /c2dm/register3 workflow

Good day!
In learning objectives I am developing desktop app that must reproduce the behavior of one of the social network's client app on android.
This android app makes several POST-request to android.clients.google .com/c2dm/register3 to confirm that this is real mobile app and to confirm it's API token, then it uses the response from this /c2dm/register3 request as one of the params for refresh token request.
So there is no problem with reverse-engineering social network's client app and using it's private API, but I stuck with implementing this request.
When trying to reproduce the same request intercepted from my mobile app I obtain response
"Error=|ID|3|HONE_REGISTRATION_ERROR"
Click to expand...
Click to collapse
The request headers and data example here (I replace some data with ?? symbols):
POST htt ps: //android.clients.google. com/c2dm/register3 ← 200 OK text/plain 57b 202ms
Headers:
-----------
Connection: keep-alive
Accept-Encoding: gzip
Accept: */*
User-Agent: Android-GCM/1.5 (m0 JSS15J)
Authorization: AidLogin ???????????????????:???????????????????:
app: ?????????????????????
Gcm-ver: 11975036
Gcm-cert: 48761eef50ee53afc4cc9c5f10e6bde7f8f5b82f
content-type: application/x-www-form-urlencoded
Host: android.clients.google.com
Content-Length: 1180
URLEncoded form:
---------------
X-messenger2: 1
X-scope: GCM
X-osv: 18
X-cliv: iid-9877000
X-X-subtype: ????????????
X-appid: fKIbwEJAPu4
X-kid: |ID|3|
X-X-subscription: ????????????
X-subscription: ????????????
X-gmsv: 11975036
X-subtype: ????????????
X-X-kid: |ID|3|
X-pub2:: <SOME_TOKEN_OR_SIGNED_STR_HERE>
X-app_ver_name: 4.13.1
X-app_ver: 1206
X-sig: <SOME_TOKEN_OR_SIGNED_STR_HERE>
app: ?????????????????????
sender:: ????????????
device:: 3597631400132452708
cert: 48761eef50ee53afc4cc9c5f10e6bde7f8f5b82f
app_ver: 1206
gcm_ver: 11975036
Click to expand...
Click to collapse
I would be grateful if anyone can give me a prompt about this workflow, tell me where i can find some sources or is it possible at all to implement this workflow without real phone?
So thank you in advance and sorry for bad english.
el_zok said:
Good day!
In learning objectives I am developing desktop app that must reproduce the behavior of one of the social network's client app on android.
This android app makes several POST-request to android.clients.google .com/c2dm/register3 to confirm that this is real mobile app and to confirm it's API token, then it uses the response from this /c2dm/register3 request as one of the params for refresh token request.
So there is no problem with reverse-engineering social network's client app and using it's private API, but I stuck with implementing this request.
When trying to reproduce the same request intercepted from my mobile app I obtain response
The request headers and data example here (I replace some data with ?? symbols):
I would be grateful if anyone can give me a prompt about this workflow, tell me where i can find some sources or is it possible at all to implement this workflow without real phone?
So thank you in advance and sorry for bad english.
Click to expand...
Click to collapse
I've been working on this as well. Let me share what I've found out thus far pertaining to the information you're unclear about;
Headers
Authorization: AidLogin ???????????????????:???????????????????:
Click to expand...
Click to collapse
The values provided for the AidLogin are android_id:security_token. These values are sent to us (afaik) somewhere along the line from the Google Play Store API. I have yet to find where this occurs and would def appreciate any information anyone has on the subject. I have read the values are returned in a response to a request to the checkin endpoint, but I haven't seen the required values in any response yet. These values are used for AidLogin instead of emailassword. What I do know is that these 2 values can be used more than once while registering devices so if you're unable to figure it out, you can just log the values from emulators and reuse them.
app: ?????????????????????
Click to expand...
Click to collapse
This is the package name of the apk making the /register3 request.
Form
X-X-subtype: ????????????
X-X-subscription: ????????????
X-subscription: ????????????
X-subtype: ????????????
sender:: ????????????
Click to expand...
Click to collapse
These are all the same value (or atleast they have been in all of the requests I've seen). This value can be pulled directly from the apk.
app: ?????????????????????
Click to expand...
Click to collapse
The value provided for device is the same value used in the app header (package name)
X-pub2:: <SOME_TOKEN_OR_SIGNED_STR_HERE>
Click to expand...
Click to collapse
This value is the base64 encoding of the der encoded public rsa key generated by the application.
X-sig: <SOME_TOKEN_OR_SIGNED_STR_HERE>
Click to expand...
Click to collapse
This value is the base64 encoding of SHA256RSA encoded package name, signed using the private rsa key generated by the application.
Note: The value provided for device is the same value used in the AidLogin header (android_id)
device:: 3597631400132452708
This is all the information I know presently and again, if someone has any information on how to obtain the android_id:security_token values I would greatly appreciate any insight. Thanks in advance to whomever may help, As it turns out the android_id and security_token values come from the protobuf response to the request made to https://android.clients.google.com/checkin. Good luck to OP!

Real-time HR sharing (Notify & Fitness)

If anyone wants to have direct and easy access to real time HR data of Mi Band, for example to create a custom notification, exporting it to a PC or any other reason, here's an easy way.
- install Notify & Fitness app
- in Tasker, create new profile, event, system, intent received, action "com.mc.miband.heartRateGot"
- add a task with whatever action you want. The last measured HR is stored in variable "%value"
Whenever band measures a HR, this intent gets activated and %value is updated. For real-time measurements start a workout.
There are more intents available, the full list can be found here http://www.mibandnotify.com/help/tasker_send_intent.php
do all the results of those intents stored in "%value" variable ? or it changes with the action ? If it changes, how can I know all the other variables ?
please help I am trying to find those variables...
madkiran said:
do all the results of those intents stored in "%value" variable ? or it changes with the action ? If it changes, how can I know all the other variables ?
please help I am trying to find those variables...
Click to expand...
Click to collapse
Per the documentation (link in the first post), the result of intent is always stored in "%value" variable.
_mysiak_ said:
Per the documentation (link in the first post), the result of intent is always stored in "%value" variable.
Click to expand...
Click to collapse
yeah. value is working for all intents.. but I couldn't find that in the documentation'

Help needed in Making HWC 1 .3 work on Android 9

Hello,
I'm porting Android 9 in SM-G355H phone from a Android 8 tree but I cannot get pass the black screen or frozen screen.
This happens whenever the SurfaceFlinger has to compose the layers (Client Compositing) because the Framebuffer Target Layer that the Hardware Composer 1.3 code expects always have a NULL buffer handle so there's nothing to be displayed.
Usually SPRD GSP (a hardware blitter) does the compositing for n layers so it's possible to have a working display with the Framebuffer target layer's buffer_handle being null unless the blitter fails or SurfaceFlinger forces Client composition.
I have noted that this is also the same outcome with Android 8 when HWC2on1 adapter is used, which is part of the reason I disabled it on the Android 8 tree and went with the HWC1 support within SurfaceFlinger. The HWC1 support was removed on Android 9, so HWC2on1 adapter is a must.
Any ways to get the HWC2on1 work on this device for Android 9 (and also Android 8)?
Should there be steps to be done before using the adapter? Like changing some code in the HWC or something?
Preamble
This may probably turn to a Q&A section. So, I'll include a preamble of some sort.
I was right that there is only one issue on Android 8 which also affects Android 9. (and maybe Android 10 and above)
I was wrong about something needed to be done about the adapter, it just works.
The problem lies in the how the vendor decides to use the native_handle_t created in gralloc for "framebuffer" handles or handles that handle framebuffer memory.
Yeah, this means only Framebuffers allocated from gralloc are affected. Any other buffers from gralloc are okay.
TL;DR; Basically, the vendor use -1 as a FD while the whole HIDL, native_handle_clone(), and kernel binder operations always expects a valid FD. I just need to work around that.
Unfortunately, it is not possible to decrease the number of FD's when creating the native_handle_t since the underlying blob, libMali.so, will reject it stating that the handle is not valid. It compares the number of FDs and number of INTs, you could check what the "struct native_handle" holds.
But then again, that FD is used by libMali.so as a dma_buf fd.
This means that having a valid fd will make libMali.so issue an ioctl call expecting a dma_buf so I cannot just plug in a valid FD to /dev/null.
And to point, dma_buf fb support does not exist in the kernel provided by Samsung so the FD is set to -1.
When this FD is -1, libMali.so simply moves on and uses alternative methods aside dma_buf.
Then the handle goes to binder or HIDL which in effect needs to duplicate all file descriptors (fd). dup() doesn't work on -1 since it's an invalid fd.
Thus, this problem will prevent the FramebufferTarget layer from having a native_handle_t simply because SurfaceFlinger cannot send it through HIDL.

Categories

Resources