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

armv6l not supported anymore since 0.55.0? #4104

Closed
11 tasks
fgenoese opened this issue Mar 24, 2024 · 11 comments
Closed
11 tasks

armv6l not supported anymore since 0.55.0? #4104

fgenoese opened this issue Mar 24, 2024 · 11 comments

Comments

@fgenoese
Copy link

Bug Description

Running frpc 0.55.0 or later on armv6l (Raspberry Pi) results in the following error, irrespective of the configuration:
Illegal instruction

The version 0.54.0 executes without problems. I noticed that the 0.55.0 changelog reports that "the minimum supported Go version has been updated to 1.22". Could this be part of the origin of the problem?

frpc Version

0.55.0

frps Version

0.55.0

System Architecture

linux/armv6l

Configurations

NA

Logs

Illegal instruction

Steps to reproduce

No response

Affected area

  • Docs
  • Installation
  • Performance and Scalability
  • Security
  • User Experience
  • Test and Release
  • Developer Infrastructure
  • Client Plugin
  • Server Plugin
  • Extensions
  • Others
@fatedier
Copy link
Owner

I'm not sure, you can try compiling the code of version v0.54 with Go 1.22 first to see if the issue can be reproduced

Copy link

Issues go stale after 21d of inactivity. Stale issues rot after an additional 7d of inactivity and eventually close.

@fgenoese
Copy link
Author

I'm not sure, you can try compiling the code of version v0.54 with Go 1.22 first to see if the issue can be reproduced

How would I do this?

@YtnbFirewings
Copy link

same error in asus rt ac68u, armv7l

@YtnbFirewings
Copy link

YtnbFirewings commented Apr 25, 2024

看了下log,浮点指令支持的问题
在不支持硬件浮点指令的cpu上会crash
编译时使用软件模拟浮点指令应该能解决
golang/go#61588

测试版本:0.55.1

crash所属函数runtime.check

代码片段,加粗的行为crash指令

.text:0006BA3C LDR R1, [R10,#8]
.text:0006BA40 CMP SP, R1
.text:0006BA44 BLS loc_6BF00
.text:0006BA48 STR LR, [SP,#var_38]!
.text:0006BA4C MOV R0, #0
.text:0006BA50 STR R0, [SP,#0x38+var_4]
.text:0006BA54 VMOV.F32 S0, #1.0
.text:0006BA58 VSUB.F32 S0, S0, S0
.text:0006BA5C VSTR S0, [SP,#0x38+var_8]
.text:0006BA60 VSTR S0, [SP,#0x38+var_C]
.text:0006BA64 VMOV.F64 D0, #1.0
.text:0006BA68 VSUB.F64 D0, D0, D0

log

Apr 25 10:34:35 kernel: frpc/21717: potentially unexpected fatal signal 4.
Apr 25 10:34:35 kernel: Pid: 21717, comm: frpc
Apr 25 10:34:35 kernel: CPU: 1 Tainted: P (2.6.36.4brcmarm #1)
Apr 25 10:34:35 kernel: PC is at 0x6ba54
Apr 25 10:34:35 kernel: LR is at 0x93bc8
Apr 25 10:34:35 kernel: pc : [<0006ba54>] lr : [<00093bc8>] psr: 20000010
Apr 25 10:34:35 kernel: sp : bee46cf8 ip : cafebabe fp : 00c6198c
Apr 25 10:34:35 kernel: r10: 00c62c88 r9 : 00000000 r8 : 00c63aa0
Apr 25 10:34:35 kernel: r7 : 00000014 r6 : 00000000 r5 : 00000000 r4 : 00000000
Apr 25 10:34:35 kernel: r3 : 00000000 r2 : 00000000 r1 : bee37138 r0 : 00000000
Apr 25 10:34:35 kernel: Flags: nzCv IRQs on FIQs on Mode USER_32 ISA ARM Segment user
Apr 25 10:34:35 kernel: Control: 10c53c7d Table: 0715404a DAC: 00000015

@fatedier
Copy link
Owner

@YtnbFirewings Can you try cross-compiling by yourself and post the compilation command that can run successfully?

@fatedier
Copy link
Owner

@YtnbFirewings You can try with this GOOS=linux GOARCH=arm GOARM=5

@YtnbFirewings
Copy link

@YtnbFirewings You can try with this GOOS=linux GOARCH=arm GOARM=5

I will try it later.

@YtnbFirewings
Copy link

@YtnbFirewings You can try with this GOOS=linux GOARCH=arm GOARM=5

Build 0.55.1 source code in ubuntu 22.04 with GOOS=linux GOARCH=arm GOARM=5, run in ASUS ac68u ok
frpc.tar.gz

@fatedier
Copy link
Owner

The compilation script has been modified. #4181
The linux_arm package for the next release will be compiled using GOARM=5 and should work properly.

Hard Float is separated as a standalone linux_arm_hf package, corresponding to GOARM=7.

@alexiskhoury
Copy link

Hi

Can we have the pre-compiled binary for armv6l, I don't want to go through the whole compilation process.
Thanks in advance.

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