Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

堆栈溢出 (stack overflow) #49925

Closed
Ligoml opened this issue Jan 18, 2023 · 17 comments
Closed

堆栈溢出 (stack overflow) #49925

Ligoml opened this issue Jan 18, 2023 · 17 comments
Assignees

Comments

@Ligoml
Copy link
Contributor

Ligoml commented Jan 18, 2023

Case1: paddle.trace

Reproduced Case:

import paddle
import numpy as np
from paddle import trace
x = paddle.to_tensor(np.random.uniform(-10, 10, [2, 2, 2]).astype(np.float64))
offset = paddle.to_tensor(np.random.uniform(-10, 10, []).astype(np.int32))
axis1 = paddle.to_tensor(np.random.uniform(-6666666, -2, []).astype(np.int32))
axis2 = paddle.to_tensor(np.random.uniform(-6666666, -2, []).astype(np.int32))
print(x)
print(offset)
print(axis1)
print(axis2)
trace(x, offset, axis1, axis2)

Stack Trace Message:

=================================================================
==210378==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x607000000000 at pc 0x7f8a6e496421 bp 0x7ffe5e69c630 sp 0x7ffe5e69bdf0
READ of size 8115504 at 0x607000000000 thread T0
    #0 0x7f8a6e496420 in __asan_memmove /root/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp:30:3
    #1 0x7f8a5ef8864e in long* std::__copy_move<true, true, std::random_access_iterator_tag>::__copy_m<long>(long const*, long const*, long*) /usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/stl_algobase.h:368:6
    #2 0x7f8a5ef8864e in long* std::__copy_move_a<true, long*, long*>(long*, long*, long*) /usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/stl_algobase.h:385:14
    #3 0x7f8a5ef8864e in __gnu_cxx::__normal_iterator<long*, std::vector<long, std::allocator<long> > > std::__copy_move_a2<true, __gnu_cxx::__normal_iterator<long*, std::vector<long, std::allocator<long> > >, __gnu_cxx::__normal_iterator<long*, std::vector<long, std::allocator<long> > > >(__gnu_cxx::__normal_iterator<long*, std::vector<long, std::allocator<long> > >, __gnu_cxx::__normal_iterator<long*, std::vector<long, std::allocator<long> > >, __gnu_cxx::__normal_iterator<long*, std::vector<long, std::allocator<long> > >) /usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/stl_algobase.h:422:18
    #4 0x7f8a5ef8864e in __gnu_cxx::__normal_iterator<long*, std::vector<long, std::allocator<long> > > std::move<__gnu_cxx::__normal_iterator<long*, std::vector<long, std::allocator<long> > >, __gnu_cxx::__normal_iterator<long*, std::vector<long, std::allocator<long> > > >(__gnu_cxx::__normal_iterator<long*, std::vector<long, std::allocator<long> > >, __gnu_cxx::__normal_iterator<long*, std::vector<long, std::allocator<long> > >, __gnu_cxx::__normal_iterator<long*, std::vector<long, std::allocator<long> > >) /usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/stl_algobase.h:487:14
    #5 0x7f8a5ef8864e in std::vector<long, std::allocator<long> >::_M_erase(__gnu_cxx::__normal_iterator<long*, std::vector<long, std::allocator<long> > >) /usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/vector.tcc:163:2
    #6 0x7f8a5ef8864e in std::vector<long, std::allocator<long> >::erase(__gnu_cxx::__normal_iterator<long const*, std::vector<long, std::allocator<long> > >) /usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/stl_vector.h:1318:16
    #7 0x7f8a5ef8864e in phi::TraceInferMeta(phi::MetaTensor const&, int, int, int, phi::MetaTensor*) /home/work/yakun/paddle-2.4.0/Paddle/paddle/phi/infermeta/unary.cc:3851:11
    #8 0x7f8a59067041 in paddle::experimental::trace(paddle::experimental::Tensor const&, int, int, int) /home/work/yakun/paddle-2.4.0/Paddle/paddle/phi/api/lib/api.cc:1517:3
    #9 0x7f8a4e9f95f0 in trace_ad_func(paddle::experimental::Tensor const&, int, int, int) /home/work/yakun/paddle-2.4.0/Paddle/paddle/fluid/eager/api/generated/eager_generated/forwards/dygraph_functions.cc:3826:21
    #10 0x7f8a4ba49652 in paddle::pybind::eager_api_trace(_object*, _object*, _object*) /home/work/yakun/paddle-2.4.0/Paddle/paddle/fluid/pybind/eager_op_function.cc:1142:59
    #11 0x5025f3 in PyCFunction_Call (/usr/bin/python3.8+0x5025f3) (BuildId: 69b06f9a4b2e8428d7e32aa682c34a91dc0b961e)
    #12 0x500db4 in _PyObject_MakeTpCall (/usr/bin/python3.8+0x500db4) (BuildId: 69b06f9a4b2e8428d7e32aa682c34a91dc0b961e)
    #13 0x566223 in _PyEval_EvalFrameDefault (/usr/bin/python3.8+0x566223) (BuildId: 69b06f9a4b2e8428d7e32aa682c34a91dc0b961e)
    #14 0x55f470 in _PyEval_EvalCodeWithName (/usr/bin/python3.8+0x55f470) (BuildId: 69b06f9a4b2e8428d7e32aa682c34a91dc0b961e)
    #15 0x5016c5 in _PyFunction_Vectorcall (/usr/bin/python3.8+0x5016c5) (BuildId: 69b06f9a4b2e8428d7e32aa682c34a91dc0b961e)
    #16 0x560136 in _PyEval_EvalFrameDefault (/usr/bin/python3.8+0x560136) (BuildId: 69b06f9a4b2e8428d7e32aa682c34a91dc0b961e)
    #17 0x55f470 in _PyEval_EvalCodeWithName (/usr/bin/python3.8+0x55f470) (BuildId: 69b06f9a4b2e8428d7e32aa682c34a91dc0b961e)
    #18 0x55f102 in PyEval_EvalCode (/usr/bin/python3.8+0x55f102) (BuildId: 69b06f9a4b2e8428d7e32aa682c34a91dc0b961e)
    #19 0x62a1ef  (/usr/bin/python3.8+0x62a1ef) (BuildId: 69b06f9a4b2e8428d7e32aa682c34a91dc0b961e)
    #20 0x62a179  (/usr/bin/python3.8+0x62a179) (BuildId: 69b06f9a4b2e8428d7e32aa682c34a91dc0b961e)
    #21 0x47a7f2  (/usr/bin/python3.8+0x47a7f2) (BuildId: 69b06f9a4b2e8428d7e32aa682c34a91dc0b961e)
    #22 0x47a5cb in PyRun_SimpleFileExFlags (/usr/bin/python3.8+0x47a5cb) (BuildId: 69b06f9a4b2e8428d7e32aa682c34a91dc0b961e)
    #23 0x4247dc in _init (/usr/bin/python3.8+0x4247dc) (BuildId: 69b06f9a4b2e8428d7e32aa682c34a91dc0b961e)
    #24 0x5fb9b8 in Py_BytesMain (/usr/bin/python3.8+0x5fb9b8) (BuildId: 69b06f9a4b2e8428d7e32aa682c34a91dc0b961e)
    #25 0x7f8a6d21983f in __libc_start_main /build/glibc-S7Ft5T/glibc-2.23/csu/../csu/libc-start.c:291
    #26 0x5fb8b8 in _start (/usr/bin/python3.8+0x5fb8b8) (BuildId: 69b06f9a4b2e8428d7e32aa682c34a91dc0b961e)
0x607000000000 is located 32 bytes before 80-byte region [0x607000000020,0x607000000070)
allocated by thread T0 here:
    #0 0x7f8a6e497c7f in malloc /root/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3
    #1 0x7f8a6d224dec in _nl_intern_locale_data /build/glibc-S7Ft5T/glibc-2.23/locale/loadlocale.c:95
SUMMARY: AddressSanitizer: heap-buffer-overflow /root/llvm-project/compiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp:30:3 in __asan_memmove
Shadow bytes around the buggy address:
  0x606ffffffd80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x606ffffffe00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x606ffffffe80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x606fffffff00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x606fffffff80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
=>0x607000000000:[fa]fa fa fa 00 00 00 00 00 00 00 00 00 00 fa fa
  0x607000000080: fa fa fd fd fd fd fd fd fd fd fd fa fa fa fa fa
  0x607000000100: fd fd fd fd fd fd fd fd fd fd fa fa fa fa fd fd
  0x607000000180: fd fd fd fd fd fd fd fd fa fa fa fa fd fd fd fd
  0x607000000200: fd fd fd fd fd fd fa fa fa fa 00 00 00 00 00 00
  0x607000000280: 00 00 00 04 fa fa fa fa fd fd fd fd fd fd fd fd
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07 
  Heap left redzone:       fa
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Container overflow:      fc
  Array cookie:            ac
  Intra object redzone:    bb
  ASan internal:           fe
  Left alloca redzone:     ca
  Right alloca redzone:    cb
==210378==ABORTING
@Ligoml Ligoml assigned Ligoml and unassigned wangzhen38 Jan 18, 2023
@PaddlePaddle PaddlePaddle deleted a comment from paddle-bot bot Jan 18, 2023
@Ligoml
Copy link
Contributor Author

Ligoml commented Jan 18, 2023

Case2: paddle.unique

Reproduced Case:

import paddle
x = paddle.to_tensor([0.0], dtype='float32')
paddle.unique(x, return_inverse=True, return_counts=True, axis=-1)

Stack Trace Message:

=================================================================
==137640==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60200015ce0c at pc 0x7f42a064038f bp 0x7ffffd3552d0 sp 0x7ffffd3552c8
WRITE of size 4 at 0x60200015ce0c thread T0
    #0 0x7f42a064038e in void phi::funcs::UniqueDim<phi::CPUContext, float, long>(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*, bool, bool, bool, int) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/kernels/funcs/unique_functor.h:243:17
    #1 0x7f42a064038e in void phi::funcs::UniqueDimFunctor<phi::CPUContext, float>::apply<long>() const /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/kernels/funcs/unique_functor.h:412:5
    #2 0x7f42a05f4db5 in void phi::VisitDataTypeTiny<phi::funcs::UniqueDimFunctor<phi::CPUContext, float> >(paddle::experimental::DataType, phi::funcs::UniqueDimFunctor<phi::CPUContext, float>) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/core/utils/data_type.h:77:3
    #3 0x7f42a05f4db5 in void phi::UniqueRawKernel<float, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const&, bool, bool, bool, std::vector<int, std::allocator<int> > const&, paddle::experimental::DataType, bool, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/kernels/cpu/unique_kernel.cc:99:5
    #4 0x7f42a060247f in void phi::UniqueKernel<float, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const&, bool, bool, bool, std::vector<int, std::allocator<int> > const&, paddle::experimental::DataType, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/kernels/cpu/unique_kernel.cc:37:3
    #5 0x7f42a060247f in phi::KernelImpl<void (*)(phi::CPUContext const&, phi::DenseTensor const&, bool, bool, bool, std::vector<int, std::allocator<int> > const&, paddle::experimental::DataType, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*), &(void phi::UniqueKernel<float, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const&, bool, bool, bool, std::vector<int, std::allocator<int> > const&, paddle::experimental::DataType, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*))>::VariadicCompute(phi::DeviceContext const&, phi::DenseTensor const&, bool, bool, bool, std::vector<int, std::allocator<int> > const&, paddle::experimental::DataType, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/core/kernel_utils.h:239:12
    #6 0x7f429f9ff5d7 in paddle::experimental::unique(paddle::experimental::Tensor const&, bool, bool, bool, std::vector<int, std::allocator<int> > const&, paddle::experimental::DataType) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/api/lib/api.cc:25596:5
    #7 0x7f429399de08 in unique_ad_func(paddle::experimental::Tensor const&, bool, bool, bool, std::vector<int, std::allocator<int> >, paddle::experimental::DataType) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/eager/api/generated/eager_generated/forwards/dygraph_functions.cc:41775:21
    #8 0x7f428fcf1212 in paddle::pybind::eager_api_unique(_object*, _object*, _object*) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/pybind/eager_op_function.cc:18567:94
    #9 0x5025f3 in PyCFunction_Call (/usr/bin/python3.8+0x5025f3)
    #10 0x500db4 in _PyObject_MakeTpCall (/usr/bin/python3.8+0x500db4)
    #11 0x566223 in _PyEval_EvalFrameDefault (/usr/bin/python3.8+0x566223)
    #12 0x55f470 in _PyEval_EvalCodeWithName (/usr/bin/python3.8+0x55f470)
    #13 0x5016c5 in _PyFunction_Vectorcall (/usr/bin/python3.8+0x5016c5)
    #14 0x5610ed in _PyEval_EvalFrameDefault (/usr/bin/python3.8+0x5610ed)
    #15 0x55f470 in _PyEval_EvalCodeWithName (/usr/bin/python3.8+0x55f470)
    #16 0x55f102 in PyEval_EvalCode (/usr/bin/python3.8+0x55f102)
    #17 0x62a1ef  (/usr/bin/python3.8+0x62a1ef)
    #18 0x62a179  (/usr/bin/python3.8+0x62a179)
    #19 0x47a7f2  (/usr/bin/python3.8+0x47a7f2)
    #20 0x47a5cb in PyRun_SimpleFileExFlags (/usr/bin/python3.8+0x47a5cb)
    #21 0x4247dc in _init (/usr/bin/python3.8+0x4247dc)
    #22 0x5fb9b8 in Py_BytesMain (/usr/bin/python3.8+0x5fb9b8)
    #23 0x7f4356fa083f in __libc_start_main /build/glibc-S7Ft5T/glibc-2.23/csu/../csu/libc-start.c:291
    #24 0x5fb8b8 in _start (/usr/bin/python3.8+0x5fb8b8)
0x60200015ce0c is located 4 bytes to the left of 4-byte region [0x60200015ce10,0x60200015ce14)
allocated by thread T0 here:
    #0 0x7f43581f0efd in malloc (/home/work/wangying/paddlepaddle/pdpd_fuzz_protobuf/pdpd-env/clang_pd_fuzz_env/lib/python3.8/site-packages/asan_with_fuzzer.so+0x136efd)
    #1 0x7f4356c41f64 in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libstdc++.so.6+0xa5f64)
    #2 0x7f42a05f4db5 in void phi::VisitDataTypeTiny<phi::funcs::UniqueDimFunctor<phi::CPUContext, float> >(paddle::experimental::DataType, phi::funcs::UniqueDimFunctor<phi::CPUContext, float>) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/core/utils/data_type.h:77:3
    #3 0x7f42a05f4db5 in void phi::UniqueRawKernel<float, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const&, bool, bool, bool, std::vector<int, std::allocator<int> > const&, paddle::experimental::DataType, bool, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/kernels/cpu/unique_kernel.cc:99:5
    #4 0x7f42a060247f in void phi::UniqueKernel<float, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const&, bool, bool, bool, std::vector<int, std::allocator<int> > const&, paddle::experimental::DataType, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/kernels/cpu/unique_kernel.cc:37:3
    #5 0x7f42a060247f in phi::KernelImpl<void (*)(phi::CPUContext const&, phi::DenseTensor const&, bool, bool, bool, std::vector<int, std::allocator<int> > const&, paddle::experimental::DataType, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*), &(void phi::UniqueKernel<float, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const&, bool, bool, bool, std::vector<int, std::allocator<int> > const&, paddle::experimental::DataType, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*))>::VariadicCompute(phi::DeviceContext const&, phi::DenseTensor const&, bool, bool, bool, std::vector<int, std::allocator<int> > const&, paddle::experimental::DataType, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/core/kernel_utils.h:239:12
    #6 0x7f429f9ff5d7 in paddle::experimental::unique(paddle::experimental::Tensor const&, bool, bool, bool, std::vector<int, std::allocator<int> > const&, paddle::experimental::DataType) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/api/lib/api.cc:25596:5
    #7 0x7f429399de08 in unique_ad_func(paddle::experimental::Tensor const&, bool, bool, bool, std::vector<int, std::allocator<int> >, paddle::experimental::DataType) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/eager/api/generated/eager_generated/forwards/dygraph_functions.cc:41775:21
    #8 0x7f428fcf1212 in paddle::pybind::eager_api_unique(_object*, _object*, _object*) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/pybind/eager_op_function.cc:18567:94
    #9 0x5025f3 in PyCFunction_Call (/usr/bin/python3.8+0x5025f3)
SUMMARY: AddressSanitizer: heap-buffer-overflow /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/kernels/funcs/unique_functor.h:243:17 in void phi::funcs::UniqueDim<phi::CPUContext, float, long>(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*, bool, bool, bool, int)
Shadow bytes around the buggy address:
  0x0c0480023970: fa fa fd fa fa fa fd fa fa fa 00 00 fa fa fd fa
  0x0c0480023980: fa fa fd fa fa fa fd fd fa fa fd fa fa fa fd fa
  0x0c0480023990: fa fa fd fa fa fa 00 fa fa fa fd fd fa fa 00 fa
  0x0c04800239a0: fa fa 00 00 fa fa fd fd fa fa 00 00 fa fa fd fd
  0x0c04800239b0: fa fa 04 fa fa fa 04 fa fa fa 01 fa fa fa fd fa
=>0x0c04800239c0: fa[fa]04 fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c04800239d0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c04800239e0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c04800239f0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c0480023a00: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c0480023a10: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07 
  Heap left redzone:       fa
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Container overflow:      fc
  Array cookie:            ac
  Intra object redzone:    bb
  ASan internal:           fe
  Left alloca redzone:     ca
  Right alloca redzone:    cb
  Shadow gap:              cc
==137640==ABORTING

@Ligoml
Copy link
Contributor Author

Ligoml commented Jan 18, 2023

Case3: paddle.metric.accuracy

Reproduced Case:

import paddle
import numpy as np
inp = paddle.to_tensor([1.8973538018496328e-16], dtype='float32')
array = np.array([35], dtype=np.int32)
label = paddle.to_tensor(np.reshape(array, [1, 1]), dtype='int32')
paddle.metric.accuracy(input=inp, label=label)

Stack Trace Message:

=================================================================
==14502==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x7fa528e9b800 at pc 0x7fa5d07f3c28 bp 0x7ffd778876f0 sp 0x7ffd778876e8
READ of size 8 at 0x7fa528e9b800 thread T0
    #0 0x7fa5d07f3c27 in void phi::AccuracyRawKernel<float, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/kernels/cpu/accuracy_kernel.cc:57:11
    #1 0x7fa5d07fcfcd in void phi::KernelImpl<void (*)(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*), &(void phi::AccuracyRawKernel<float, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*))>::KernelCallHelper<phi::TypeTag<int> >::Compute<1, 3, 0, 3>(phi::KernelContext*, phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor*&, phi::DenseTensor*&, phi::DenseTensor*&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/core/kernel_utils.h:334:14
    #2 0x7fa5d07fcfcd in void phi::KernelImpl<void (*)(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*), &(void phi::AccuracyRawKernel<float, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*))>::KernelCallHelper<phi::DenseTensor*, phi::TypeTag<int> >::Compute<1, 3, 0, 2, phi::CPUContext const, phi::DenseTensor const, phi::DenseTensor const, phi::DenseTensor const, phi::DenseTensor*, phi::DenseTensor*>(phi::KernelContext*, phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor*&, phi::DenseTensor*&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/core/kernel_utils.h:312:3
    #3 0x7fa5d07fcfcd in void phi::KernelImpl<void (*)(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*), &(void phi::AccuracyRawKernel<float, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*))>::KernelCallHelper<phi::DenseTensor*, phi::DenseTensor*, phi::TypeTag<int> >::Compute<1, 3, 0, 1, phi::CPUContext const, phi::DenseTensor const, phi::DenseTensor const, phi::DenseTensor const, phi::DenseTensor*>(phi::KernelContext*, phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor*&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/core/kernel_utils.h:312:3
    #4 0x7fa5d07fcfcd in void phi::KernelImpl<void (*)(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*), &(void phi::AccuracyRawKernel<float, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*))>::KernelCallHelper<phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*, phi::TypeTag<int> >::Compute<1, 3, 0, 0, phi::CPUContext const, phi::DenseTensor const, phi::DenseTensor const, phi::DenseTensor const>(phi::KernelContext*, phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/core/kernel_utils.h:312:3
    #5 0x7fa5d07fcfcd in void phi::KernelImpl<void (*)(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*), &(void phi::AccuracyRawKernel<float, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*))>::KernelCallHelper<phi::DenseTensor const&, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*, phi::TypeTag<int> >::Compute<1, 2, 0, 0, phi::CPUContext const, phi::DenseTensor const, phi::DenseTensor const>(phi::KernelContext*, phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/core/kernel_utils.h:263:3
    #6 0x7fa5d07fcfcd in void phi::KernelImpl<void (*)(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*), &(void phi::AccuracyRawKernel<float, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*))>::KernelCallHelper<phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*, phi::TypeTag<int> >::Compute<1, 1, 0, 0, phi::CPUContext const, phi::DenseTensor const>(phi::KernelContext*, phi::CPUContext const&, phi::DenseTensor const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/core/kernel_utils.h:263:3
    #7 0x7fa5d07fcfcd in void phi::KernelImpl<void (*)(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*), &(void phi::AccuracyRawKernel<float, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*))>::KernelCallHelper<phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*, phi::TypeTag<int> >::Compute<1, 0, 0, 0, phi::CPUContext const>(phi::KernelContext*, phi::CPUContext const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/core/kernel_utils.h:263:3
    #8 0x7fa5d07fcfcd in void phi::KernelImpl<void (*)(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*), &(void phi::AccuracyRawKernel<float, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*))>::KernelCallHelper<phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*, phi::TypeTag<int> >::Compute<0, 0, 0, 0>(phi::KernelContext*) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/core/kernel_utils.h:248:3
    #9 0x7fa5d07fcfcd in phi::KernelImpl<void (*)(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*), &(void phi::AccuracyRawKernel<float, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*))>::Compute(phi::KernelContext*) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/core/kernel_utils.h:234:5
    #10 0x7fa5c93df504 in std::function<void (phi::KernelContext*)>::operator()(phi::KernelContext*) const /usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/std_function.h:687:14
    #11 0x7fa5c93df504 in phi::Kernel::operator()(phi::KernelContext*) const /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/core/kernel_factory.h:218:47
    #12 0x7fa5c93df504 in void paddle::imperative::PreparedOpRunPtImpl<egr::EagerVariable>(paddle::framework::OperatorBase const&, paddle::framework::OpKernelType const&, std::function<phi::KernelSignature (phi::ArgumentMappingContext const&)> const*, phi::KernelSignature const*, phi::KernelSignature const&, phi::Kernel const&, phi::DeviceContext*, paddle::imperative::details::NameVarMapTrait<egr::EagerVariable>::Type const&, paddle::imperative::details::NameVarMapTrait<egr::EagerVariable>::Type const&, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double>, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double> > > > const&, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double>, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double> > > > const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/imperative/prepared_operator.cc:696:5
    #13 0x7fa5c93df504 in paddle::imperative::PreparedOp::Run(std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<std::shared_ptr<egr::EagerVariable>, std::allocator<std::shared_ptr<egr::EagerVariable> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::vector<std::shared_ptr<egr::EagerVariable>, std::allocator<std::shared_ptr<egr::EagerVariable> > > > > > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<std::shared_ptr<egr::EagerVariable>, std::allocator<std::shared_ptr<egr::EagerVariable> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::vector<std::shared_ptr<egr::EagerVariable>, std::allocator<std::shared_ptr<egr::EagerVariable> > > > > > const&, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double>, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double> > > > const&, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double>, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double> > > > const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/imperative/prepared_operator.cc:784:5
    #14 0x7fa5bce147f8 in void paddle::imperative::OpBaseRunImpl<egr::EagerVariable>(paddle::framework::OperatorBase const&, paddle::imperative::details::NameVarMapTrait<egr::EagerVariable>::Type const&, paddle::imperative::details::NameVarMapTrait<egr::EagerVariable>::Type const&, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double>, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double> > > > const&, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double>, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double> > > > const&, phi::Place const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/imperative/layer.cc:525:17
    #15 0x7fa5bce147f8 in paddle::imperative::OpBase::Run(paddle::framework::OperatorBase const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<std::shared_ptr<egr::EagerVariable>, std::allocator<std::shared_ptr<egr::EagerVariable> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::vector<std::shared_ptr<egr::EagerVariable>, std::allocator<std::shared_ptr<egr::EagerVariable> > > > > > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<std::shared_ptr<egr::EagerVariable>, std::allocator<std::shared_ptr<egr::EagerVariable> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::vector<std::shared_ptr<egr::EagerVariable>, std::allocator<std::shared_ptr<egr::EagerVariable> > > > > > const&, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double>, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double> > > > const&, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double>, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double> > > > const&, phi::Place const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/imperative/layer.cc:560:3
    #16 0x7fa5bce69d56 in void paddle::imperative::Tracer::TraceOpImpl<egr::EagerVariable>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, paddle::imperative::details::NameVarMapTrait<egr::EagerVariable>::Type const&, paddle::imperative::details::NameVarMapTrait<egr::EagerVariable>::Type const&, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double>, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double> > > >&, phi::Place const&, bool, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double>, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double> > > >*, bool) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/imperative/tracer.cc:340:7
    #17 0x7fa5bce72627 in paddle::imperative::Tracer::TraceOp(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<std::shared_ptr<egr::EagerVariable>, std::allocator<std::shared_ptr<egr::EagerVariable> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::vector<std::shared_ptr<egr::EagerVariable>, std::allocator<std::shared_ptr<egr::EagerVariable> > > > > > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<std::shared_ptr<egr::EagerVariable>, std::allocator<std::shared_ptr<egr::EagerVariable> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::vector<std::shared_ptr<egr::EagerVariable>, std::allocator<std::shared_ptr<egr::EagerVariable> > > > > > const&, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double>, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double> > > >&, phi::Place const&, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double>, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double> > > >*, bool, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/imperative/tracer.cc:432:3
    #18 0x7fa5bf82dcf8 in accuracy_dygraph_function(paddle::experimental::Tensor const&, paddle::experimental::Tensor const&, paddle::experimental::Tensor const&, paddle::experimental::Tensor*, paddle::experimental::Tensor*, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double>, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double> > > > const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/eager/api/generated/fluid_generated/forwards/dygraph_forward_functions6.cc:3547:51
    #19 0x7fa5ba4386e5 in paddle::pybind::eager_legacy_api_accuracy(_object*, _object*, _object*) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/pybind/eager_legacy_op_function.cc:9987:16
    #20 0x5025f3 in PyCFunction_Call (/usr/bin/python3.8+0x5025f3)
    #21 0x500db4 in _PyObject_MakeTpCall (/usr/bin/python3.8+0x500db4)
    #22 0x566223 in _PyEval_EvalFrameDefault (/usr/bin/python3.8+0x566223)
    #23 0x55f470 in _PyEval_EvalCodeWithName (/usr/bin/python3.8+0x55f470)
    #24 0x5016c5 in _PyFunction_Vectorcall (/usr/bin/python3.8+0x5016c5)
    #25 0x5610ed in _PyEval_EvalFrameDefault (/usr/bin/python3.8+0x5610ed)
    #26 0x55f470 in _PyEval_EvalCodeWithName (/usr/bin/python3.8+0x55f470)
    #27 0x55f102 in PyEval_EvalCode (/usr/bin/python3.8+0x55f102)
    #28 0x62a1ef  (/usr/bin/python3.8+0x62a1ef)
    #29 0x62a179  (/usr/bin/python3.8+0x62a179)
    #30 0x47a7f2  (/usr/bin/python3.8+0x47a7f2)
    #31 0x47a5cb in PyRun_SimpleFileExFlags (/usr/bin/python3.8+0x47a5cb)
    #32 0x4247dc in _init (/usr/bin/python3.8+0x4247dc)
    #33 0x5fb9b8 in Py_BytesMain (/usr/bin/python3.8+0x5fb9b8)
    #34 0x7fa68134783f in __libc_start_main /build/glibc-S7Ft5T/glibc-2.23/csu/../csu/libc-start.c:291
    #35 0x5fb8b8 in _start (/usr/bin/python3.8+0x5fb8b8)
0x7fa528e9b800 is located 0 bytes to the right of 524288000-byte region [0x7fa509a9b800,0x7fa528e9b800)
allocated by thread T0 here:
    #0 0x7fa6825989b7 in posix_memalign (/home/work/wangying/paddlepaddle/pdpd_fuzz_protobuf/pdpd-env/clang_pd_fuzz_env/lib/python3.8/site-packages/asan_with_fuzzer.so+0x1379b7)
    #1 0x7fa5d1583759 in paddle::memory::detail::AlignedMalloc(unsigned long) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/memory/allocation/system_allocator.cc:66:15
    #2 0x7fa5d1584cca in paddle::memory::detail::CPUAllocator::Alloc(unsigned long*, unsigned long) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/memory/allocation/system_allocator.cc:87:13
    #3 0x7fa5d157d5ee in paddle::memory::detail::BuddyAllocator::RefillPool(unsigned long) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/memory/allocation/buddy_allocator.cc:270:32
    #4 0x7fa5d157c569 in paddle::memory::detail::BuddyAllocator::Alloc(unsigned long) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/memory/allocation/buddy_allocator.cc:118:10
    #5 0x7fa5d1564b43 in void* paddle::memory::legacy::Alloc<phi::CPUPlace>(phi::CPUPlace const&, unsigned long) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/memory/allocation/naive_best_fit_allocator.cc:91:37
    #6 0x7fa5d156e181 in void* paddle::memory::legacy::AllocVisitor::operator()<phi::CPUPlace>(phi::CPUPlace const&) const /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/memory/allocation/naive_best_fit_allocator.cc:902:12
    #7 0x7fa5d156e181 in paddle::memory::legacy::AllocVisitor::result_type paddle::platform::VisitPlace<paddle::memory::legacy::AllocVisitor>(phi::Place const&, paddle::memory::legacy::AllocVisitor const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/platform/place.h:148:14
    #8 0x7fa5d156dba5 in paddle::memory::allocation::NaiveBestFitAllocator::AllocateImpl(unsigned long) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/memory/allocation/naive_best_fit_allocator.cc:956:15
    #9 0x7fa5d152bda5 in paddle::memory::allocation::Allocator::Allocate(unsigned long) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/memory/allocation/allocator.h:150:16
    #10 0x7fa5d152f4f2 in paddle::memory::allocation::StatAllocator::AllocateImpl(unsigned long) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/memory/allocation/stat_allocator.h:51:32
    #11 0x7fa5d152bda5 in paddle::memory::allocation::Allocator::Allocate(unsigned long) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/memory/allocation/allocator.h:150:16
    #12 0x7fa5d1521743 in paddle::memory::allocation::AllocatorFacade::Alloc(phi::Place const&, unsigned long) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/memory/allocation/allocator_facade.cc:1059:51
    #13 0x7fa5d1521743 in paddle::memory::allocation::AllocatorFacade::AllocShared(phi::Place const&, unsigned long) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/memory/allocation/allocator_facade.cc:1054:43
    #14 0x7fa5d14d1b00 in paddle::memory::AllocShared(phi::Place const&, unsigned long) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/memory/malloc.cc:26:50
    #15 0x7fa5d0caf23a in phi::DenseTensor::mutable_data(phi::Place const&, paddle::experimental::DataType, unsigned long) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/core/dense_tensor_impl.cc:114:15
    #16 0x7fa5ba81ebf0 in void paddle::pybind::SetTensorFromPyArrayT<float, phi::CPUPlace>(phi::DenseTensor*, pybind11::array_t<float, 17> const&, phi::CPUPlace const&, bool) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/pybind/tensor_py.h:382:24
    #17 0x7fa5ba7d9d37 in void paddle::pybind::SetTensorFromPyArray<phi::CPUPlace>(phi::DenseTensor*, pybind11::object const&, phi::CPUPlace const&, bool) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/pybind/tensor_py.h:511:5
    #18 0x7fa5ba7d85d1 in paddle::pybind::InitTensorWithNumpyValue(paddle::pybind::TensorObject*, pybind11::object const&, phi::Place const&, bool) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/pybind/eager.cc:143:5
    #19 0x7fa5ba7f56df in paddle::pybind::AutoInitTensorByPyArray(paddle::pybind::TensorObject*, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, _object*, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, _object*> > >, _object*, bool, long) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/pybind/eager.cc:382:3
    #20 0x7fa5ba8066fa in paddle::pybind::TensorInit(_object*, _object*, _object*) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/pybind/eager.cc:666:11
    #21 0x53a8b9  (/usr/bin/python3.8+0x53a8b9)
SUMMARY: AddressSanitizer: heap-buffer-overflow /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/kernels/cpu/accuracy_kernel.cc:57:11 in void phi::AccuracyRawKernel<float, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*)
Shadow bytes around the buggy address:
  0x0ff5251cb6b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0ff5251cb6c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0ff5251cb6d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0ff5251cb6e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0ff5251cb6f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
=>0x0ff5251cb700:[fa]fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0ff5251cb710: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0ff5251cb720: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0ff5251cb730: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0ff5251cb740: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0ff5251cb750: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07 
  Heap left redzone:       fa
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Container overflow:      fc
  Array cookie:            ac
  Intra object redzone:    bb
  ASan internal:           fe
  Left alloca redzone:     ca
  Right alloca redzone:    cb
  Shadow gap:              cc
==14502==ABORTING

@Ligoml
Copy link
Contributor Author

Ligoml commented Jan 18, 2023

Case4: paddle.linalg.norm

Reproduced Case:

import paddle
import numpy as np
array = np.array([83.9, 83.9, 83.9, 83.9, 83.9, 83.9, 83.9, 83.9,
                  1.1600963245594897e-15, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], dtype=np.float32)
x = paddle.to_tensor(np.reshape(array, [4, 4]), dtype='float32')
paddle.linalg.norm(x, p=-1, keepdim=True)

Stack Trace Message:

=================================================================
==201811==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7ffe5d9d20b8 at pc 0x7f4c47004f7c bp 0x7ffe5d9d2010 sp 0x7ffe5d9d2008
WRITE of size 8 at 0x7ffe5d9d20b8 thread T0
    #0 0x7f4c47004f7b in phi::PNormInferMeta(phi::MetaTensor const&, float, int, float, bool, bool, phi::MetaTensor*) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/infermeta/unary.cc:2638:15
    #1 0x7f4c40193eca in paddle::experimental::p_norm(paddle::experimental::Tensor const&, float, int, float, bool, bool) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/api/lib/api.cc:19797:3
    #2 0x7f4c3403e72f in p_norm_ad_func(paddle::experimental::Tensor const&, float, int, float, bool, bool) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/eager/api/generated/eager_generated/forwards/dygraph_functions.cc:32436:21
    #3 0x7f4c3048b4b8 in paddle::pybind::eager_api_p_norm(_object*, _object*, _object*) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/pybind/eager_op_function.cc:14334:78
    #4 0x5025f3 in PyCFunction_Call (/usr/bin/python3.8+0x5025f3)
    #5 0x500db4 in _PyObject_MakeTpCall (/usr/bin/python3.8+0x500db4)
    #6 0x566223 in _PyEval_EvalFrameDefault (/usr/bin/python3.8+0x566223)
    #7 0x55f470 in _PyEval_EvalCodeWithName (/usr/bin/python3.8+0x55f470)
    #8 0x5016c5 in _PyFunction_Vectorcall (/usr/bin/python3.8+0x5016c5)
    #9 0x5610ed in _PyEval_EvalFrameDefault (/usr/bin/python3.8+0x5610ed)
    #10 0x55f470 in _PyEval_EvalCodeWithName (/usr/bin/python3.8+0x55f470)
    #11 0x5016c5 in _PyFunction_Vectorcall (/usr/bin/python3.8+0x5016c5)
    #12 0x5610ed in _PyEval_EvalFrameDefault (/usr/bin/python3.8+0x5610ed)
    #13 0x55f470 in _PyEval_EvalCodeWithName (/usr/bin/python3.8+0x55f470)
    #14 0x55f102 in PyEval_EvalCode (/usr/bin/python3.8+0x55f102)
    #15 0x62a1ef  (/usr/bin/python3.8+0x62a1ef)
    #16 0x62a179  (/usr/bin/python3.8+0x62a179)
    #17 0x47a7f2  (/usr/bin/python3.8+0x47a7f2)
    #18 0x47a5cb in PyRun_SimpleFileExFlags (/usr/bin/python3.8+0x47a5cb)
    #19 0x4247dc in _init (/usr/bin/python3.8+0x4247dc)
    #20 0x5fb9b8 in Py_BytesMain (/usr/bin/python3.8+0x5fb9b8)
    #21 0x7f4cf781283f in __libc_start_main /build/glibc-S7Ft5T/glibc-2.23/csu/../csu/libc-start.c:291
    #22 0x5fb8b8 in _start (/usr/bin/python3.8+0x5fb8b8)
Address 0x7ffe5d9d20b8 is located in stack of thread T0 at offset 152 in frame
    #0 0x7f4c47002e4f in phi::PNormInferMeta(phi::MetaTensor const&, float, int, float, bool, bool, phi::MetaTensor*) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/infermeta/unary.cc:2597
  This frame has 26 object(s):
    [32, 40) '__dnew.i.i.i.i.i303'
    [64, 72) '__dnew.i.i.i.i282'
    [96, 104) '__dnew.i.i.i.i.i'
    [128, 136) '__dnew.i.i.i.i'
    [160, 240) 'x_dim' (line 2598) <== Memory access at offset 152 underflows this variable
    [272, 276) '__val1' (line 2601)
    [288, 292) '__val2' (line 2601)
    [304, 344) '__summary__' (line 2601)
    [384, 464) 'agg.tmp'
    [496, 528) '__message__' (line 2601)
    [560, 592) 'ref.tmp' (line 2601)
    [624, 656) 'ref.tmp7' (line 2601)
    [688, 728) 'ref.tmp15' (line 2601)
    [768, 800) 'agg.tmp19'
    [832, 836) '__val140' (line 2610)
    [848, 852) '__val241' (line 2610)
    [864, 904) '__summary__51' (line 2610)
    [944, 1024) 'agg.tmp52'
    [1056, 1088) '__message__54' (line 2610)
    [1120, 1152) 'ref.tmp58' (line 2610)
    [1184, 1216) 'ref.tmp61' (line 2610)
    [1248, 1288) 'ref.tmp72' (line 2610)
    [1328, 1360) 'agg.tmp76'
    [1392, 1416) 'reduce_dims' (line 2620)
    [1456, 1536) 'ref.tmp120' (line 2627)
    [1568, 1648) 'ref.tmp168' (line 2643)
HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork
      (longjmp and C++ exceptions *are* supported)
SUMMARY: AddressSanitizer: stack-buffer-overflow /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/infermeta/unary.cc:2638:15 in phi::PNormInferMeta(phi::MetaTensor const&, float, int, float, bool, bool, phi::MetaTensor*)
Shadow bytes around the buggy address:
  0x10004bb323c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x10004bb323d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x10004bb323e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x10004bb323f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x10004bb32400: 00 00 00 00 f1 f1 f1 f1 f8 f2 f2 f2 f8 f2 f2 f2
=>0x10004bb32410: f8 f2 f2 f2 f8 f2 f2[f2]00 00 00 00 00 00 00 00
  0x10004bb32420: 00 00 f2 f2 f2 f2 f8 f2 f8 f2 f8 f8 f8 f8 f8 f2
  0x10004bb32430: f2 f2 f2 f2 00 00 00 00 00 00 00 00 00 00 f2 f2
  0x10004bb32440: f2 f2 f8 f8 f8 f8 f2 f2 f2 f2 f8 f8 f8 f8 f2 f2
  0x10004bb32450: f2 f2 f8 f8 f8 f8 f2 f2 f2 f2 f8 f8 f8 f8 f8 f2
  0x10004bb32460: f2 f2 f2 f2 00 00 00 00 f2 f2 f2 f2 f8 f2 f8 f2
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07 
  Heap left redzone:       fa
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Container overflow:      fc
  Array cookie:            ac
  Intra object redzone:    bb
  ASan internal:           fe
  Left alloca redzone:     ca
  Right alloca redzone:    cb
  Shadow gap:              cc
==201811==ABORTING

@Ligoml
Copy link
Contributor Author

Ligoml commented Jan 18, 2023

Case5: paddle.incubate.graph_reindex

Reproduced Case:

import paddle
import numpy as np
x = paddle.to_tensor([16], dtype='int32')
array = np.array([], dtype=np.float32)
y = paddle.to_tensor(np.reshape(array, [0]), dtype='int32')
layer = paddle.incubate.graph_reindex(x=x, neighbors=x, count=x, value_buffer=y, index_buffer=y, flag_buffer_hashtable=False)

Stack Trace Message:

=================================================================
==170500==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60200015d074 at pc 0x7f489ed74ff9 bp 0x7ffd7a6fe630 sp 0x7ffd7a6fe628
WRITE of size 4 at 0x60200015d074 thread T0
    #0 0x7f489ed74ff8 in void phi::GraphReindexKernel<int, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, paddle::optional<phi::DenseTensor> const&, paddle::optional<phi::DenseTensor> const&, bool, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/kernels/cpu/graph_reindex_kernel.cc:69:20
    #1 0x7f489ed818d4 in void phi::KernelImpl<void (*)(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, paddle::optional<phi::DenseTensor> const&, paddle::optional<phi::DenseTensor> const&, bool, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*), &(void phi::GraphReindexKernel<int, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, paddle::optional<phi::DenseTensor> const&, paddle::optional<phi::DenseTensor> const&, bool, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*))>::KernelCallHelper<phi::TypeTag<int> >::Compute<1, 5, 1, 3>(phi::KernelContext*, phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, paddle::optional<phi::DenseTensor> const&, paddle::optional<phi::DenseTensor> const&, bool&, phi::DenseTensor*&, phi::DenseTensor*&, phi::DenseTensor*&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/core/kernel_utils.h:334:14
    #2 0x7f489ed818d4 in void phi::KernelImpl<void (*)(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, paddle::optional<phi::DenseTensor> const&, paddle::optional<phi::DenseTensor> const&, bool, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*), &(void phi::GraphReindexKernel<int, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, paddle::optional<phi::DenseTensor> const&, paddle::optional<phi::DenseTensor> const&, bool, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*))>::KernelCallHelper<phi::DenseTensor*, phi::TypeTag<int> >::Compute<1, 5, 1, 2, phi::CPUContext const, phi::DenseTensor const, phi::DenseTensor const, phi::DenseTensor const, paddle::optional<phi::DenseTensor>, paddle::optional<phi::DenseTensor>, bool, phi::DenseTensor*, phi::DenseTensor*>(phi::KernelContext*, phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, paddle::optional<phi::DenseTensor>&, paddle::optional<phi::DenseTensor>&, bool&, phi::DenseTensor*&, phi::DenseTensor*&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/core/kernel_utils.h:312:3
    #3 0x7f489ed818d4 in void phi::KernelImpl<void (*)(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, paddle::optional<phi::DenseTensor> const&, paddle::optional<phi::DenseTensor> const&, bool, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*), &(void phi::GraphReindexKernel<int, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, paddle::optional<phi::DenseTensor> const&, paddle::optional<phi::DenseTensor> const&, bool, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*))>::KernelCallHelper<phi::DenseTensor*, phi::DenseTensor*, phi::TypeTag<int> >::Compute<1, 5, 1, 1, phi::CPUContext const, phi::DenseTensor const, phi::DenseTensor const, phi::DenseTensor const, paddle::optional<phi::DenseTensor>, paddle::optional<phi::DenseTensor>, bool, phi::DenseTensor*>(phi::KernelContext*, phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, paddle::optional<phi::DenseTensor>&, paddle::optional<phi::DenseTensor>&, bool&, phi::DenseTensor*&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/core/kernel_utils.h:312:3
    #4 0x7f489ed818d4 in void phi::KernelImpl<void (*)(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, paddle::optional<phi::DenseTensor> const&, paddle::optional<phi::DenseTensor> const&, bool, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*), &(void phi::GraphReindexKernel<int, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, paddle::optional<phi::DenseTensor> const&, paddle::optional<phi::DenseTensor> const&, bool, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*))>::KernelCallHelper<phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*, phi::TypeTag<int> >::Compute<1, 5, 1, 0, phi::CPUContext const, phi::DenseTensor const, phi::DenseTensor const, phi::DenseTensor const, paddle::optional<phi::DenseTensor>, paddle::optional<phi::DenseTensor>, bool>(phi::KernelContext*, phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, paddle::optional<phi::DenseTensor>&, paddle::optional<phi::DenseTensor>&, bool&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/core/kernel_utils.h:312:3
    #5 0x7f489ed818d4 in void phi::KernelImpl<void (*)(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, paddle::optional<phi::DenseTensor> const&, paddle::optional<phi::DenseTensor> const&, bool, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*), &(void phi::GraphReindexKernel<int, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, paddle::optional<phi::DenseTensor> const&, paddle::optional<phi::DenseTensor> const&, bool, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*))>::KernelCallHelper<bool, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*, phi::TypeTag<int> >::Compute<1, 5, 0, 0, phi::CPUContext const, phi::DenseTensor const, phi::DenseTensor const, phi::DenseTensor const, paddle::optional<phi::DenseTensor>, paddle::optional<phi::DenseTensor> >(phi::KernelContext*, phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, paddle::optional<phi::DenseTensor>&, paddle::optional<phi::DenseTensor>&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/core/kernel_utils.h:289:3
    #6 0x7f489ed818d4 in void phi::KernelImpl<void (*)(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, paddle::optional<phi::DenseTensor> const&, paddle::optional<phi::DenseTensor> const&, bool, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*), &(void phi::GraphReindexKernel<int, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, paddle::optional<phi::DenseTensor> const&, paddle::optional<phi::DenseTensor> const&, bool, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*))>::KernelCallHelper<paddle::optional<phi::DenseTensor> const&, bool, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*, phi::TypeTag<int> >::Compute<1, 4, 0, 0, phi::CPUContext const, phi::DenseTensor const, phi::DenseTensor const, phi::DenseTensor const, paddle::optional<phi::DenseTensor> >(phi::KernelContext*, phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, paddle::optional<phi::DenseTensor>&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/core/kernel_utils.h:264:3
    #7 0x7f489ed8136b in void phi::KernelImpl<void (*)(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, paddle::optional<phi::DenseTensor> const&, paddle::optional<phi::DenseTensor> const&, bool, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*), &(void phi::GraphReindexKernel<int, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, paddle::optional<phi::DenseTensor> const&, paddle::optional<phi::DenseTensor> const&, bool, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*))>::KernelCallHelper<paddle::optional<phi::DenseTensor> const&, paddle::optional<phi::DenseTensor> const&, bool, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*, phi::TypeTag<int> >::Compute<1, 3, 0, 0, phi::CPUContext const, phi::DenseTensor const, phi::DenseTensor const, phi::DenseTensor const>(phi::KernelContext*, phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/core/kernel_utils.h:264:3
    #8 0x7f489ed8136b in void phi::KernelImpl<void (*)(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, paddle::optional<phi::DenseTensor> const&, paddle::optional<phi::DenseTensor> const&, bool, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*), &(void phi::GraphReindexKernel<int, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, paddle::optional<phi::DenseTensor> const&, paddle::optional<phi::DenseTensor> const&, bool, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*))>::KernelCallHelper<phi::DenseTensor const&, paddle::optional<phi::DenseTensor> const&, paddle::optional<phi::DenseTensor> const&, bool, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*, phi::TypeTag<int> >::Compute<1, 2, 0, 0, phi::CPUContext const, phi::DenseTensor const, phi::DenseTensor const>(phi::KernelContext*, phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/core/kernel_utils.h:263:3
    #9 0x7f4899dcc504 in std::function<void (phi::KernelContext*)>::operator()(phi::KernelContext*) const /usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/std_function.h:687:14
    #10 0x7f4899dcc504 in phi::Kernel::operator()(phi::KernelContext*) const /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/core/kernel_factory.h:218:47
    #11 0x7f4899dcc504 in void paddle::imperative::PreparedOpRunPtImpl<egr::EagerVariable>(paddle::framework::OperatorBase const&, paddle::framework::OpKernelType const&, std::function<phi::KernelSignature (phi::ArgumentMappingContext const&)> const*, phi::KernelSignature const*, phi::KernelSignature const&, phi::Kernel const&, phi::DeviceContext*, paddle::imperative::details::NameVarMapTrait<egr::EagerVariable>::Type const&, paddle::imperative::details::NameVarMapTrait<egr::EagerVariable>::Type const&, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double>, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double> > > > const&, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double>, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double> > > > const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/imperative/prepared_operator.cc:696:5
    #12 0x7f4899dcc504 in paddle::imperative::PreparedOp::Run(std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<std::shared_ptr<egr::EagerVariable>, std::allocator<std::shared_ptr<egr::EagerVariable> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::vector<std::shared_ptr<egr::EagerVariable>, std::allocator<std::shared_ptr<egr::EagerVariable> > > > > > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<std::shared_ptr<egr::EagerVariable>, std::allocator<std::shared_ptr<egr::EagerVariable> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::vector<std::shared_ptr<egr::EagerVariable>, std::allocator<std::shared_ptr<egr::EagerVariable> > > > > > const&, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double>, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double> > > > const&, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double>, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double> > > > const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/imperative/prepared_operator.cc:784:5
    #13 0x7f488d8017f8 in void paddle::imperative::OpBaseRunImpl<egr::EagerVariable>(paddle::framework::OperatorBase const&, paddle::imperative::details::NameVarMapTrait<egr::EagerVariable>::Type const&, paddle::imperative::details::NameVarMapTrait<egr::EagerVariable>::Type const&, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double>, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double> > > > const&, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double>, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double> > > > const&, phi::Place const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/imperative/layer.cc:525:17
    #14 0x7f488d8017f8 in paddle::imperative::OpBase::Run(paddle::framework::OperatorBase const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<std::shared_ptr<egr::EagerVariable>, std::allocator<std::shared_ptr<egr::EagerVariable> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::vector<std::shared_ptr<egr::EagerVariable>, std::allocator<std::shared_ptr<egr::EagerVariable> > > > > > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<std::shared_ptr<egr::EagerVariable>, std::allocator<std::shared_ptr<egr::EagerVariable> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::vector<std::shared_ptr<egr::EagerVariable>, std::allocator<std::shared_ptr<egr::EagerVariable> > > > > > const&, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double>, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double> > > > const&, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double>, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double> > > > const&, phi::Place const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/imperative/layer.cc:560:3
    #15 0x7f488d856d56 in void paddle::imperative::Tracer::TraceOpImpl<egr::EagerVariable>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, paddle::imperative::details::NameVarMapTrait<egr::EagerVariable>::Type const&, paddle::imperative::details::NameVarMapTrait<egr::EagerVariable>::Type const&, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double>, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double> > > >&, phi::Place const&, bool, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double>, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double> > > >*, bool) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/imperative/tracer.cc:340:7
    #16 0x7f488d85f627 in paddle::imperative::Tracer::TraceOp(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<std::shared_ptr<egr::EagerVariable>, std::allocator<std::shared_ptr<egr::EagerVariable> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::vector<std::shared_ptr<egr::EagerVariable>, std::allocator<std::shared_ptr<egr::EagerVariable> > > > > > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<std::shared_ptr<egr::EagerVariable>, std::allocator<std::shared_ptr<egr::EagerVariable> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::vector<std::shared_ptr<egr::EagerVariable>, std::allocator<std::shared_ptr<egr::EagerVariable> > > > > > const&, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double>, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double> > > >&, phi::Place const&, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double>, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double> > > >*, bool, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/imperative/tracer.cc:432:3
    #17 0x7f488f90328d in graph_reindex_dygraph_function(paddle::experimental::Tensor const&, paddle::experimental::Tensor const&, paddle::experimental::Tensor const&, paddle::experimental::Tensor const&, paddle::experimental::Tensor const&, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double>, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double> > > > const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/eager/api/generated/fluid_generated/forwards/dygraph_forward_functions3.cc:4506:51
    #18 0x7f488ace2319 in paddle::pybind::eager_legacy_api_graph_reindex(_object*, _object*, _object*) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/pybind/eager_legacy_op_function.cc:5178:16
    #19 0x5025f3 in PyCFunction_Call (/usr/bin/python3.8+0x5025f3)
    #20 0x500db4 in _PyObject_MakeTpCall (/usr/bin/python3.8+0x500db4)
    #21 0x566223 in _PyEval_EvalFrameDefault (/usr/bin/python3.8+0x566223)
    #22 0x55f470 in _PyEval_EvalCodeWithName (/usr/bin/python3.8+0x55f470)
    #23 0x5016c5 in _PyFunction_Vectorcall (/usr/bin/python3.8+0x5016c5)
    #24 0x5610ed in _PyEval_EvalFrameDefault (/usr/bin/python3.8+0x5610ed)
    #25 0x55f470 in _PyEval_EvalCodeWithName (/usr/bin/python3.8+0x55f470)
    #26 0x55f102 in PyEval_EvalCode (/usr/bin/python3.8+0x55f102)
    #27 0x62a1ef  (/usr/bin/python3.8+0x62a1ef)
    #28 0x62a179  (/usr/bin/python3.8+0x62a179)
    #29 0x47a7f2  (/usr/bin/python3.8+0x47a7f2)
    #30 0x47a5cb in PyRun_SimpleFileExFlags (/usr/bin/python3.8+0x47a5cb)
    #31 0x4247dc in _init (/usr/bin/python3.8+0x4247dc)
    #32 0x5fb9b8 in Py_BytesMain (/usr/bin/python3.8+0x5fb9b8)
    #33 0x7f4951d3483f in __libc_start_main /build/glibc-S7Ft5T/glibc-2.23/csu/../csu/libc-start.c:291
    #34 0x5fb8b8 in _start (/usr/bin/python3.8+0x5fb8b8)
0x60200015d074 is located 0 bytes to the right of 4-byte region [0x60200015d070,0x60200015d074)
allocated by thread T0 here:
    #0 0x7f4952f84efd in malloc (/home/work/wangying/paddlepaddle/pdpd_fuzz_protobuf/pdpd-env/clang_pd_fuzz_env/lib/python3.8/site-packages/asan_with_fuzzer.so+0x136efd)
    #1 0x7f49519d5f64 in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libstdc++.so.6+0xa5f64)
    #2 0x7f489ed818d4 in void phi::KernelImpl<void (*)(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, paddle::optional<phi::DenseTensor> const&, paddle::optional<phi::DenseTensor> const&, bool, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*), &(void phi::GraphReindexKernel<int, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, paddle::optional<phi::DenseTensor> const&, paddle::optional<phi::DenseTensor> const&, bool, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*))>::KernelCallHelper<phi::TypeTag<int> >::Compute<1, 5, 1, 3>(phi::KernelContext*, phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, paddle::optional<phi::DenseTensor> const&, paddle::optional<phi::DenseTensor> const&, bool&, phi::DenseTensor*&, phi::DenseTensor*&, phi::DenseTensor*&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/core/kernel_utils.h:334:14
    #3 0x7f489ed818d4 in void phi::KernelImpl<void (*)(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, paddle::optional<phi::DenseTensor> const&, paddle::optional<phi::DenseTensor> const&, bool, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*), &(void phi::GraphReindexKernel<int, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, paddle::optional<phi::DenseTensor> const&, paddle::optional<phi::DenseTensor> const&, bool, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*))>::KernelCallHelper<phi::DenseTensor*, phi::TypeTag<int> >::Compute<1, 5, 1, 2, phi::CPUContext const, phi::DenseTensor const, phi::DenseTensor const, phi::DenseTensor const, paddle::optional<phi::DenseTensor>, paddle::optional<phi::DenseTensor>, bool, phi::DenseTensor*, phi::DenseTensor*>(phi::KernelContext*, phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, paddle::optional<phi::DenseTensor>&, paddle::optional<phi::DenseTensor>&, bool&, phi::DenseTensor*&, phi::DenseTensor*&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/core/kernel_utils.h:312:3
    #4 0x7f489ed818d4 in void phi::KernelImpl<void (*)(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, paddle::optional<phi::DenseTensor> const&, paddle::optional<phi::DenseTensor> const&, bool, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*), &(void phi::GraphReindexKernel<int, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, paddle::optional<phi::DenseTensor> const&, paddle::optional<phi::DenseTensor> const&, bool, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*))>::KernelCallHelper<phi::DenseTensor*, phi::DenseTensor*, phi::TypeTag<int> >::Compute<1, 5, 1, 1, phi::CPUContext const, phi::DenseTensor const, phi::DenseTensor const, phi::DenseTensor const, paddle::optional<phi::DenseTensor>, paddle::optional<phi::DenseTensor>, bool, phi::DenseTensor*>(phi::KernelContext*, phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, paddle::optional<phi::DenseTensor>&, paddle::optional<phi::DenseTensor>&, bool&, phi::DenseTensor*&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/core/kernel_utils.h:312:3
    #5 0x7f489ed818d4 in void phi::KernelImpl<void (*)(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, paddle::optional<phi::DenseTensor> const&, paddle::optional<phi::DenseTensor> const&, bool, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*), &(void phi::GraphReindexKernel<int, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, paddle::optional<phi::DenseTensor> const&, paddle::optional<phi::DenseTensor> const&, bool, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*))>::KernelCallHelper<phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*, phi::TypeTag<int> >::Compute<1, 5, 1, 0, phi::CPUContext const, phi::DenseTensor const, phi::DenseTensor const, phi::DenseTensor const, paddle::optional<phi::DenseTensor>, paddle::optional<phi::DenseTensor>, bool>(phi::KernelContext*, phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, paddle::optional<phi::DenseTensor>&, paddle::optional<phi::DenseTensor>&, bool&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/core/kernel_utils.h:312:3
    #6 0x7f489ed818d4 in void phi::KernelImpl<void (*)(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, paddle::optional<phi::DenseTensor> const&, paddle::optional<phi::DenseTensor> const&, bool, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*), &(void phi::GraphReindexKernel<int, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, paddle::optional<phi::DenseTensor> const&, paddle::optional<phi::DenseTensor> const&, bool, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*))>::KernelCallHelper<bool, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*, phi::TypeTag<int> >::Compute<1, 5, 0, 0, phi::CPUContext const, phi::DenseTensor const, phi::DenseTensor const, phi::DenseTensor const, paddle::optional<phi::DenseTensor>, paddle::optional<phi::DenseTensor> >(phi::KernelContext*, phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, paddle::optional<phi::DenseTensor>&, paddle::optional<phi::DenseTensor>&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/core/kernel_utils.h:289:3
    #7 0x7f489ed818d4 in void phi::KernelImpl<void (*)(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, paddle::optional<phi::DenseTensor> const&, paddle::optional<phi::DenseTensor> const&, bool, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*), &(void phi::GraphReindexKernel<int, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, paddle::optional<phi::DenseTensor> const&, paddle::optional<phi::DenseTensor> const&, bool, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*))>::KernelCallHelper<paddle::optional<phi::DenseTensor> const&, bool, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*, phi::TypeTag<int> >::Compute<1, 4, 0, 0, phi::CPUContext const, phi::DenseTensor const, phi::DenseTensor const, phi::DenseTensor const, paddle::optional<phi::DenseTensor> >(phi::KernelContext*, phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, paddle::optional<phi::DenseTensor>&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/core/kernel_utils.h:264:3
    #8 0x7f489ed8136b in void phi::KernelImpl<void (*)(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, paddle::optional<phi::DenseTensor> const&, paddle::optional<phi::DenseTensor> const&, bool, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*), &(void phi::GraphReindexKernel<int, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, paddle::optional<phi::DenseTensor> const&, paddle::optional<phi::DenseTensor> const&, bool, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*))>::KernelCallHelper<paddle::optional<phi::DenseTensor> const&, paddle::optional<phi::DenseTensor> const&, bool, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*, phi::TypeTag<int> >::Compute<1, 3, 0, 0, phi::CPUContext const, phi::DenseTensor const, phi::DenseTensor const, phi::DenseTensor const>(phi::KernelContext*, phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/core/kernel_utils.h:264:3
    #9 0x7f489ed8136b in void phi::KernelImpl<void (*)(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, paddle::optional<phi::DenseTensor> const&, paddle::optional<phi::DenseTensor> const&, bool, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*), &(void phi::GraphReindexKernel<int, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, paddle::optional<phi::DenseTensor> const&, paddle::optional<phi::DenseTensor> const&, bool, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*))>::KernelCallHelper<phi::DenseTensor const&, paddle::optional<phi::DenseTensor> const&, paddle::optional<phi::DenseTensor> const&, bool, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*, phi::TypeTag<int> >::Compute<1, 2, 0, 0, phi::CPUContext const, phi::DenseTensor const, phi::DenseTensor const>(phi::KernelContext*, phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/core/kernel_utils.h:263:3
    #10 0x7f4899dcc504 in std::function<void (phi::KernelContext*)>::operator()(phi::KernelContext*) const /usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/std_function.h:687:14
    #11 0x7f4899dcc504 in phi::Kernel::operator()(phi::KernelContext*) const /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/core/kernel_factory.h:218:47
    #12 0x7f4899dcc504 in void paddle::imperative::PreparedOpRunPtImpl<egr::EagerVariable>(paddle::framework::OperatorBase const&, paddle::framework::OpKernelType const&, std::function<phi::KernelSignature (phi::ArgumentMappingContext const&)> const*, phi::KernelSignature const*, phi::KernelSignature const&, phi::Kernel const&, phi::DeviceContext*, paddle::imperative::details::NameVarMapTrait<egr::EagerVariable>::Type const&, paddle::imperative::details::NameVarMapTrait<egr::EagerVariable>::Type const&, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double>, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double> > > > const&, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double>, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double> > > > const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/imperative/prepared_operator.cc:696:5
    #13 0x7f4899dcc504 in paddle::imperative::PreparedOp::Run(std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<std::shared_ptr<egr::EagerVariable>, std::allocator<std::shared_ptr<egr::EagerVariable> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::vector<std::shared_ptr<egr::EagerVariable>, std::allocator<std::shared_ptr<egr::EagerVariable> > > > > > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<std::shared_ptr<egr::EagerVariable>, std::allocator<std::shared_ptr<egr::EagerVariable> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::vector<std::shared_ptr<egr::EagerVariable>, std::allocator<std::shared_ptr<egr::EagerVariable> > > > > > const&, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double>, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double> > > > const&, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double>, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double> > > > const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/imperative/prepared_operator.cc:784:5
    #14 0x7f488d8017f8 in void paddle::imperative::OpBaseRunImpl<egr::EagerVariable>(paddle::framework::OperatorBase const&, paddle::imperative::details::NameVarMapTrait<egr::EagerVariable>::Type const&, paddle::imperative::details::NameVarMapTrait<egr::EagerVariable>::Type const&, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double>, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double> > > > const&, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double>, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double> > > > const&, phi::Place const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/imperative/layer.cc:525:17
    #15 0x7f488d8017f8 in paddle::imperative::OpBase::Run(paddle::framework::OperatorBase const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<std::shared_ptr<egr::EagerVariable>, std::allocator<std::shared_ptr<egr::EagerVariable> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::vector<std::shared_ptr<egr::EagerVariable>, std::allocator<std::shared_ptr<egr::EagerVariable> > > > > > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<std::shared_ptr<egr::EagerVariable>, std::allocator<std::shared_ptr<egr::EagerVariable> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::vector<std::shared_ptr<egr::EagerVariable>, std::allocator<std::shared_ptr<egr::EagerVariable> > > > > > const&, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double>, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double> > > > const&, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double>, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double> > > > const&, phi::Place const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/imperative/layer.cc:560:3
    #16 0x7f488d856d56 in void paddle::imperative::Tracer::TraceOpImpl<egr::EagerVariable>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, paddle::imperative::details::NameVarMapTrait<egr::EagerVariable>::Type const&, paddle::imperative::details::NameVarMapTrait<egr::EagerVariable>::Type const&, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double>, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double> > > >&, phi::Place const&, bool, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double>, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double> > > >*, bool) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/imperative/tracer.cc:340:7
    #17 0x7f488d85f627 in paddle::imperative::Tracer::TraceOp(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<std::shared_ptr<egr::EagerVariable>, std::allocator<std::shared_ptr<egr::EagerVariable> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::vector<std::shared_ptr<egr::EagerVariable>, std::allocator<std::shared_ptr<egr::EagerVariable> > > > > > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<std::shared_ptr<egr::EagerVariable>, std::allocator<std::shared_ptr<egr::EagerVariable> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::vector<std::shared_ptr<egr::EagerVariable>, std::allocator<std::shared_ptr<egr::EagerVariable> > > > > > const&, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double>, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double> > > >&, phi::Place const&, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double>, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double> > > >*, bool, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/imperative/tracer.cc:432:3
    #18 0x7f488f90328d in graph_reindex_dygraph_function(paddle::experimental::Tensor const&, paddle::experimental::Tensor const&, paddle::experimental::Tensor const&, paddle::experimental::Tensor const&, paddle::experimental::Tensor const&, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double>, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, paddle::variant<paddle::blank, int, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >, std::vector<float, std::allocator<float> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool, std::vector<bool, std::allocator<bool> >, paddle::framework::BlockDesc*, long, std::vector<paddle::framework::BlockDesc*, std::allocator<paddle::framework::BlockDesc*> >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> >, paddle::framework::VarDesc*, std::vector<paddle::framework::VarDesc*, std::allocator<paddle::framework::VarDesc*> >, double> > > > const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/eager/api/generated/fluid_generated/forwards/dygraph_forward_functions3.cc:4506:51
    #19 0x7f488ace2319 in paddle::pybind::eager_legacy_api_graph_reindex(_object*, _object*, _object*) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/pybind/eager_legacy_op_function.cc:5178:16
    #20 0x5025f3 in PyCFunction_Call (/usr/bin/python3.8+0x5025f3)
SUMMARY: AddressSanitizer: heap-buffer-overflow /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/kernels/cpu/graph_reindex_kernel.cc:69:20 in void phi::GraphReindexKernel<int, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, paddle::optional<phi::DenseTensor> const&, paddle::optional<phi::DenseTensor> const&, bool, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*)
Shadow bytes around the buggy address:
  0x0c04800239b0: fa fa fd fd fa fa fd fd fa fa fd fd fa fa 00 00
  0x0c04800239c0: fa fa 00 00 fa fa 00 00 fa fa fd fd fa fa fd fd
  0x0c04800239d0: fa fa fd fd fa fa fd fd fa fa fd fd fa fa fd fd
  0x0c04800239e0: fa fa 00 00 fa fa 00 00 fa fa 00 00 fa fa 00 00
  0x0c04800239f0: fa fa 00 00 fa fa 01 fa fa fa fd fa fa fa 04 fa
=>0x0c0480023a00: fa fa 00 00 fa fa 00 00 fa fa 04 fa fa fa[04]fa
  0x0c0480023a10: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c0480023a20: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c0480023a30: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c0480023a40: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c0480023a50: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07 
  Heap left redzone:       fa
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Container overflow:      fc
  Array cookie:            ac
  Intra object redzone:    bb
  ASan internal:           fe
  Left alloca redzone:     ca
  Right alloca redzone:    cb
  Shadow gap:              cc
==170500==ABORTING

@Ligoml
Copy link
Contributor Author

Ligoml commented Jan 18, 2023

Case6: paddle.incubate.optimizer.functional.minimize_lbfgs

Reproduced Case:

import paddle
import numpy as np
array = np.array([2.4], dtype=np.float32)
x = paddle.to_tensor(np.reshape(array, [1, 1]), dtype='float32')
layer = paddle.incubate.optimizer.functional.minimize_lbfgs(
    lambda x: paddle.dot(x, x), initial_position=x, tolerance_grad=0.0, initial_inverse_hessian_estimate=x)

Stack Trace Message:

=================================================================
==154039==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7ffc39daf3d8 at pc 0x7f6d61c45091 bp 0x7ffc39daf330 sp 0x7ffc39daf328
WRITE of size 8 at 0x7ffc39daf3d8 thread T0
    #0 0x7f6d61c45090 in phi::PNormInferMeta(phi::MetaTensor const&, float, int, float, bool, bool, phi::MetaTensor*) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/infermeta/unary.cc:2638:15
    #1 0x7f6d5add3eca in paddle::experimental::p_norm(paddle::experimental::Tensor const&, float, int, float, bool, bool) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/api/lib/api.cc:19797:3
    #2 0x7f6d4ec7e72f in p_norm_ad_func(paddle::experimental::Tensor const&, float, int, float, bool, bool) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/eager/api/generated/eager_generated/forwards/dygraph_functions.cc:32436:21
    #3 0x7f6d4b0cb4b8 in paddle::pybind::eager_api_p_norm(_object*, _object*, _object*) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/pybind/eager_op_function.cc:14334:78
    #4 0x5025f3 in PyCFunction_Call (/usr/bin/python3.8+0x5025f3)
    #5 0x500db4 in _PyObject_MakeTpCall (/usr/bin/python3.8+0x500db4)
    #6 0x566223 in _PyEval_EvalFrameDefault (/usr/bin/python3.8+0x566223)
    #7 0x55f470 in _PyEval_EvalCodeWithName (/usr/bin/python3.8+0x55f470)
    #8 0x5016c5 in _PyFunction_Vectorcall (/usr/bin/python3.8+0x5016c5)
    #9 0x5610ed in _PyEval_EvalFrameDefault (/usr/bin/python3.8+0x5610ed)
    #10 0x55f470 in _PyEval_EvalCodeWithName (/usr/bin/python3.8+0x55f470)
    #11 0x5016c5 in _PyFunction_Vectorcall (/usr/bin/python3.8+0x5016c5)
    #12 0x5610ed in _PyEval_EvalFrameDefault (/usr/bin/python3.8+0x5610ed)
    #13 0x55fa97 in _PyEval_EvalCodeWithName (/usr/bin/python3.8+0x55fa97)
    #14 0x5016c5 in _PyFunction_Vectorcall (/usr/bin/python3.8+0x5016c5)
    #15 0x50299d in PyVectorcall_Call (/usr/bin/python3.8+0x50299d)
    #16 0x5622a4 in _PyEval_EvalFrameDefault (/usr/bin/python3.8+0x5622a4)
    #17 0x55f470 in _PyEval_EvalCodeWithName (/usr/bin/python3.8+0x55f470)
    #18 0x5016c5 in _PyFunction_Vectorcall (/usr/bin/python3.8+0x5016c5)
    #19 0x5610ed in _PyEval_EvalFrameDefault (/usr/bin/python3.8+0x5610ed)
    #20 0x55fa97 in _PyEval_EvalCodeWithName (/usr/bin/python3.8+0x55fa97)
    #21 0x5016c5 in _PyFunction_Vectorcall (/usr/bin/python3.8+0x5016c5)
    #22 0x5610ed in _PyEval_EvalFrameDefault (/usr/bin/python3.8+0x5610ed)
    #23 0x55f470 in _PyEval_EvalCodeWithName (/usr/bin/python3.8+0x55f470)
    #24 0x55f102 in PyEval_EvalCode (/usr/bin/python3.8+0x55f102)
    #25 0x62a1ef  (/usr/bin/python3.8+0x62a1ef)
    #26 0x62a179  (/usr/bin/python3.8+0x62a179)
    #27 0x47a7f2  (/usr/bin/python3.8+0x47a7f2)
    #28 0x47a5cb in PyRun_SimpleFileExFlags (/usr/bin/python3.8+0x47a5cb)
    #29 0x4247dc in _init (/usr/bin/python3.8+0x4247dc)
    #30 0x5fb9b8 in Py_BytesMain (/usr/bin/python3.8+0x5fb9b8)
    #31 0x7f6e1245283f in __libc_start_main /build/glibc-S7Ft5T/glibc-2.23/csu/../csu/libc-start.c:291
    #32 0x5fb8b8 in _start (/usr/bin/python3.8+0x5fb8b8)
Address 0x7ffc39daf3d8 is located in stack of thread T0 at offset 152 in frame
    #0 0x7f6d61c42e4f in phi::PNormInferMeta(phi::MetaTensor const&, float, int, float, bool, bool, phi::MetaTensor*) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/infermeta/unary.cc:2597
  This frame has 26 object(s):
    [32, 40) '__dnew.i.i.i.i.i303'
    [64, 72) '__dnew.i.i.i.i282'
    [96, 104) '__dnew.i.i.i.i.i'
    [128, 136) '__dnew.i.i.i.i'
    [160, 240) 'x_dim' (line 2598) <== Memory access at offset 152 underflows this variable
    [272, 276) '__val1' (line 2601)
    [288, 292) '__val2' (line 2601)
    [304, 344) '__summary__' (line 2601)
    [384, 464) 'agg.tmp'
    [496, 528) '__message__' (line 2601)
    [560, 592) 'ref.tmp' (line 2601)
    [624, 656) 'ref.tmp7' (line 2601)
    [688, 728) 'ref.tmp15' (line 2601)
    [768, 800) 'agg.tmp19'
    [832, 836) '__val140' (line 2610)
    [848, 852) '__val241' (line 2610)
    [864, 904) '__summary__51' (line 2610)
    [944, 1024) 'agg.tmp52'
    [1056, 1088) '__message__54' (line 2610)
    [1120, 1152) 'ref.tmp58' (line 2610)
    [1184, 1216) 'ref.tmp61' (line 2610)
    [1248, 1288) 'ref.tmp72' (line 2610)
    [1328, 1360) 'agg.tmp76'
    [1392, 1416) 'reduce_dims' (line 2620)
    [1456, 1536) 'ref.tmp120' (line 2627)
    [1568, 1648) 'ref.tmp168' (line 2643)
HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork
      (longjmp and C++ exceptions *are* supported)
SUMMARY: AddressSanitizer: stack-buffer-overflow /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/infermeta/unary.cc:2638:15 in phi::PNormInferMeta(phi::MetaTensor const&, float, int, float, bool, bool, phi::MetaTensor*)
Shadow bytes around the buggy address:
  0x1000073ade20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x1000073ade30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x1000073ade40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x1000073ade50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x1000073ade60: 00 00 00 00 00 00 00 00 f1 f1 f1 f1 f8 f2 f2 f2
=>0x1000073ade70: f8 f2 f2 f2 f8 f2 f2 f2 f8 f2 f2[f2]00 00 00 00
  0x1000073ade80: 00 00 00 00 00 00 f2 f2 f2 f2 f8 f2 f8 f2 f8 f8
  0x1000073ade90: f8 f8 f8 f2 f2 f2 f2 f2 00 00 00 00 00 00 00 00
  0x1000073adea0: 00 00 f2 f2 f2 f2 f8 f8 f8 f8 f2 f2 f2 f2 f8 f8
  0x1000073adeb0: f8 f8 f2 f2 f2 f2 f8 f8 f8 f8 f2 f2 f2 f2 f8 f8
  0x1000073adec0: f8 f8 f8 f2 f2 f2 f2 f2 00 00 00 00 f2 f2 f2 f2
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07 
  Heap left redzone:       fa
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Container overflow:      fc
  Array cookie:            ac
  Intra object redzone:    bb
  ASan internal:           fe
  Left alloca redzone:     ca
  Right alloca redzone:    cb
  Shadow gap:              cc
==154039==ABORTING

@Ligoml
Copy link
Contributor Author

Ligoml commented Jan 18, 2023

Case7: paddle.distribution.StickBreakingTransform

Reproduced Case:

import paddle
import numpy as np
array = np.array([], dtype=np.float32)
x = paddle.to_tensor(np.reshape(array, [0, 0]), dtype='float32')
sb = paddle.distribution.StickBreakingTransform()
sb.forward(x)

Stack Trace Message:

=================================================================
==163592==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x7f1f3eb40800 at pc 0x7f1fe4fdd2fe bp 0x7ffc0e62c290 sp 0x7ffc0e62c288
WRITE of size 4 at 0x7f1f3eb40800 thread T0
    #0 0x7f1fe4fdd2fd in void phi::CumprodKernel<float, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const&, int, phi::DenseTensor*) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/kernels/cpu/cumprod_kernel.cc:48:25
    #1 0x7f1fdf7018d1 in paddle::experimental::cumprod(paddle::experimental::Tensor const&, int) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/api/lib/api.cc:10000:5
    #2 0x7f1fd33f61bd in cumprod_ad_func(paddle::experimental::Tensor const&, int) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/eager/api/generated/eager_generated/forwards/dygraph_functions.cc:17387:21
    #3 0x7f1fcfa0b6b9 in paddle::pybind::eager_api_cumprod(_object*, _object*, _object*) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/pybind/eager_op_function.cc:7304:46
    #4 0x5025f3 in PyCFunction_Call (/usr/bin/python3.8+0x5025f3)
    #5 0x500db4 in _PyObject_MakeTpCall (/usr/bin/python3.8+0x500db4)
    #6 0x566223 in _PyEval_EvalFrameDefault (/usr/bin/python3.8+0x566223)
    #7 0x55f470 in _PyEval_EvalCodeWithName (/usr/bin/python3.8+0x55f470)
    #8 0x5016c5 in _PyFunction_Vectorcall (/usr/bin/python3.8+0x5016c5)
    #9 0x560631 in _PyEval_EvalFrameDefault (/usr/bin/python3.8+0x560631)
    #10 0x50163a in _PyFunction_Vectorcall (/usr/bin/python3.8+0x50163a)
    #11 0x560631 in _PyEval_EvalFrameDefault (/usr/bin/python3.8+0x560631)
    #12 0x50163a in _PyFunction_Vectorcall (/usr/bin/python3.8+0x50163a)
    #13 0x560631 in _PyEval_EvalFrameDefault (/usr/bin/python3.8+0x560631)
    #14 0x55f470 in _PyEval_EvalCodeWithName (/usr/bin/python3.8+0x55f470)
    #15 0x55f102 in PyEval_EvalCode (/usr/bin/python3.8+0x55f102)
    #16 0x62a1ef  (/usr/bin/python3.8+0x62a1ef)
    #17 0x62a179  (/usr/bin/python3.8+0x62a179)
    #18 0x47a7f2  (/usr/bin/python3.8+0x47a7f2)
    #19 0x47a5cb in PyRun_SimpleFileExFlags (/usr/bin/python3.8+0x47a5cb)
    #20 0x4247dc in _init (/usr/bin/python3.8+0x4247dc)
    #21 0x5fb9b8 in Py_BytesMain (/usr/bin/python3.8+0x5fb9b8)
    #22 0x7f2096ef583f in __libc_start_main /build/glibc-S7Ft5T/glibc-2.23/csu/../csu/libc-start.c:291
    #23 0x5fb8b8 in _start (/usr/bin/python3.8+0x5fb8b8)
0x7f1f3eb40800 is located 0 bytes to the right of 524288000-byte region [0x7f1f1f740800,0x7f1f3eb40800)
allocated by thread T0 here:
    #0 0x7f20981469b7 in posix_memalign (/home/work/wangying/paddlepaddle/pdpd_fuzz_protobuf/pdpd-env/clang_pd_fuzz_env/lib/python3.8/site-packages/asan_with_fuzzer.so+0x1379b7)
    #1 0x7f1fe7131759 in paddle::memory::detail::AlignedMalloc(unsigned long) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/memory/allocation/system_allocator.cc:66:15
    #2 0x7f1fe7132cca in paddle::memory::detail::CPUAllocator::Alloc(unsigned long*, unsigned long) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/memory/allocation/system_allocator.cc:87:13
    #3 0x7f1fe712b5ee in paddle::memory::detail::BuddyAllocator::RefillPool(unsigned long) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/memory/allocation/buddy_allocator.cc:270:32
    #4 0x7f1fe712a569 in paddle::memory::detail::BuddyAllocator::Alloc(unsigned long) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/memory/allocation/buddy_allocator.cc:118:10
    #5 0x7f1fe7112b43 in void* paddle::memory::legacy::Alloc<phi::CPUPlace>(phi::CPUPlace const&, unsigned long) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/memory/allocation/naive_best_fit_allocator.cc:91:37
    #6 0x7f1fe711c181 in void* paddle::memory::legacy::AllocVisitor::operator()<phi::CPUPlace>(phi::CPUPlace const&) const /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/memory/allocation/naive_best_fit_allocator.cc:902:12
    #7 0x7f1fe711c181 in paddle::memory::legacy::AllocVisitor::result_type paddle::platform::VisitPlace<paddle::memory::legacy::AllocVisitor>(phi::Place const&, paddle::memory::legacy::AllocVisitor const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/platform/place.h:148:14
    #8 0x7f1fe711bba5 in paddle::memory::allocation::NaiveBestFitAllocator::AllocateImpl(unsigned long) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/memory/allocation/naive_best_fit_allocator.cc:956:15
    #9 0x7f1fe70d9da5 in paddle::memory::allocation::Allocator::Allocate(unsigned long) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/memory/allocation/allocator.h:150:16
    #10 0x7f1fe70dd4f2 in paddle::memory::allocation::StatAllocator::AllocateImpl(unsigned long) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/memory/allocation/stat_allocator.h:51:32
    #11 0x7f1fe70d9da5 in paddle::memory::allocation::Allocator::Allocate(unsigned long) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/memory/allocation/allocator.h:150:16
    #12 0x7f1fe688a7fe in phi::DenseTensor::AllocateFrom(phi::Allocator*, paddle::experimental::DataType, unsigned long) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/core/dense_tensor.cc:131:28
    #13 0x7f1fe70c28a3 in phi::DeviceContext::Impl::Alloc(phi::TensorBase*, phi::Place const&, paddle::experimental::DataType, unsigned long, bool) const /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/core/device_context.cc:149:20
    #14 0x7f1fe70b9fec in float* phi::DeviceContext::Impl::Alloc<float>(phi::TensorBase*, phi::Place const&, unsigned long, bool) const /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/core/device_context.cc:159:28
    #15 0x7f1fe70b9fec in float* phi::DeviceContext::Alloc<float>(phi::TensorBase*, unsigned long, bool) const /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/core/device_context.cc:333:17
    #16 0x7f1fe4644bf0 in void phi::SubtractRawKernel<float, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, int, phi::DenseTensor*) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/kernels/cpu/elementwise_subtract_kernel.cc:26:1
    #17 0x7f1fdf921ad2 in paddle::experimental::subtract(paddle::experimental::Tensor const&, paddle::experimental::Tensor const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/api/lib/api.cc:24211:5
    #18 0x7f1fd38817d1 in subtract_ad_func(paddle::experimental::Tensor const&, paddle::experimental::Tensor const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/eager/api/generated/eager_generated/forwards/dygraph_functions.cc:39392:21
    #19 0x7f1fcf7fd163 in paddle::pybind::tensor__sub__method(paddle::pybind::TensorObject*, _object*, _object*) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/pybind/eager_math_op_patch.cc:336:11
    #20 0x5e336a  (/usr/bin/python3.8+0x5e336a)
    #21 0x7f2082c7268f  (<unknown module>)
SUMMARY: AddressSanitizer: heap-buffer-overflow /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/kernels/cpu/cumprod_kernel.cc:48:25 in void phi::CumprodKernel<float, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const&, int, phi::DenseTensor*)
Shadow bytes around the buggy address:
  0x0fe467d600b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0fe467d600c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0fe467d600d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0fe467d600e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0fe467d600f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
=>0x0fe467d60100:[fa]fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0fe467d60110: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0fe467d60120: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0fe467d60130: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0fe467d60140: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0fe467d60150: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07 
  Heap left redzone:       fa
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Container overflow:      fc
  Array cookie:            ac
  Intra object redzone:    bb
  ASan internal:           fe
  Left alloca redzone:     ca
  Right alloca redzone:    cb
  Shadow gap:              cc
==163592==ABORTING

@Ligoml
Copy link
Contributor Author

Ligoml commented Jan 18, 2023

Case8: paddle.unique_consecutive

Reproduced Case:

import paddle
import numpy as np
array = np.array([1.1], dtype=np.float32)
x = paddle.to_tensor(np.reshape(array, [1]), dtype='float32')
paddle.unique_consecutive(x, axis=-1)

Stack Trace Message:

=================================================================
==188471==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60200015cdcc at pc 0x7f396e0565b1 bp 0x7ffe374c51b0 sp 0x7ffe374c51a8
WRITE of size 4 at 0x60200015cdcc thread T0
    #0 0x7f396e0565b0 in void phi::UniqueConsecutiveDim<phi::CPUContext, float, long>(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor*, bool, bool, int, phi::DenseTensor*, phi::DenseTensor*) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/kernels/cpu/unique_consecutive_functor.h:156:17
    #1 0x7f396e0565b0 in void phi::UniqueConsecutiveDimFunctor<phi::CPUContext, float>::apply<long>() const /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/kernels/cpu/unique_consecutive_functor.h:250:5
    #2 0x7f396e03ea17 in void paddle::framework::VisitDataTypeTiny<phi::UniqueConsecutiveDimFunctor<phi::CPUContext, float> >(paddle::framework::proto::VarType_Type, phi::UniqueConsecutiveDimFunctor<phi::CPUContext, float>) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/framework/data_type.h:200:3
    #3 0x7f396e03ea17 in void phi::UniqueConsecutiveKernel<float, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const&, bool, bool, std::vector<int, std::allocator<int> > const&, int, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/kernels/cpu/unique_consecutive_kernel.cc:55:5
    #4 0x7f396d34e6c8 in paddle::experimental::unique_consecutive(paddle::experimental::Tensor const&, bool, bool, std::vector<int, std::allocator<int> > const&, int) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/api/lib/api.cc:25672:5
    #5 0x7f39612ef8ec in unique_consecutive_ad_func(paddle::experimental::Tensor const&, bool, bool, std::vector<int, std::allocator<int> >, int) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/eager/api/generated/eager_generated/forwards/dygraph_functions.cc:41873:21
    #6 0x7f395d640613 in paddle::pybind::eager_api_unique_consecutive(_object*, _object*, _object*) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/pybind/eager_op_function.cc:18624:93
    #7 0x5025f3 in PyCFunction_Call (/usr/bin/python3.8+0x5025f3)
    #8 0x500db4 in _PyObject_MakeTpCall (/usr/bin/python3.8+0x500db4)
    #9 0x566223 in _PyEval_EvalFrameDefault (/usr/bin/python3.8+0x566223)
    #10 0x55f470 in _PyEval_EvalCodeWithName (/usr/bin/python3.8+0x55f470)
    #11 0x5016c5 in _PyFunction_Vectorcall (/usr/bin/python3.8+0x5016c5)
    #12 0x5610ed in _PyEval_EvalFrameDefault (/usr/bin/python3.8+0x5610ed)
    #13 0x55f470 in _PyEval_EvalCodeWithName (/usr/bin/python3.8+0x55f470)
    #14 0x55f102 in PyEval_EvalCode (/usr/bin/python3.8+0x55f102)
    #15 0x62a1ef  (/usr/bin/python3.8+0x62a1ef)
    #16 0x62a179  (/usr/bin/python3.8+0x62a179)
    #17 0x47a7f2  (/usr/bin/python3.8+0x47a7f2)
    #18 0x47a5cb in PyRun_SimpleFileExFlags (/usr/bin/python3.8+0x47a5cb)
    #19 0x4247dc in _init (/usr/bin/python3.8+0x4247dc)
    #20 0x5fb9b8 in Py_BytesMain (/usr/bin/python3.8+0x5fb9b8)
    #21 0x7f3a24f1783f in __libc_start_main /build/glibc-S7Ft5T/glibc-2.23/csu/../csu/libc-start.c:291
    #22 0x5fb8b8 in _start (/usr/bin/python3.8+0x5fb8b8)
0x60200015cdcc is located 4 bytes to the left of 4-byte region [0x60200015cdd0,0x60200015cdd4)
allocated by thread T0 here:
    #0 0x7f3a26167efd in malloc (/home/work/wangying/paddlepaddle/pdpd_fuzz_protobuf/pdpd-env/clang_pd_fuzz_env/lib/python3.8/site-packages/asan_with_fuzzer.so+0x136efd)
    #1 0x7f3a24bb8f64 in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libstdc++.so.6+0xa5f64)
    #2 0x7f396e03ea17 in void paddle::framework::VisitDataTypeTiny<phi::UniqueConsecutiveDimFunctor<phi::CPUContext, float> >(paddle::framework::proto::VarType_Type, phi::UniqueConsecutiveDimFunctor<phi::CPUContext, float>) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/framework/data_type.h:200:3
    #3 0x7f396e03ea17 in void phi::UniqueConsecutiveKernel<float, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const&, bool, bool, std::vector<int, std::allocator<int> > const&, int, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/kernels/cpu/unique_consecutive_kernel.cc:55:5
    #4 0x7f396d34e6c8 in paddle::experimental::unique_consecutive(paddle::experimental::Tensor const&, bool, bool, std::vector<int, std::allocator<int> > const&, int) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/api/lib/api.cc:25672:5
    #5 0x7f39612ef8ec in unique_consecutive_ad_func(paddle::experimental::Tensor const&, bool, bool, std::vector<int, std::allocator<int> >, int) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/eager/api/generated/eager_generated/forwards/dygraph_functions.cc:41873:21
    #6 0x7f395d640613 in paddle::pybind::eager_api_unique_consecutive(_object*, _object*, _object*) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/pybind/eager_op_function.cc:18624:93
    #7 0x5025f3 in PyCFunction_Call (/usr/bin/python3.8+0x5025f3)
SUMMARY: AddressSanitizer: heap-buffer-overflow /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/kernels/cpu/unique_consecutive_functor.h:156:17 in void phi::UniqueConsecutiveDim<phi::CPUContext, float, long>(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor*, bool, bool, int, phi::DenseTensor*, phi::DenseTensor*)
Shadow bytes around the buggy address:
  0x0c0480023960: fa fa fd fa fa fa fd fa fa fa 00 00 fa fa fd fa
  0x0c0480023970: fa fa fd fa fa fa fd fd fa fa fd fa fa fa fd fa
  0x0c0480023980: fa fa fd fa fa fa 00 fa fa fa fd fd fa fa 00 fa
  0x0c0480023990: fa fa 00 00 fa fa fd fd fa fa 00 00 fa fa fd fd
  0x0c04800239a0: fa fa 04 fa fa fa fd fa fa fa fd fa fa fa 04 fa
=>0x0c04800239b0: fa fa 01 fa fa fa fd fa fa[fa]04 fa fa fa fa fa
  0x0c04800239c0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c04800239d0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c04800239e0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c04800239f0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c0480023a00: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07 
  Heap left redzone:       fa
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Container overflow:      fc
  Array cookie:            ac
  Intra object redzone:    bb
  ASan internal:           fe
  Left alloca redzone:     ca
  Right alloca redzone:    cb
  Shadow gap:              cc
==188471==ABORTING

@Ligoml
Copy link
Contributor Author

Ligoml commented Jan 18, 2023

Case9: paddle.repeat_interleave

Reproduced Case:

import paddle
import numpy as np
array = np.array([1.1], dtype=np.float32)
x = paddle.to_tensor(np.reshape(array, [1]), dtype='float32')
paddle.repeat_interleave(x, repeats=1, axis=-1)

Stack Trace Message:

=================================================================
==48530==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7ffdfabcbd38 at pc 0x7fdac2a552b9 bp 0x7ffdfabcbc50 sp 0x7ffdfabcbc48
READ of size 8 at 0x7ffdfabcbd38 thread T0
    #0 0x7fdac2a552b8 in phi::DDim::operator[](int) const /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/core/ddim.h:96:53
    #1 0x7fdac2a552b8 in phi::RepeatInterleaveInferMeta(phi::MetaTensor const&, int, int, phi::MetaTensor*) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/infermeta/unary.cc:3023:21
    #2 0x7fdabbc02913 in paddle::experimental::repeat_interleave(paddle::experimental::Tensor const&, int, int) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/api/lib/api.cc:21222:3
    #3 0x7fdaafaf81a0 in repeat_interleave_ad_func(paddle::experimental::Tensor const&, int, int) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/eager/api/generated/eager_generated/forwards/dygraph_functions.cc:34852:21
    #4 0x7fdaabf0448c in paddle::pybind::eager_api_repeat_interleave(_object*, _object*, _object*) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/pybind/eager_op_function.cc:15509:65
    #5 0x5025f3 in PyCFunction_Call (/usr/bin/python3.8+0x5025f3)
    #6 0x500db4 in _PyObject_MakeTpCall (/usr/bin/python3.8+0x500db4)
    #7 0x566223 in _PyEval_EvalFrameDefault (/usr/bin/python3.8+0x566223)
    #8 0x55f470 in _PyEval_EvalCodeWithName (/usr/bin/python3.8+0x55f470)
    #9 0x5016c5 in _PyFunction_Vectorcall (/usr/bin/python3.8+0x5016c5)
    #10 0x5610ed in _PyEval_EvalFrameDefault (/usr/bin/python3.8+0x5610ed)
    #11 0x55f470 in _PyEval_EvalCodeWithName (/usr/bin/python3.8+0x55f470)
    #12 0x55f102 in PyEval_EvalCode (/usr/bin/python3.8+0x55f102)
    #13 0x62a1ef  (/usr/bin/python3.8+0x62a1ef)
    #14 0x62a179  (/usr/bin/python3.8+0x62a179)
    #15 0x47a7f2  (/usr/bin/python3.8+0x47a7f2)
    #16 0x47a5cb in PyRun_SimpleFileExFlags (/usr/bin/python3.8+0x47a5cb)
    #17 0x4247dc in _init (/usr/bin/python3.8+0x4247dc)
    #18 0x5fb9b8 in Py_BytesMain (/usr/bin/python3.8+0x5fb9b8)
    #19 0x7fdb7387983f in __libc_start_main /build/glibc-S7Ft5T/glibc-2.23/csu/../csu/libc-start.c:291
    #20 0x5fb8b8 in _start (/usr/bin/python3.8+0x5fb8b8)
Address 0x7ffdfabcbd38 is located in stack of thread T0 at offset 216 in frame
    #0 0x7fdac2a5335f in phi::RepeatInterleaveInferMeta(phi::MetaTensor const&, int, int, phi::MetaTensor*) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/infermeta/unary.cc:3000
  This frame has 31 object(s):
    [32, 40) '__dnew.i.i.i.i.i437'
    [64, 72) '__dnew.i.i.i.i416'
    [96, 104) '__dnew.i.i.i.i.i350'
    [128, 136) '__dnew.i.i.i.i329'
    [160, 168) '__dnew.i.i.i.i.i'
    [192, 200) '__dnew.i.i.i.i'
    [224, 304) 'ref.tmp' (line 3001) <== Memory access at offset 216 underflows this variable
    [336, 360) 'output_dim' (line 3002)
    [400, 401) '__val1' (line 3004)
    [416, 417) '__val2' (line 3004)
    [432, 472) '__summary__' (line 3004)
    [512, 544) '__message__' (line 3004)
    [576, 608) 'ref.tmp21' (line 3004)
    [640, 672) 'ref.tmp24' (line 3004)
    [704, 744) 'ref.tmp32' (line 3004)
    [784, 816) 'agg.tmp'
    [848, 849) '__val156' (line 3013)
    [864, 865) '__val259' (line 3013)
    [880, 920) '__summary__73' (line 3013)
    [960, 992) '__message__77' (line 3013)
    [1024, 1056) 'ref.tmp81' (line 3013)
    [1088, 1120) 'ref.tmp84' (line 3013)
    [1152, 1192) 'ref.tmp95' (line 3013)
    [1232, 1264) 'agg.tmp99'
    [1296, 1336) '__summary__138' (line 3018)
    [1376, 1408) '__message__142' (line 3018)
    [1440, 1448) 'ref.tmp146' (line 3018)
    [1472, 1480) 'ref.tmp150' (line 3018)
    [1504, 1544) 'ref.tmp159' (line 3018)
    [1584, 1616) 'agg.tmp163'
    [1648, 1728) 'ref.tmp196' (line 3024)
HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork
      (longjmp and C++ exceptions *are* supported)
SUMMARY: AddressSanitizer: stack-buffer-overflow /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/core/ddim.h:96:53 in phi::DDim::operator[](int) const
Shadow bytes around the buggy address:
  0x10003f571750: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x10003f571760: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x10003f571770: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x10003f571780: 00 00 00 00 00 00 00 00 00 00 00 00 f1 f1 f1 f1
  0x10003f571790: f8 f2 f2 f2 f8 f2 f2 f2 f8 f2 f2 f2 f8 f2 f2 f2
=>0x10003f5717a0: f8 f2 f2 f2 f8 f2 f2[f2]00 00 00 00 00 00 00 00
  0x10003f5717b0: 00 00 f2 f2 f2 f2 00 00 00 f2 f2 f2 f2 f2 f8 f2
  0x10003f5717c0: f8 f2 f8 f8 f8 f8 f8 f2 f2 f2 f2 f2 f8 f8 f8 f8
  0x10003f5717d0: f2 f2 f2 f2 f8 f8 f8 f8 f2 f2 f2 f2 f8 f8 f8 f8
  0x10003f5717e0: f2 f2 f2 f2 f8 f8 f8 f8 f8 f2 f2 f2 f2 f2 00 00
  0x10003f5717f0: 00 00 f2 f2 f2 f2 f8 f2 f8 f2 f8 f8 f8 f8 f8 f2
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07 
  Heap left redzone:       fa
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Container overflow:      fc
  Array cookie:            ac
  Intra object redzone:    bb
  ASan internal:           fe
  Left alloca redzone:     ca
  Right alloca redzone:    cb
  Shadow gap:              cc
==48530==ABORTING

@Ligoml
Copy link
Contributor Author

Ligoml commented Jan 18, 2023

Case10: paddle.unique

Reproduced Case:

import paddle
import numpy as np
array = np.array([1.1], dtype=np.float32)
x = paddle.to_tensor(np.reshape(array, [1]), dtype='float32')
paddle.unique(x, return_index=True, axis=-2)

Stack Trace Message:

=================================================================
==192320==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7ffd5754ceb8 at pc 0x7f7f82535e1c bp 0x7ffd5754c5d0 sp 0x7ffd5754c5c8
WRITE of size 8 at 0x7ffd5754ceb8 thread T0
    #0 0x7f7f82535e1b in phi::UniqueRawInferMeta(phi::MetaTensor const&, bool, bool, bool, std::vector<int, std::allocator<int> > const&, paddle::experimental::DataType, bool, phi::MetaTensor*, phi::MetaTensor*, phi::MetaTensor*, phi::MetaTensor*) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/infermeta/unary.cc:4531:26
    #1 0x7f7f82534009 in phi::UniqueInferMeta(phi::MetaTensor const&, bool, bool, bool, std::vector<int, std::allocator<int> > const&, paddle::experimental::DataType, phi::MetaTensor*, phi::MetaTensor*, phi::MetaTensor*, phi::MetaTensor*) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/infermeta/unary.cc:4477:3
    #2 0x7f7f7b7384e4 in paddle::experimental::unique(paddle::experimental::Tensor const&, bool, bool, bool, std::vector<int, std::allocator<int> > const&, paddle::experimental::DataType) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/api/lib/api.cc:25585:3
    #3 0x7f7f6f6d6e08 in unique_ad_func(paddle::experimental::Tensor const&, bool, bool, bool, std::vector<int, std::allocator<int> >, paddle::experimental::DataType) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/eager/api/generated/eager_generated/forwards/dygraph_functions.cc:41775:21
    #4 0x7f7f6ba2a212 in paddle::pybind::eager_api_unique(_object*, _object*, _object*) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/pybind/eager_op_function.cc:18567:94
    #5 0x5025f3 in PyCFunction_Call (/usr/bin/python3.8+0x5025f3)
    #6 0x500db4 in _PyObject_MakeTpCall (/usr/bin/python3.8+0x500db4)
    #7 0x566223 in _PyEval_EvalFrameDefault (/usr/bin/python3.8+0x566223)
    #8 0x55f470 in _PyEval_EvalCodeWithName (/usr/bin/python3.8+0x55f470)
    #9 0x5016c5 in _PyFunction_Vectorcall (/usr/bin/python3.8+0x5016c5)
    #10 0x5610ed in _PyEval_EvalFrameDefault (/usr/bin/python3.8+0x5610ed)
    #11 0x55f470 in _PyEval_EvalCodeWithName (/usr/bin/python3.8+0x55f470)
    #12 0x55f102 in PyEval_EvalCode (/usr/bin/python3.8+0x55f102)
    #13 0x62a1ef  (/usr/bin/python3.8+0x62a1ef)
    #14 0x62a179  (/usr/bin/python3.8+0x62a179)
    #15 0x47a7f2  (/usr/bin/python3.8+0x47a7f2)
    #16 0x47a5cb in PyRun_SimpleFileExFlags (/usr/bin/python3.8+0x47a5cb)
    #17 0x4247dc in _init (/usr/bin/python3.8+0x4247dc)
    #18 0x5fb9b8 in Py_BytesMain (/usr/bin/python3.8+0x5fb9b8)
    #19 0x7f8032cd983f in __libc_start_main /build/glibc-S7Ft5T/glibc-2.23/csu/../csu/libc-start.c:291
    #20 0x5fb8b8 in _start (/usr/bin/python3.8+0x5fb8b8)
Address 0x7ffd5754ceb8 is located in stack of thread T0 at offset 2264 in frame
    #0 0x7f7f8253402f in phi::UniqueRawInferMeta(phi::MetaTensor const&, bool, bool, bool, std::vector<int, std::allocator<int> > const&, paddle::experimental::DataType, bool, phi::MetaTensor*, phi::MetaTensor*, phi::MetaTensor*, phi::MetaTensor*) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/infermeta/unary.cc:4500
  This frame has 41 object(s):
    [32, 40) '__dnew.i.i.i.i.i347'
    [64, 72) '__dnew.i.i.i.i326'
    [96, 104) '__dnew.i.i.i.i.i'
    [128, 136) '__dnew.i.i.i.i'
    [160, 164) '__val1' (line 4502)
    [176, 256) 'ref.tmp' (line 4502)
    [288, 292) '__val2' (line 4502)
    [304, 344) '__summary__' (line 4502)
    [384, 464) 'ref.tmp8' (line 4502)
    [496, 528) '__message__' (line 4502)
    [560, 592) 'ref.tmp13' (line 4502)
    [624, 656) 'ref.tmp16' (line 4502)
    [688, 728) 'ref.tmp24' (line 4502)
    [768, 800) 'agg.tmp'
    [832, 912) 'ref.tmp47' (line 4508)
    [944, 952) 'ref.tmp49' (line 4508)
    [976, 1056) 'ref.tmp52' (line 4509)
    [1088, 1168) 'ref.tmp60' (line 4514)
    [1200, 1208) 'ref.tmp62' (line 4514)
    [1232, 1312) 'ref.tmp71' (line 4516)
    [1344, 1352) 'ref.tmp73' (line 4516)
    [1376, 1456) 'ref.tmp75' (line 4516)
    [1488, 1568) 'ref.tmp88' (line 4521)
    [1600, 1604) '__val194' (line 4523)
    [1616, 1620) '__val295' (line 4523)
    [1632, 1712) 'ref.tmp96' (line 4523)
    [1744, 1784) '__summary__109' (line 4523)
    [1824, 1904) 'ref.tmp110' (line 4523)
    [1936, 1968) '__message__115' (line 4523)
    [2000, 2032) 'ref.tmp119' (line 4523)
    [2064, 2096) 'ref.tmp122' (line 4523)
    [2128, 2168) 'ref.tmp133' (line 4523)
    [2208, 2240) 'agg.tmp137'
    [2272, 2352) 'out_dims' (line 4530) <== Memory access at offset 2264 underflows this variable
    [2384, 2464) 'ref.tmp171' (line 4534)
    [2496, 2504) 'ref.tmp173' (line 4534)
    [2528, 2608) 'ref.tmp175' (line 4534)
    [2640, 2720) 'ref.tmp189' (line 4538)
    [2752, 2760) 'ref.tmp191' (line 4538)
    [2784, 2864) 'ref.tmp201' (line 4541)
    [2896, 2904) 'ref.tmp203' (line 4541)
HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork
      (longjmp and C++ exceptions *are* supported)
SUMMARY: AddressSanitizer: stack-buffer-overflow /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/infermeta/unary.cc:4531:26 in phi::UniqueRawInferMeta(phi::MetaTensor const&, bool, bool, bool, std::vector<int, std::allocator<int> > const&, paddle::experimental::DataType, bool, phi::MetaTensor*, phi::MetaTensor*, phi::MetaTensor*, phi::MetaTensor*)
Shadow bytes around the buggy address:
  0x10002aea1980: f2 f2 f2 f2 f8 f2 f8 f2 f8 f8 f8 f8 f8 f8 f8 f8
  0x10002aea1990: f8 f8 f2 f2 f2 f2 f8 f8 f8 f8 f8 f2 f2 f2 f2 f2
  0x10002aea19a0: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f2 f2 f2 f2 f8 f8
  0x10002aea19b0: f8 f8 f2 f2 f2 f2 f8 f8 f8 f8 f2 f2 f2 f2 f8 f8
  0x10002aea19c0: f8 f8 f2 f2 f2 f2 f8 f8 f8 f8 f8 f2 f2 f2 f2 f2
=>0x10002aea19d0: 00 00 00 00 f2 f2 f2[f2]00 00 00 00 00 00 00 00
  0x10002aea19e0: 00 00 f2 f2 f2 f2 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8
  0x10002aea19f0: f2 f2 f2 f2 f8 f2 f2 f2 f8 f8 f8 f8 f8 f8 f8 f8
  0x10002aea1a00: f8 f8 f2 f2 f2 f2 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8
  0x10002aea1a10: f2 f2 f2 f2 f8 f2 f2 f2 f8 f8 f8 f8 f8 f8 f8 f8
  0x10002aea1a20: f8 f8 f2 f2 f2 f2 f8 f3 f3 f3 f3 f3 00 00 00 00
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07 
  Heap left redzone:       fa
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Container overflow:      fc
  Array cookie:            ac
  Intra object redzone:    bb
  ASan internal:           fe
  Left alloca redzone:     ca
  Right alloca redzone:    cb
  Shadow gap:              cc
==192320==ABORTING

@Ligoml
Copy link
Contributor Author

Ligoml commented Jan 18, 2023

Case11: paddle.topk

Reproduced Case:

import paddle
import numpy as np
array = np.array([1.1], dtype=np.float32)
x = paddle.to_tensor(np.reshape(array, [1]), dtype='float32')
paddle.topk(x, k=2162688, axis=0, largest=True)

Stack Trace Message:

=================================================================
==14539==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60200015ce20 at pc 0x7fb0adf472ae bp 0x7ffe77fe9310 sp 0x7ffe77fe9308
READ of size 4 at 0x60200015ce20 thread T0
    #0 0x7fb0adf472ad in bool __gnu_cxx::__ops::_Iter_comp_iter<void phi::FullTopK<float, long>(long, long, int, phi::DenseTensor const*, float*, long*, int const&, bool const&, bool const&)::'lambda1'(std::pair<float, long> const&, std::pair<float, long> const&)>::operator()<__gnu_cxx::__normal_iterator<std::pair<float, long>*, std::vector<std::pair<float, long>, std::allocator<std::pair<float, long> > > >, __gnu_cxx::__normal_iterator<std::pair<float, long>*, std::vector<std::pair<float, long>, std::allocator<std::pair<float, long> > > > >(float, long) /usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/predefined_ops.h:143:23
    #1 0x7fb0adf472ad in void std::__move_median_to_first<__gnu_cxx::__normal_iterator<std::pair<float, long>*, std::vector<std::pair<float, long>, std::allocator<std::pair<float, long> > > >, __gnu_cxx::__ops::_Iter_comp_iter<void phi::FullTopK<float, long>(long, long, int, phi::DenseTensor const*, float*, long*, int const&, bool const&, bool const&)::'lambda1'(std::pair<float, long> const&, std::pair<float, long> const&)> >(float, float, float, float, long) /usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/stl_algo.h:81:11
    #2 0x7fb0adf472ad in float std::__unguarded_partition_pivot<__gnu_cxx::__normal_iterator<std::pair<float, long>*, std::vector<std::pair<float, long>, std::allocator<std::pair<float, long> > > >, __gnu_cxx::__ops::_Iter_comp_iter<void phi::FullTopK<float, long>(long, long, int, phi::DenseTensor const*, float*, long*, int const&, bool const&, bool const&)::'lambda1'(std::pair<float, long> const&, std::pair<float, long> const&)> >(float, float, long) /usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/stl_algo.h:1921:7
    #3 0x7fb0adf472ad in void std::__introsort_loop<__gnu_cxx::__normal_iterator<std::pair<float, long>*, std::vector<std::pair<float, long>, std::allocator<std::pair<float, long> > > >, long, __gnu_cxx::__ops::_Iter_comp_iter<void phi::FullTopK<float, long>(long, long, int, phi::DenseTensor const*, float*, long*, int const&, bool const&, bool const&)::'lambda1'(std::pair<float, long> const&, std::pair<float, long> const&)> >(float, float, long, __gnu_cxx::__ops::_Iter_comp_iter<void phi::FullTopK<float, long>(long, long, int, phi::DenseTensor const*, float*, long*, int const&, bool const&, bool const&)::'lambda1'(std::pair<float, long> const&, std::pair<float, long> const&)>) /usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/stl_algo.h:1953:6
    #4 0x7fb0adf1a84f in void std::__sort<__gnu_cxx::__normal_iterator<std::pair<float, long>*, std::vector<std::pair<float, long>, std::allocator<std::pair<float, long> > > >, __gnu_cxx::__ops::_Iter_comp_iter<void phi::FullTopK<float, long>(long, long, int, phi::DenseTensor const*, float*, long*, int const&, bool const&, bool const&)::'lambda1'(std::pair<float, long> const&, std::pair<float, long> const&)> >(float, float, long) /usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/stl_algo.h:1968:4
    #5 0x7fb0adf1a84f in void std::sort<__gnu_cxx::__normal_iterator<std::pair<float, long>*, std::vector<std::pair<float, long>, std::allocator<std::pair<float, long> > > >, void phi::FullTopK<float, long>(long, long, int, phi::DenseTensor const*, float*, long*, int const&, bool const&, bool const&)::'lambda1'(std::pair<float, long> const&, std::pair<float, long> const&)>(float, float, long) /usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/stl_algo.h:4866:7
    #6 0x7fb0adf1a84f in void phi::FullTopK<float, long>(long, long, int, phi::DenseTensor const*, float*, long*, int const&, bool const&, bool const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/kernels/cpu/top_k_kernel.cc:84:11
    #7 0x7fb0adf15b49 in void phi::TopkKernel<float, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const&, paddle::experimental::ScalarBase<phi::DenseTensor> const&, int, bool, bool, phi::DenseTensor*, phi::DenseTensor*) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/kernels/cpu/top_k_kernel.cc:157:5
    #8 0x7fb0ad0d94c4 in paddle::experimental::topk(paddle::experimental::Tensor const&, paddle::experimental::ScalarBase<paddle::experimental::Tensor> const&, int, bool, bool) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/api/lib/api.cc:24861:5
    #9 0x7fb0a1057cda in topk_ad_func(paddle::experimental::Tensor const&, paddle::experimental::ScalarBase<paddle::experimental::Tensor>, int, bool, bool) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/eager/api/generated/eager_generated/forwards/dygraph_functions.cc:40664:21
    #10 0x7fb09d3c7dde in paddle::pybind::eager_api_topk(_object*, _object*, _object*) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/pybind/eager_op_function.cc:17940:61
    #11 0x5025f3 in PyCFunction_Call (/usr/bin/python3.8+0x5025f3)
    #12 0x500db4 in _PyObject_MakeTpCall (/usr/bin/python3.8+0x500db4)
    #13 0x566223 in _PyEval_EvalFrameDefault (/usr/bin/python3.8+0x566223)
    #14 0x55f470 in _PyEval_EvalCodeWithName (/usr/bin/python3.8+0x55f470)
    #15 0x5016c5 in _PyFunction_Vectorcall (/usr/bin/python3.8+0x5016c5)
    #16 0x5610ed in _PyEval_EvalFrameDefault (/usr/bin/python3.8+0x5610ed)
    #17 0x55f470 in _PyEval_EvalCodeWithName (/usr/bin/python3.8+0x55f470)
    #18 0x55f102 in PyEval_EvalCode (/usr/bin/python3.8+0x55f102)
    #19 0x62a1ef  (/usr/bin/python3.8+0x62a1ef)
    #20 0x62a179  (/usr/bin/python3.8+0x62a179)
    #21 0x47a7f2  (/usr/bin/python3.8+0x47a7f2)
    #22 0x47a5cb in PyRun_SimpleFileExFlags (/usr/bin/python3.8+0x47a5cb)
    #23 0x4247dc in _init (/usr/bin/python3.8+0x4247dc)
    #24 0x5fb9b8 in Py_BytesMain (/usr/bin/python3.8+0x5fb9b8)
    #25 0x7fb16469283f in __libc_start_main /build/glibc-S7Ft5T/glibc-2.23/csu/../csu/libc-start.c:291
    #26 0x5fb8b8 in _start (/usr/bin/python3.8+0x5fb8b8)
0x60200015ce20 is located 0 bytes to the right of 16-byte region [0x60200015ce10,0x60200015ce20)
allocated by thread T0 here:
    #0 0x7fb1658e2efd in malloc (/home/work/wangying/paddlepaddle/pdpd_fuzz_protobuf/pdpd-env/clang_pd_fuzz_env/lib/python3.8/site-packages/asan_with_fuzzer.so+0x136efd)
    #1 0x7fb164333f64 in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libstdc++.so.6+0xa5f64)
    #2 0x7fb0adf15b49 in void phi::TopkKernel<float, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const&, paddle::experimental::ScalarBase<phi::DenseTensor> const&, int, bool, bool, phi::DenseTensor*, phi::DenseTensor*) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/kernels/cpu/top_k_kernel.cc:157:5
    #3 0x7fb0ad0d94c4 in paddle::experimental::topk(paddle::experimental::Tensor const&, paddle::experimental::ScalarBase<paddle::experimental::Tensor> const&, int, bool, bool) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/api/lib/api.cc:24861:5
    #4 0x7fb0a1057cda in topk_ad_func(paddle::experimental::Tensor const&, paddle::experimental::ScalarBase<paddle::experimental::Tensor>, int, bool, bool) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/eager/api/generated/eager_generated/forwards/dygraph_functions.cc:40664:21
    #5 0x7fb09d3c7dde in paddle::pybind::eager_api_topk(_object*, _object*, _object*) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/pybind/eager_op_function.cc:17940:61
    #6 0x5025f3 in PyCFunction_Call (/usr/bin/python3.8+0x5025f3)
SUMMARY: AddressSanitizer: heap-buffer-overflow /usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/predefined_ops.h:143:23 in bool __gnu_cxx::__ops::_Iter_comp_iter<void phi::FullTopK<float, long>(long, long, int, phi::DenseTensor const*, float*, long*, int const&, bool const&, bool const&)::'lambda1'(std::pair<float, long> const&, std::pair<float, long> const&)>::operator()<__gnu_cxx::__normal_iterator<std::pair<float, long>*, std::vector<std::pair<float, long>, std::allocator<std::pair<float, long> > > >, __gnu_cxx::__normal_iterator<std::pair<float, long>*, std::vector<std::pair<float, long>, std::allocator<std::pair<float, long> > > > >(float, long)
Shadow bytes around the buggy address:
  0x0c0480023970: fa fa fd fa fa fa fd fa fa fa 00 00 fa fa fd fa
  0x0c0480023980: fa fa fd fa fa fa fd fd fa fa fd fa fa fa fd fa
  0x0c0480023990: fa fa fd fa fa fa 00 fa fa fa fd fd fa fa 00 fa
  0x0c04800239a0: fa fa 00 00 fa fa fd fd fa fa 00 00 fa fa fd fd
  0x0c04800239b0: fa fa 01 fa fa fa fd fa fa fa fd fd fa fa fd fd
=>0x0c04800239c0: fa fa 00 00[fa]fa fa fa fa fa fa fa fa fa fa fa
  0x0c04800239d0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c04800239e0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c04800239f0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c0480023a00: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c0480023a10: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07 
  Heap left redzone:       fa
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Container overflow:      fc
  Array cookie:            ac
  Intra object redzone:    bb
  ASan internal:           fe
  Left alloca redzone:     ca
  Right alloca redzone:    cb
  Shadow gap:              cc
==14539==ABORTING

@Ligoml
Copy link
Contributor Author

Ligoml commented Jan 18, 2023

Case11: paddle.transpose

Reproduced Case:

import paddle
import numpy as np
array = np.array([3.198396408832238e-16], dtype=np.float32)
x = paddle.to_tensor(np.reshape(array, [1]), dtype='float32')
paddle.transpose(x, perm=[1])

Stack Trace Message:

=================================================================
==51123==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60200015cd94 at pc 0x7f21613180d1 bp 0x7ffe4ba619f0 sp 0x7ffe4ba619e8
READ of size 4 at 0x60200015cd94 thread T0
    #0 0x7f21613180d0 in phi::TransposeInferMeta(phi::MetaTensor const&, std::vector<int, std::allocator<int> > const&, phi::MetaTensor*) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/infermeta/unary.cc:4103:5
    #1 0x7f215a51b12e in paddle::experimental::transpose(paddle::experimental::Tensor const&, std::vector<int, std::allocator<int> > const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/api/lib/api.cc:24918:3
    #2 0x7f214e49df82 in transpose_ad_func(paddle::experimental::Tensor const&, std::vector<int, std::allocator<int> >) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/eager/api/generated/eager_generated/forwards/dygraph_functions.cc:40802:21
    #3 0x7f214a809a34 in paddle::pybind::eager_api_transpose(_object*, _object*, _object*) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/pybind/eager_op_function.cc:17991:49
    #4 0x5025f3 in PyCFunction_Call (/usr/bin/python3.8+0x5025f3)
    #5 0x500db4 in _PyObject_MakeTpCall (/usr/bin/python3.8+0x500db4)
    #6 0x566223 in _PyEval_EvalFrameDefault (/usr/bin/python3.8+0x566223)
    #7 0x55f470 in _PyEval_EvalCodeWithName (/usr/bin/python3.8+0x55f470)
    #8 0x5016c5 in _PyFunction_Vectorcall (/usr/bin/python3.8+0x5016c5)
    #9 0x5610ed in _PyEval_EvalFrameDefault (/usr/bin/python3.8+0x5610ed)
    #10 0x55f470 in _PyEval_EvalCodeWithName (/usr/bin/python3.8+0x55f470)
    #11 0x55f102 in PyEval_EvalCode (/usr/bin/python3.8+0x55f102)
    #12 0x62a1ef  (/usr/bin/python3.8+0x62a1ef)
    #13 0x62a179  (/usr/bin/python3.8+0x62a179)
    #14 0x47a7f2  (/usr/bin/python3.8+0x47a7f2)
    #15 0x47a5cb in PyRun_SimpleFileExFlags (/usr/bin/python3.8+0x47a5cb)
    #16 0x4247dc in _init (/usr/bin/python3.8+0x4247dc)
    #17 0x5fb9b8 in Py_BytesMain (/usr/bin/python3.8+0x5fb9b8)
    #18 0x7f2211ad283f in __libc_start_main /build/glibc-S7Ft5T/glibc-2.23/csu/../csu/libc-start.c:291
    #19 0x5fb8b8 in _start (/usr/bin/python3.8+0x5fb8b8)
0x60200015cd94 is located 0 bytes to the right of 4-byte region [0x60200015cd90,0x60200015cd94)
allocated by thread T0 here:
    #0 0x7f2212d22efd in malloc (/home/work/wangying/paddlepaddle/pdpd_fuzz_protobuf/pdpd-env/clang_pd_fuzz_env/lib/python3.8/site-packages/asan_with_fuzzer.so+0x136efd)
    #1 0x7f2211773f64 in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libstdc++.so.6+0xa5f64)
    #2 0x7f215a51b12e in paddle::experimental::transpose(paddle::experimental::Tensor const&, std::vector<int, std::allocator<int> > const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/api/lib/api.cc:24918:3
    #3 0x7f214e49df82 in transpose_ad_func(paddle::experimental::Tensor const&, std::vector<int, std::allocator<int> >) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/eager/api/generated/eager_generated/forwards/dygraph_functions.cc:40802:21
    #4 0x7f214a809a34 in paddle::pybind::eager_api_transpose(_object*, _object*, _object*) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/pybind/eager_op_function.cc:17991:49
    #5 0x5025f3 in PyCFunction_Call (/usr/bin/python3.8+0x5025f3)
SUMMARY: AddressSanitizer: heap-buffer-overflow /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/infermeta/unary.cc:4103:5 in phi::TransposeInferMeta(phi::MetaTensor const&, std::vector<int, std::allocator<int> > const&, phi::MetaTensor*)
Shadow bytes around the buggy address:
  0x0c0480023960: fa fa fd fa fa fa fd fa fa fa 00 00 fa fa fd fa
  0x0c0480023970: fa fa fd fa fa fa fd fd fa fa fd fa fa fa fd fa
  0x0c0480023980: fa fa fd fa fa fa 00 fa fa fa fd fd fa fa 00 fa
  0x0c0480023990: fa fa 00 00 fa fa fd fd fa fa 00 00 fa fa fd fd
  0x0c04800239a0: fa fa 04 fa fa fa 04 fa fa fa 01 fa fa fa fd fa
=>0x0c04800239b0: fa fa[04]fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c04800239c0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c04800239d0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c04800239e0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c04800239f0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c0480023a00: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07 
  Heap left redzone:       fa
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Container overflow:      fc
  Array cookie:            ac
  Intra object redzone:    bb
  ASan internal:           fe
  Left alloca redzone:     ca
  Right alloca redzone:    cb
  Shadow gap:              cc
==51123==ABORTING

@Ligoml
Copy link
Contributor Author

Ligoml commented Jan 18, 2023

Case13: paddle.gather

Reproduced Case:

import paddle
import numpy as np
array = np.array([], dtype=np.float32)
x = paddle.to_tensor(np.reshape(array, [0]), dtype='float32')
index = paddle.to_tensor(np.reshape(array, [0]), dtype='int32')
paddle.gather(x, index, axis=512)
Code:
    int index_size = index_dims[0];
    std::vector<int> out_dim_vec;
    for (int i = 0; i < axis_v; i++) {
      out_dim_vec.push_back(input_dim[i]);  // axis = 512
    }

Stack Trace Message:

==52987==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7ffd0022fe90 at pc 0x7f524ab124fb bp 0x7ffd0022f990 sp 0x7ffd0022f988
READ of size 8 at 0x7ffd0022fe90 thread T0
    #0 0x7f524ab124fa in phi::GatherInferMeta(phi::MetaTensor const&, phi::MetaTensor const&, paddle::experimental::ScalarBase<phi::DenseTensor> const&, phi::MetaTensor*) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/infermeta/binary.cc:1286:29
    #1 0x7f5243cada7b in paddle::experimental::gather(paddle::experimental::Tensor const&, paddle::experimental::Tensor const&, paddle::experimental::ScalarBase<paddle::experimental::Tensor> const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/api/lib/api.cc:12729:3
    #2 0x7f5237a1e7ea in gather_ad_func(paddle::experimental::Tensor const&, paddle::experimental::Tensor const&, paddle::experimental::ScalarBase<paddle::experimental::Tensor>) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/eager/api/generated/eager_generated/forwards/dygraph_functions.cc:21725:21
    #3 0x7f5233fb9efe in paddle::pybind::eager_api_gather(_object*, _object*, _object*) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/pybind/eager_op_function.cc:9384:52
    #4 0x5025f3 in PyCFunction_Call (/usr/bin/python3.8+0x5025f3)
    #5 0x500db4 in _PyObject_MakeTpCall (/usr/bin/python3.8+0x500db4)
    #6 0x566223 in _PyEval_EvalFrameDefault (/usr/bin/python3.8+0x566223)
    #7 0x55f470 in _PyEval_EvalCodeWithName (/usr/bin/python3.8+0x55f470)
    #8 0x5016c5 in _PyFunction_Vectorcall (/usr/bin/python3.8+0x5016c5)
    #9 0x5610ed in _PyEval_EvalFrameDefault (/usr/bin/python3.8+0x5610ed)
    #10 0x55f470 in _PyEval_EvalCodeWithName (/usr/bin/python3.8+0x55f470)
    #11 0x55f102 in PyEval_EvalCode (/usr/bin/python3.8+0x55f102)
    #12 0x62a1ef  (/usr/bin/python3.8+0x62a1ef)
    #13 0x62a179  (/usr/bin/python3.8+0x62a179)
    #14 0x47a7f2  (/usr/bin/python3.8+0x47a7f2)
    #15 0x47a5cb in PyRun_SimpleFileExFlags (/usr/bin/python3.8+0x47a5cb)
    #16 0x4247dc in _init (/usr/bin/python3.8+0x4247dc)
    #17 0x5fb9b8 in Py_BytesMain (/usr/bin/python3.8+0x5fb9b8)
    #18 0x7f52fb44083f in __libc_start_main /build/glibc-S7Ft5T/glibc-2.23/csu/../csu/libc-start.c:291
    #19 0x5fb8b8 in _start (/usr/bin/python3.8+0x5fb8b8)
Address 0x7ffd0022fe90 is located in stack of thread T0 at offset 1264 in frame
    #0 0x7f524ab1059f in phi::GatherInferMeta(phi::MetaTensor const&, phi::MetaTensor const&, paddle::experimental::ScalarBase<phi::DenseTensor> const&, phi::MetaTensor*) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/infermeta/binary.cc:1253
  This frame has 25 object(s):
    [32, 40) '__dnew.i.i.i.i.i345'
    [64, 72) '__dnew.i.i.i.i324'
    [96, 104) '__dnew.i.i.i.i.i'
    [128, 136) '__dnew.i.i.i.i'
    [160, 240) 'index_dims' (line 1254)
    [272, 280) '__val1' (line 1257)
    [304, 308) '__val2' (line 1257)
    [320, 360) '__summary__' (line 1257)
    [400, 432) '__message__' (line 1257)
    [464, 496) 'ref.tmp8' (line 1257)
    [528, 560) 'ref.tmp11' (line 1257)
    [592, 632) 'ref.tmp19' (line 1257)
    [672, 704) 'agg.tmp'
    [736, 740) '__val143' (line 1264)
    [752, 756) '__val245' (line 1264)
    [768, 808) '__summary__55' (line 1264)
    [848, 880) '__message__58' (line 1264)
    [912, 944) 'ref.tmp62' (line 1264)
    [976, 1008) 'ref.tmp65' (line 1264)
    [1040, 1080) 'ref.tmp76' (line 1264)
    [1120, 1152) 'agg.tmp80'
    [1184, 1264) 'input_dim' (line 1272) <== Memory access at offset 1264 overflows this variable
    [1296, 1376) 'output_dims' (line 1277)
    [1408, 1432) 'out_dim_vec' (line 1284)
    [1472, 1552) 'output_dims160' (line 1292)
HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork
      (longjmp and C++ exceptions *are* supported)
SUMMARY: AddressSanitizer: stack-buffer-overflow /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/infermeta/binary.cc:1286:29 in phi::GatherInferMeta(phi::MetaTensor const&, phi::MetaTensor const&, paddle::experimental::ScalarBase<phi::DenseTensor> const&, phi::MetaTensor*)
Shadow bytes around the buggy address:
  0x10002003df80: f8 f8 f8 f2 f2 f2 f2 f2 00 00 00 00 f2 f2 f2 f2
  0x10002003df90: f8 f2 f8 f2 f8 f8 f8 f8 f8 f2 f2 f2 f2 f2 f8 f8
  0x10002003dfa0: f8 f8 f2 f2 f2 f2 f8 f8 f8 f8 f2 f2 f2 f2 f8 f8
  0x10002003dfb0: f8 f8 f2 f2 f2 f2 f8 f8 f8 f8 f8 f2 f2 f2 f2 f2
  0x10002003dfc0: 00 00 00 00 f2 f2 f2 f2 00 00 00 00 00 00 00 00
=>0x10002003dfd0: 00 00[f2]f2 f2 f2 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8
  0x10002003dfe0: f2 f2 f2 f2 00 00 00 f2 f2 f2 f2 f2 f8 f8 f8 f8
  0x10002003dff0: f8 f8 f8 f8 f8 f8 f3 f3 f3 f3 f3 f3 00 00 00 00
  0x10002003e000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x10002003e010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x10002003e020: f1 f1 f1 f1 f8 f2 f8 f8 f8 f8 f2 f2 f2 f2 f8 f8
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07 
  Heap left redzone:       fa
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Container overflow:      fc
  Array cookie:            ac
  Intra object redzone:    bb
  ASan internal:           fe
  Left alloca redzone:     ca
  Right alloca redzone:    cb
  Shadow gap:              cc
==52987==ABORTING

@AndPuQing
Copy link
Contributor

AndPuQing commented Jan 23, 2023

case2 paddle.unique already fixed by #49385.

Can't reappear in develop branch HEAD

@co63oc
Copy link
Contributor

co63oc commented Mar 18, 2023

图片
有两个Case11,没有Hackathon 活动中Case12

@luotao1
Copy link
Contributor

luotao1 commented Mar 20, 2023

@co63oc

有两个Case11,没有Hackathon 活动中Case12

感谢指出,第二个Case11已经修改成Case12了,原链接不变。

@co63oc
Copy link
Contributor

co63oc commented Mar 20, 2023

import paddle
import numpy as np
array = np.array([3.198396408832238e-16], dtype=np.float32)
x = paddle.to_tensor(np.reshape(array, [1]), dtype='float32')
paddle.transpose(x, perm=[1])

aistudio使用develop分支测试返回不是堆栈溢出,是异常提示
图片

@wanghuancoder
Copy link
Contributor

import paddle
import numpy as np
array = np.array([3.198396408832238e-16], dtype=np.float32)
x = paddle.to_tensor(np.reshape(array, [1]), dtype='float32')
paddle.transpose(x, perm=[1])

我复现也是这个现象,应该是被其它同学修了。感谢参与!

@luotao1 luotao1 closed this as completed Mar 22, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants