Actions
Bug #5469
closedqemu-io: segfault when tried IO with invalid arguments
% Done:
0%
Source:
Q/A
Tags:
Backport:
Regression:
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):
Description
tested this on rhel 6.3 and rhel6.4
tried qemu-io to perform IO on the rbd image by writing in a pattern and reading it back ina different pattern, but the issue seems to be with the length used while reading.
[ubuntu@mira099 x86_64]$ sudo qemu-io qemu-io> aio_read -P 0x3 1 1 no file open, try 'help open' qemu-io> open rbd:rbd/img1 qemu-io> aio_write -P 0x2 1k 1k qemu-io> aio_read -P 0x3 1 2 offset 1 is not sector aligned qemu-io> aio_read -P 0x3 0 1 length argument 1 is not sector aligned osdc/Striper.cc: In function 'static void Striper::file_to_extents(CephContext*, const char*, ceph_file_layout*, uint64_t, uint64_t, std::map<object_t, std::vector<ObjectExtent, std::allocator<ObjectExtent> >, std::less<object_t>, std::allocator<std::pair<const object_t, std::vector<ObjectExtent, std::allocator<ObjectExtent> > > > >&, uint64_t)' thread 7f21524b6760 time 2013-06-26 18:50:36.008929 osdc/Striper.cc: 49: FAILED assert(len > 0) ceph version 0.61.4-29-gccb3dd5 (ccb3dd5ad5533ca4e9b656b4e3df31025a5f2017) 1: (Striper::file_to_extents(CephContext*, char const*, ceph_file_layout*, unsigned long, unsigned long, std::map<object_t, std::vector<ObjectExtent, std::allocator<ObjectExtent> >, std::less<object_t>, std::allocator<std::pair<object_t const, std::vector<ObjectExtent, std::allocator<ObjectExtent> > > > >&, unsigned long)+0x1403) [0x7f2151363c73] 2: (librbd::aio_read(librbd::ImageCtx*, std::vector<std::pair<unsigned long, unsigned long>, std::allocator<std::pair<unsigned long, unsigned long> > > const&, char*, ceph::buffer::list*, librbd::AioCompletion*)+0x2a5) [0x7f215132d5d5] 3: (librbd::aio_read(librbd::ImageCtx*, unsigned long, unsigned long, char*, ceph::buffer::list*, librbd::AioCompletion*)+0xa2) [0x7f215132e1c2] 4: (()+0x35e9e) [0x7f2152507e9e] 5: (()+0x36020) [0x7f2152508020] 6: (()+0x12fd5) [0x7f21524e4fd5] 7: (()+0x13c02) [0x7f21524e5c02] NOTE: a copy of the executable, or `objdump -rdS <executable>` is needed to interpret this. terminate called after throwing an instance of 'ceph::FailedAssertion'
Actions