[GH-ISSUE #4104] armv6l not supported anymore since 0.55.0? #3239

Closed
opened 2026-05-05 14:05:30 -06:00 by gitea-mirror · 11 comments
Owner

Originally created by @fgenoese on GitHub (Mar 24, 2024).
Original GitHub issue: https://github.com/fatedier/frp/issues/4104

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
Originally created by @fgenoese on GitHub (Mar 24, 2024). Original GitHub issue: https://github.com/fatedier/frp/issues/4104 ### 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
Author
Owner

@fatedier commented on GitHub (Mar 28, 2024):

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

<!-- gh-comment-id:2024332540 --> @fatedier commented on GitHub (Mar 28, 2024): 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
Author
Owner

@github-actions[bot] commented on GitHub (Apr 19, 2024):

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

<!-- gh-comment-id:2065538727 --> @github-actions[bot] commented on GitHub (Apr 19, 2024): Issues go stale after 21d of inactivity. Stale issues rot after an additional 7d of inactivity and eventually close.
Author
Owner

@fgenoese commented on GitHub (Apr 19, 2024):

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?

<!-- gh-comment-id:2066749491 --> @fgenoese commented on GitHub (Apr 19, 2024): > 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?
Author
Owner

@YtnbFirewings commented on GitHub (Apr 24, 2024):

same error in asus rt ac68u, armv7l

<!-- gh-comment-id:2075132475 --> @YtnbFirewings commented on GitHub (Apr 24, 2024): same error in asus rt ac68u, armv7l
Author
Owner

@YtnbFirewings commented on GitHub (Apr 25, 2024):

看了下log,浮点指令支持的问题
在不支持硬件浮点指令的cpu上会crash
编译时使用软件模拟浮点指令应该能解决
https://github.com/golang/go/issues/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

<!-- gh-comment-id:2076255109 --> @YtnbFirewings commented on GitHub (Apr 25, 2024): 看了下log,浮点指令支持的问题 在不支持硬件浮点指令的cpu上会crash 编译时使用软件模拟浮点指令应该能解决 https://github.com/golang/go/issues/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
Author
Owner

@fatedier commented on GitHub (Apr 25, 2024):

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

<!-- gh-comment-id:2076287524 --> @fatedier commented on GitHub (Apr 25, 2024): @YtnbFirewings Can you try cross-compiling by yourself and post the compilation command that can run successfully?
Author
Owner

@fatedier commented on GitHub (Apr 25, 2024):

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

<!-- gh-comment-id:2076295647 --> @fatedier commented on GitHub (Apr 25, 2024): @YtnbFirewings You can try with this `GOOS=linux GOARCH=arm GOARM=5`
Author
Owner

@YtnbFirewings commented on GitHub (Apr 25, 2024):

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

I will try it later.

<!-- gh-comment-id:2076478189 --> @YtnbFirewings commented on GitHub (Apr 25, 2024): > @YtnbFirewings You can try with this `GOOS=linux GOARCH=arm GOARM=5` I will try it later.
Author
Owner

@YtnbFirewings commented on GitHub (Apr 25, 2024):

@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

<!-- gh-comment-id:2076529572 --> @YtnbFirewings commented on GitHub (Apr 25, 2024): > @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](https://github.com/fatedier/frp/files/15105775/frpc.tar.gz)
Author
Owner

@fatedier commented on GitHub (Apr 25, 2024):

The compilation script has been modified. https://github.com/fatedier/frp/pull/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.

<!-- gh-comment-id:2076540237 --> @fatedier commented on GitHub (Apr 25, 2024): The compilation script has been modified. https://github.com/fatedier/frp/pull/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.
Author
Owner

@alexiskhoury commented on GitHub (Apr 28, 2024):

Hi

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

<!-- gh-comment-id:2081441719 --> @alexiskhoury commented on GitHub (Apr 28, 2024): 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 in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: github-starred/frp#3239
No description provided.