On Thu, 2015-07-30 at 18:11 +0200, Jens-U. Mozdzen wrote:
> Zitat von "Jens-U. Mozdzen" <[email protected]>:
> > Hi everybody,
> >
> > we experience reproducible server crashes (reboots) when creating
> > new file systems on bcache'd devices.
>
> update: If I set cache_mode to "writethrough", I can successfully
> create the file system.
>
> On a second system, with identical setup but other "workload" (other
> file systems) we today experienced problems accessing disk content
> (via bcache). But as the system partitions (on the same LVM and as
> such bcache-backed as well) seemed not to be affected, this is a bit
> more mysterious.
>
> We're now running both machines in "writethrough" mode, which
> expectedly leads to a much higher i/o load on the machines, but is
> hopefully more stable.
>
>
> > - kernel is 3.18.8-5-default (it's an OpenSUSE 13.1 install with a
> > custom kernel)
> >
> > - modinfo bcache
> > filename:
> > /lib/modules/3.18.8-5-default/kernel/drivers/md/bcache/bcache.ko
> > license: GPL
> > author: Kent Overstreet <[email protected]>
> > author: Kent Overstreet <[email protected]>
> > license: GPL
> > srcversion: 92A8EFA83993DEC9D37BD5E
> > depends:
> > intree: Y
> > vermagic: 3.18.8-5-default SMP mod_unload modversions
> >
> > - modinfo drbd
> > filename: /lib/modules/3.18.8-5-default/updates/drbd.ko
> > alias: block-major-147-*
> > license: GPL
> > version: 8.4.6
> > description: drbd - Distributed Replicated Block Device v8.4.6
> > author: Philipp Reisner <[email protected]>, Lars Ellenberg
> > <[email protected]>
> > srcversion: 36DF3A3564C161B02724575
> > depends: libcrc32c
> > vermagic: 3.18.8-5-default SMP mod_unload modversions
> >
> > - crash details from (remote) syslog:
> >
> > --- cut here ---
> > Jul 23 07:39:47 server kernel: [78293.803010] ------------[ cut here
> > ]------------
> > Jul 23 07:39:47 server kernel: [78293.803059] kernel BUG at
> > ../block/bio.c:1836!
> > Jul 23 07:39:47 server kernel: [78293.803097] invalid opcode: 0000 [#1] SMP
> > Jul 23 07:39:47 server kernel: [78293.803134] Modules linked in: md5
> > binfmt_misc qla2x00tgt(O) scst_vdisk(O) nfsd lockd grace nfs_acl
> > auth_rpcgss scst(O) sunrpc drbd(O) tcp_diag libcrc32c inet_diag
> > bonding joydev hid_generic usbhid usb_storage iTCO_wdt
> > iTCO_vendor_support x86_pkg_temp_thermal intel_powerclamp coretemp
> > kvm_intel kvm crct10dif_pclmul crc32_pclmul crc32c_intel
> > ghash_clmulni_intel aesni_intel ablk_helper cryptd lrw gf128mul
> > glue_helper aes_x86_64 pcspkr qla2xxx_scst(O) scsi_transport_fc
> > sb_edac edac_core lpc_ich i2c_i801 mfd_core xhci_pci xhci_hcd mei_me
> > mei ioatdma igb dca ptp pps_core ses enclosure tpm_tis shpchp tpm
> > wmi 8250_fintek ipmi_si ipmi_msghandler acpi_power_meter acpi_pad
> > button sg linear ast ttm drm_kms_helper ehci_pci drm ehci_hcd
> > i2c_algo_bit sysimgblt sysfillrect syscopyarea usbcore usb_common
> > processor scsi_dh_alua scsi_dh_rdac scsi_dh_emc scsi_dh_hp_sw
> > scsi_dh raid456 async_raid6_recov async_pq raid6_pq async_xor xor
> > async_memcpy async_tx raid10 raid1 raid0 md_mod dm_snapshot dm_bufio
> > dm_mirror dm_region_hash dm_log dm_mod mpt3sas scsi_transport_sas
> > raid_class bcache
> > Jul 23 07:39:47 server kernel: [78293.820577] CPU: 2 PID: 25532
> > Comm: kworker/u24:0 Tainted: G O 3.18.8-5-default #1
> > Jul 23 07:39:47 server kernel: [78293.822659] Hardware name:
> > Supermicro X10DRT-P Series/X10DRT-P, BIOS 1.0b 01/06/2015
> > Jul 23 07:39:47 server kernel: [78293.824771] Workqueue:
> > drbd122_submit do_submit [drbd]
> > Jul 23 07:39:47 server kernel: [78293.826883] task: ffff880849a5a590
> > ti: ffff8807d81f4000 task.ti: ffff8807d81f4000
> > Jul 23 07:39:47 server kernel: [78293.828997] RIP:
> > 0010:[<ffffffff812f9e1e>] [<ffffffff812f9e1e>] bio_split+0x6e/0x70
> > Jul 23 07:39:47 server kernel: [78293.831131] RSP:
> > 0018:ffff8807d81f7ae8 EFLAGS: 00010246
> > Jul 23 07:39:47 server kernel: [78293.833225] RAX: 0000000000000000
> > RBX: ffff88003710a020 RCX: ffff88105785f2c0
> > Jul 23 07:39:47 server kernel: [78293.835318] RDX: 0000000000000010
> > RSI: 0000000000000000 RDI: ffff88003710a020
> > Jul 23 07:39:47 server kernel: [78293.837403] RBP: 0000000000000000
> > R08: ffff8810574804c0 R09: ffff8808567f7810
> > Jul 23 07:39:47 server kernel: [78293.839480] R10: ffff88087fc985b8
> > R11: 0000000000000025 R12: ffff8807cdd24140
> > Jul 23 07:39:47 server kernel: [78293.841544] R13: ffff8807cdd24168
> > R14: ffff88105785f2c0 R15: ffff880856875e58
> > Jul 23 07:39:47 server kernel: [78293.843593] FS:
> > 0000000000000000(0000) GS:ffff88087fc80000(0000)
> > knlGS:0000000000000000
> > Jul 23 07:39:47 server kernel: [78293.845676] CS: 0010 DS: 0000 ES:
> > 0000 CR0: 0000000080050033
> > Jul 23 07:39:47 server kernel: [78293.847766] CR2: 0000000002382390
> > CR3: 0000000001e16000 CR4: 00000000001407e0
> > Jul 23 07:39:47 server kernel: [78293.849887] Stack:
> > Jul 23 07:39:47 server kernel: [78293.851999] ffff88003710a020
> > ffff88003710a020 ffff8807cdd24140 ffffffffa000d4dd
> > Jul 23 07:39:47 server kernel: [78293.854165] ffff88003710a020
> > ffff880856875d10 ffff880856875d10 ffffc90017581000
> > Jul 23 07:39:47 server kernel: [78293.856328] ffff880856875df0
> > ffffffffa0012bd3 ffff88003710a020 ffff880856875d10
> > Jul 23 07:39:47 server kernel: [78293.858488] Call Trace:
> > Jul 23 07:39:47 server kernel: [78293.860648] [<ffffffffa000d4dd>]
> > bch_generic_make_request+0x14d/0x1e0 [bcache]
> > Jul 23 07:39:47 server kernel: [78293.862842] [<ffffffffa0012bd3>]
> > bch_data_insert_start+0xc3/0x550 [bcache]
> > Jul 23 07:39:47 server kernel: [78293.865014] [<ffffffffa0013dc4>]
> > cached_dev_make_request+0xc34/0xe60 [bcache]
> > Jul 23 07:39:47 server kernel: [78293.867168] [<ffffffff812fe210>]
> > generic_make_request+0xb0/0x100
> > Jul 23 07:39:47 server kernel: [78293.869327] [<ffffffffa06de3fa>]
> > drbd_send_and_submit+0x92a/0x1cb0 [drbd]
> > Jul 23 07:39:47 server kernel: [78293.871498] [<ffffffffa06dff5d>]
> > send_and_submit_pending+0x7d/0xa0 [drbd]
> > Jul 23 07:39:47 server kernel: [78293.873637] [<ffffffffa06e032d>]
> > do_submit+0x3ad/0x490 [drbd]
> > Jul 23 07:39:47 server kernel: [78293.875758] [<ffffffff810781b8>]
> > process_one_work+0x148/0x3c0
> > Jul 23 07:39:47 server kernel: [78293.877898] [<ffffffff81078806>]
> > worker_thread+0x116/0x470
> > Jul 23 07:39:47 server kernel: [78293.880011] [<ffffffff8107d57a>]
> > kthread+0xca/0xe0
> > Jul 23 07:39:47 server kernel: [78293.882097] [<ffffffff8160fc7c>]
> > ret_from_fork+0x7c/0xb0
> > Jul 23 07:39:47 server kernel: [78293.884166] Code: 31 f6 89 ea 48
> > 89 c7 e8 81 08 03 00 8b 73 28 4c 89 e7 e8 86 f1 ff ff 48 89 d8 5b 5d
> > 41 5c c3 66 0f 1f 44 00 00 31 c0 eb f1 0f 0b <0f> 0b 0f 1f 44 00 00
> > 41 57 49 89 d2 41 56 41 89 f6 be 01 00 00
> > Jul 23 07:39:47 server kernel: [78293.888557] RIP
> > [<ffffffff812f9e1e>] bio_split+0x6e/0x70
> > Jul 23 07:39:47 server kernel: [78293.890696] RSP <ffff8807d81f7ae8>
> > Jul 23 07:39:47 server kernel: [78294.110317] ---[ end trace
> > ec3665f2de46ff27 ]---
> > Jul 23 07:39:47 server kernel: [78294.142139] BUG: unable to handle
> > kernel paging request at ffffffffffffffd8
> > Jul 23 07:39:47 server kernel: [78294.142150] IP:
> > [<ffffffff8107db2c>] kthread_data+0xc/0x20
> > Jul 23 07:39:47 server kernel: [78294.142153] PGD 1e17067 PUD 1e19067 PMD 0
> > Jul 23 07:39:47 server kernel: [78294.142156] Oops: 0000 [#2] SMP
> > Jul 23 07:39:47 server kernel: [78294.142204] Modules linked in: md5
> > binfmt_misc qla2x00tgt(O) scst_vdisk(O) nfsd lockd grace nfs_acl
> > auth_rpcgss scst(O) sunrpc drbd(O) tcp_diag libcrc32c inet_diag
> > bonding joydev hid_generic usbhid usb_storage iTCO_wdt
> > iTCO_vendor_support x86_pkg_temp_thermal intel_powerclamp coretemp
> > kvm_intel kvm crct10dif_pclmul crc32_pclmul crc32c_intel
> > ghash_clmulni_intel aesni_intel ablk_helper cryptd lrw gf128mul
> > glue_helper aes_x86_64 pcspkr qla2xxx_scst(O) scsi_transport_fc
> > sb_edac edac_core lpc_ich i2c_i801 mfd_core xhci_pci xhci_hcd mei_me
> > mei ioatdma igb dca ptp pps_core ses enclosure tpm_tis shpchp tpm
> > wmi 8250_fintek ipmi_si ipmi_msghandler acpi_power_meter acpi_pad
> > button sg linear ast ttm drm_kms_helper ehci_pci drm ehci_hcd
> > i2c_algo_bit sysimgblt sysfillrect syscopyarea usbcore usb_common
> > processor scsi_dh_alua scsi_dh_rdac scsi_dh_emc scsi_dh_hp_sw
> > scsi_dh raid456 async_raid6_recov async_pq raid6_pq async_xor xor
> > async_memcpy async_tx raid10 raid1 raid0 md_mod dm_snapshot dm_bufio
> > dm_mirror dm_region_hash dm_log dm_mod mpt3sas scsi_transport_sas
> > raid_class bcache
> > Jul 23 07:39:47 server kernel: [78294.142224] CPU: 9 PID: 25532
> > Comm: kworker/u24:0 Tainted: G D O 3.18.8-5-default #1
> > Jul 23 07:39:47 server kernel: [78294.142225] Hardware name:
> > Supermicro X10DRT-P Series/X10DRT-P, BIOS 1.0b 01/06/2015
> > Jul 23 07:39:47 server kernel: [78294.142241] task: ffff880849a5a590
> > ti: ffff8807d81f4000 task.ti: ffff8807d81f4000
> > Jul 23 07:39:47 server kernel: [78294.142244] RIP:
> > 0010:[<ffffffff8107db2c>] [<ffffffff8107db2c>] kthread_data+0xc/0x20
> > Jul 23 07:39:47 server kernel: [78294.142245] RSP:
> > 0018:ffff8807d81f7860 EFLAGS: 00010002
> > Jul 23 07:39:47 server kernel: [78294.142246] RAX: 0000000000000000
> > RBX: 0000000000000009 RCX: 0000000000000000
> > Jul 23 07:39:47 server kernel: [78294.142247] RDX: 0000000000000000
> > RSI: 0000000000000009 RDI: ffff880849a5a590
> > Jul 23 07:39:47 server kernel: [78294.142248] RBP: ffff8807d81f78d8
> > R08: 0000000000000000 R09: 0000000000000246
> > Jul 23 07:39:47 server kernel: [78294.142249] R10: ffffffff821ef3b0
> > R11: 0000000000000000 R12: ffff88107fcd2480
> > Jul 23 07:39:47 server kernel: [78294.142250] R13: 0000000000000009
> > R14: 0000000000000000 R15: ffff880849a5a590
> > Jul 23 07:39:47 server kernel: [78294.142252] FS:
> > 0000000000000000(0000) GS:ffff88107fcc0000(0000)
> > knlGS:0000000000000000
> > Jul 23 07:39:47 server kernel: [78294.142253] CS: 0010 DS: 0000 ES:
> > 0000 CR0: 0000000080050033
> > Jul 23 07:39:47 server kernel: [78294.142254] CR2: 0000000000000028
> > CR3: 0000000001e16000 CR4: 00000000001407e0
> > Jul 23 07:39:47 server kernel: [78294.142255] Stack:
> > Jul 23 07:39:47 server kernel: [78294.142258] ffffffff81078bdd
> > ffff880849a5a590 ffffffff8160ba69 ffff880849a5a590
> > Jul 23 07:39:47 server kernel: [78294.142259] ffff8807d81f7fd8
> > 0000000000012480 0000000000012480 ffff8807d81f7898
> > Jul 23 07:39:47 server kernel: [78294.142261] ffff880849a5a590
> > 0000000000000246 ffff880849a5ad08 ffff880849a5a580
> > Jul 23 07:39:47 server kernel: [78294.142262] Call Trace:
> > Jul 23 07:39:47 server kernel: [78294.142277] [<ffffffff81078bdd>]
> > wq_worker_sleeping+0xd/0xa0
> > Jul 23 07:39:47 server kernel: [78294.142285] [<ffffffff8160ba69>]
> > thread_return+0x28c/0x4c3
> > Jul 23 07:39:47 server kernel: [78294.142296] [<ffffffff810637ef>]
> > do_exit+0x6ff/0xa70
> > Jul 23 07:39:47 server kernel: [78294.142304] [<ffffffff810066c7>]
> > oops_end+0x97/0xe0
> > Jul 23 07:39:47 server kernel: [78294.142309] [<ffffffff81003730>]
> > do_error_trap+0x70/0xe0
> > Jul 23 07:39:47 server kernel: [78294.142316] [<ffffffff816117be>]
> > invalid_op+0x1e/0x30
> > Jul 23 07:39:47 server kernel: [78294.142324] [<ffffffff812f9e1e>]
> > bio_split+0x6e/0x70
> > Jul 23 07:39:47 server kernel: [78294.142343] [<ffffffffa000d4dd>]
> > bch_generic_make_request+0x14d/0x1e0 [bcache]
> > Jul 23 07:39:47 server kernel: [78294.142358] [<ffffffffa0012bd3>]
> > bch_data_insert_start+0xc3/0x550 [bcache]
> > Jul 23 07:39:47 server kernel: [78294.142370] [<ffffffffa0013dc4>]
> > cached_dev_make_request+0xc34/0xe60 [bcache]
> > Jul 23 07:39:47 server kernel: [78294.142377] [<ffffffff812fe210>]
> > generic_make_request+0xb0/0x100
> > Jul 23 07:39:47 server kernel: [78294.142393] [<ffffffffa06de3fa>]
> > drbd_send_and_submit+0x92a/0x1cb0 [drbd]
> > Jul 23 07:39:47 server kernel: [78294.142424] [<ffffffffa06dff5d>]
> > send_and_submit_pending+0x7d/0xa0 [drbd]
> > Jul 23 07:39:47 server kernel: [78294.142433] [<ffffffffa06e032d>]
> > do_submit+0x3ad/0x490 [drbd]
> > Jul 23 07:39:47 server kernel: [78294.142440] [<ffffffff810781b8>]
> > process_one_work+0x148/0x3c0
> > Jul 23 07:39:47 server kernel: [78294.142444] [<ffffffff81078806>]
> > worker_thread+0x116/0x470
> > Jul 23 07:39:47 server kernel: [78294.142448] [<ffffffff8107d57a>]
> > kthread+0xca/0xe0
> > Jul 23 07:39:47 server kernel: [78294.142454] [<ffffffff8160fc7c>]
> > ret_from_fork+0x7c/0xb0
> > Jul 23 07:39:47 server kernel: [78294.142475] Code: 00 05 00 00 48
> > 8b 40 c8 48 c1 e8 02 83 e0 01 c3 66 66 66 66 66 66 2e 0f 1f 84 00 00
> > 00 00 00 0f 1f 44 00 00 48 8b 87 00 05 00 00 <48> 8b 40 d8 c3 66 66
> > 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 0f
> > Jul 23 07:39:47 server kernel: [78294.142478] RIP
> > [<ffffffff8107db2c>] kthread_data+0xc/0x20
> > Jul 23 07:39:47 server kernel: [78294.142479] RSP <ffff8807d81f7860>
> > Jul 23 07:39:47 server kernel: [78294.142479] CR2: ffffffffffffffd8
> > Jul 23 07:39:47 server kernel: [78294.142482] ---[ end trace
> > ec3665f2de46ff28 ]---
> > Jul 23 07:39:47 server kernel: [78294.156953] Fixing recursive fault
> > but reboot is needed!
> > --- cut here ---
> >
> > - bcache bucket size is 512k, tree_depth is 1
> >
> > - setup details:
> >
> > -- md RAID6 "data" via seven 1 TB physical disks ("blockdev --getsz"
> > reports 9767605760 512byte blocks, approx 5 TB)
> >
> > -- md RAID1 "cache" via two 128 GB SSDs ("blockdev --getsz" reports
> > 249936512 512byte blocks, approx 125 GB)
> >
> > -- "bcache0" made from "data" and "cache"
> >
> > -- LVM via single physical volume "bcache0"
> >
> > -- many LVs create with older kernel
> >
> > -- DRBD on top of each LV. This server is always primary, no
> > "fail-over" to a different node!
> >
> > -- file system (to be) created on the DRBD devices
> >
> > We upgraded the kernel incl. DRBD as we experienced random server
> > reboots (probably in DRBD, but that was just guessing based on DRBD
> > change logs), to the versions mentioned above, and now have the
> > first case where we need to create an additional logical volume plus
> > file system. Creating the LV works nicely, as does DRBD resync, but
> > when running the "mkfs" command, the above exceptions occur and the
> > server reboots.
> >
> > I've seen 5 bcache patches that were reported on the list and
> > back-ported to OpenSUSE 13.2
> > (https://bugzilla.suse.com/attachment.cgi?id=617628&action=edit),
> > but none of these immediately seem to apply to the above situation.
> >
> > While I couldn't find references on the net to the symptoms we
> > experience, can anybody tell this is an already known problem, and
> > probably point to a solution? Any other help would of course be
> > appreciated as well :)
>
> I'm still looking for advice on how to approach this. I've had a look
> at the source code and noticed that NULL returns from bio_next_split()
> were not caught in bch_generic_make_request()... but I cannot tell if
No. From the crash log:
"kernel BUG at ../block/bio.c:1836!"
It's crashed by BUG_ON(sectors >= bio_sectors(bio)) in bio_split().
But that's weired. bio_next_split() calls bio_split()
and it already checked that:
static inline struct bio *bio_next_split(struct bio *bio, int sectors,
gfp_t gfp, struct bio_set *bs)
{
if (sectors >= bio_sectors(bio))
return bio;
return bio_split(bio, sectors, gfp, bs);
}
Don't know how the BUG_ON() could happened.
> this is actually the cause of above messages, nor how this should get
> handled (and simply catching that case did not avoid above reboots).
>
> Anyone out there willing to share some thoughts?
>
> Regards,
> Jens
--
To unsubscribe from this list: send the line "unsubscribe linux-bcache" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html