Re: 6.9/BUG: Bad page state in process kswapd0 pfn:d6e840

From: Mikhail Gavrilov
Date: Tue May 28 2024 - 02:06:03 EST


On Thu, May 23, 2024 at 12:05 PM Mikhail Gavrilov
<mikhail.v.gavrilov@xxxxxxxxx> wrote:
>
> On Thu, May 9, 2024 at 10:50 PM David Hildenbrand <david@xxxxxxxxxx> wrote:
> >
> > Do you have the other stracktrace as well?
> >
> > Maybe triggering memory reclaim (e.g., using "stress" or "memhog") could
> > trigger it, that might be reasonable to trey. Once we have a reproducer
> > we could at least bisect.
> >
>
> The only known workload that causes this is updating a large
> container. Unfortunately, not every container update reproduces the
> problem.

Is it possible to add more debugging information to make it clearer
what's going on?

BUG: Bad page state in process kcompactd0 pfn:605811
page: refcount:0 mapcount:0 mapping:0000000082d91e3e index:0x1045efc4f
pfn:0x605811
aops:btree_aops ino:1
flags: 0x17ffffc600020c(referenced|uptodate|workingset|node=0|zone=2|lastcpupid=0x1fffff)
raw: 0017ffffc600020c dead000000000100 dead000000000122 ffff888159075220
raw: 00000001045efc4f 0000000000000000 00000000ffffffff 0000000000000000
page dumped because: non-NULL mapping
Modules linked in: overlay tun uvcvideo uvc videobuf2_vmalloc
videobuf2_memops videobuf2_v4l2 videobuf2_common videodev rndis_host
uas cdc_ether usbnet usb_storage mii uinput rfcomm snd_seq_dummy
snd_hrtimer nf_conntrack_netbios_ns nf_conntrack_broadcast
nft_fib_inet nft_fib_ipv4 nft_fib_ipv6 nft_fib nft_reject_inet
nf_reject_ipv4 nf_reject_ipv6 nft_reject nft_ct nft_chain_nat nf_nat
nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 ip_set nf_tables qrtr bnep
sunrpc binfmt_misc snd_usb_audio snd_usbmidi_lib snd_ump snd_rawmidi
mc mt76x2u snd_hda_codec_hdmi mt76x2_common mt7921e mt76x02_usb
mt7921_common mt76_usb mt792x_lib snd_hda_intel intel_rapl_msr amd_atl
snd_intel_dspcfg mt76_connac_lib mt76x02_lib intel_rapl_common
snd_intel_sdw_acpi btusb snd_hda_codec mt76 btrtl edac_mce_amd btintel
snd_hda_core btbcm vfat btmtk snd_hwdep mac80211 fat snd_seq bluetooth
snd_seq_device kvm_amd eeepc_wmi asus_nb_wmi libarc4 joydev
ledtrig_netdev hid_apple snd_pcm kvm asus_wmi cfg80211
apple_mfi_fastcharge snd_timer
sparse_keymap platform_profile pcspkr wmi_bmof snd rapl rfkill
soundcore igc k10temp i2c_piix4 gpio_amdpt gpio_generic loop nfnetlink
zram amdgpu crct10dif_pclmul crc32_pclmul crc32c_intel polyval_clmulni
polyval_generic amdxcp i2c_algo_bit drm_ttm_helper ttm drm_exec
ghash_clmulni_intel gpu_sched sha512_ssse3 nvme drm_suballoc_helper
drm_buddy sha256_ssse3 nvme_core sha1_ssse3 drm_display_helper ccp
sp5100_tco video nvme_auth wmi ip6_tables ip_tables fuse
CPU: 17 PID: 221 Comm: kcompactd0 Tainted: G W L -------
--- 6.10.0-0.rc1.18.fc41.x86_64+debug #1
Hardware name: ASUS System Product Name/ROG STRIX B650E-I GAMING WIFI,
BIOS 2611 04/07/2024
Call Trace:
<TASK>
dump_stack_lvl+0x84/0xd0
bad_page.cold+0xbe/0xe0
? __pfx_bad_page+0x10/0x10
? page_bad_reason+0x9d/0x1f0
free_unref_page+0x838/0x10e0
__folio_put+0x1ba/0x2b0
? __pfx___folio_put+0x10/0x10
? __pfx___might_resched+0x10/0x10
? migrate_folio_done+0x1de/0x2b0
migrate_pages_batch+0xe73/0x2880
? __pfx_compaction_alloc+0x10/0x10
? __pfx_compaction_free+0x10/0x10
? __pfx_migrate_pages_batch+0x10/0x10
? trace_irq_enable.constprop.0+0xce/0x110
? __pfx_remove_migration_pte+0x10/0x10
? rcu_is_watching+0x12/0xc0
migrate_pages+0x194f/0x22f0
? __pfx_compaction_alloc+0x10/0x10
? __pfx_compaction_free+0x10/0x10
? __pfx_migrate_pages+0x10/0x10
? trace_irq_enable.constprop.0+0xce/0x110
? rcu_is_watching+0x12/0xc0
? isolate_migratepages_block+0x2b02/0x4560
? __pfx_isolate_migratepages_block+0x10/0x10
? __pfx___might_resched+0x10/0x10
compact_zone+0x1a7c/0x3860
? rcu_is_watching+0x12/0xc0
? __pfx___free_object+0x10/0x10
? __pfx_compact_zone+0x10/0x10
? rcu_is_watching+0x12/0xc0
? lock_acquire+0x457/0x540
? kcompactd+0x2fa/0xc70
? rcu_is_watching+0x12/0xc0
compact_node+0x144/0x240
? __pfx_compact_node+0x10/0x10
? rcu_is_watching+0x12/0xc0
kcompactd+0x686/0xc70
? __pfx_kcompactd+0x10/0x10
? __pfx_autoremove_wake_function+0x10/0x10
? __kthread_parkme+0xb1/0x1d0
? __pfx_kcompactd+0x10/0x10
? __pfx_kcompactd+0x10/0x10
kthread+0x2d2/0x3a0
? _raw_spin_unlock_irq+0x28/0x60
? __pfx_kthread+0x10/0x10
ret_from_fork+0x31/0x70
? __pfx_kthread+0x10/0x10
ret_from_fork_asm+0x1a/0x30
</TASK>

--
Best Regards,
Mike Gavrilov.