Project

General

Profile

Actions

Bug #52465

closed

[pwl ssd] assert in AbstractWriteLog::handle_flushed_sync_point()

Added by Ilya Dryomov over 2 years ago. Updated about 2 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Target version:
-
% Done:

0%

Source:
Tags:
Backport:
pacific
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

On today's master (980cf670ed7cb8afe9f58c26782e34e559848051):

[ RUN      ] TestMockCacheSSDWriteLog.flush_source_internal
../src/librbd/cache/pwl/AbstractWriteLog.cc: In function 'bool librbd::cache::pwl::AbstractWriteLog<T>::handle_flushed_sync_point(std::shared_ptr<librbd::cache::pwl::SyncPointLogEntry>) [with ImageCtxT = librbd::MockImageCtx]' thread 7fd2937fe700 time 2021-08-31T10:09:59.116225-0400
../src/librbd/cache/pwl/AbstractWriteLog.cc: 1745: FAILED ceph_assert(log_entry)
 ceph version Development (no_version) quincy (dev)
 1: (ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x12b) [0x7fd3a71a6caa]
 2: (ceph::register_assert_context(ceph::common::CephContext*)+0) [0x7fd3a71a6ee0]
 3: (librbd::cache::pwl::AbstractWriteLog<librbd::MockImageCtx>::handle_flushed_sync_point(std::shared_ptr<librbd::cache::pwl::SyncPointLogEntry>)+0x89) [0x55ba1e610a8d]
 4: (LambdaContext<librbd::cache::pwl::AbstractWriteLog<librbd::MockImageCtx>::handle_flushed_sync_point(std::shared_ptr<librbd::cache::pwl::SyncPointLogEntry>)::{lambda(int)#2}>::finish(int)+0x71) [0x55ba1e610d79]
 5: (Context::complete(int)+0x9) [0x55ba1d6fbc2b]
 6: (ContextWQ::process(Context*)+0x64) [0x55ba1d8858a2]    
 7: (ThreadPool::PointerWQ<Context>::_void_process(void*, ThreadPool::TPHandle&)+0xa) [0x55ba1d85ff06]
 8: (ThreadPool::worker(ThreadPool::WorkThread*)+0xf60) [0x7fd3a7195c14]
 9: (ThreadPool::WorkThread::entry()+0x11) [0x7fd3a7196629]
 10: (Thread::entry_wrapper()+0x3f) [0x7fd3a7171db7]
 11: (Thread::_entry_func(void*)+0x9) [0x7fd3a7171dcf]
 12: /lib/x86_64-linux-gnu/libpthread.so.0(+0x9609) [0x7fd3a8214609]
 13: clone()
/* Returns true if the specified SyncPointLogEntry is considered flushed, and
 * the log will be updated to reflect this. */
template <typename I>                             
bool AbstractWriteLog<I>::handle_flushed_sync_point(std::shared_ptr<SyncPointLogEntry> log_entry)
{
  ceph_assert(ceph_mutex_is_locked_by_me(m_lock));
  ceph_assert(log_entry);             

  if ((log_entry->writes_flushed == log_entry->writes) &&                   
      log_entry->completed && log_entry->prior_sync_point_flushed &&
      log_entry->next_sync_point_entry) {

Related issues 2 (0 open2 closed)

Related to rbd - Bug #51418: [pwl] segment fault on syncpoint stackResolvedHualong Feng

Actions
Copied to rbd - Backport #52536: pacific: [pwl ssd] assert in AbstractWriteLog::handle_flushed_sync_point()ResolvedDeepika UpadhyayActions
Actions #1

Updated by Ilya Dryomov over 2 years ago

  • Subject changed from [pwl ssd] assert in AbstractWriteLog<I>::handle_flushed_sync_point() to [pwl ssd] assert in AbstractWriteLog::handle_flushed_sync_point()
Actions #2

Updated by Ilya Dryomov over 2 years ago

  • Status changed from New to Fix Under Review
  • Assignee set to CONGMIN YIN
  • Backport set to pacific
  • Pull request ID set to 43006

Appears to be a regression caused by https://github.com/ceph/ceph/pull/42149 (the workaround for https://tracker.ceph.com/issues/51418).

Actions #3

Updated by Ilya Dryomov over 2 years ago

  • Related to Bug #51418: [pwl] segment fault on syncpoint stack added
Actions #4

Updated by Ilya Dryomov over 2 years ago

  • Status changed from Fix Under Review to Pending Backport
Actions #5

Updated by Backport Bot over 2 years ago

  • Copied to Backport #52536: pacific: [pwl ssd] assert in AbstractWriteLog::handle_flushed_sync_point() added
Actions #6

Updated by Ilya Dryomov about 2 years ago

  • Status changed from Pending Backport to Resolved

While running with --resolve-parent, the script "backport-create-issue" noticed that all backports of this issue are in status "Resolved" or "Rejected".

Actions

Also available in: Atom PDF