New issue
Advanced search Search tips

Issue 837453 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Apr 2018
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Bug



Sign in to add a comment

crosvm panics when using large qcow disk on arm

Project Member Reported by sonnyrao@chromium.org, Apr 27 2018

Issue description

I'm seeing a crash/panic when I'm running on kevin with a 12GB qcow disk

thread 'virtio_blk' panicked at 'attempt to subtract with overflow', qcow/src/qcow.rs:305:20
note: Run with `RUST_BACKTRACE=1` for a backtrace.


and here's the backtrace
stack backtrace:
   0: std::sys::unix::backtrace::tracing::imp::unwind_backtrace
             at libstd/sys/unix/backtrace/tracing/gcc_s.rs:49
   1: std::sys_common::backtrace::print
             at libstd/sys_common/backtrace.rs:71
             at libstd/sys_common/backtrace.rs:59
   2: std::panicking::default_hook::{{closure}}
             at libstd/panicking.rs:380
   3: std::panicking::default_hook
             at libstd/panicking.rs:396
   4: std::panicking::rust_panic_with_hook
             at libstd/panicking.rs:576
   5: std::panicking::begin_panic
             at libstd/panicking.rs:537
   6: std::panicking::begin_panic_fmt
             at libstd/panicking.rs:521
   7: rust_begin_unwind
             at libstd/panicking.rs:497
   8: core::panicking::panic_fmt
             at libcore/panicking.rs:71
   9: core::panicking::panic
             at libcore/panicking.rs:51
  10: qcow::QcowFile::limit_range_file
             at qcow/src/qcow.rs:305
  11: <qcow::QcowFile as std::io::Write>::write
             at qcow/src/qcow.rs:511
  12: std::io::Write::write_all
             at /var/tmp/portage/dev-lang/rust-1.25.0/work/rustc-1.25.0-src/src/libstd/io/mod.rs:1099
  13: sys_util::mmap::MemoryMapping::write_from_memory
             at /mnt/host/source/src/platform/crosvm/sys_util/src/mmap.rs:314
  14: sys_util::guest_memory::GuestMemory::write_from_memory::{{closure}}
             at /mnt/host/source/src/platform/crosvm/sys_util/src/guest_memory.rs:347
  15: sys_util::guest_memory::GuestMemory::do_in_region
             at /mnt/host/source/src/platform/crosvm/sys_util/src/guest_memory.rs:386
  16: sys_util::guest_memory::GuestMemory::write_from_memory
             at /mnt/host/source/src/platform/crosvm/sys_util/src/guest_memory.rs:346
  17: devices::virtio::block::Request::execute
             at /mnt/host/source/src/platform/crosvm/devices/src/virtio/block.rs:168
  18: <devices::virtio::block::Worker<T>>::process_queue
             at /mnt/host/source/src/platform/crosvm/devices/src/virtio/block.rs:196
  19: <devices::virtio::block::Worker<T>>::run
             at /mnt/host/source/src/platform/crosvm/devices/src/virtio/block.rs:269
  20: <devices::virtio::block::Block<T> as devices::virtio::mmio::VirtioDevice>::activate::{{closure}}
             at /mnt/host/source/src/platform/crosvm/devices/src/virtio/block.rs:391
 
Project Member

Comment 1 by bugdroid1@chromium.org, Apr 27 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/crosvm/+/832fc3cde51fb4d8c8f69192dac3380ce1cdd948

commit 832fc3cde51fb4d8c8f69192dac3380ce1cdd948
Author: Dylan Reid <dgreid@chromium.org>
Date: Fri Apr 27 19:22:49 2018

qcow: avoid truncation if usize is 32 bits

The u64 offsets could be truncated when running on a 32 bit machine.
Do the math in 64 bit, limit to usize::MAX, then truncate.

BUG= 837453 
TEST=run crosvm and read/write files

Change-Id: If44ec94cf730ca7c1e580eeddd202e54e2de1081
Signed-off-by: Dylan Reid <dgreid@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1031301
Reviewed-by: Sonny Rao <sonnyrao@chromium.org>

[modify] https://crrev.com/832fc3cde51fb4d8c8f69192dac3380ce1cdd948/qcow/src/qcow.rs

Comment 2 by dgreid@chromium.org, Apr 27 2018

Status: Fixed (was: Untriaged)
Project Member

Comment 3 by bugdroid1@chromium.org, May 4 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/crosvm/+/caaeb044603f2f4859b29a93cb16730d85afcb3d

commit caaeb044603f2f4859b29a93cb16730d85afcb3d
Author: Sonny Rao <sonnyrao@chromium.org>
Date: Fri May 04 10:02:42 2018

devices: block: add sector info to block errors

This would have been useful in figuring out recent bugs in the block
sub system.

BUG= chromium:837453 
TEST=manual test on kevin with qcow device

Change-Id: I3e3360bb0226e3cd7052e0431ce555cfef5e091b
Reviewed-on: https://chromium-review.googlesource.com/1034013
Commit-Ready: Sonny Rao <sonnyrao@chromium.org>
Tested-by: Sonny Rao <sonnyrao@chromium.org>
Reviewed-by: Zach Reizner <zachr@chromium.org>

[modify] https://crrev.com/caaeb044603f2f4859b29a93cb16730d85afcb3d/devices/src/virtio/block.rs

Sign in to add a comment