Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

binder: undelivered transaction and binder_alloc_buf, no vma #12

Open
kungfooman opened this issue Aug 4, 2022 · 7 comments
Open

binder: undelivered transaction and binder_alloc_buf, no vma #12

kungfooman opened this issue Aug 4, 2022 · 7 comments

Comments

@kungfooman
Copy link

Dear Oculus team,

I used to be able to use my Oculus Go for VR development and I always had WLAN disabled to not receive any unwanted updates. However, a few days ago I decided to turn WLAN on again and it updated everything... first thing I had to do was a factory reset, because otherwise I would only see the three-dots-issue.

But after the update the entire Oculus browser fails to render anything. I connect to my local web server and the page is simply white. On one occasion it actually displayed the content, after I entered Firefox Reality, quit it and opened Oculus browser again (Firefox Reality renders properly). When I open a video, the sound plays but the video is just white aswell.

I tried to debug this issue, but since you took every opportunity to turn Linux into a straight jacket, it is very hard to do so even with years of C and Linux experience...

So the only pointer I have so far is dmesg:

[12512.492161] cnss_wlan_pci 0000:01:00.0: enabling device (0000 -> 0002)
[12512.505223] cnss: runtime resume status: 0
[12513.000839] binder: undelivered transaction 7300632
[12513.000858] binder: undelivered transaction 7300662
[12513.000865] binder: undelivered transaction 7300667
[12513.000870] binder: undelivered transaction 7300668
[12513.000927] binder: undelivered transaction 7300625
[12513.651903] binder: 12416: binder_alloc_buf, no vma
[12513.651924] binder: 963:1278 transaction failed 29201, size 76-0
[12513.660129] binder: undelivered transaction 7301501
[12513.749233] type=1400 audit(1659621008.024:321): avc: denied { getattr } for pid=14780 comm="boxed_process18" path="/data/data/com.oculus.browser" dev="sda8" ino=767072 scontext=u:r:isolated_app:s0:c512,c768 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0
[12514.152344] cnss: runtime suspend status: 0
[12514.333118] cnss_wlan_pci 0000:01:00.0: Refused to change power state, currently in D3
[12514.408594] cnss_wlan_pci 0000:01:00.0: enabling device (0000 -> 0002)
[12514.419848] cnss: runtime resume status: 0
[12514.818059] type=1400 audit(1659621009.091:322): avc: denied { getattr } for pid=14804 comm="boxed_process19" path="/data/data/com.oculus.browser" dev="sda8" ino=767072 scontext=u:r:isolated_app:s0:c512,c768 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0
[12514.832484] binder: undelivered transaction 7302950
[12514.832504] binder: undelivered transaction 7302974
[12514.832512] binder: undelivered transaction 7302992
[12514.832517] binder: undelivered transaction 7303004
[12514.832622] binder: undelivered transaction 7302945
[12515.209396] cnss: runtime suspend status: 0
[12516.538518] cnss_wlan_pci 0000:01:00.0: Refused to change power state, currently in D3
[12516.599372] cnss_wlan_pci 0000:01:00.0: enabling device (0000 -> 0002)
[12516.609398] cnss: runtime resume status: 0
[12518.465212] cnss: runtime suspend status: 0
[12518.478635] cnss_wlan_pci 0000:01:00.0: Refused to change power state, currently in D3
[12518.540408] cnss_wlan_pci 0000:01:00.0: enabling device (0000 -> 0002)
[12518.562003] cnss: runtime resume status: 0
[12518.602096] type=1400 audit(1659621012.864:323): avc: denied { getattr } for pid=14828 comm="boxed_process20" path="/data/data/com.oculus.browser" dev="sda8" ino=767072 scontext=u:r:isolated_app:s0:c512,c768 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0
[12521.094379] cnss: runtime suspend status: 0
[12521.105204] cnss_wlan_pci 0000:01:00.0: Refused to change power state, currently in D3
[12521.165429] cnss_wlan_pci 0000:01:00.0: enabling device (0000 -> 0002)
[12521.175963] cnss: runtime resume status: 0
pacific:/ $

Based on this article [1] [12513.651903] binder: 12416: binder_alloc_buf, no vma indicates that probably a Chrome background process crashed or maybe some right issue regarding /data/data/com.oculus.browser?

Hereby I also inform you about the European Right to repair which requires you to allow me to fix my own system [2].

That means:

  • allow to downgrade my system to a former working state
  • root access to actually USE my own compiled Linux kernel for repairing my broken system

[1] https://chengyihe.wordpress.com/2015/10/19/android-binder-error-log-binder_alloc_buf-no-vma/
[2] https://www.europarl.europa.eu/meetdocs/2014_2019/plmrep/COMMITTEES/IMCO/DV/2022/03-16/MfR_RighttoRepair_EN.pdf

Thank you for your attention,
Hermann Rolfes

@rajatgupta1998
Copy link

@kungfooman it might be a very bold step but has anyone in AOSP community tried building something for the Oculus devices?
Like a custom kernel or a root solution?

@kungfooman
Copy link
Author

Like a custom kernel or a root solution?

Hi @rajatgupta1998, thank you for the link! I wasn't aware of it and I just tried it and it works like a charm. I don't know what you mean by root solution, since the unlocked Go has root access. Can you elaborate on that?

I don't know about a custom kernel, but if the community is able to fix this browser bug, then I would love to use or contribute to it.

I didn't find any time for further testing so far if the browser bug even still exists in this unlocked version.

@WolfLink115
Copy link

@rajatgupta1998 I have been working on getting TWRP recovery ported to the Oculus Go. There are no device sources so I am having trouble with setting up a working tree. I got it booting but sadly I keep having trouble with setting up A/B partitioning. I have tried multiple things in order to try getting something to mount properly but I keep coming up short.

To add onto that I have also tried working on getting the Mainline Linux kernel working on the device. It boots, but nothing except the display seems to work.

I plan on trying to get the TWRP port mostly working then move on to getting AOSP or LineageOS ported. I am a beginner in porting but I have faith I can do it.

@kungfooman
Copy link
Author

then move on to getting AOSP or LineageOS ported

I'm very happy to hear... I wish you a lot of success (and maybe a bit of luck 👀😵)

@WolfLink115
Copy link

then move on to getting AOSP or LineageOS ported

I'm very happy to hear... I wish you a lot of success (and maybe a bit of luck 👀😵)

Thank you, I appreciate that. I just realized, your name was super familiar and I just realized why lol

I think I first saw your name in some group on Telegram, but I think I actually spoke to you in the Halium group

@MrMEEE
Copy link

MrMEEE commented Apr 7, 2024

@WolfLink115 Did you get any further on porting TWRP or build a custom firmware?

I was looking into the same thing, but wanted to know how far you got?

@WolfLink115
Copy link

@WolfLink115 Did you get any further on porting TWRP or build a custom firmware?

I was looking into the same thing, but wanted to know how far you got?

I got TWRP ported with almost everything working but I somehow bricked the headset (I booted LK2ND and tried to boot an EDK2 image I built to the headset and the speakers made a "pop" sound, went black, and showed up in the PC briefly then it cut off and never booted again as well as never showed in the PC again). I can't work on it until I get another headset so sadly there is not gonna be any progress from me until that happens. I got a job now so we shall see what happens.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants