chriskaliX/Hades

[BUG] stdout error

norway5354 opened this issue · 4 comments

Describe the bug
A clear and concise description of what the bug is.
在700事件的时候经常遭遇字符串大小太长,导致无法正常输出,通常是解码stdout,遇到是socket:时就会报错。请教一下大佬是啥子原因
Environment
5.13.0-1019-gcp

To Reproduce
Steps to reproduce the behavior:

  1. go build && ./hades-ebpf --debug
  2. 1011 map[level:error msg:decode execve error: string size too long, size: 83901044 source:user/driver.go:272 timestamp:1696933796]

Expected behavior
感觉应该是stdin和stdout处理有些问题,想看具体是socket还是pipe,但由于报错,导致有关socket的事件都展示不出来

Screenshots
1696937565660
Additional context
Add any other context about the problem here.
自己debug到这里【plugins/user/decoder/decoder.go】
1696937873642
可以加一下群不,最近在学习ebpf这块,thx~

发现似乎是236行做的处理存在一些问题,把他注释掉就正常了,只不过socket:后面的唯一标识没了
1696940140500

我看一看哈

Describe the bug A clear and concise description of what the bug is. 在700事件的时候经常遭遇字符串大小太长,导致无法正常输出,通常是解码stdout,遇到是socket:时就会报错。请教一下大佬是啥子原因 Environment 5.13.0-1019-gcp

To Reproduce Steps to reproduce the behavior:

  1. go build && ./hades-ebpf --debug
  2. 1011 map[level:error msg:decode execve error: string size too long, size: 83901044 source:user/driver.go:272 timestamp:1696933796]

Expected behavior 感觉应该是stdin和stdout处理有些问题,想看具体是socket还是pipe,但由于报错,导致有关socket的事件都展示不出来

Screenshots 1696937565660 Additional context Add any other context about the problem here. 自己debug到这里【plugins/user/decoder/decoder.go】 1696937873642 可以加一下群不,最近在学习ebpf这块,thx~

可以的,加我WX就行,我给你拉到群里

定位到问题了,原因是上次整理完毕内核代码后,忘记对 buf_off 进行操作,导致 perf 数据写入存在问题,已经提交 commit 修复