From: Vitaly Chikunov <vt@altlinux.org>
To: Arnaldo Carvalho de Melo <arnaldo.melo@gmail.com>
Cc: Arnaldo Carvalho de Melo <acme@kernel.org>,
dwarves@vger.kernel.org, bpf <bpf@vger.kernel.org>,
Martin Reboredo <yakoyoku@gmail.com>
Subject: Re: pahole v1.24: FAILED: load BTF from vmlinux: Invalid argument
Date: Fri, 26 Aug 2022 05:52:20 +0300 [thread overview]
Message-ID: <20220826025220.cxfwwpem2ycpvrmm@altlinux.org> (raw)
In-Reply-To: <20220825171620.cioobudss6ovyrkc@altlinux.org>
Arnaldo,
On Thu, Aug 25, 2022 at 08:16:20PM +0300, Vitaly Chikunov wrote:
> On Thu, Aug 25, 2022 at 01:47:59PM -0300, Arnaldo Carvalho de Melo wrote:
> > On Thu, Aug 25, 2022, 1:35 PM Vitaly Chikunov <vt@altlinux.org> wrote:
> > >
> > > I also noticed that after upgrading pahole to v1.24 kernel build (tested on
> > > v5.18.19, v5.15.63, sorry for not testing on mainline) fails with:
> > >
> > > BTFIDS vmlinux
> > > + ./tools/bpf/resolve_btfids/resolve_btfids vmlinux
> > > FAILED: load BTF from vmlinux: Invalid argument
> > >
> > > Perhaps, .tmp_vmlinux.btf is generated incorrectly? Downgrading dwarves to
> > > v1.23 resolves the issue.
> > >
> >
> > Can you try this, from Martin Reboredo (Archlinux):
> >
> > Can you try a build of the kernel or the by passing the
> > --skip_encoding_btf_enum64 to scripts/pahole-flags.sh?
> >
> > Here's a patch for either in tree scripts/pahole-flags.sh or
> > /usr/lib/modules/5.19.3-arch1-1/build/scripts/pahole-flags.sh
>
> This patch helped and kernel builds successfully after applying it.
> (Didn't notice this suggestion in release discussion thread.)
Even thought it now compiles with this patch, it does not boot
afterwards (in virtme-like env), witch such console messages:
[ 0.767649] Run /init as init process
[ 0.770858] BPF:[593] ENUM perf_event_task_context
[ 0.771262] BPF:size=4 vlen=4
[ 0.771511] BPF:
[ 0.771680] BPF:Invalid btf_info kind_flag
[ 0.772016] BPF:
[ 0.772016]
[ 0.772288] failed to validate module [9pnet] BTF: -22
init_module '9pnet.ko' error -1
[ 0.785515] 9p: Unknown symbol p9_client_getattr_dotl (err -2)
[ 0.786005] 9p: Unknown symbol p9_client_wstat (err -2)
[ 0.786438] 9p: Unknown symbol p9_client_open (err -2)
[ 0.786863] 9p: Unknown symbol p9_client_rename (err -2)
[ 0.787307] 9p: Unknown symbol p9_client_remove (err -2)
[ 0.787749] 9p: Unknown symbol p9_client_renameat (err -2)
[ 0.788202] 9p: Unknown symbol p9_client_fcreate (err -2)
[ 0.788651] 9p: Unknown symbol p9_is_proto_dotu (err -2)
[ 0.789086] 9p: Unknown symbol p9_client_disconnect (err -2)
[ 0.789558] 9p: Unknown symbol p9_client_attach (err -2)
[ 0.790001] 9p: Unknown symbol p9stat_free (err -2)
[ 0.790409] 9p: Unknown symbol p9_client_create (err -2)
[ 0.790856] 9p: Unknown symbol p9_client_read_once (err -2)
[ 0.791314] 9p: Unknown symbol p9_client_setattr (err -2)
[ 0.791762] 9p: Unknown symbol p9_client_xattrwalk (err -2)
[ 0.792222] 9p: Unknown symbol p9_client_destroy (err -2)
[ 0.792674] 9p: Unknown symbol p9_client_unlinkat (err -2)
[ 0.793124] 9p: Unknown symbol p9_client_mkdir_dotl (err -2)
[ 0.793585] 9p: Unknown symbol p9_client_xattrcreate (err -2)
[ 0.794055] 9p: Unknown symbol p9_client_create_dotl (err -2)
[ 0.794527] 9p: Unknown symbol p9_client_lock_dotl (err -2)
[ 0.794985] 9p: Unknown symbol p9_client_write (err -2)
[ 0.795415] 9p: Unknown symbol p9_client_walk (err -2)
[ 0.795837] 9p: Unknown symbol p9_show_client_options (err -2)
[ 0.796308] 9p: Unknown symbol p9_client_read (err -2)
[ 0.796731] 9p: Unknown symbol p9_client_fsync (err -2)
[ 0.797158] 9p: Unknown symbol p9dirent_read (err -2)
[ 0.797572] 9p: Unknown symbol p9_client_symlink (err -2)
[ 0.798016] 9p: Unknown symbol p9_client_readlink (err -2)
[ 0.798470] 9p: Unknown symbol p9_is_proto_dotl (err -2)
[ 0.798908] 9p: Unknown symbol p9_client_clunk (err -2)
[ 0.799339] 9p: Unknown symbol p9stat_read (err -2)
[ 0.799747] 9p: Unknown symbol p9_client_statfs (err -2)
[ 0.800184] 9p: Unknown symbol p9_client_link (err -2)
[ 0.800612] 9p: Unknown symbol p9_client_stat (err -2)
[ 0.801038] 9p: Unknown symbol p9_client_begin_disconnect (err -2)
[ 0.801544] 9p: Unknown symbol p9_client_getlock_dotl (err -2)
[ 0.802024] 9p: Unknown symbol p9_client_readdir (err -2)
[ 0.802469] 9p: Unknown symbol p9_client_mknod_dotl (err -2)
init_module '9p.ko' error -1
[ 0.809193] failed to validate module [virtio] BTF: -22
init_module 'virtio.ko' error -1
[ 0.825316] failed to validate module [virtio_ring] BTF: -22
init_module 'virtio_ring.ko' error -1
[ 0.841110] 9pnet_virtio: Unknown symbol register_virtio_driver (err -2)
[ 0.841674] 9pnet_virtio: Unknown symbol p9_req_put (err -2)
[ 0.842143] 9pnet_virtio: Unknown symbol unregister_virtio_driver (err -2)
[ 0.842708] 9pnet_virtio: Unknown symbol p9_release_pages (err -2)
[ 0.843209] 9pnet_virtio: Unknown symbol virtqueue_add_sgs (err -2)
[ 0.843728] 9pnet_virtio: Unknown symbol virtqueue_get_buf (err -2)
[ 0.844237] 9pnet_virtio: Unknown symbol virtqueue_kick (err -2)
[ 0.844733] 9pnet_virtio: Unknown symbol v9fs_register_trans (err -2)
[ 0.845256] 9pnet_virtio: Unknown symbol virtio_check_driver_offered_feature (err -2)
[ 0.845893] 9pnet_virtio: Unknown symbol v9fs_unregister_trans (err -2)
[ 0.846434] 9pnet_virtio: Unknown symbol p9_client_cb (err -2)
init_module '9pnet_virtio.ko' error -1
[ 0.853175] failed to validate module [virtio_pci_modern_dev] BTF: -22
init_module 'virtio_pci_modern_dev.ko' error -1
[ 0.869196] virtio_pci: Unknown symbol vring_transport_features (err -2)
[ 0.869759] virtio_pci: Unknown symbol vp_modern_get_status (err -2)
[ 0.870276] virtio_pci: Unknown symbol vp_modern_map_vq_notify (err -2)
[ 0.870817] virtio_pci: Unknown symbol virtqueue_get_avail_addr (err -2)
[ 0.871363] virtio_pci: Unknown symbol vp_modern_get_queue_size (err -2)
[ 0.871912] virtio_pci: Unknown symbol vp_modern_remove (err -2)
[ 0.872405] virtio_pci: Unknown symbol vring_create_virtqueue (err -2)
[ 0.872938] virtio_pci: Unknown symbol vp_modern_get_features (err -2)
[ 0.873470] virtio_pci: Unknown symbol vp_modern_set_status (err -2)
[ 0.873986] virtio_pci: Unknown symbol vp_modern_queue_address (err -2)
[ 0.874523] virtio_pci: Unknown symbol virtio_device_restore (err -2)
[ 0.875050] virtio_pci: Unknown symbol vring_interrupt (err -2)
[ 0.875544] virtio_pci: Unknown symbol virtio_config_changed (err -2)
[ 0.876073] virtio_pci: Unknown symbol vp_modern_get_queue_enable (err -2)
[ 0.876639] virtio_pci: Unknown symbol vp_modern_config_vector (err -2)
[ 0.877172] virtio_pci: Unknown symbol virtqueue_get_vring_size (err -2)
[ 0.877721] virtio_pci: Unknown symbol vp_modern_probe (err -2)
[ 0.878205] virtio_pci: Unknown symbol unregister_virtio_device (err -2)
[ 0.878753] virtio_pci: Unknown symbol virtqueue_get_desc_addr (err -2)
[ 0.879288] virtio_pci: Unknown symbol vp_modern_set_queue_size (err -2)
[ 0.879836] virtio_pci: Unknown symbol vp_modern_queue_vector (err -2)
[ 0.880371] virtio_pci: Unknown symbol virtio_device_freeze (err -2)
[ 0.880896] virtio_pci: Unknown symbol vp_modern_generation (err -2)
[ 0.881417] virtio_pci: Unknown symbol virtio_break_device (err -2)
[ 0.881969] virtio_pci: Unknown symbol vp_modern_set_features (err -2)
[ 0.882501] virtio_pci: Unknown symbol virtqueue_get_used_addr (err -2)
[ 0.883014] virtio_pci: Unknown symbol register_virtio_device (err -2)
[ 0.883547] virtio_pci: Unknown symbol vp_modern_get_num_queues (err -2)
[ 0.884090] virtio_pci: Unknown symbol vp_modern_set_queue_enable (err -2)
[ 0.884684] virtio_pci: Unknown symbol vring_del_virtqueue (err -2)
init_module 'virtio_pci.ko' error -1
It seems the same is happened in Arch:
https://bbs.archlinux.org/viewtopic.php?id=279132
And they reverted pahole to 1.23:
https://github.com/archlinux/svntogit-packages/commits/packages/pahole/trunk/PKGBUILD
When I'm revering dwarves to 1.23 it resolves the issue for me too (in
ALT).
Thanks,
>
> Thanks!
>
> >
> > diff --git a/scripts/pahole-flags.sh b/scripts/pahole-flags.sh
> > index 0d99ef17e4a528..1f1f1d397c399a 100755
> > --- a/scripts/pahole-flags.sh
> > +++ b/scripts/pahole-flags.sh
> > @@ -19,5 +19,9 @@ fi
> > if [ "${pahole_ver}" -ge "122" ]; then
> > extra_paholeopt="${extra_paholeopt} -j"
> > fi
> > +if [ "${pahole_ver}" -ge "124" ]; then
> > + # see PAHOLE_HAS_LANG_EXCLUDE
> > + extra_paholeopt="${extra_paholeopt} --skip_encoding_btf_enum64"
> > +fi
> >
> > echo ${extra_paholeopt}
> >
> > >
> > > Thanks,
> > >
> > >
next prev parent reply other threads:[~2022-08-26 2:52 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-08-25 16:35 pahole v1.24: FAILED: load BTF from vmlinux: Invalid argument Vitaly Chikunov
[not found] ` <CA+JHD904e2TPpz1ybsaaqD+qMTDcueXu4nVcmotEPhxNfGN+Gw@mail.gmail.com>
2022-08-25 17:16 ` Vitaly Chikunov
2022-08-26 2:52 ` Vitaly Chikunov [this message]
2022-08-26 2:59 ` Vitaly Chikunov
2022-08-26 13:52 ` Jiri Olsa
2022-08-26 16:37 ` Arnaldo Carvalho de Melo
[not found] ` <20220827173310.o6sv2ugl6taul6og@altlinux.org>
2022-08-27 18:33 ` Arnaldo Carvalho de Melo
2022-08-28 1:41 ` Vitaly Chikunov
2022-08-26 16:51 ` Yonghong Song
2022-08-26 17:01 ` Jiri Olsa
2022-08-26 18:53 ` Yonghong Song
2022-08-26 20:19 ` Jiri Olsa
2022-08-27 1:06 ` Vitaly Chikunov
2022-08-26 16:47 ` Yonghong Song
2022-08-26 16:52 ` Arnaldo Carvalho de Melo
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220826025220.cxfwwpem2ycpvrmm@altlinux.org \
--to=vt@altlinux.org \
--cc=acme@kernel.org \
--cc=arnaldo.melo@gmail.com \
--cc=bpf@vger.kernel.org \
--cc=dwarves@vger.kernel.org \
--cc=yakoyoku@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox