Description
Version
23.07
Which installation method(s) does this occur on?
Docker
Describe the bug.
This is a custom MRC build within a docker image but external to the specified conda setup. It generally relies on the existing cmake constructs provided by the project with a few modifications. But it relies on dependencies drawn from a combination of non conda-forge or nvidia* conda packages: 22.04 Jammy, PyPi, src builds of grpc, etc.
The compilation and linking completes with the exception of the test_ring_buffer.cpp test code. The error itself relates to deleted functions from C++11 (C++0x) but it's not clear to me what the root cause is. This error does not occur in the conda build.
Minimum reproducible example
Please contact @pdmack directly
Relevant log output
/opt/rapids/src/mrc/cpp/mrc/tests/coroutines/test_ring_buffer.cpp: In lambda function:
/opt/rapids/src/mrc/cpp/mrc/tests/coroutines/test_ring_buffer.cpp:223:57: error: use of deleted function 'mrc::coroutines::RingBuffer<long unsigned int>::WriteOperation::WriteOperation(const mrc::coroutines::RingBuffer<long unsigned int>::WriteOperation&)'
223 | co_await rb.write(i).resume_immediately();
| ^
In file included from /opt/rapids/src/mrc/cpp/mrc/tests/coroutines/test_ring_buffer.cpp:41:
/opt/rapids/src/mrc/cpp/mrc/include/mrc/coroutines/ring_buffer.hpp:114:12: note: 'mrc::coroutines::RingBuffer<long unsigned int>::WriteOperation::WriteOperation(const mrc::coroutines::RingBuffer<long unsigned int>::WriteOperation&)' is implicitly deleted because the default definition would be ill-formed:
114 | struct WriteOperation : ThreadLocalContext
| ^~~~~~~~~~~~~~
/opt/rapids/src/mrc/cpp/mrc/include/mrc/coroutines/ring_buffer.hpp:114:12: error: use of deleted function 'std::unique_lock<_Mutex>::unique_lock(const std::unique_lock<_Mutex>&) [with _Mutex = std::mutex]'
In file included from /usr/include/c++/11/condition_variable:41,
from /opt/rapids/src/mrc/cpp/mrc/include/mrc/coroutines/thread_pool.hpp:45,
from /opt/rapids/src/mrc/cpp/mrc/include/mrc/coroutines/latch.hpp:42,
from /opt/rapids/src/mrc/cpp/mrc/tests/coroutines/test_ring_buffer.cpp:40:
/usr/include/c++/11/bits/unique_lock.h:107:7: note: declared here
107 | unique_lock(const unique_lock&) = delete;
| ^~~~~~~~~~~
/opt/rapids/src/mrc/cpp/mrc/tests/coroutines/test_ring_buffer.cpp:226:51: error: use of deleted function 'mrc::coroutines::RingBuffer<long unsigned int>::WriteOperation::WriteOperation(const mrc::coroutines::RingBuffer<long unsigned int>::WriteOperation&)'
226 | co_await rb.write(i).resume_on(&tp);
| ^
make[2]: *** [cpp/mrc/tests/CMakeFiles/test_mrc.dir/build.make:104: cpp/mrc/tests/CMakeFiles/test_mrc.dir/coroutines/test_ring_buffer.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:799: cpp/mrc/tests/CMakeFiles/test_mrc.dir/all] Error 2
make: *** [Makefile:166: all] Error 2
Full env printout
<details><summary>Click here to see environment details</summary><pre>
***OS Information***
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
DISTRIB_DESCRIPTION="Ubuntu 22.04.2 LTS"
PRETTY_NAME="Ubuntu 22.04.2 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.2 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy
Linux 37fd8139e87a 5.4.0-139-generic #156-Ubuntu SMP Fri Jan 20 17:27:18 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
***GPU Information***
Thu May 4 21:02:03 2023
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 525.89.02 Driver Version: 525.89.02 CUDA Version: 12.1 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 Quadro RTX 8000 Off | 00000000:04:00.0 Off | 0 |
| N/A 32C P8 26W / 250W | 9MiB / 46080MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
| 1 Quadro RTX 8000 Off | 00000000:43:00.0 Off | 0 |
| N/A 33C P8 29W / 250W | 9MiB / 46080MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
| 2 Quadro RTX 8000 Off | 00000000:88:00.0 Off | 0 |
| N/A 31C P8 28W / 250W | 9MiB / 46080MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
| 3 Quadro RTX 8000 Off | 00000000:C4:00.0 Off | 0 |
| N/A 33C P8 26W / 250W | 9MiB / 46080MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
+-----------------------------------------------------------------------------+
***CPU***
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Address sizes: 43 bits physical, 48 bits virtual
Byte Order: Little Endian
CPU(s): 128
On-line CPU(s) list: 0-127
Vendor ID: AuthenticAMD
Model name: AMD EPYC 7702P 64-Core Processor
CPU family: 23
Model: 49
Thread(s) per core: 2
Core(s) per socket: 64
Socket(s): 1
Stepping: 0
Frequency boost: enabled
CPU max MHz: 2000.0000
CPU min MHz: 1500.0000
BogoMIPS: 3999.58
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate sme ssbd mba sev ibrs ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 cqm rdt_a rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local clzero irperf xsaveerptr wbnoinvd arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif umip rdpid overflow_recov succor smca
Virtualization: AMD-V
L1d cache: 2 MiB (64 instances)
L1i cache: 2 MiB (64 instances)
L2 cache: 32 MiB (64 instances)
L3 cache: 256 MiB (16 instances)
NUMA node(s): 1
NUMA node0 CPU(s): 0-127
Vulnerability Itlb multihit: Not affected
Vulnerability L1tf: Not affected
Vulnerability Mds: Not affected
Vulnerability Meltdown: Not affected
Vulnerability Mmio stale data: Not affected
Vulnerability Retbleed: Vulnerable
Vulnerability Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl and seccomp
Vulnerability Spectre v1: Mitigation; usercopy/swapgs barriers and __user pointer sanitization
Vulnerability Spectre v2: Mitigation; Retpolines, IBPB conditional, IBRS_FW, STIBP conditional, RSB filling, PBRSB-eIBRS Not affected
Vulnerability Srbds: Not affected
Vulnerability Tsx async abort: Not affected
***CMake***
/usr/bin/cmake
cmake version 3.26.3
CMake suite maintained and supported by Kitware (kitware.com/cmake).
***g++***
/usr/bin/g++
g++ (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
***nvcc***
/usr/local/cuda/bin/nvcc
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on Mon_Apr__3_17:16:06_PDT_2023
Cuda compilation tools, release 12.1, V12.1.105
Build cuda_12.1.r12.1/compiler.32688072_0
***Python***
/usr/bin/python
Python 3.10.6
***Environment Variables***
PATH : /root/.local/bin:/usr/local/mpi/bin:/usr/local/nvidia/bin:/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/ucx/bin:/usr/local/cuda/bin:/usr/local/bin
LD_LIBRARY_PATH : /usr/local/cuda/compat/lib.real:/usr/local/cuda/compat/lib:/usr/local/nvidia/lib:/usr/local/nvidia/lib64:/usr/local/cuda/lib64:/usr/local/mpi/lib:/usr/local/ucx/lib:/usr/local/lib:/usr/lib
NUMBAPRO_NVVM :
NUMBAPRO_LIBDEVICE :
CONDA_PREFIX :
PYTHON_PATH :
conda not found
***pip packages***
/usr/local/bin/pip
Package Version Editable project location
------------------ -------------------- --------------------------------
blinker 1.4
cryptography 3.4.8
Cython 0.29.28
dbus-python 1.2.18
distro 1.7.0
exceptiongroup 1.1.1
httplib2 0.20.2
importlib-metadata 4.6.4
iniconfig 2.0.0
jeepney 0.7.1
keyring 23.5.0
launchpadlib 1.10.16
lazr.restfulclient 0.14.4
lazr.uri 1.0.6
more-itertools 8.10.0
mrc 23.7.0a0+40.gdb51433 /opt/rapids/src/mrc/build/python
oauthlib 3.2.0
packaging 23.1
pip 23.1.2
pluggy 1.0.0
pybind11-stubgen 0.13.0
PyGObject 3.42.1
PyJWT 2.3.0
pyparsing 2.4.7
pytest 7.3.1
python-apt 2.4.0+ubuntu1
scikit-build 0.17.3
SecretStorage 3.3.1
setuptools 67.7.2
six 1.16.0
tomli 2.0.1
wadllib 1.3.6
wheel 0.40.0
zipp 1.0.0
</pre></details>
Other/Misc.
This is a non-conda build environment. All other compilation and tests can be run except for this one. I fully acknowledge that this is a currently unsupported build environment.
Code of Conduct
- I agree to follow MRC's Code of Conduct
- I have searched the open bugs and have found no duplicates for this bug report
Metadata
Assignees
Labels
Type
Projects
Status
Todo