linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [BUG] bisected to: block: fix splitting segments on boundary masks
@ 2020-01-14  3:13 Steven Rostedt
  2020-01-14  4:09 ` Jens Axboe
  0 siblings, 1 reply; 4+ messages in thread
From: Steven Rostedt @ 2020-01-14  3:13 UTC (permalink / raw)
  To: LKML; +Cc: Jens Axboe, Chris Mason, Ming Lei, linux-block, Linus Torvalds

[-- Attachment #1: Type: text/plain, Size: 2232 bytes --]

Hi!

Running one of my ftrace stress tests, I hit this bug:
(On i386, haven't tested on x86_64 yet)

------------[ cut here ]------------
kernel BUG at block/bio.c:1885!
invalid opcode: 0000 [#1] SMP PTI
CPU: 1 PID: 105 Comm: kworker/u8:6 Not tainted 5.5.0-rc4-test+ #365
Hardware name: MSI MS-7823/CSM-H87M-G43 (MS-7823), BIOS V1.6 02/22/2014
Workqueue: writeback wb_workfn (flush-8:0)
EIP: bio_split+0xf/0x67
Code: 89 d8 e8 90 0f 02 00 85 c0 79 09 89 d8 31 db e8 e0 fa ff ff 89 d8 5b 5e 5f 5d c3 e8 db 5b d2 ff 55 89 e5 57 56 53 85 d2 7f 02 <0f> 0b 8b 58 20 c1 eb 09 39 d3 77 02 0f 0b 89 cb 8b 4d 08 89 d6 89
EAX: e2ddb600 EBX: ec74bc80 ECX: 00000c00 EDX: 00000000
ESI: 00000000 EDI: 00025000 EBP: ec74bbec ESP: ec74bbe0
DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068 EFLAGS: 00010246
CR0: 80050033 CR2: 025c7ed4 CR3: 270bc000 CR4: 001406f0
Call Trace:
 __blk_queue_split+0x327/0x40b
 ? blk_mq_try_issue_directly+0x91/0x91
 ? blk_mq_try_issue_directly+0x91/0x91
 blk_mq_make_request+0x6e/0x407
 ? function_trace_call+0xb8/0xdc
 ? blk_mq_try_issue_directly+0x91/0x91
 generic_make_request+0xc7/0x1e1
 submit_bio+0x113/0x12b
 ? ftrace_call+0x5/0x15
 ext4_io_submit+0x47/0x51
 ext4_writepages+0x53d/0x6ee
 ? trace_function+0xcc/0xd4
 ? page_writeback_cpu_online+0x11/0x11
 do_writepages+0x29/0x55
 __writeback_single_inode+0xc4/0x420
 writeback_sb_inodes+0x239/0x395
 __writeback_inodes_wb+0x5c/0x8b
 ? trace_trigger_soft_disabled+0x40/0x40
 wb_writeback+0x175/0x30a
 wb_workfn+0x255/0x348
 ? function_trace_call+0xb8/0xdc
 ? inode_wait_for_writeback+0x28/0x28
 process_one_work+0x25e/0x3d1
 worker_thread+0x170/0x21f
 kthread+0xe1/0xe3
 ? rescuer_thread+0x217/0x217
 ? kthread_worker_fn+0x116/0x116
 ret_from_fork+0x2e/0x38
Modules linked in: ip6t_REJECT nf_reject_ipv6 ip6table_filter ip6_tables ipv6 crc_ccitt realtek ppdev r8169 parport_pc parport
---[ end trace 7b7d4d993e5ceea3 ]---

It is very reproducible and I bisected it to 429120f3df2dba ("block: fix
splitting segments on boundary masks")

The test is simply:

 # perf record -o perf-test.dat -a -- \
   trace-cmd record -e all -p function ./hackbench 20
 # trace-cmd report > /tmp/tempfile

It appears to crash on the trace-cmd report.

Attached is the config.

-- Steve

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 33049 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [BUG] bisected to: block: fix splitting segments on boundary masks
  2020-01-14  3:13 [BUG] bisected to: block: fix splitting segments on boundary masks Steven Rostedt
@ 2020-01-14  4:09 ` Jens Axboe
  2020-01-14 20:34   ` Steven Rostedt
  0 siblings, 1 reply; 4+ messages in thread
From: Jens Axboe @ 2020-01-14  4:09 UTC (permalink / raw)
  To: Steven Rostedt, LKML; +Cc: Chris Mason, Ming Lei, linux-block, Linus Torvalds

On 1/13/20 8:13 PM, Steven Rostedt wrote:
> Hi!
> 
> Running one of my ftrace stress tests, I hit this bug:
> (On i386, haven't tested on x86_64 yet)
> 
> ------------[ cut here ]------------
> kernel BUG at block/bio.c:1885!
> invalid opcode: 0000 [#1] SMP PTI
> CPU: 1 PID: 105 Comm: kworker/u8:6 Not tainted 5.5.0-rc4-test+ #365
> Hardware name: MSI MS-7823/CSM-H87M-G43 (MS-7823), BIOS V1.6 02/22/2014
> Workqueue: writeback wb_workfn (flush-8:0)
> EIP: bio_split+0xf/0x67
> Code: 89 d8 e8 90 0f 02 00 85 c0 79 09 89 d8 31 db e8 e0 fa ff ff 89 d8 5b 5e 5f 5d c3 e8 db 5b d2 ff 55 89 e5 57 56 53 85 d2 7f 02 <0f> 0b 8b 58 20 c1 eb 09 39 d3 77 02 0f 0b 89 cb 8b 4d 08 89 d6 89
> EAX: e2ddb600 EBX: ec74bc80 ECX: 00000c00 EDX: 00000000
> ESI: 00000000 EDI: 00025000 EBP: ec74bbec ESP: ec74bbe0
> DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068 EFLAGS: 00010246
> CR0: 80050033 CR2: 025c7ed4 CR3: 270bc000 CR4: 001406f0
> Call Trace:
>  __blk_queue_split+0x327/0x40b
>  ? blk_mq_try_issue_directly+0x91/0x91
>  ? blk_mq_try_issue_directly+0x91/0x91
>  blk_mq_make_request+0x6e/0x407
>  ? function_trace_call+0xb8/0xdc
>  ? blk_mq_try_issue_directly+0x91/0x91
>  generic_make_request+0xc7/0x1e1
>  submit_bio+0x113/0x12b
>  ? ftrace_call+0x5/0x15
>  ext4_io_submit+0x47/0x51
>  ext4_writepages+0x53d/0x6ee
>  ? trace_function+0xcc/0xd4
>  ? page_writeback_cpu_online+0x11/0x11
>  do_writepages+0x29/0x55
>  __writeback_single_inode+0xc4/0x420
>  writeback_sb_inodes+0x239/0x395
>  __writeback_inodes_wb+0x5c/0x8b
>  ? trace_trigger_soft_disabled+0x40/0x40
>  wb_writeback+0x175/0x30a
>  wb_workfn+0x255/0x348
>  ? function_trace_call+0xb8/0xdc
>  ? inode_wait_for_writeback+0x28/0x28
>  process_one_work+0x25e/0x3d1
>  worker_thread+0x170/0x21f
>  kthread+0xe1/0xe3
>  ? rescuer_thread+0x217/0x217
>  ? kthread_worker_fn+0x116/0x116
>  ret_from_fork+0x2e/0x38
> Modules linked in: ip6t_REJECT nf_reject_ipv6 ip6table_filter ip6_tables ipv6 crc_ccitt realtek ppdev r8169 parport_pc parport
> ---[ end trace 7b7d4d993e5ceea3 ]---
> 
> It is very reproducible and I bisected it to 429120f3df2dba ("block: fix
> splitting segments on boundary masks")
> 
> The test is simply:
> 
>  # perf record -o perf-test.dat -a -- \
>    trace-cmd record -e all -p function ./hackbench 20
>  # trace-cmd report > /tmp/tempfile
> 
> It appears to crash on the trace-cmd report.

Can you try:

https://git.kernel.dk/cgit/linux-block/commit/?h=block-5.5&id=1ca6b68e516b3de3707ae2cec9e206c8f9dd816e

-- 
Jens Axboe


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [BUG] bisected to: block: fix splitting segments on boundary masks
  2020-01-14  4:09 ` Jens Axboe
@ 2020-01-14 20:34   ` Steven Rostedt
  2020-01-14 20:38     ` Jens Axboe
  0 siblings, 1 reply; 4+ messages in thread
From: Steven Rostedt @ 2020-01-14 20:34 UTC (permalink / raw)
  To: Jens Axboe; +Cc: LKML, Chris Mason, Ming Lei, linux-block, Linus Torvalds

On Mon, 13 Jan 2020 21:09:41 -0700
Jens Axboe <axboe@kernel.dk> wrote:

> Can you try:
> 
> https://git.kernel.dk/cgit/linux-block/commit/?h=block-5.5&id=1ca6b68e516b3de3707ae2cec9e206c8f9dd816e

This appears to fix the situation, Thanks!

Tested-by: Steven Rostedt (VMware) <rostedt@goodmis.org>

-- Steve

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [BUG] bisected to: block: fix splitting segments on boundary masks
  2020-01-14 20:34   ` Steven Rostedt
@ 2020-01-14 20:38     ` Jens Axboe
  0 siblings, 0 replies; 4+ messages in thread
From: Jens Axboe @ 2020-01-14 20:38 UTC (permalink / raw)
  To: Steven Rostedt; +Cc: LKML, Chris Mason, Ming Lei, linux-block, Linus Torvalds

On 1/14/20 1:34 PM, Steven Rostedt wrote:
> On Mon, 13 Jan 2020 21:09:41 -0700
> Jens Axboe <axboe@kernel.dk> wrote:
> 
>> Can you try:
>>
>> https://git.kernel.dk/cgit/linux-block/commit/?h=block-5.5&id=1ca6b68e516b3de3707ae2cec9e206c8f9dd816e
> 
> This appears to fix the situation, Thanks!
> 
> Tested-by: Steven Rostedt (VMware) <rostedt@goodmis.org>

Thanks for testing, I'll add this to the commit. It'll go upstream in
the next day or two.

-- 
Jens Axboe


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2020-01-14 20:38 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-14  3:13 [BUG] bisected to: block: fix splitting segments on boundary masks Steven Rostedt
2020-01-14  4:09 ` Jens Axboe
2020-01-14 20:34   ` Steven Rostedt
2020-01-14 20:38     ` Jens Axboe

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).