RE: Ceph build error: ‘class std::mutex’ has no member named ‘is_locked_by_me

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

 



Thanks for the debug information Suyash.

 

This looks to be a separate issue that was fixed by this PR that was merged only a couple hours ago (https://github.com/ceph/ceph/pull/60186), so you may have to pull the latest.

Also, I have created a PR (https://github.com/ceph/ceph/pull/60211) for the original issue in this email chain here which is just waiting to pass through the CI process before it can be merged.

 

Jonathan

 

From: Suyash Dongre <suyashd999@xxxxxxxxx>
Date: Wednesday, 9 October 2024 at 12:35
PM
To: Jonathan Bailey <Jonathan.Bailey1@xxxxxxx>
Cc: dev@xxxxxxx <dev@xxxxxxx>
Subject: [EXTERNAL] Re: Ceph build error: ‘class std::mutex’ has no member named ‘is_locked_by_me

By just removing the line /ceph/src/common/io_exerciser/RadosIo.cc line 84 isn't fixing the issue. I have attached the log after the error occurred On Wed, Oct 9, 2024 at 2:29 PM Jonathan Bailey <Jonathan.Bailey1@ibm.com> wrote: Hi

By just removing the line /ceph/src/common/io_exerciser/RadosIo.cc line 84 isn't fixing the issue.

I have attached the log after the error occurred

 

On Wed, Oct 9, 2024 at 2:29PM Jonathan Bailey <Jonathan.Bailey1@xxxxxxx> wrote:

Hi Suyash

 

This is code from a file added in my recent commit (https://github.com/ceph/ceph/pull/59857) and I am surprised to see this error line pop up as it was not an issue in the CI make checks before submitting the pull request. Potentially there is an improvement to the CI testing that could be made to catch things like this in the future.

 

For now you can probably remove this line (/ceph/src/common/io_exerciser/RadosIo.cc line 84) from your local environment to unblock your development, as it is not a file that is compiled into the main ceph code currently, just a new test executable (bin/ceph_test_rados_io_sequence).

The current thinking as to why you are seeing this is that this might be due to a difference between release builds and debug builds as this is a function of ceph::mutex that does not exist in std::mutex. However I will investigate further and update this thread if I find reasoning to show the contrary. I will look to create a pull request with my findings to fix this in the code base for everyone.

 

Thanks

Jonathan

 

From: Suyash Dongre <suyashd999@xxxxxxxxx>
Date: Wednesday, 9 October 2024 at 1:13
AM
To: dev@xxxxxxx <dev@xxxxxxx>
Subject: [EXTERNAL] Ceph build error: ‘class std::mutex’ has no member named ‘is_locked_by_me
Z

I am getting this error when building Ceph:

OS: Ubuntu 22.04

 

Any help would be appreciated.


[373/2229] Building CXX object src/com...s/object_io_exerciser.dir/RadosIo.cc.o
FAILED: src/common/io_exerciser/CMakeFiles/object_io_exerciser.dir/RadosIo.cc.o
/usr/bin/g++-12 -DBOOST_ASIO_DISABLE_THREAD_KEYWORD_EXTENSION -DBOOST_ASIO_HAS_IO_URING -DBOOST_ASIO_NO_TS_EXECUTORS -DHAVE_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -D_REENTRANT -D_THREAD_SAFE -D__CEPH__ -D__STDC_FORMAT_MACROS -D__linux__ -I/home/suyash/ceph/build/src/include -I/home/suyash/ceph/src -isystem /home/suyash/ceph/build/boost/include -isystem /home/suyash/ceph/build/include -isystem /home/suyash/ceph/src/jaegertracing/opentelemetry-cpp/api/include -isystem /home/suyash/ceph/src/jaegertracing/opentelemetry-cpp/exporters/jaeger/include -isystem /home/suyash/ceph/src/jaegertracing/opentelemetry-cpp/ext/include -isystem /home/suyash/ceph/src/jaegertracing/opentelemetry-cpp/sdk/include -isystem /home/suyash/ceph/src/xxHash -isystem /home/suyash/ceph/src/fmt/include -O2 -g -DNDEBUG -fPIC   -U_FORTIFY_SOURCE -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free -Wall -fno-strict-aliasing -fsigned-char -Wtype-limits -Wignored-qualifiers -Wpointer-arith -Werror=format-security -Winit-self -Wno-unknown-pragmas -Wnon-virtual-dtor -Wno-ignored-qualifiers -ftemplate-depth-1024 -Wpessimizing-move -Wredundant-move -Wstrict-null-sentinel -Woverloaded-virtual -fstack-protector-strong -fdiagnostics-color=auto -std=c++20 -MD -MT src/common/io_exerciser/CMakeFiles/object_io_exerciser.dir/RadosIo.cc.o -MF src/common/io_exerciser/CMakeFiles/object_io_exerciser.dir/RadosIo.cc.o.d -o src/common/io_exerciser/CMakeFiles/object_io_exerciser.dir/RadosIo.cc.o -c /home/suyash/ceph/src/common/io_exerciser/RadosIo.cc
In file included from /home/suyash/ceph/src/common/io_exerciser/IoOp.h:5,
                 from /home/suyash/ceph/src/common/io_exerciser/Model.h:3,
                 from /home/suyash/ceph/src/common/io_exerciser/ObjectModel.h:3,
                 from /home/suyash/ceph/src/common/io_exerciser/RadosIo.h:3,

                 from /home/suyash/ceph/src/common/io_exerciser/RadosIo.cc:1:

/home/suyash/ceph/src/common/io_exerciser/RadosIo.cc: In member function ‘virtual bool ceph::io_exerciser::RadosIo::readyForIoOp(ceph::io_exerciser::IoOp&)’:
/home/suyash/ceph/src/common/io_exerciser/RadosIo.cc:84:20: error: ‘ceph::mutex’ {aka ‘class std::mutex’} has no member named ‘is_locked_by_me’
   84 |   ceph_assert(lock.is_locked_by_me()); //Must be called with lock held
      |                    ^~~~~~~~~~~~~~~

Thank you!

Regards,

Suyash Dongre

Unless otherwise stated above:

IBM United Kingdom Limited
Registered in England and Wales with number 741598
Registered office: Building C, IBM Hursley Office, Hursley Park Road, Winchester, Hampshire SO21 2JN

Unless otherwise stated above:

IBM United Kingdom Limited
Registered in England and Wales with number 741598
Registered office: Building C, IBM Hursley Office, Hursley Park Road, Winchester, Hampshire SO21 2JN
_______________________________________________
Dev mailing list -- dev@xxxxxxx
To unsubscribe send an email to dev-leave@xxxxxxx

[Index of Archives]     [CEPH Users]     [Ceph Devel]     [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