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
[ARM] OpenJDK throws java.lang.StackOverflowError #7214
Comments
I can confirm I have the same problem.
|
Same here with me. 😔 |
How do you generate these device info? |
|
I updated my previous comment to use termux-info |
I confirm the bug.
|
Alternatives currently |
@xeffyr thanks for the tip!
|
Try this http://termux.net/dists/stable/main/binary-all/apksigner_0.7-2_all.deb, it's from old Termux. |
@xeffyr Thank you very much! |
@xeffyr |
@xeffyr why didn't you add OpenJDK-11 as a package before jumping to OpenJDK-17? 😬 |
The only solutions I can suggest are:
Otherwise notice that issue has this tag:
Because this is literally a copy of https://github.com/PojavLauncherTeam/android-openjdk-build-multiarch. Using what is available and known to build with no issues. I has been notified about issues on ARM too late, when package has been already added. |
@xeffyr And if you try compiling and using an older version of java for arm32?, try using the previous commits of Pojav Launcher. |
Here is a possibility but I haven't tested this yet. Currently, on ARM, OpenJDK uses explicit register variable to retrieve the value of sp as the current stack location, which is used to detect stack overflow, see https://github.com/termux/openjdk-mobile-termux/blob/master/src/hotspot/os_cpu/linux_arm/os_linux_arm.cpp#L87 However, it seems that this feature is not supported by clang. see https://stackoverflow.com/questions/55648274/why-does-clang-behave-weirdly-with-register-variables-compared-to-gcc Thus this may cause wrong stack size detection, leading to a wrong StackOverFlowError. On bsd aarch64, special code is written for clang in this function, see https://github.com/termux/openjdk-mobile-termux/blob/master/src/hotspot/os_cpu/bsd_aarch64/os_bsd_aarch64.cpp#L103 Maybe should change the function in linux_arm and test if it might work. |
Tested and it's now working. PR termux/openjdk-mobile-termux#2 |
@w4123 Amazing work with investigating both of these java issues! |
Thank you so much!!
Il mer 25 ago 2021, 22:03 Leonid Pliushch ***@***.***> ha
scritto:
… Closed #7214 <#7214> via
08b1ffd
<08b1ffd>
.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#7214 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABLC4MY3PMTLGN4VV2JIJRLT6VEB5ANCNFSM5BI6IY6A>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email>
.
|
Problem description
Package
openjdk-17
doesn't work on ARM (32 bit) devices. All tools crash withjava.lang.StackOverflowError
. This issue does not affect AArch64 and x86_64 devices, i686 has another bug.Same issue affects https://github.com/PojavLauncherTeam/android-openjdk-build-multiarch/tree/buildjre16 on which the current build is based.
Additional information
The text was updated successfully, but these errors were encountered: