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

启动报错 token __x64_blk_account_io_done: not found #293

Closed
surandor opened this issue May 31, 2024 · 4 comments
Closed

启动报错 token __x64_blk_account_io_done: not found #293

surandor opened this issue May 31, 2024 · 4 comments

Comments

@surandor
Copy link

failed start probe biolatency, err: link blk_account_io_done: creating perf_kprobe PMU (arch-specific fallback for "blk_account_io_done"): token __x64_blk_account_io_done: not found: no such file or directory

平台:Linux yang 6.5.0-35-generic #35~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Tue May 7 09:00:52 UTC 2 x86_64 x86_64 x86_64 GNU/Linux

@surandor surandor changed the title 启动报错 启动报错 token __x64_blk_account_io_done: not found May 31, 2024
@jzwlqx
Copy link
Collaborator

jzwlqx commented May 31, 2024

It means your kernel does not expose __x64_blk_account_io_done symbol. __x64_blk_account_io_done was removed in newer kernel.

However, we will remove biolatency probe in next release version of kubeksoop, a new latency diagnostic feature will be introduced, incorporating the capabilities that these probes used to offer.

@surandor
Copy link
Author

There are two similar errors as follows:
failed start probe kernellatency, err: kernellatency failed load bpf: link kfree_skb: creating perf_kprobe PMU (arch-specific fallback for "kfree_skb"): token __x64_kfree_skb: not found: no such file or directory
failed start probe biolatency, err: link blk_account_io_start: creating perf_kprobe PMU (arch-specific fallback for "blk_account_io_start"): token __x64_blk_account_io_start: not found: no such file or directory

Is there any temporary solution to fix it?

@jzwlqx
Copy link
Collaborator

jzwlqx commented Jun 3, 2024

Try executing grep kfree_skb /proc/kallsyms to check if your kernel has exported the corresponding symbol. As far as I know, in newer kernel versions, kfree_skb is not exported, but __kfree_skb is still usable. I haven't looked closely to see if there is a replacement for blk_account_io_start.

For a workaround, you can replace kfree_skb in the code with __kfree_skb, or avoid loading these two probes (since they will be deprecated later anyway).

@surandor
Copy link
Author

surandor commented Jun 3, 2024

Thanks, your advice helps a lot

@surandor surandor closed this as completed Jun 3, 2024
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

2 participants