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

[Bug]: Chromium: Can't go to any web pages #1205

Open
Usinganame opened this issue Sep 17, 2024 · 5 comments
Open

[Bug]: Chromium: Can't go to any web pages #1205

Usinganame opened this issue Sep 17, 2024 · 5 comments
Labels
bug Something isn't working

Comments

@Usinganame
Copy link

Problem description

You are unable to go to a webpage as pressing enter will simply not attempt to load it. Going to any build-in pages (such as chrome://version) works as normal

There is also a big wall of errors that spews the same thing just with a different number very rapidly in the session that I ran Xfce in. Provided below

I have also provided a video showcasing the problem

Screen_Recording_20240917_081413_TermuxX11.mp4

Screenshot_20240917_081743_Termux

What steps will reproduce the bug?

Open Chromium
Attempt to go to a website

What is the expected behavior?

It should go to a website as normal

System information

termux-info:

TERMUX_EXEC__PROC_SELF_EXE=/data/data/com.termux/files/usr/bin/termux-info
TERMUX_VERSION=googleplay.2024.08.29
TERMUX__USER_ID=0
Packages CPU architecture:
aarch64
Subscribed repositories:
# sources.list
deb https://termux.net stable main
# x11-repo (sources.list.d/x11.list)
deb https://x11-packages.termux.net/ x11 main
# tur-repo (sources.list.d/tur.list)
deb https://tur.kcubeterm.com tur-packages tur tur-on-device tur-continuous
Updatable packages:
All packages up to date
termux-tools version:
3.0.8
Android version:
14
Kernel build information:
Linux localhost 5.4.254-qgki-28582291-abG998USQSCGXH2 #1 SMP PREEMPT Tue Aug 27 10:>
Device manufacturer:
samsung
Device model:
SM-G998U
LD Variables:
LD_LIBRARY_PATH=
LD_PRELOAD=/data/data/com.termux/files/usr/lib/libtermux-exec.so
Installed termux plugins:
com.termux.x11 versionCode:14
@Usinganame Usinganame added bug Something isn't working untriaged labels Sep 17, 2024
@licy183
Copy link
Collaborator

licy183 commented Sep 17, 2024

You're using Google Play version Termux. chromium in TUR is not intended to be working on that apps. I don't want to find every code path and patch /proc/self to be TERMUX_EXEC__PROC_SELF_EXE.

@licy183 licy183 removed the untriaged label Sep 17, 2024
@Usinganame
Copy link
Author

  1. You don't have to find then. Grep is your friend
  2. Is that not quite litteraly your job as a maintainer?
  3. Nobody even said it had to be you. There are other mainainers here

@licy183
Copy link
Collaborator

licy183 commented Sep 17, 2024

  1. You don't have to find then. Grep is your friend

grep is not possible to find every code path which gets the current exec path. /proc/self is just one possible candidate. If you want to do this you can download the source code of chromium and patch it manuallly or automatically, and then build it manually. All the build scripts can be found in https://github.com/termux-user-repository/chromium-builder.

  1. Is that not quite litteraly your job as a maintainer?

Yeah, I'm the maintainer of this repository, but Google Play version Termux is a fork of Termux apps, and all the packages in TUR are intended to be working for Termux main apps, not intended to be working on a fork. I have my own work as a student, and I really don't have enough time on this. Currently, I even doesn't have enough traffic to get the source code of chromium.

  1. Nobody even said it had to be you. There are other mainainers here

Currently, chromium may be maintained by me alone.

Ping @fornwall as the maintainer of termux-play-store app

@fornwall
Copy link

@licy183 Thanks, I'll have a look!

I don't want to find every code path and patch /proc/self to be TERMUX_EXEC__PROC_SELF_EXE

Regarding /proc/self -> getenv("TERMUX_EXEC__PROC_SELF_EXE"), I just updated termux-exec to also hook readlink(3) using LD_PRELOAD, so that if code does readlink("/proc/self/exe", ..) (which is the most common approach) it should work without code changes necessary. I verified that it works on e.g. the LLVM packages here in TUR, which was broken earlier without this hook and required patching, but which now "just works" ™️ .

But note that the LD_PRELOAD environment variable needs to be kept for this to work, and perhaps that is lost when chromium spawns worker processes? Will look into it.

In the future we can perhaps modify the build setup to automatically inject --wrap in LDFLAGS or similar to make it work out of the box without requiring LD_PRELOAD, but for now LD_PRELOAD needs to be kept around.

@fornwall
Copy link

You don't have to find then. Grep is your friend

@Usinganame I think it's important to be nice and show appreciation and gratitude for what @licy183 has been doing here, and be mindful of the difficulties. Chromium is such a massive and complex code base, the work that has been done here in getting it building and running is just impressive.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants