Paddle
Paddle copied to clipboard
Unable to compile paddle 3.0.0.beta0, Assertion `idx < size()' failed.
问题描述 Issue Description
🔎 Search before asking
- [X] I have searched the PaddleOCR Docs and found no similar bug report.
- [X] I have searched the PaddleOCR Issues and found no similar bug report.
- [X] I have searched the PaddleOCR Discussions and found no similar bug report.
🐛 Bug (问题描述)
I got the following error:
eager_generator: /home/iris/CDeepFuzz/Paddle/paddle/utils/small_vector.h:343: T& paddle::small_vector_template_common<T, <template-parameter-1-2> >::at(paddle::small_vector_template_common<T, <template-parameter-1-2> >::size_type) [with T = phi::TensorArgDef; <template-parameter-1-2> = void; paddle::small_vector_template_common<T, <template-parameter-1-2> >::reference = phi::TensorArgDef&; paddle::small_vector_template_common<T, <template-parameter-1-2> >::size_type = long unsigned int]: Assertion `idx < size()' failed.
Subprocess aborted
gmake[2]: *** [paddle/fluid/eager/auto_code_generator/CMakeFiles/legacy_eager_codegen.dir/build.make:70: paddle/fluid/eager/auto_code_generator/CMakeFiles/legacy_eager_codegen] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:66694: paddle/fluid/eager/auto_code_generator/CMakeFiles/legacy_eager_codegen.dir/all] Error 2
I added some print logs at :
reference at(size_type idx) {
std::string prompt = "LALALA: ";
prompt += std::to_string(idx) + "," + std::to_string(size());
std::cout << prompt << std::endl;
assert(idx < size());
return begin()[idx];
}
I got:
LALALA: 1, 1
so the idx(1) is equal to size()(1).
I added traceback at:
@@ -333,6 +341,12 @@ class small_vector_template_common
}
reference at(size_type idx) {
+ if(idx == size()){
+ void *buffer[100];
+ int nptrs = backtrace(buffer, 100); // Capture up to 100 frames
+ std::cerr << "Stack trace:\n";
+ backtrace_symbols_fd(buffer, nptrs, STDERR_FILENO); // Print the stack trace
+ }
assert(idx < size());
return begin()
I got:
Stack trace:
~/Paddle/build/paddle/fluid/eager/auto_code_generator/eager_generator(_ZN6paddle28small_vector_template_commonIN3phi12TensorArgDefEvE2atEm+0x5d)[0x5aaefee7d309]
~/Paddle/build/paddle/fluid/eager/auto_code_generator/eager_generator(_ZN3phi6Kernel7InputAtEm+0x36)[0x5aaefee75700]
~/Paddle/build/paddle/phi/libphi_kernel_gpu.so(+0x4249c8c)[0x74579bc49c8c]
~/Paddle/build/paddle/fluid/eager/auto_code_generator/eager_generator(_ZN3phi15KernelRegistrar15ConstructKernelENS_7RegTypeEPKcS3_N6common10DataLayoutENS_8DataTypeEPFvRKNS_9KernelKeyEPNS_13KernelArgsDefEEPFvS9_PNS_6KernelEESt8functionIFvPNS_13KernelContextEEEPv+0x1ca)[0x5aaefee3da7a]
~/Paddle/build/paddle/fluid/eager/auto_code_generator/eager_generator(_ZN3phi15KernelRegistrarC1ENS_7RegTypeEPKcS3_N6common10DataLayoutENS_8DataTypeEPFvRKNS_9KernelKeyEPNS_13KernelArgsDefEEPFvS9_PNS_6KernelEESt8functionIFvPNS_13KernelContextEEEPv+0x9f)[0x5aaefee75839]
~/Paddle/build/paddle/phi/libphi_kernel_gpu.so(+0x424ab15)[0x74579bc4ab15]
~/Paddle/build/paddle/phi/libphi_kernel_gpu.so(+0x424addd)[0x74579bc4addd]
/lib64/ld-linux-x86-64.so.2(+0x647e)[0x7457cee2947e]
/lib64/ld-linux-x86-64.so.2(+0x6568)[0x7457cee29568]
/lib64/ld-linux-x86-64.so.2(+0x202ca)[0x7457cee432ca]
I wonder if this is because all source files under the folder paddle/fluid/eager/api/generated/fluid_generated/forwards/(e.g.: dygraph_forward_functions3.cc), are empty, but this function(https://github.com/jiaoxuewu/PaddleBox/blob/7552ba29f6b729f3192b4747283770b254433c8b/paddle/fluid/eager/auto_code_generator/generate_file_structures.py#L98) suggests that those files should be empty: GenerateFileStructureForIntermediateDygraph....
Sorry for writing in English...
🌰 Minimal Reproducible Example (最小可复现问题的Demo)
cmake .. -DWITH_GPU=ON -DWITH_TESTING=ON -DWITH_DISTRIBUTE=ON -DCMAKE_BUILD_TYPE=Debug -DWITH_MKL=ON -DWITH_PYTHON=ON -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
cmake --build . -j 1
or
cd ~/Paddle/build/paddle/fluid/eager/auto_code_generator && ~/Paddle/build/paddle/fluid/eager/auto_code_generator/eager_generator ~/Paddle/paddle/fluid/eager/api/generated/fluid_generated 8
版本&环境信息 Version & Environment Information
🏃♂️ Environment (运行环境)
OS: ubuntu 22.04 GCC version: (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0 Clang version: 17.0.6 (https://github.com/llvm/llvm-project.git 6009708b4367171ccdbf4b5905cb6a803753fe18) CMake version: version 3.22.1 Libc version: glibc 2.35 Python version: 3.10.15
CUDA version: 12.4.131 Build cuda_12.4.r12.4/compiler.34097967_0 cuDNN version: 9.4.0 Nvidia driver version: 560.35.03 Nvidia driver List: GPU 0: NVIDIA GeForce RTX 4090 GCC: gcc 11 Clang: 17.0.6 (tried both GCC and Clang) Memory: 64GB Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Address sizes: 39 bits physical, 48 bits virtual Byte Order: Little Endian CPU(s): 32 On-line CPU(s) list: 0-31 Vendor ID: GenuineIntel Model name: Intel(R) Core(TM) i9-14900KF CPU family: 6 Model: 183 Thread(s) per core: 2 Core(s) per socket: 24 Socket(s): 1 Stepping: 1 CPU max MHz: 6000.0000 CPU min MHz: 800.0000 BogoMIPS: 6374.40