linux-raid.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Guoqing Jiang <guoqing.jiang@linux.dev>
To: Donald Buczek <buczek@molgen.mpg.de>,
	Logan Gunthorpe <logang@deltatee.com>, Song Liu <song@kernel.org>
Cc: linux-raid <linux-raid@vger.kernel.org>
Subject: Re: [Update PATCH V3] md: don't unregister sync_thread with reconfig_mutex held
Date: Wed, 25 May 2022 17:17:41 +0800	[thread overview]
Message-ID: <c18083ea-e2dd-a90b-8ff4-bb61250b9211@linux.dev> (raw)
In-Reply-To: <4edc9468-d195-6937-f550-211bccbd6756@molgen.mpg.de>



On 5/23/22 1:41 PM, Donald Buczek wrote:
>>>
>>> [   57.434064] md: md0 stopped.
>>> [   57.586951] md0: detected capacity change from 0 to 107520
>>> [   57.618454] BUG: kernel NULL pointer dereference, address: 
>>> 0000000000000094
>>> [   57.620830] #PF: supervisor read access in kernel mode
>>> [   57.622554] #PF: error_code(0x0000) - not-present page
>>> [   57.624273] PGD 800000010d5ee067 P4D 800000010d5ee067 PUD 
>>> 10df28067 PMD 0
>>> [   57.626548] Oops: 0000 [#1] PREEMPT SMP PTI
>>> [   57.627942] CPU: 3 PID: 1064 Comm: mkfs.ext3 Not tainted 
>>> 5.18.0-rc3.mx64.425-00108-g6ad84d559b8c #77
>>> [   57.630952] Hardware name: QEMU Standard PC (i440FX + PIIX, 
>>> 1996), BIOS rel-1.15.0-0-g2dd4b9b3f840-prebuilt.qemu.org 04/01/2014
>>> [   57.635927] RIP: 0010:bfq_bio_bfqg+0x26/0x80
>>> [   57.638027] Code: 00 0f 1f 00 0f 1f 44 00 00 55 53 48 89 fd 48 8b 
>>> 56 48 48 89 f7 48 85 d2 74 32 48 63 05 53 54 1c 01 48 83 c0 16 48 8b 
>>> 5c c2 08 <80> bb 94 00 00 00 00 70
>>> [   57.645295] RSP: 0018:ffffc90001c27b38 EFLAGS: 00010006
>>> [   57.647414] RAX: 0000000000000018 RBX: 0000000000000000 RCX: 
>>> 0000000000000001
>>> [   57.650039] RDX: ffff888109297800 RSI: ffff8881032ba180 RDI: 
>>> ffff8881032ba180
>>> [   57.652541] RBP: ffff888102177800 R08: ffff88810c9004c8 R09: 
>>> ffff88810318cb00
>>> [   57.654852] R10: 0000000000000000 R11: ffff8881032ba180 R12: 
>>> ffff88810318cae0
>>> [   57.657128] R13: ffff888102177800 R14: ffffc90001c27ca8 R15: 
>>> ffffc90001c27c00
>>> [   57.659316] FS:  00007fdfce47d440(0000) GS:ffff8882b5ac0000(0000) 
>>> knlGS:0000000000000000
>>> [   57.661700] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
>>> [   57.663461] CR2: 0000000000000094 CR3: 000000010d438002 CR4: 
>>> 0000000000170ee0
>>> [   57.665453] Call Trace:
>>> [   57.666479]  <TASK>
>>> [   57.667382]  bfq_bic_update_cgroup+0x28/0x1b0
>>> [   57.668724]  bfq_insert_requests+0x233/0x2340
>>> [   57.670049]  ? ioc_find_get_icq+0x21c/0x2a0
>>> [   57.671315]  ? bfq_prepare_request+0x11/0x30
>>> [   57.672565]  blk_mq_sched_insert_requests+0x5c/0x150
>>> [   57.673891]  blk_mq_flush_plug_list+0xe1/0x2a0
>>> [   57.675140]  __blk_flush_plug+0xdf/0x120
>>> [   57.676259]  io_schedule_prepare+0x3d/0x50
>>> [   57.677373]  io_schedule_timeout+0xf/0x40
>>> [   57.678465]  wait_for_completion_io+0x78/0x140
>>> [   57.679578]  submit_bio_wait+0x5b/0x80
>>> [   57.680575]  blkdev_issue_discard+0x65/0xb0
>>> [   57.681640]  blkdev_common_ioctl+0x391/0x8f0
>>> [   57.682712]  blkdev_ioctl+0x216/0x2a0
>>> [   57.683648]  __x64_sys_ioctl+0x76/0xb0
>>> [   57.684607]  do_syscall_64+0x42/0x90
>>> [   57.685527]  entry_SYSCALL_64_after_hwframe+0x44/0xae
>>> [   57.686645] RIP: 0033:0x7fdfce56dc17
>>> [   57.687535] Code: 48 c7 c3 ff ff ff ff 48 89 d8 5b 5d 41 5c c3 0f 
>>> 1f 40 00 48 89 e8 48 f7 d8 48 39 c3 0f 92 c0 eb 93 66 90 b8 10 00 00 
>>> 00 0f 05 <48> 3d 01 f0 ff ff 73 08
>>> [   57.691055] RSP: 002b:00007ffe24319828 EFLAGS: 00000246 ORIG_RAX: 
>>> 0000000000000010
>>> [   57.692537] RAX: ffffffffffffffda RBX: 00000000004645a0 RCX: 
>>> 00007fdfce56dc17
>>> [   57.693905] RDX: 00007ffe24319830 RSI: 0000000000001277 RDI: 
>>> 0000000000000003
>>> [   57.695288] RBP: 0000000000460960 R08: 0000000000000400 R09: 
>>> 0000000000000000
>>> [   57.696645] R10: 0000000000000000 R11: 0000000000000246 R12: 
>>> 0000000000000000
>>> [   57.697954] R13: 000000000000d200 R14: 0000000000000000 R15: 
>>> 0000000000000000
>>> [   57.699281]  </TASK>
>>> [   57.699901] Modules linked in: rpcsec_gss_krb5 nfsv4 nfs 8021q 
>>> garp stp mrp llc bochs drm_vram_helper drm_ttm_helper kvm_intel ttm 
>>> drm_kms_helper kvm drm fb_sys_fops vi4
>>> [   57.705955] CR2: 0000000000000094
>>> [   57.706710] ---[ end trace 0000000000000000 ]---
>>> [   57.707599] RIP: 0010:bfq_bio_bfqg+0x26/0x80
>>> [   57.708434] Code: 00 0f 1f 00 0f 1f 44 00 00 55 53 48 89 fd 48 8b 
>>> 56 48 48 89 f7 48 85 d2 74 32 48 63 05 53 54 1c 01 48 83 c0 16 48 8b 
>>> 5c c2 08 <80> bb 94 00 00 00 00 70
>>> [   57.711426] RSP: 0018:ffffc90001c27b38 EFLAGS: 00010006
>>> [   57.712391] RAX: 0000000000000018 RBX: 0000000000000000 RCX: 
>>> 0000000000000001
>>> [   57.713605] RDX: ffff888109297800 RSI: ffff8881032ba180 RDI: 
>>> ffff8881032ba180
>>> [   57.714811] RBP: ffff888102177800 R08: ffff88810c9004c8 R09: 
>>> ffff88810318cb00
>>> [   57.716018] R10: 0000000000000000 R11: ffff8881032ba180 R12: 
>>> ffff88810318cae0
>>> [   57.717236] R13: ffff888102177800 R14: ffffc90001c27ca8 R15: 
>>> ffffc90001c27c00
>>> [   57.718438] FS:  00007fdfce47d440(0000) GS:ffff8882b5ac0000(0000) 
>>> knlGS:0000000000000000
>>> [   57.719778] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
>>> [   57.720808] CR2: 0000000000000094 CR3: 000000010d438002 CR4: 
>>> 0000000000170ee0
>>> [   57.722019] note: mkfs.ext3[1064] exited with preempt_count 1
>>> [   57.723067] ------------[ cut here ]------------
>>> [   57.723960] WARNING: CPU: 3 PID: 1064 at kernel/exit.c:741 
>>> do_exit+0x8cb/0xbc0
>>> [   57.725196] Modules linked in: rpcsec_gss_krb5 nfsv4 nfs 8021q 
>>> garp stp mrp llc bochs drm_vram_helper drm_ttm_helper kvm_intel ttm 
>>> drm_kms_helper kvm drm fb_sys_fops vi4
>>> [   57.731011] CPU: 3 PID: 1064 Comm: mkfs.ext3 Tainted: G D 
>>> 5.18.0-rc3.mx64.425-00108-g6ad84d559b8c #77
>>> [   57.732704] Hardware name: QEMU Standard PC (i440FX + PIIX, 
>>> 1996), BIOS rel-1.15.0-0-g2dd4b9b3f840-prebuilt.qemu.org 04/01/2014
>>> [   57.734853] RIP: 0010:do_exit+0x8cb/0xbc0
>>> [   57.735711] Code: e9 13 ff ff ff 48 8b bb e0 04 00 00 31 f6 e8 4c 
>>> db ff ff e9 98 fd ff ff 4c 89 e6 bf 05 06 00 00 e8 8a c8 00 00 e9 41 
>>> f8 ff ff <0f> 0b e9 6b f7 ff ff 4b
>>> [   57.738851] RSP: 0018:ffffc90001c27ee8 EFLAGS: 00010082
>>> [   57.739899] RAX: 0000000000000000 RBX: ffff888101e48000 RCX: 
>>> 0000000000000000
>>> [   57.741196] RDX: 0000000000000001 RSI: ffffffff8220a969 RDI: 
>>> 0000000000000009
>>> [   57.742485] RBP: 0000000000000009 R08: 0000000000000000 R09: 
>>> c0000000ffffbfff
>>> [   57.743777] R10: 00007fdfce47d440 R11: ffffc90001c27d60 R12: 
>>> 0000000000000009
>>> [   57.745081] R13: 0000000000000046 R14: 0000000000000000 R15: 
>>> 0000000000000000
>>> [   57.746388] FS:  00007fdfce47d440(0000) GS:ffff8882b5ac0000(0000) 
>>> knlGS:0000000000000000
>>> [   57.747806] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
>>> [   57.748931] CR2: 0000000000000094 CR3: 000000010d438002 CR4: 
>>> 0000000000170ee0
>>> [   57.750225] Call Trace:
>>> [   57.750894]  <TASK>
>>> [   57.751535]  make_task_dead+0x41/0xf0
>>> [   57.752369]  rewind_stack_and_make_dead+0x17/0x17
>>> [   57.753336] RIP: 0033:0x7fdfce56dc17
>>> [   57.754155] Code: 48 c7 c3 ff ff ff ff 48 89 d8 5b 5d 41 5c c3 0f 
>>> 1f 40 00 48 89 e8 48 f7 d8 48 39 c3 0f 92 c0 eb 93 66 90 b8 10 00 00 
>>> 00 0f 05 <48> 3d 01 f0 ff ff 73 08
>>> [   57.757318] RSP: 002b:00007ffe24319828 EFLAGS: 00000246 ORIG_RAX: 
>>> 0000000000000010
>>> [   57.758669] RAX: ffffffffffffffda RBX: 00000000004645a0 RCX: 
>>> 00007fdfce56dc17
>>> [   57.759956] RDX: 00007ffe24319830 RSI: 0000000000001277 RDI: 
>>> 0000000000000003
>>> [   57.761256] RBP: 0000000000460960 R08: 0000000000000400 R09: 
>>> 0000000000000000
>>> [   57.762531] R10: 0000000000000000 R11: 0000000000000246 R12: 
>>> 0000000000000000
>>> [   57.763806] R13: 000000000000d200 R14: 0000000000000000 R15: 
>>> 0000000000000000
>>> [   57.765177]  </TASK>
>>> [   57.765813] ---[ end trace 0000000000000000 ]---
>>> [   57.790046] md0: detected capacity change from 107520 to 0
>>> [   57.792834] md: md0 stopped.
>>> [   78.843853] rcu: INFO: rcu_preempt detected stalls on CPUs/tasks:
>>> [   78.845334] rcu:     10-...0: (0 ticks this GP) 
>>> idle=07b/1/0x4000000000000000 softirq=1140/1140 fqs=4805
>>> [   78.847246]     (detected by 13, t=21005 jiffies, g=9013, q=1419)
>>> [   78.848619] Sending NMI from CPU 13 to CPUs 10:
>>> [   78.849810] NMI backtrace for cpu 10
>>> [   78.849813] CPU: 10 PID: 1081 Comm: mdadm Tainted: G      D 
>>> W         5.18.0-rc3.mx64.425-00108-g6ad84d559b8c #77
>>> [   78.849816] Hardware name: QEMU Standard PC (i440FX + PIIX, 
>>> 1996), BIOS rel-1.15.0-0-g2dd4b9b3f840-prebuilt.qemu.org 04/01/2014
>>> [   78.849817] RIP: 0010:queued_spin_lock_slowpath+0x4c/0x1d0
>>> [   78.849832] Code: 92 c0 0f b6 c0 c1 e0 08 89 c2 8b 07 30 e4 09 d0 
>>> a9 00 01 ff ff 75 1b 85 c0 75 0f b8 01 00 00 00 66 89 07 5b 5d 41 5c 
>>> c3 f3 90 <8b> 07 84 c0 75 f8 eb e7
>>> [   78.849834] RSP: 0018:ffffc90001c9f9e0 EFLAGS: 00000002
>>> [   78.849837] RAX: 0000000000040101 RBX: ffff88810c914fc8 RCX: 
>>> 0000000000000000
>>> [   78.849838] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 
>>> ffff888102177c30
>>> [   78.849840] RBP: 0000000000000000 R08: ffff88810c914fc8 R09: 
>>> ffff888106a4ed10
>>> [   78.849841] R10: ffffc90001c9fae8 R11: ffff888101b048d8 R12: 
>>> ffff888103833000
>>> [   78.849842] R13: ffff888102177800 R14: ffffc90001c9fb20 R15: 
>>> ffffc90001c9fa78
>>> [   78.849844] FS:  00007fd3d66c4340(0000) GS:ffff8882b5c80000(0000) 
>>> knlGS:0000000000000000
>>> [   78.849847] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
>>> [   78.849848] CR2: 00000000004a5b58 CR3: 000000010d438001 CR4: 
>>> 0000000000170ee0
>>> [   78.849850] Call Trace:
>>> [   78.849853]  <TASK>
>>> [   78.849855]  bfq_insert_requests+0xae/0x2340
>>> [   78.849862]  ? submit_bio_noacct_nocheck+0x225/0x2b0
>>> [   78.849868]  blk_mq_sched_insert_requests+0x5c/0x150
>>> [   78.849872]  blk_mq_flush_plug_list+0xe1/0x2a0
>>> [   78.849876]  __blk_flush_plug+0xdf/0x120
>>> [   78.849879]  blk_finish_plug+0x27/0x40
>>> [   78.849882]  read_pages+0x15b/0x360
>>> [   78.849891]  page_cache_ra_unbounded+0x120/0x170
>>> [   78.849894]  filemap_get_pages+0xdd/0x5f0
>>> [   78.849899]  filemap_read+0xbf/0x350
>>> [   78.849902]  ? __mod_memcg_lruvec_state+0x72/0xc0
>>> [   78.849907]  ? __mod_lruvec_page_state+0xb4/0x160
>>> [   78.849909]  ? folio_add_lru+0x51/0x80
>>> [   78.849912]  ? _raw_spin_unlock+0x12/0x30
>>> [   78.849916]  ? __handle_mm_fault+0xdee/0x14d0
>>> [   78.849921]  blkdev_read_iter+0xa9/0x180
>>> [   78.849924]  new_sync_read+0x109/0x180
>>> [   78.849929]  vfs_read+0x187/0x1b0
>>> [   78.849932]  ksys_read+0xa1/0xe0
>>> [   78.849935]  do_syscall_64+0x42/0x90
>>> [   78.849938]  entry_SYSCALL_64_after_hwframe+0x44/0xae
>>> [   78.849941] RIP: 0033:0x7fd3d6322f8e
>>> [   78.849944] Code: c0 e9 c6 fe ff ff 48 8d 3d a7 07 0a 00 48 83 ec 
>>> 08 e8 b6 e1 01 00 66 0f 1f 44 00 00 64 8b 04 25 18 00 00 00 85 c0 75 
>>> 14 0f 05 <48> 3d 00 f0 ff ff 77 59
>>> [   78.849945] RSP: 002b:00007ffe92d46ea8 EFLAGS: 00000246 ORIG_RAX: 
>>> 0000000000000000
>>> [   78.849948] RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 
>>> 00007fd3d6322f8e
>>> [   78.849949] RDX: 0000000000001000 RSI: 00000000004a3000 RDI: 
>>> 0000000000000003
>>> [   78.849950] RBP: 0000000000000003 R08: 00000000004a3000 R09: 
>>> 0000000000000003
>>> [   78.849951] R10: 00007fd3d623d0a8 R11: 0000000000000246 R12: 
>>> 00000000004a2a60
>>> [   78.849952] R13: 0000000000000000 R14: 00000000004a3000 R15: 
>>> 000000000048a4a0
>>> [   78.849954]  </TASK>
>>
>> Looks like bfq or block issue, will try it from my side.

Hmm, it could be md specific issue because I find below stack after 
similar call trace happened

vm79:~> ps aux|grep "\[md"|grep D|awk '{print $2}'
2087
vm79:~> sudo cat /proc/2087/stack
[<0>] raid1_sync_request+0x65e/0xb60 [raid1]
[<0>] md_do_sync+0xa13/0xf50 [md_mod]
[<0>] md_thread+0x131/0x180 [md_mod]
[<0>] kthread+0xe8/0x110
[<0>] ret_from_fork+0x22/0x30

Donald, could you share the md process stack when you see the call trace?

Thanks,
Guoqing

  parent reply	other threads:[~2022-05-25  9:17 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-05  8:16 [PATCH 0/2] two fixes for md Guoqing Jiang
2022-05-05  8:16 ` [PATCH V3 1/2] md: don't unregister sync_thread with reconfig_mutex held Guoqing Jiang
2022-05-05 14:02   ` kernel test robot
2022-05-05 18:04   ` kernel test robot
2022-05-06  2:34     ` Guoqing Jiang
2022-05-05  8:16 ` [PATCH 2/2] md: protect md_unregister_thread from reentrancy Guoqing Jiang
2022-05-09  6:39   ` Song Liu
2022-05-09  8:12     ` Guoqing Jiang
2022-05-06 11:36 ` [Update PATCH V3] md: don't unregister sync_thread with reconfig_mutex held Guoqing Jiang
2022-05-09  6:37   ` Song Liu
2022-05-09  8:09     ` Guoqing Jiang
2022-05-09  9:32       ` Wols Lists
2022-05-09 10:37         ` Guoqing Jiang
2022-05-09 11:19           ` Wols Lists
2022-05-09 11:26             ` Guoqing Jiang
2022-05-10  6:44       ` Song Liu
2022-05-10 12:01         ` Donald Buczek
2022-05-10 12:09           ` Guoqing Jiang
2022-05-10 12:35             ` Donald Buczek
2022-05-10 18:02               ` Song Liu
2022-05-11  8:10                 ` Guoqing Jiang
2022-05-11 21:45                   ` Song Liu
2022-05-20 18:27         ` Logan Gunthorpe
2022-05-21 18:23           ` Donald Buczek
2022-05-23  1:08             ` Guoqing Jiang
2022-05-23  5:41               ` Donald Buczek
2022-05-23  9:51                 ` Guoqing Jiang
2022-05-24 16:13                   ` Logan Gunthorpe
2022-05-25  9:04                     ` Guoqing Jiang
2022-05-25 18:22                       ` Logan Gunthorpe
2022-05-26  9:46                         ` Jan Kara
2022-05-26 11:53                         ` Jan Kara
2022-05-31  6:11                           ` Christoph Hellwig
2022-05-31  7:43                             ` Jan Kara
2022-05-30  9:55                   ` Guoqing Jiang
2022-05-30 16:35                     ` Logan Gunthorpe
2022-05-31  8:13                       ` Guoqing Jiang
2022-05-24 15:58                 ` Logan Gunthorpe
2022-05-24 18:16                   ` Song Liu
2022-05-25  9:17                 ` Guoqing Jiang [this message]
2022-05-24 15:51             ` Logan Gunthorpe
2022-06-02  8:12           ` Xiao Ni
2022-05-09  8:18   ` Donald Buczek
2022-05-09  8:48     ` Guoqing Jiang

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=c18083ea-e2dd-a90b-8ff4-bb61250b9211@linux.dev \
    --to=guoqing.jiang@linux.dev \
    --cc=buczek@molgen.mpg.de \
    --cc=linux-raid@vger.kernel.org \
    --cc=logang@deltatee.com \
    --cc=song@kernel.org \
    /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;
as well as URLs for NNTP newsgroup(s).