Re: A core dump while using mClockOpClassQueue

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Is this v12.2.4 without *any* modifications to the source code?

As I mentioned in my other reply, because we set allow_limit_break to true, we should not be returning a “future”. Therefore the code should not have to consider this case.

If you are using an unmodified v12.2.4 then I would be happy to dig into this further.

Thank you,

Eric


> On Oct 15, 2018, at 8:07 AM, 韦皓诚 <whc0000001@xxxxxxxxx> wrote:
> 
> ceph version 3b7325 (b3b7325f13d50ae2ab52ba0dff35e5cf66dec487) luminous (stable)
> 1: (()+0xa3c751) [0x7fbf37a4d751]
> 2: (()+0xf6d0) [0x7fbf342976d0]
> 3: (gsignal()+0x37) [0x7fbf332b8277]
> 4: (abort()+0x148) [0x7fbf332b9968]
> 5: (ceph::__ceph_assert_fail(char const*, char const*, int, char
> const*)+0x284) [0x7fbf37a8c824]
> 6: (ceph::mClockQueue<std::pair<spg_t, PGQueueable>,
> ceph::mClockOpClassQueue::osd_op_type_t>::dequeue()+0x45f)
> [0x7fbf3776856f]
> 7: (ceph::mClockOpClassQueue::dequeue()+0xd) [0x7fbf3776862d]
> 8: (OSD::ShardedOpWQ::_process(unsigned int,
> ceph::heartbeat_handle_d*)+0x314) [0x7fbf37524bf4]
> 9: (ShardedThreadPool::shardedthreadpool_worker(unsigned int)+0x839)
> [0x7fbf37a921c9]
> 10: (ShardedThreadPool::WorkThreadSharded::entry()+0x10) [0x7fbf37a94160]
> 11: (()+0x7e25) [0x7fbf3428fe25]
> 12: (clone()+0x6d) [0x7fbf33380bad]
> 
> The reason for this problem is what I said in the previous email. And
> kefu chai told me it will cause a assert and abort OSD.
> Previous Email:
> Hi guys
> Class mClockQueue calls  PullPriorityQueue::pull_request in function
> dequeue() . But PullPriorityQueue::pull_request may return a "future"
> value. That means the mclock tag of the request are greater than now,
> so it should be executed in the future instead of now.The mistake is
> that the mClockQueue::dequeue() do not consider about the type of return value
> 
> This situation is very likely to occur in practice. If we set scrub
> limit value > 0, this situation will occur when there is no client op
> at the moment and scrub is triggerd.




[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux