didi / yarc

基于 eBPF 的流量录制工具
Apache License 2.0
29 stars 4 forks source link

load program failed with 'argument list too long' #1

Open cnJerwin opened 3 months ago

cnJerwin commented 3 months ago

output: 2024/08/05 17:35:32 field InetRecvmsgExit: program inet_recvmsg_exit: load program: argument list too long: regs=80 stack=0 before 477: (2d) if r2 > r9 goto pc-114: R0=inv(id=34,smax_value=9223372032559808512,umax_value=18446744069414584320,var_off=(0x0; 0xffffffff00000000),s32_min_value=0,s32_max_value=0,u32_max_value=0) R1_rw=fp-1 (truncated, 807 line(s) omitted)

uname -a: Linux localhost.localdomain 5.10.134-13.an8.x86_64 #1 SMP Mon Jan 9 10:39:46 CST 2023 x86_64 x86_64 x86_64 GNU/Linux clang version 15.0.7 LLVM version 15.0.7

cnJerwin commented 3 months ago

deleting some parts of the function 'copy_from_iov_iter' results in successful loading, therefore I believe the issue is related to the program size.