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

➗0(divide by 0) #49919

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

➗0(divide by 0) #49919

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

Comments

@Ligoml
Copy link
Contributor

Ligoml commented Jan 18, 2023

Case1: paddle.linalg.matrix_power

Reproduced Case:

import paddle
import numpy as np
from paddle.linalg import matrix_power
x = paddle.to_tensor(np.random.uniform(-10, 10, [1, 1, 0, 0]).astype(np.float32))
print(x)
matrix_power(x, -1)

Stack Trace Message:

AddressSanitizer:DEADLYSIGNAL
=================================================================
==172907==ERROR: AddressSanitizer: FPE on unknown address 0x7f66837b29c1 (pc 0x7f66837b29c1 bp 0x7ffc685552b0 sp 0x7ffc68555080 T0)
    #0 0x7f66837b29c1 in void phi::funcs::ComputeInverseEigen<phi::CPUContext, float>(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor*) /home/work/yakun/paddle-2.4.0/Paddle/paddle/phi/kernels/funcs/matrix_inverse.h:39:41
    #1 0x7f66806f6b47 in void phi::MatrixPowerFunction<phi::CPUContext, float>(phi::DenseTensor const*, int, phi::DenseTensor*, phi::CPUContext const&) /home/work/yakun/paddle-2.4.0/Paddle/paddle/phi/kernels/impl/matrix_power_kernel_impl.h:68:5
    #2 0x7f66806f5c17 in void phi::MatrixPowerKernel<float, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const&, int, phi::DenseTensor*) /home/work/yakun/paddle-2.4.0/Paddle/paddle/phi/kernels/impl/matrix_power_kernel_impl.h:200:3
    #3 0x7f667d72b18c in paddle::experimental::matrix_power(paddle::experimental::Tensor const&, int) /home/work/yakun/paddle-2.4.0/Paddle/paddle/phi/api/lib/api.cc:15321:5
    #4 0x7f6673350d24 in matrix_power_ad_func(paddle::experimental::Tensor const&, int) /home/work/yakun/paddle-2.4.0/Paddle/paddle/fluid/eager/api/generated/eager_generated/forwards/dygraph_functions.cc:25890:21
    #5 0x7f667011f00a in paddle::pybind::eager_api_matrix_power(_object*, _object*, _object*) /home/work/yakun/paddle-2.4.0/Paddle/paddle/fluid/pybind/eager_op_function.cc:11352:49
    #6 0x5025f3 in PyCFunction_Call (/usr/bin/python3.8+0x5025f3) (BuildId: 69b06f9a4b2e8428d7e32aa682c34a91dc0b961e)
    #7 0x500db4 in _PyObject_MakeTpCall (/usr/bin/python3.8+0x500db4) (BuildId: 69b06f9a4b2e8428d7e32aa682c34a91dc0b961e)
    #8 0x566223 in _PyEval_EvalFrameDefault (/usr/bin/python3.8+0x566223) (BuildId: 69b06f9a4b2e8428d7e32aa682c34a91dc0b961e)
    #9 0x55f470 in _PyEval_EvalCodeWithName (/usr/bin/python3.8+0x55f470) (BuildId: 69b06f9a4b2e8428d7e32aa682c34a91dc0b961e)
    #10 0x5016c5 in _PyFunction_Vectorcall (/usr/bin/python3.8+0x5016c5) (BuildId: 69b06f9a4b2e8428d7e32aa682c34a91dc0b961e)
    #11 0x560136 in _PyEval_EvalFrameDefault (/usr/bin/python3.8+0x560136) (BuildId: 69b06f9a4b2e8428d7e32aa682c34a91dc0b961e)
    #12 0x55f470 in _PyEval_EvalCodeWithName (/usr/bin/python3.8+0x55f470) (BuildId: 69b06f9a4b2e8428d7e32aa682c34a91dc0b961e)
    #13 0x55f102 in PyEval_EvalCode (/usr/bin/python3.8+0x55f102) (BuildId: 69b06f9a4b2e8428d7e32aa682c34a91dc0b961e)
    #14 0x62a1ef  (/usr/bin/python3.8+0x62a1ef) (BuildId: 69b06f9a4b2e8428d7e32aa682c34a91dc0b961e)
    #15 0x62a179  (/usr/bin/python3.8+0x62a179) (BuildId: 69b06f9a4b2e8428d7e32aa682c34a91dc0b961e)
    #16 0x47a7f2  (/usr/bin/python3.8+0x47a7f2) (BuildId: 69b06f9a4b2e8428d7e32aa682c34a91dc0b961e)
    #17 0x47a5cb in PyRun_SimpleFileExFlags (/usr/bin/python3.8+0x47a5cb) (BuildId: 69b06f9a4b2e8428d7e32aa682c34a91dc0b961e)
    #18 0x4247dc in _init (/usr/bin/python3.8+0x4247dc) (BuildId: 69b06f9a4b2e8428d7e32aa682c34a91dc0b961e)
    #19 0x5fb9b8 in Py_BytesMain (/usr/bin/python3.8+0x5fb9b8) (BuildId: 69b06f9a4b2e8428d7e32aa682c34a91dc0b961e)
    #20 0x7f67596b983f in __libc_start_main /build/glibc-S7Ft5T/glibc-2.23/csu/../csu/libc-start.c:291
    #21 0x5fb8b8 in _start (/usr/bin/python3.8+0x5fb8b8) (BuildId: 69b06f9a4b2e8428d7e32aa682c34a91dc0b961e)
AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: FPE /home/work/yakun/paddle-2.4.0/Paddle/paddle/phi/kernels/funcs/matrix_inverse.h:39:41 in void phi::funcs::ComputeInverseEigen<phi::CPUContext, float>(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor*)
==172907==ABORTING
@PaddlePaddle PaddlePaddle deleted a comment from paddle-bot bot Jan 18, 2023
@Ligoml Ligoml assigned Ligoml and unassigned wangzhen38 Jan 18, 2023
@Ligoml
Copy link
Contributor Author

Ligoml commented Jan 18, 2023

Case2: paddle.static.nn.sparse_embedding

Reproduced Case:

import paddle
import numpy as np
array = np.array([], dtype=np.float32)
input = paddle.to_tensor(np.reshape(array, [0]), dtype='int64')
paddle.static.nn.sparse_embedding(input, [2097152, 2097152, 2097152, 2097152], padding_idx=2097152)

Stack Trace Message:

Traceback (most recent call last):
  File "bug.py", line 6, in <module>
    paddle.static.nn.sparse_embedding(input, [2097152, 2097152, 2097152, 2097152], padding_idx=2097152)
  File "/home/work/wangying/paddlepaddle/pdpd_fuzz_protobuf/pdpd-env/clang_pd_fuzz_env/lib/python3.8/site-packages/paddle/fluid/contrib/layers/nn.py", line 1205, in sparse_embedding
    w = helper.create_parameter(
  File "/home/work/wangying/paddlepaddle/pdpd_fuzz_protobuf/pdpd-env/clang_pd_fuzz_env/lib/python3.8/site-packages/paddle/fluid/layer_helper_base.py", line 432, in create_parameter
    return self.main_program.global_block().create_parameter(
  File "/home/work/wangying/paddlepaddle/pdpd_fuzz_protobuf/pdpd-env/clang_pd_fuzz_env/lib/python3.8/site-packages/paddle/fluid/framework.py", line 3963, in create_parameter
    initializer(param, self)
  File "/home/work/wangying/paddlepaddle/pdpd_fuzz_protobuf/pdpd-env/clang_pd_fuzz_env/lib/python3.8/site-packages/paddle/fluid/initializer.py", line 72, in __call__
    return self.forward(param, block)
  File "/home/work/wangying/paddlepaddle/pdpd_fuzz_protobuf/pdpd-env/clang_pd_fuzz_env/lib/python3.8/site-packages/paddle/fluid/initializer.py", line 712, in forward
    limit = math.sqrt(6.0 / float(fan_in + fan_out))
ZeroDivisionError: float division by zero

@Ligoml
Copy link
Contributor Author

Ligoml commented Jan 18, 2023

Case3: paddle.static.nn.deform_conv2d

Reproduced Case:

import paddle
import numpy as np
paddle.enable_static()
x = paddle.static.data(name='x', shape=[1, 1], dtype='float32')
mask = paddle.static.data(name='mask', shape=[1], dtype='float32') 
offset = paddle.static.data(name='offset', shape=[1, 1], dtype='float32')
paddle.static.nn.deform_conv2d(x, offset, mask, 1, 1, padding=1, groups=0)

Stack Trace Message:

Traceback (most recent call last):
  File "bug.py", line 9, in <module>
    paddle.static.nn.deform_conv2d(x, offset, mask, 1, 1, padding=1, groups=0)
  File "/home/work/wangying/paddlepaddle/pdpd_fuzz_protobuf/pdpd-env/clang_pd_fuzz_env/lib/python3.8/site-packages/decorator.py", line 232, in fun
    return caller(func, *(extras + args), **kw)
  File "/home/work/wangying/paddlepaddle/pdpd_fuzz_protobuf/pdpd-env/clang_pd_fuzz_env/lib/python3.8/site-packages/paddle/fluid/wrapped_decorator.py", line 25, in __impl__
    return wrapped_func(*args, **kwargs)
  File "/home/work/wangying/paddlepaddle/pdpd_fuzz_protobuf/pdpd-env/clang_pd_fuzz_env/lib/python3.8/site-packages/paddle/fluid/framework.py", line 553, in __impl__
    return func(*args, **kwargs)
  File "/home/work/wangying/paddlepaddle/pdpd_fuzz_protobuf/pdpd-env/clang_pd_fuzz_env/lib/python3.8/site-packages/paddle/static/nn/common.py", line 578, in deform_conv2d
    return deformable_conv(
  File "/home/work/wangying/paddlepaddle/pdpd_fuzz_protobuf/pdpd-env/clang_pd_fuzz_env/lib/python3.8/site-packages/paddle/static/nn/common.py", line 343, in deformable_conv
    if num_channels % groups != 0:
ZeroDivisionError: integer division or modulo by zero

@Ligoml
Copy link
Contributor Author

Ligoml commented Jan 18, 2023

Case4: paddle.static.nn.sequence_concat

Reproduced Case:

import paddle
paddle.enable_static()
x = paddle.static.data(name='x', shape=[0], dtype='float32', lod_level=1)
y = paddle.static.data(name='y', shape=[0], dtype='float32', lod_level=1)
out = paddle.static.nn.sequence_concat(input=[x, y])

Stack Trace Message:

==170412==ERROR: AddressSanitizer: FPE on unknown address 0x7f9a97c1250a (pc 0x7f9a97c1250a bp 0x7fffeceb70b0 sp 0x7fffeceb63a0 T0)
    #0 0x7f9a97c1250a in paddle::operators::SequenceConcatOp::InferShape(paddle::framework::InferShapeContext*) const /home/work/wangying/paddlepaddle/pdpd_source_code/Paddle/paddle/fluid/operators/sequence_ops/sequence_concat_op.cc:73:44
    #1 0x7f9a8fa8f9b8 in std::function<void (paddle::framework::InferShapeContext*)>::operator()(paddle::framework::InferShapeContext*) const /usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/std_function.h:687:14
    #2 0x7f9a8fa8f9b8 in paddle::framework::OpDesc::InferShape(paddle::framework::BlockDesc const&) /home/work/wangying/paddlepaddle/pdpd_source_code/Paddle/paddle/fluid/framework/op_desc.cc:1076:5
    #3 0x7f9a8e2dda81 in pybind11::cpp_function::cpp_function<void, paddle::framework::OpDesc, paddle::framework::BlockDesc const&, pybind11::name, pybind11::is_method, pybind11::sibling>(void (paddle::framework::OpDesc::*)(paddle::framework::BlockDesc const&), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::'lambda'(paddle::framework::OpDesc*, paddle::framework::BlockDesc const&)::operator()(paddle::framework::OpDesc*, paddle::framework::BlockDesc const&) const /home/work/wangying/paddlepaddle/pdpd_source_code/Paddle/build/third_party/pybind/src/extern_pybind/include/pybind11/pybind11.h:78:66   

@Ligoml
Copy link
Contributor Author

Ligoml commented Jan 18, 2023

Case5: paddle.vision.ops.psroi_pool

Reproduced Case:

import paddle
import numpy as np
array = np.array([1], dtype=np.float32)
x = paddle.to_tensor(np.reshape(array, [1, 1, 1, 1]), dtype='float32')
boxes = paddle.to_tensor(np.reshape(array, [1, 1]), dtype='float32')
boxes_num = paddle.to_tensor(np.reshape(array, [1, 1]), dtype='float32') 
paddle.vision.ops.psroi_pool(x, boxes, boxes_num, 0, spatial_scale=0)

Stack Trace Message:

Traceback (most recent call last):
  File "bug.py", line 9, in <module>
    paddle.vision.ops.psroi_pool(x, boxes, boxes_num, 0, spatial_scale=0)
  File "/home/work/wangying/paddlepaddle/pdpd_fuzz_protobuf/pdpd-env/clang_pd_fuzz_env/lib/python3.8/site-packages/paddle/vision/ops.py", line 1589, in psroi_pool
    output_channels = int(x.shape[1] / (pooled_height * pooled_width))
ZeroDivisionError: division by zero

NOTE:

if isinstance(output_size, int):
output_size = (output_size, output_size)
pooled_height, pooled_width = output_size
assert len(x.shape) == 4, "Input features with shape should be (N, C, H, W)"
output_channels = int(x.shape[1] / (pooled_height * pooled_width))

  • 原因:paddle.vision.ops.psroi_pool 传入 output_size = 0,会导致 pooled_heightpooled_width 都为0,从而触发除0错误。
  • Reason: The input parameter output_size of paddle.vision.ops.psroi_pool = 0, then, pooled_height and pooled_width are both 0 and trigger the divide by 0 error.

@Ligoml
Copy link
Contributor Author

Ligoml commented Jan 18, 2023

Case6: paddle.nn.functional.softmax_with_cross_entropy

Reproduced Case:

import paddle
import numpy as np
array = np.array([], dtype=np.float32)
logits = paddle.to_tensor(np.reshape(array, [1, 0]), dtype='float32')
array = np.array([1], dtype=np.float32)
label = paddle.to_tensor(np.reshape(array, [1]), dtype='float32')
paddle.nn.functional.softmax_with_cross_entropy(logits, label, soft_label=True, numeric_stable_mode=True, axis=0)

Stack Trace Message:

==206963==ERROR: AddressSanitizer: FPE on unknown address 0x7f3da0602cd7 (pc 0x7f3da0602cd7 bp 0x7ffef5a33690 sp 0x7ffef5a33628 T0)
    #0 0x7f3da0602cd7 in __udivti3 (/lib/x86_64-linux-gnu/libgcc_s.so.1+0x5cd7)
    #1 0x7f3ce737daf0 in Eigen::internal::(anonymous namespace)::DividerHelper<64, long>::computeMultiplier(int, long) /home/work/wangying/paddlepaddle/pdpd_source_code/Paddle/build/third_party/eigen3/src/extern_eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIntDiv.h:128:82
    #2 0x7f3ce737daf0 in Eigen::internal::TensorIntDivisor<long, false>::TensorIntDivisor(long) /home/work/wangying/paddlepaddle/pdpd_source_code/Paddle/build/third_party/eigen3/src/extern_eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIntDiv.h:165:18

NOTE:

  • paddle.nn.functional.softmax_with_cross_entropy 可触发
    third_party/eigen3/src/extern_eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIntDiv.h:128 的除0问题,原因可能是没有对传入参数 logits 的 shape 做严格的检查。
  • paddle.nn.functional.softmax_with_cross_entropy could trigger the divide by 0 problems in third_party/eigen3/src/extern_eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIntDiv.h:128, may be caused by lacking enough input parameter check for the shape of logits.
  struct DividerHelper<64, T> {
    static EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE uint64_t computeMultiplier(const int log_div, const T divider) {
#if EIGEN_HAS_BUILTIN_INT128 && !defined(EIGEN_GPU_COMPILE_PHASE) && !defined(SYCL_DEVICE_ONLY)
      return static_cast<uint64_t>((static_cast<__uint128_t>(1) << (64+log_div)) / static_cast<__uint128_t>(divider) - (static_cast<__uint128_t>(1) << 64) + 1); // <-- 128行
#else

@Ligoml
Copy link
Contributor Author

Ligoml commented Jan 18, 2023

Case7: paddle.nn.functional.pixel_shuffle

Reproduced Case:

import paddle
import numpy as np
array = np.array([1], dtype=np.float32)
x = paddle.to_tensor(np.reshape(array, [1, 1, 1, 1]), dtype='float32')
paddle.nn.functional.pixel_shuffle(x, 0)

Stack Trace Message:

==65621==ERROR: AddressSanitizer: FPE on unknown address 0x7f1828c86e8b (pc 0x7f1828c86e8b bp 0x7ffe8af791d0 sp 0x7ffe8af789c0 T0)
, std::allocator    #0 0x7f1828c86e8b in phi::PixelShuffleInferMeta(phi::MetaTensor const&, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, phi::MetaTensor*) /home/work/wangying/paddlepaddle/pdpd_source_code/Paddle/paddle/phi/infermeta/unary.cc:2278:5
, std::allocator    #1 0x7f1822051f17 in paddle::experimental::pixel_shuffle(paddle::experimental::Tensor const&, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/work/wangying/paddlepaddle/pdpd_source_code/Paddle/paddle/phi/api/lib/api.cc:17938:3
, std::allocator    #2 0x7f1816f09564 in pixel_shuffle_ad_func(paddle::experimental::Tensor const&, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) /home/work/wangying/paddlepaddle/pdpd_source_code/Paddle/paddle/fluid/eager/api/generated/eager_generated/forwards/dygraph_functions.cc:22800:21
    #3 0x7f181346f6ef in paddle::pybind::eager_api_pixel_shuffle(_object*, _object*, _object*) /home/work/wangying/paddlepaddle/pdpd_source_code/Paddle/paddle/fluid/pybind/eager_op_function.cc:13238:75

NOTE:

if (!channel_last) {
PADDLE_ENFORCE_EQ(input_dims[1] % (upscale_factor * upscale_factor),
0,
phi::errors::InvalidArgument(
"The square of upscale_factor[%u] should divide the "
"number of channel[%u]",
upscale_factor * upscale_factor,
input_dims[1]));
} else {

  • 原因:paddle.nn.functional.pixel_shuffle 中传入 upscale_factor = 0,触发了2540行的除0。
  • Reason: The input parameter upscale_factor of paddle.nn.functional.pixel_shuffle = 0, thus triggering the divide by 0 problems of line 2540.

@Ligoml
Copy link
Contributor Author

Ligoml commented Jan 18, 2023

Case8: paddle.nn.functional.npair_loss

Reproduced Case:

import paddle
import numpy as np
array = np.array([], dtype=np.float32)
anchor = paddle.to_tensor(np.reshape(array, [0, 0, 0]), dtype='float32')
positive = paddle.to_tensor(np.reshape(array, [0]), dtype='float32')
array = np.array([1, 2, 3, 4], dtype=np.float32)
labels = paddle.to_tensor(np.reshape(array, [4]), dtype='float32')
paddle.nn.functional.npair_loss(anchor, positive, labels)

Stack Trace Message:

==54596==ERROR: AddressSanitizer: FPE on unknown address 0x7f2bab9f1cd7 (pc 0x7f2bab9f1cd7 bp 0x7ffd0111a5f0 sp 0x7ffd0111a588 T0)
    #0 0x7f2bab9f1cd7 in __udivti3 (/lib/x86_64-linux-gnu/libgcc_s.so.1+0x5cd7)
    #1 0x7f2af5ee4c65 in Eigen::internal::(anonymous namespace)::DividerHelper<64, long>::computeMultiplier(int, long) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/build/third_pan3/src/extern_eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIntDiv.h:128:82
    #2 0x7f2af5ee4c65 in Eigen::internal::TensorIntDivisor<long, false>::TensorIntDivisor(long) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/build/third_party/eigen3/src/extern_esupported/Eigen/CXX11/src/Tensor/TensorIntDiv.h:165:18
    #3 0x7f2af5ee4c65 in Eigen::TensorReductionEvaluatorBase<Eigen::TensorReductionOp<Eigen::internal::SumReducer<float>, std::array<int, 1ul> const, Eigen::TensorMap<Eigen::Tensor<float const, 3, 1, longgen::MakePointer> const, Eigen::MakePointer> const, Eigen::DefaultDevice>::TensorReductionEvaluatorBase(Eigen::TensorReductionOp<Eigen::internal::SumReducer<float>, std::array<int, 1ul> const, Eigen::Tensgen::Tensor<float const, 3, 1, long>, 0, Eigen::MakePointer> const, Eigen::MakePointer> const&, Eigen::DefaultDevice const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/build/thy/eigen3/src/extern_eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReduction.h:584:36
    #4 0x7f2af5ee25ee in Eigen::TensorEvaluator<Eigen::TensorReductionOp<Eigen::internal::SumReducer<float>, std::array<int, 1ul> const, Eigen::TensorMap<Eigen::Tensor<float const, 3, 1, long>, 0, Eigen::ter> const, Eigen::MakePointer> const, Eigen::DefaultDevice>::TensorEvaluator(Eigen::TensorReductionOp<Eigen::internal::SumReducer<float>, std::array<int, 1ul> const, Eigen::TensorMap<Eigen::Tensor<float , 1, long>, 0, Eigen::MakePointer> const, Eigen::MakePointer> const&, Eigen::DefaultDevice const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/build/third_party/eigen3/src/exter/unsupported/Eigen/CXX11/src/Tensor/TensorReduction.h:990:115

@Ligoml
Copy link
Contributor Author

Ligoml commented Jan 18, 2023

Case9: paddle.nn.functional.normalize

Reproduced Case:

import paddle
import numpy as np
array = np.array([], dtype=np.float32)
x = paddle.to_tensor(np.reshape(array, [1, 1, 0]), dtype='float32')
paddle.nn.functional.normalize(x)

Stack Trace Message:

==103897==ERROR: AddressSanitizer: FPE on unknown address 0x7f4d42de8cd7 (pc 0x7f4d42de8cd7 bp 0x7ffee7c3aff0 sp 0x7ffee7c3af88 T0)
    #0 0x7f4d42de8cd7 in __udivti3 (/lib/x86_64-linux-gnu/libgcc_s.so.1+0x5cd7)
    #1 0x7f4c8f5c3e63 in Eigen::internal::(anonymous namespace)::DividerHelper<64, long>::computeMultiplier(int, long) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/build/third_party/eigen3/src/extern_eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIntDiv.h:128:82
    #2 0x7f4c8f5c3e63 in Eigen::internal::TensorIntDivisor<long, false>::TensorIntDivisor(long) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/build/third_party/eigen3/src/extern_eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIntDiv.h:165:18
    #3 0x7f4c8f5c3e63 in Eigen::TensorReductionEvaluatorBase<Eigen::TensorReductionOp<Eigen::internal::SumReducer<float>, Eigen::DSizes<int, 1> const, Eigen::TensorCwiseUnaryOp<Eigen::internal::bind2nd_op<Eigen::internal::scalar_pow_op<float, float> >, Eigen::TensorCwiseUnaryOp<Eigen::internal::scalar_abs_op<float const>, Eigen::TensorReshapingOp<Eigen::DSizes<int, 3> const, Eigen::TensorMap<Eigen::Tensor<float const, 1, 1, long>, 0, Eigen::MakePointer> const> const> const> const, Eigen::MakePointer> const, Eigen::DefaultDevice>::TensorReductionEvaluatorBase(Eigen::TensorReductionOp<Eigen::internal::SumReducer<float>, Eigen::DSizes<int, 1> const, Eigen::TensorCwiseUnaryOp<Eigen::internal::bind2nd_op<Eigen::internal::scalar_pow_op<float, float> >, Eigen::TensorCwiseUnaryOp<Eigen::internal::scalar_abs_op<float const>, Eigen::TensorReshapingOp<Eigen::DSizes<int, 3> const, Eigen::TensorMap<Eigen::Tensor<float const, 1, 1, long>, 0, Eigen::MakePointer> const> const> const> const, Eigen::MakePointer> const&, Eigen::DefaultDevice const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/build/third_party/eigen3/src/extern_eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReduction.h:584:36

@Ligoml
Copy link
Contributor Author

Ligoml commented Jan 18, 2023

Case10: paddle.nn.functional.max_pool2d/max_pool3d

Reproduced Case:

import paddle
import numpy as np
array = np.array([1], dtype=np.float32)
x = paddle.to_tensor(np.reshape(array, [1, 1, 1]), dtype='float32')
paddle.nn.functional.max_pool1d(x, 1, stride=(0))
paddle.nn.functional.max_pool2d
import paddle
import numpy as np
array = np.array([1], dtype=np.float32)
x = paddle.to_tensor(np.reshape(array, [1, 1, 1, 1]), dtype='float32')
paddle.nn.functional.max_pool2d(x, 1, stride=(0, 0), return_mask=False, data_format='NHWC')
import paddle
import numpy as np
array = np.array([1], dtype=np.float32)
x = paddle.to_tensor(np.reshape(array, [1, 1, 1, 1, 1]), dtype='float32')
paddle.nn.functional.max_pool3d(x, 1, stride=(0, 0, 0), ceil_mode=False)

Stack Trace Message:

==90343==ERROR: AddressSanitizer: FPE on unknown address 0x7f5378bfa156 (pc 0x7f5378bfa156 bp 0x7ffc6e68ff70 sp 0x7ffc6e68fc60 T0)
    #0 0x7f5378bfa156 in phi::funcs::PoolOutputSize(int, int, int, int, int, bool) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/kernels/funcs/pooling.h
    #1 0x7f5378bf56c6 in phi::PoolInferMeta(phi::MetaTensor const&, std::vector<int, std::allocator<int> > const&, std::vector<int, std::allocator<int> > const&, std::vector<int, std::allocator<int> > const&, bool, bool, 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&, bool, bool, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, phi::MetaTensor*, phi::MetaConfig) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/infermeta/unary.cc:2783:32
    #2 0x7f5378bf331b in phi::Pool2DInferMeta(phi::MetaTensor const&, paddle::experimental::IntArrayBase<phi::DenseTensor> const&, std::vector<int, std::allocator<int> > const&, std::vector<int, std::allocator<int> > const&, bool, bool, 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&, bool, bool, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, phi::MetaTensor*, phi::MetaConfig) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/infermeta/unary.cc:2679:5
    #3 0x7f5371d89d91 in paddle::experimental::pool2d(paddle::experimental::Tensor const&, paddle::experimental::IntArrayBase<paddle::experimental::Tensor> const&, std::vector<int, std::allocator<int> > const&, std::vector<int, std::allocator<int> > const&, bool, bool, 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&, bool, bool, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/api/lib/api.cc:20065:3
    #4 0x7f5365c45151 in pool2d_ad_func(paddle::experimental::Tensor const&, paddle::experimental::IntArrayBase<paddle::experimental::Tensor>, std::vector<int, std::allocator<int> >, std::vector<int, std::allocator<int> >, bool, bool, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, bool, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/eager/api/generated/eager_generated/forwards/dygraph_functions.cc:32933:21

@Ligoml
Copy link
Contributor Author

Ligoml commented Jan 18, 2023

Case11: paddle.nn.functional.max_pool1d/max_pool2d/max_pool3d

Reproduced Case:

import paddle
import numpy as np
array = np.array([1], dtype=np.float32)
x = paddle.to_tensor(np.reshape(array, [1, 1, 1]), dtype='float32')
paddle.nn.functional.max_pool1d(x, 1, stride=0, padding=1, return_mask=True, ceil_mode=True) 
import paddle
import numpy as np
array = np.array([1], dtype=np.float32)
x = paddle.to_tensor(np.reshape(array, [1, 1, 1, 1]), dtype='float32')
paddle.nn.functional.max_pool2d(x, 1, stride=0, padding=1, return_mask=True, ceil_mode=True) 
import paddle
import numpy as np
array = np.array([1], dtype=np.float32)
x = paddle.to_tensor(np.reshape(array, [1, 1, 1, 1, 1]), dtype='float32')
paddle.nn.functional.max_pool3d(x, 1, stride=0, padding=1, return_mask=True, ceil_mode=True)

Stack Trace Message:

==162650==ERROR: AddressSanitizer: FPE on unknown address 0x7f7b6150b768 (pc 0x7f7b6150b768 bp 0x7fff298f6e90 sp 0x7fff298f6500 T0)
    #0 0x7f7b6150b768 in phi::funcs::MaxPoolOutputSize(int, int, int, int) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/kernels/funcs/pooling.h:405:62
    #1 0x7f7b6150b768 in phi::MaxPoolWithIndexInferMeta(phi::MetaTensor const&, std::vector<int, std::allocator<int> > const&, std::vector<int, std::allocator<int> > const&, std::vector<int, std::allocator<int> > const&, bool, bool, phi::MetaTensor*, phi::MetaTensor*, phi::MetaConfig) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/infermeta/unary.cc:2011:32
    #2 0x7f7b5a66587f in paddle::experimental::max_pool2d_with_index(paddle::experimental::Tensor const&, std::vector<int, std::allocator<int> > const&, std::vector<int, std::allocator<int> > const&, std::vector<int, std::allocator<int> > const&, bool, bool) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/api/lib/api.cc:17439:3
    #3 0x7f7b4e4be84a in max_pool2d_with_index_ad_func(paddle::experimental::Tensor const&, std::vector<int, std::allocator<int> >, std::vector<int, std::allocator<int> >, std::vector<int, std::allocator<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:28983:21
    #4 0x7f7b4a96cea5 in paddle::pybind::eager_api_max_pool2d_with_index(_object*, _object*, _object*) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/pybind/eager_op_function.cc:12684:109

@Ligoml
Copy link
Contributor Author

Ligoml commented Jan 18, 2023

Case12: paddle.linalg.svd

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')
paddle.linalg.svd(x, full_matrices=False)

Stack Trace Message:

AddressSanitizer:DEADLYSIGNAL
=================================================================
==144309==ERROR: AddressSanitizer: FPE on unknown address 0x7fdefd49ddf5 (pc 0x7fdefd49ddf5 bp 0x7fffa988d050 sp 0x7fffa988cae0 T0)
    #0 0x7fdefd49ddf5 in void phi::SvdKernel<float, phi::CPUContext>(phi::CPUContext const&, 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/svd_kernel.cc:108:23
    #1 0x7fdefc4ea66d in paddle::experimental::svd(paddle::experimental::Tensor const&, bool) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/api/lib/api.cc:24421:5
    #2 0x7fdef0452dab in svd_ad_func(paddle::experimental::Tensor const&, bool) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/eager/api/generated/eager_generated/forwards/dygraph_functions.cc:39772:21
    #3 0x7fdeec7d90c1 in paddle::pybind::eager_api_svd(_object*, _object*, _object*) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/pybind/eager_op_function.cc:17605: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 0x7fdfb3ab683f 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)
AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: FPE /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/kernels/cpu/svd_kernel.cc:108:23 in void phi::SvdKernel<float, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const&, bool, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*)
==144309==ABORTING

@Ligoml
Copy link
Contributor Author

Ligoml commented Jan 18, 2023

Case13: paddle.linalg.norm

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')
paddle.linalg.norm(x, axis=0)

Stack Trace Message:

AddressSanitizer:DEADLYSIGNAL
=================================================================
==182546==ERROR: AddressSanitizer: FPE on unknown address 0x7f8bcccdccd7 (pc 0x7f8bcccdccd7 bp 0x7ffd70455d10 sp 0x7ffd70455ca8 T0)
    #0 0x7f8bcccdccd7 in __udivti3 (/lib/x86_64-linux-gnu/libgcc_s.so.1+0x5cd7)
    #1 0x7f8b194b7e63 in Eigen::internal::(anonymous namespace)::DividerHelper<64, long>::computeMultiplier(int, long) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/build/third_party/eigen3/src/extern_eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIntDiv.h:128:82
    #2 0x7f8b194b7e63 in Eigen::internal::TensorIntDivisor<long, false>::TensorIntDivisor(long) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/build/third_party/eigen3/src/extern_eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIntDiv.h:165:18
    #3 0x7f8b194b7e63 in Eigen::TensorReductionEvaluatorBase<Eigen::TensorReductionOp<Eigen::internal::SumReducer<float>, Eigen::DSizes<int, 1> const, Eigen::TensorCwiseUnaryOp<Eigen::internal::bind2nd_op<Eigen::internal::scalar_pow_op<float, float> >, Eigen::TensorCwiseUnaryOp<Eigen::internal::scalar_abs_op<float const>, Eigen::TensorReshapingOp<Eigen::DSizes<int, 3> const, Eigen::TensorMap<Eigen::Tensor<float const, 1, 1, long>, 0, Eigen::MakePointer> const> const> const> const, Eigen::MakePointer> const, Eigen::DefaultDevice>::TensorReductionEvaluatorBase(Eigen::TensorReductionOp<Eigen::internal::SumReducer<float>, Eigen::DSizes<int, 1> const, Eigen::TensorCwiseUnaryOp<Eigen::internal::bind2nd_op<Eigen::internal::scalar_pow_op<float, float> >, Eigen::TensorCwiseUnaryOp<Eigen::internal::scalar_abs_op<float const>, Eigen::TensorReshapingOp<Eigen::DSizes<int, 3> const, Eigen::TensorMap<Eigen::Tensor<float const, 1, 1, long>, 0, Eigen::MakePointer> const> const> const> const, Eigen::MakePointer> const&, Eigen::DefaultDevice const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/build/third_party/eigen3/src/extern_eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReduction.h:584:36
    #4 0x7f8b194a315d in Eigen::TensorEvaluator<Eigen::TensorReductionOp<Eigen::internal::SumReducer<float>, Eigen::DSizes<int, 1> const, Eigen::TensorCwiseUnaryOp<Eigen::internal::bind2nd_op<Eigen::internal::scalar_pow_op<float, float> >, Eigen::TensorCwiseUnaryOp<Eigen::internal::scalar_abs_op<float const>, Eigen::TensorReshapingOp<Eigen::DSizes<int, 3> const, Eigen::TensorMap<Eigen::Tensor<float const, 1, 1, long>, 0, Eigen::MakePointer> const> const> const> const, Eigen::MakePointer> const, Eigen::DefaultDevice>::TensorEvaluator(Eigen::TensorReductionOp<Eigen::internal::SumReducer<float>, Eigen::DSizes<int, 1> const, Eigen::TensorCwiseUnaryOp<Eigen::internal::bind2nd_op<Eigen::internal::scalar_pow_op<float, float> >, Eigen::TensorCwiseUnaryOp<Eigen::internal::scalar_abs_op<float const>, Eigen::TensorReshapingOp<Eigen::DSizes<int, 3> const, Eigen::TensorMap<Eigen::Tensor<float const, 1, 1, long>, 0, Eigen::MakePointer> const> const> const> const, Eigen::MakePointer> const&, Eigen::DefaultDevice const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/build/third_party/eigen3/src/extern_eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReduction.h:990:115
    #5 0x7f8b194a315d in Eigen::TensorEvaluator<Eigen::TensorCwiseUnaryOp<Eigen::internal::bind2nd_op<Eigen::internal::scalar_pow_op<float, float> >, Eigen::TensorReductionOp<Eigen::internal::SumReducer<float>, Eigen::DSizes<int, 1> const, Eigen::TensorCwiseUnaryOp<Eigen::internal::bind2nd_op<Eigen::internal::scalar_pow_op<float, float> >, Eigen::TensorCwiseUnaryOp<Eigen::internal::scalar_abs_op<float const>, Eigen::TensorReshapingOp<Eigen::DSizes<int, 3> const, Eigen::TensorMap<Eigen::Tensor<float const, 1, 1, long>, 0, Eigen::MakePointer> const> const> const> const, Eigen::MakePointer> const> const, Eigen::DefaultDevice>::TensorEvaluator(Eigen::TensorCwiseUnaryOp<Eigen::internal::bind2nd_op<Eigen::internal::scalar_pow_op<float, float> >, Eigen::TensorReductionOp<Eigen::internal::SumReducer<float>, Eigen::DSizes<int, 1> const, Eigen::TensorCwiseUnaryOp<Eigen::internal::bind2nd_op<Eigen::internal::scalar_pow_op<float, float> >, Eigen::TensorCwiseUnaryOp<Eigen::internal::scalar_abs_op<float const>, Eigen::TensorReshapingOp<Eigen::DSizes<int, 3> const, Eigen::TensorMap<Eigen::Tensor<float const, 1, 1, long>, 0, Eigen::MakePointer> const> const> const> const, Eigen::MakePointer> const> const&, Eigen::DefaultDevice const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/build/third_party/eigen3/src/extern_eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorEvaluator.h:461:7
    #6 0x7f8b194a315d in Eigen::TensorEvaluator<Eigen::TensorAssignOp<Eigen::TensorReshapingOp<Eigen::DSizes<int, 2> const, Eigen::TensorMap<Eigen::Tensor<float, 1, 1, long>, 0, Eigen::MakePointer> >, Eigen::TensorCwiseUnaryOp<Eigen::internal::bind2nd_op<Eigen::internal::scalar_pow_op<float, float> >, Eigen::TensorReductionOp<Eigen::internal::SumReducer<float>, Eigen::DSizes<int, 1> const, Eigen::TensorCwiseUnaryOp<Eigen::internal::bind2nd_op<Eigen::internal::scalar_pow_op<float, float> >, Eigen::TensorCwiseUnaryOp<Eigen::internal::scalar_abs_op<float const>, Eigen::TensorReshapingOp<Eigen::DSizes<int, 3> const, Eigen::TensorMap<Eigen::Tensor<float const, 1, 1, long>, 0, Eigen::MakePointer> const> const> const> const, Eigen::MakePointer> const> const> const, Eigen::DefaultDevice>::TensorEvaluator(Eigen::TensorAssignOp<Eigen::TensorReshapingOp<Eigen::DSizes<int, 2> const, Eigen::TensorMap<Eigen::Tensor<float, 1, 1, long>, 0, Eigen::MakePointer> >, Eigen::TensorCwiseUnaryOp<Eigen::internal::bind2nd_op<Eigen::internal::scalar_pow_op<float, float> >, Eigen::TensorReductionOp<Eigen::internal::SumReducer<float>, Eigen::DSizes<int, 1> const, Eigen::TensorCwiseUnaryOp<Eigen::internal::bind2nd_op<Eigen::internal::scalar_pow_op<float, float> >, Eigen::TensorCwiseUnaryOp<Eigen::internal::scalar_abs_op<float const>, Eigen::TensorReshapingOp<Eigen::DSizes<int, 3> const, Eigen::TensorMap<Eigen::Tensor<float const, 1, 1, long>, 0, Eigen::MakePointer> const> const> const> const, Eigen::MakePointer> const> const> const&, Eigen::DefaultDevice const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/build/third_party/eigen3/src/extern_eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorAssign.h:129:7
    #7 0x7f8b194a315d in Eigen::internal::TensorExecutor<Eigen::TensorAssignOp<Eigen::TensorReshapingOp<Eigen::DSizes<int, 2> const, Eigen::TensorMap<Eigen::Tensor<float, 1, 1, long>, 0, Eigen::MakePointer> >, Eigen::TensorCwiseUnaryOp<Eigen::internal::bind2nd_op<Eigen::internal::scalar_pow_op<float, float> >, Eigen::TensorReductionOp<Eigen::internal::SumReducer<float>, Eigen::DSizes<int, 1> const, Eigen::TensorCwiseUnaryOp<Eigen::internal::bind2nd_op<Eigen::internal::scalar_pow_op<float, float> >, Eigen::TensorCwiseUnaryOp<Eigen::internal::scalar_abs_op<float const>, Eigen::TensorReshapingOp<Eigen::DSizes<int, 3> const, Eigen::TensorMap<Eigen::Tensor<float const, 1, 1, long>, 0, Eigen::MakePointer> const> const> const> const, Eigen::MakePointer> const> const> const, Eigen::DefaultDevice, false, (Eigen::internal::TiledEvaluation)0>::run(Eigen::TensorAssignOp<Eigen::TensorReshapingOp<Eigen::DSizes<int, 2> const, Eigen::TensorMap<Eigen::Tensor<float, 1, 1, long>, 0, Eigen::MakePointer> >, Eigen::TensorCwiseUnaryOp<Eigen::internal::bind2nd_op<Eigen::internal::scalar_pow_op<float, float> >, Eigen::TensorReductionOp<Eigen::internal::SumReducer<float>, Eigen::DSizes<int, 1> const, Eigen::TensorCwiseUnaryOp<Eigen::internal::bind2nd_op<Eigen::internal::scalar_pow_op<float, float> >, Eigen::TensorCwiseUnaryOp<Eigen::internal::scalar_abs_op<float const>, Eigen::TensorReshapingOp<Eigen::DSizes<int, 3> const, Eigen::TensorMap<Eigen::Tensor<float const, 1, 1, long>, 0, Eigen::MakePointer> const> const> const> const, Eigen::MakePointer> const> const> const&, Eigen::DefaultDevice const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/build/third_party/eigen3/src/extern_eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorExecutor.h:98:41
    #8 0x7f8b194a315d in Eigen::TensorDevice<Eigen::TensorReshapingOp<Eigen::DSizes<int, 2> const, Eigen::TensorMap<Eigen::Tensor<float, 1, 1, long>, 0, Eigen::MakePointer> >, Eigen::DefaultDevice>& Eigen::TensorDevice<Eigen::TensorReshapingOp<Eigen::DSizes<int, 2> const, Eigen::TensorMap<Eigen::Tensor<float, 1, 1, long>, 0, Eigen::MakePointer> >, Eigen::DefaultDevice>::operator=<Eigen::TensorCwiseUnaryOp<Eigen::internal::bind2nd_op<Eigen::internal::scalar_pow_op<float, float> >, Eigen::TensorReductionOp<Eigen::internal::SumReducer<float>, Eigen::DSizes<int, 1> const, Eigen::TensorCwiseUnaryOp<Eigen::internal::bind2nd_op<Eigen::internal::scalar_pow_op<float, float> >, Eigen::TensorCwiseUnaryOp<Eigen::internal::scalar_abs_op<float const>, Eigen::TensorReshapingOp<Eigen::DSizes<int, 3> const, Eigen::TensorMap<Eigen::Tensor<float const, 1, 1, long>, 0, Eigen::MakePointer> const> const> const> const, Eigen::MakePointer> const> >(Eigen::TensorCwiseUnaryOp<Eigen::internal::bind2nd_op<Eigen::internal::scalar_pow_op<float, float> >, Eigen::TensorReductionOp<Eigen::internal::SumReducer<float>, Eigen::DSizes<int, 1> const, Eigen::TensorCwiseUnaryOp<Eigen::internal::bind2nd_op<Eigen::internal::scalar_pow_op<float, float> >, Eigen::TensorCwiseUnaryOp<Eigen::internal::scalar_abs_op<float const>, Eigen::TensorReshapingOp<Eigen::DSizes<int, 3> const, Eigen::TensorMap<Eigen::Tensor<float const, 1, 1, long>, 0, Eigen::MakePointer> const> const> const> const, Eigen::MakePointer> const> const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/build/third_party/eigen3/src/extern_eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDevice.h:37:7
    #9 0x7f8b194a315d in void phi::PNormKernel<float, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const&, float, int, float, bool, bool, phi::DenseTensor*) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/kernels/cpu/p_norm_kernel.cc:87:25
    #10 0x7f8b15c74faa 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:19808:5
    #11 0x7f8b09b1f72f 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
    #12 0x7f8b05f6c4b8 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
    #13 0x5025f3 in PyCFunction_Call (/usr/bin/python3.8+0x5025f3)
    #14 0x500db4 in _PyObject_MakeTpCall (/usr/bin/python3.8+0x500db4)
    #15 0x566223 in _PyEval_EvalFrameDefault (/usr/bin/python3.8+0x566223)
    #16 0x55f470 in _PyEval_EvalCodeWithName (/usr/bin/python3.8+0x55f470)
    #17 0x5016c5 in _PyFunction_Vectorcall (/usr/bin/python3.8+0x5016c5)
    #18 0x5610ed in _PyEval_EvalFrameDefault (/usr/bin/python3.8+0x5610ed)
    #19 0x55f470 in _PyEval_EvalCodeWithName (/usr/bin/python3.8+0x55f470)
    #20 0x5016c5 in _PyFunction_Vectorcall (/usr/bin/python3.8+0x5016c5)
    #21 0x5610ed in _PyEval_EvalFrameDefault (/usr/bin/python3.8+0x5610ed)
    #22 0x55f470 in _PyEval_EvalCodeWithName (/usr/bin/python3.8+0x55f470)
    #23 0x55f102 in PyEval_EvalCode (/usr/bin/python3.8+0x55f102)
    #24 0x62a1ef  (/usr/bin/python3.8+0x62a1ef)
    #25 0x62a179  (/usr/bin/python3.8+0x62a179)
    #26 0x47a7f2  (/usr/bin/python3.8+0x47a7f2)
    #27 0x47a5cb in PyRun_SimpleFileExFlags (/usr/bin/python3.8+0x47a5cb)
    #28 0x4247dc in _init (/usr/bin/python3.8+0x4247dc)
    #29 0x5fb9b8 in Py_BytesMain (/usr/bin/python3.8+0x5fb9b8)
    #30 0x7f8bcd2f383f in __libc_start_main /build/glibc-S7Ft5T/glibc-2.23/csu/../csu/libc-start.c:291
    #31 0x5fb8b8 in _start (/usr/bin/python3.8+0x5fb8b8)
AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: FPE (/lib/x86_64-linux-gnu/libgcc_s.so.1+0x5cd7) in __udivti3
==182546==ABORTING

@Ligoml
Copy link
Contributor Author

Ligoml commented Jan 18, 2023

Case14: paddle.linalg.pinv

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')
paddle.linalg.pinv(x)

Stack Trace Message:

AddressSanitizer:DEADLYSIGNAL
=================================================================
==48351==ERROR: AddressSanitizer: FPE on unknown address 0x7fd60b795df5 (pc 0x7fd60b795df5 bp 0x7fff82282970 sp 0x7fff82282400 T0)
    #0 0x7fd60b795df5 in void phi::SvdKernel<float, phi::CPUContext>(phi::CPUContext const&, 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/svd_kernel.cc:108:23
    #1 0x7fd60a7e266d in paddle::experimental::svd(paddle::experimental::Tensor const&, bool) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/api/lib/api.cc:24421:5
    #2 0x7fd5fe74adab in svd_ad_func(paddle::experimental::Tensor const&, bool) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/eager/api/generated/eager_generated/forwards/dygraph_functions.cc:39772:21
    #3 0x7fd5faad10c1 in paddle::pybind::eager_api_svd(_object*, _object*, _object*) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/pybind/eager_op_function.cc:17605: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 0x564f2d in _PyEval_EvalFrameDefault (/usr/bin/python3.8+0x564f2d)
    #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 0x7fd6c1dae83f 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)
AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: FPE /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/kernels/cpu/svd_kernel.cc:108:23 in void phi::SvdKernel<float, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const&, bool, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*)
==48351==ABORTING

@Ligoml
Copy link
Contributor Author

Ligoml commented Jan 18, 2023

Case15: paddle.linalg.eig

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')
paddle.linalg.eig(x)

Stack Trace Message:

AddressSanitizer:DEADLYSIGNAL
=================================================================
==137096==ERROR: AddressSanitizer: FPE on unknown address 0x7f0fd5be2cd7 (pc 0x7f0fd5be2cd7 bp 0x7fff9ff6af70 sp 0x7fff9ff6af08 T0)
    #0 0x7f0fd5be2cd7 in __udivti3 (/lib/x86_64-linux-gnu/libgcc_s.so.1+0x5cd7)
    #1 0x7f0f25fd54bf in Eigen::internal::(anonymous namespace)::DividerHelper<64, long>::computeMultiplier(int, long) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/build/third_party/eigen3/src/extern_eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIntDiv.h:128:82
    #2 0x7f0f25fd54bf in Eigen::internal::TensorIntDivisor<long, false>::TensorIntDivisor(long) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/build/third_party/eigen3/src/extern_eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIntDiv.h:165:18
    #3 0x7f0f25fd54bf in Eigen::TensorEvaluator<Eigen::TensorShufflingOp<std::array<int, 2ul> const, Eigen::TensorMap<Eigen::Tensor<float const, 2, 1, long>, 0, Eigen::MakePointer> const> const, Eigen::DefaultDevice>::TensorEvaluator(Eigen::TensorShufflingOp<std::array<int, 2ul> const, Eigen::TensorMap<Eigen::Tensor<float const, 2, 1, long>, 0, Eigen::MakePointer> const> const&, Eigen::DefaultDevice const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/build/third_party/eigen3/src/extern_eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorShuffling.h:155:34
    #4 0x7f0f25fd54bf in Eigen::TensorEvaluator<Eigen::TensorAssignOp<Eigen::TensorMap<Eigen::Tensor<float, 2, 1, long>, 0, Eigen::MakePointer>, Eigen::TensorShufflingOp<std::array<int, 2ul> const, Eigen::TensorMap<Eigen::Tensor<float const, 2, 1, long>, 0, Eigen::MakePointer> const> const> const, Eigen::DefaultDevice>::TensorEvaluator(Eigen::TensorAssignOp<Eigen::TensorMap<Eigen::Tensor<float, 2, 1, long>, 0, Eigen::MakePointer>, Eigen::TensorShufflingOp<std::array<int, 2ul> const, Eigen::TensorMap<Eigen::Tensor<float const, 2, 1, long>, 0, Eigen::MakePointer> const> const> const&, Eigen::DefaultDevice const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/build/third_party/eigen3/src/extern_eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorAssign.h:129:7
    #5 0x7f0f25fd39d0 in Eigen::internal::TensorExecutor<Eigen::TensorAssignOp<Eigen::TensorMap<Eigen::Tensor<float, 2, 1, long>, 0, Eigen::MakePointer>, Eigen::TensorShufflingOp<std::array<int, 2ul> const, Eigen::TensorMap<Eigen::Tensor<float const, 2, 1, long>, 0, Eigen::MakePointer> const> const> const, Eigen::DefaultDevice, true, (Eigen::internal::TiledEvaluation)1>::run(Eigen::TensorAssignOp<Eigen::TensorMap<Eigen::Tensor<float, 2, 1, long>, 0, Eigen::MakePointer>, Eigen::TensorShufflingOp<std::array<int, 2ul> const, Eigen::TensorMap<Eigen::Tensor<float const, 2, 1, long>, 0, Eigen::MakePointer> const> const> const&, Eigen::DefaultDevice const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/build/third_party/eigen3/src/extern_eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorExecutor.h:186:15
    #6 0x7f0f25efb76d in Eigen::TensorDevice<Eigen::TensorMap<Eigen::Tensor<float, 2, 1, long>, 0, Eigen::MakePointer>, Eigen::DefaultDevice>& Eigen::TensorDevice<Eigen::TensorMap<Eigen::Tensor<float, 2, 1, long>, 0, Eigen::MakePointer>, Eigen::DefaultDevice>::operator=<Eigen::TensorShufflingOp<std::array<int, 2ul> const, Eigen::TensorMap<Eigen::Tensor<float const, 2, 1, long>, 0, Eigen::MakePointer> const> >(Eigen::TensorShufflingOp<std::array<int, 2ul> const, Eigen::TensorMap<Eigen::Tensor<float const, 2, 1, long>, 0, Eigen::MakePointer> const> const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/build/third_party/eigen3/src/extern_eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDevice.h:37:7
    #7 0x7f0f25efb76d in phi::funcs::Transpose<phi::CPUContext, float, 2>::operator()(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor*, std::vector<int, std::allocator<int> > const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/kernels/funcs/math_function_impl.h:73:28
    #8 0x7f0f1f89a1b3 in void phi::funcs::TransCompute<phi::CPUContext, float>(int, phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor*, std::vector<int, std::allocator<int> > const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/kernels/funcs/math_function.h:147:7
    #9 0x7f0f24120d41 in void phi::TransposeTwoAxis<float, phi::CPUContext>(phi::DenseTensor const&, phi::DenseTensor*, int, int, phi::CPUContext const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/kernels/cpu/eig.h:118:3
    #10 0x7f0f240fa527 in void phi::ApplyEigKernel<float, phi::CPUContext>(phi::DenseTensor const&, phi::DenseTensor*, phi::DenseTensor*, phi::CPUContext const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/kernels/cpu/eig.h:222:3
    #11 0x7f0f240f8ce8 in void phi::EigKernel<float, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor*, phi::DenseTensor*) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/kernels/cpu/eig_kernel.cc:51:5
    #12 0x7f0f1e8de561 in paddle::experimental::eig(paddle::experimental::Tensor const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/api/lib/api.cc:1986:5
    #13 0x7f0f124853df in eig_ad_func(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:4626:21
    #14 0x7f0f0ebe282c in paddle::pybind::eager_api_eig(_object*, _object*, _object*) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/pybind/eager_op_function.cc:1463:38
    #15 0x5025f3 in PyCFunction_Call (/usr/bin/python3.8+0x5025f3)
    #16 0x500db4 in _PyObject_MakeTpCall (/usr/bin/python3.8+0x500db4)
    #17 0x566223 in _PyEval_EvalFrameDefault (/usr/bin/python3.8+0x566223)
    #18 0x55f470 in _PyEval_EvalCodeWithName (/usr/bin/python3.8+0x55f470)
    #19 0x5016c5 in _PyFunction_Vectorcall (/usr/bin/python3.8+0x5016c5)
    #20 0x564f2d in _PyEval_EvalFrameDefault (/usr/bin/python3.8+0x564f2d)
    #21 0x55f470 in _PyEval_EvalCodeWithName (/usr/bin/python3.8+0x55f470)
    #22 0x55f102 in PyEval_EvalCode (/usr/bin/python3.8+0x55f102)
    #23 0x62a1ef  (/usr/bin/python3.8+0x62a1ef)
    #24 0x62a179  (/usr/bin/python3.8+0x62a179)
    #25 0x47a7f2  (/usr/bin/python3.8+0x47a7f2)
    #26 0x47a5cb in PyRun_SimpleFileExFlags (/usr/bin/python3.8+0x47a5cb)
    #27 0x4247dc in _init (/usr/bin/python3.8+0x4247dc)
    #28 0x5fb9b8 in Py_BytesMain (/usr/bin/python3.8+0x5fb9b8)
    #29 0x7f0fd61f983f in __libc_start_main /build/glibc-S7Ft5T/glibc-2.23/csu/../csu/libc-start.c:291
    #30 0x5fb8b8 in _start (/usr/bin/python3.8+0x5fb8b8)
AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: FPE (/lib/x86_64-linux-gnu/libgcc_s.so.1+0x5cd7) in __udivti3
==137096==ABORTING

@Ligoml
Copy link
Contributor Author

Ligoml commented Jan 18, 2023

Case16: paddle.linalg.lu

Reproduced Case:

import paddle
import numpy as np
array = np.array([], dtype=np.float32)
x = paddle.to_tensor(np.reshape(array, [0, 0, 0]), dtype='float32')
paddle.linalg.lu(x, get_infos=True)

Stack Trace Message:

AddressSanitizer:DEADLYSIGNAL
=================================================================
==144245==ERROR: AddressSanitizer: FPE on unknown address 0x7fbaf4625cd7 (pc 0x7fbaf4625cd7 bp 0x7ffd35110b50 sp 0x7ffd35110ab8 T0)
    #0 0x7fbaf4625cd7 in __udivti3 (/lib/x86_64-linux-gnu/libgcc_s.so.1+0x5cd7)
    #1 0x7fba44a53490 in Eigen::internal::(anonymous namespace)::DividerHelper<64, long>::computeMultiplier(int, long) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/build/third_party/eigen3/src/extern_eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIntDiv.h:128:82
    #2 0x7fba44a53490 in Eigen::internal::TensorIntDivisor<long, false>::TensorIntDivisor(long) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/build/third_party/eigen3/src/extern_eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIntDiv.h:165:18
    #3 0x7fba44a53490 in Eigen::TensorEvaluator<Eigen::TensorShufflingOp<std::array<int, 3ul> const, Eigen::TensorMap<Eigen::Tensor<float const, 3, 1, long>, 0, Eigen::MakePointer> const> const, Eigen::DefaultDevice>::TensorEvaluator(Eigen::TensorShufflingOp<std::array<int, 3ul> const, Eigen::TensorMap<Eigen::Tensor<float const, 3, 1, long>, 0, Eigen::MakePointer> const> const&, Eigen::DefaultDevice const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/build/third_party/eigen3/src/extern_eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorShuffling.h:155:34
    #4 0x7fba44a5156b in Eigen::TensorEvaluator<Eigen::TensorAssignOp<Eigen::TensorMap<Eigen::Tensor<float, 3, 1, long>, 0, Eigen::MakePointer>, Eigen::TensorShufflingOp<std::array<int, 3ul> const, Eigen::TensorMap<Eigen::Tensor<float const, 3, 1, long>, 0, Eigen::MakePointer> const> const> const, Eigen::DefaultDevice>::TensorEvaluator(Eigen::TensorAssignOp<Eigen::TensorMap<Eigen::Tensor<float, 3, 1, long>, 0, Eigen::MakePointer>, Eigen::TensorShufflingOp<std::array<int, 3ul> const, Eigen::TensorMap<Eigen::Tensor<float const, 3, 1, long>, 0, Eigen::MakePointer> const> const> const&, Eigen::DefaultDevice const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/build/third_party/eigen3/src/extern_eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorAssign.h:129:7
    #5 0x7fba44a5156b in Eigen::internal::TensorExecutor<Eigen::TensorAssignOp<Eigen::TensorMap<Eigen::Tensor<float, 3, 1, long>, 0, Eigen::MakePointer>, Eigen::TensorShufflingOp<std::array<int, 3ul> const, Eigen::TensorMap<Eigen::Tensor<float const, 3, 1, long>, 0, Eigen::MakePointer> const> const> const, Eigen::DefaultDevice, true, (Eigen::internal::TiledEvaluation)1>::run(Eigen::TensorAssignOp<Eigen::TensorMap<Eigen::Tensor<float, 3, 1, long>, 0, Eigen::MakePointer>, Eigen::TensorShufflingOp<std::array<int, 3ul> const, Eigen::TensorMap<Eigen::Tensor<float const, 3, 1, long>, 0, Eigen::MakePointer> const> const> const&, Eigen::DefaultDevice const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/build/third_party/eigen3/src/extern_eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorExecutor.h:186:15
    #6 0x7fba4494698a in Eigen::TensorDevice<Eigen::TensorMap<Eigen::Tensor<float, 3, 1, long>, 0, Eigen::MakePointer>, Eigen::DefaultDevice>& Eigen::TensorDevice<Eigen::TensorMap<Eigen::Tensor<float, 3, 1, long>, 0, Eigen::MakePointer>, Eigen::DefaultDevice>::operator=<Eigen::TensorShufflingOp<std::array<int, 3ul> const, Eigen::TensorMap<Eigen::Tensor<float const, 3, 1, long>, 0, Eigen::MakePointer> const> >(Eigen::TensorShufflingOp<std::array<int, 3ul> const, Eigen::TensorMap<Eigen::Tensor<float const, 3, 1, long>, 0, Eigen::MakePointer> const> const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/build/third_party/eigen3/src/extern_eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDevice.h:37:7
    #7 0x7fba4494698a in phi::funcs::Transpose<phi::CPUContext, float, 3>::operator()(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor*, std::vector<int, std::allocator<int> > const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/kernels/funcs/math_function_impl.h:73:28
    #8 0x7fba4135bed4 in phi::DenseTensor phi::Transpose2DTo6D<phi::CPUContext, float>(phi::CPUContext const&, phi::DenseTensor const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/kernels/impl/lu_kernel_impl.h:536:7
    #9 0x7fba4135a11f in void phi::LUKernel<float, phi::CPUContext>(phi::CPUContext const&, 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/lu_kernel.cc:37:10
    #10 0x7fba3d54755a in paddle::experimental::lu(paddle::experimental::Tensor const&, bool) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/api/lib/api.cc:16737:5
    #11 0x7fba31374772 in lu_ad_func(paddle::experimental::Tensor const&, bool) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/eager/api/generated/eager_generated/forwards/dygraph_functions.cc:27729:21
    #12 0x7fba2d84bd95 in paddle::pybind::eager_api_lu(_object*, _object*, _object*) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/pybind/eager_op_function.cc:12122:43
    #13 0x5025f3 in PyCFunction_Call (/usr/bin/python3.8+0x5025f3)
    #14 0x500db4 in _PyObject_MakeTpCall (/usr/bin/python3.8+0x500db4)
    #15 0x566223 in _PyEval_EvalFrameDefault (/usr/bin/python3.8+0x566223)
    #16 0x55f470 in _PyEval_EvalCodeWithName (/usr/bin/python3.8+0x55f470)
    #17 0x5016c5 in _PyFunction_Vectorcall (/usr/bin/python3.8+0x5016c5)
    #18 0x5610ed in _PyEval_EvalFrameDefault (/usr/bin/python3.8+0x5610ed)
    #19 0x55f470 in _PyEval_EvalCodeWithName (/usr/bin/python3.8+0x55f470)
    #20 0x55f102 in PyEval_EvalCode (/usr/bin/python3.8+0x55f102)
    #21 0x62a1ef  (/usr/bin/python3.8+0x62a1ef)
    #22 0x62a179  (/usr/bin/python3.8+0x62a179)
    #23 0x47a7f2  (/usr/bin/python3.8+0x47a7f2)
    #24 0x47a5cb in PyRun_SimpleFileExFlags (/usr/bin/python3.8+0x47a5cb)
    #25 0x4247dc in _init (/usr/bin/python3.8+0x4247dc)
    #26 0x5fb9b8 in Py_BytesMain (/usr/bin/python3.8+0x5fb9b8)
    #27 0x7fbaf4c3c83f in __libc_start_main /build/glibc-S7Ft5T/glibc-2.23/csu/../csu/libc-start.c:291
    #28 0x5fb8b8 in _start (/usr/bin/python3.8+0x5fb8b8)
AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: FPE (/lib/x86_64-linux-gnu/libgcc_s.so.1+0x5cd7) in __udivti3
==144245==ABORTING

@Ligoml
Copy link
Contributor Author

Ligoml commented Jan 18, 2023

Case17: paddle.incubate.graph_reindex

Reproduced Case:

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

Stack Trace Message:

AddressSanitizer:DEADLYSIGNAL
=================================================================
==107590==ERROR: AddressSanitizer: FPE on unknown address 0x7ff6916a2599 (pc 0x7ff6916a2599 bp 0x7ffef2be5210 sp 0x7ffef2be4ec0 T0)
    #0 0x7ff6916a2599 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:63:40
    #1 0x7ff6916af8d4 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 0x7ff6916af8d4 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 0x7ff6916af8d4 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 0x7ff6916af8d4 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 0x7ff6916af8d4 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 0x7ff6916af8d4 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 0x7ff6916af36b 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 0x7ff6916af36b 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 0x7ff68c6fa504 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 0x7ff68c6fa504 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 0x7ff68c6fa504 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 0x7ff68c6fa504 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 0x7ff68012f7f8 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 0x7ff68012f7f8 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 0x7ff680184d56 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 0x7ff68018d627 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 0x7ff68223128d 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 0x7ff67d610319 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 0x7ff74466283f 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)
AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: FPE /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/kernels/cpu/graph_reindex_kernel.cc:63:40 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*)
==107590==ABORTING

@Ligoml
Copy link
Contributor Author

Ligoml commented Jan 18, 2023

Case18: paddle.logsumexp

Reproduced Case:

import paddle
import numpy as np
array = np.array([], dtype=np.float32)
x = paddle.to_tensor(np.reshape(array, [0] * 3), dtype='float32')
paddle.logsumexp(x, axis=0)

Stack Trace Message:

AddressSanitizer:DEADLYSIGNAL
=================================================================
==9616==ERROR: AddressSanitizer: FPE on unknown address 0x7fd5f349ccd7 (pc 0x7fd5f349ccd7 bp 0x7ffcef21ee30 sp 0x7ffcef21edc8 T0)
    #0 0x7fd5f349ccd7 in __udivti3 (/lib/x86_64-linux-gnu/libgcc_s.so.1+0x5cd7)
    #1 0x7fd53f31db05 in Eigen::internal::(anonymous namespace)::DividerHelper<64, long>::computeMultiplier(int, long) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/build/third_party/eigen3/src/extern_eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIntDiv.h:128:82
    #2 0x7fd53f31db05 in Eigen::internal::TensorIntDivisor<long, false>::TensorIntDivisor(long) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/build/third_party/eigen3/src/extern_eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIntDiv.h:165:18
    #3 0x7fd53f31db05 in Eigen::TensorReductionEvaluatorBase<Eigen::TensorReductionOp<Eigen::internal::MaxReducer<float, 0>, std::array<int, 1ul> const, Eigen::TensorMap<Eigen::Tensor<float const, 3, 1, long>, 0, Eigen::MakePointer> const, Eigen::MakePointer> const, Eigen::DefaultDevice>::TensorReductionEvaluatorBase(Eigen::TensorReductionOp<Eigen::internal::MaxReducer<float, 0>, std::array<int, 1ul> const, Eigen::TensorMap<Eigen::Tensor<float const, 3, 1, long>, 0, Eigen::MakePointer> const, Eigen::MakePointer> const&, Eigen::DefaultDevice const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/build/third_party/eigen3/src/extern_eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReduction.h:584:36
    #4 0x7fd5402479d8 in Eigen::TensorEvaluator<Eigen::TensorReductionOp<Eigen::internal::MaxReducer<float, 0>, std::array<int, 1ul> const, Eigen::TensorMap<Eigen::Tensor<float const, 3, 1, long>, 0, Eigen::MakePointer> const, Eigen::MakePointer> const, Eigen::DefaultDevice>::TensorEvaluator(Eigen::TensorReductionOp<Eigen::internal::MaxReducer<float, 0>, std::array<int, 1ul> const, Eigen::TensorMap<Eigen::Tensor<float const, 3, 1, long>, 0, Eigen::MakePointer> const, Eigen::MakePointer> const&, Eigen::DefaultDevice const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/build/third_party/eigen3/src/extern_eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReduction.h:990:115
    #5 0x7fd5402479d8 in Eigen::TensorEvaluator<Eigen::TensorCwiseBinaryOp<Eigen::internal::scalar_sum_op<float const, float const>, Eigen::TensorReductionOp<Eigen::internal::MaxReducer<float, 0>, std::array<int, 1ul> const, Eigen::TensorMap<Eigen::Tensor<float const, 3, 1, long>, 0, Eigen::MakePointer> const, Eigen::MakePointer> const, Eigen::TensorCwiseUnaryOp<Eigen::internal::scalar_log_op<float>, Eigen::TensorReductionOp<Eigen::internal::SumReducer<float>, std::array<int, 1ul> const, Eigen::TensorCwiseUnaryOp<Eigen::internal::scalar_exp_op<float>, Eigen::TensorCwiseBinaryOp<Eigen::internal::scalar_difference_op<float const, float const>, Eigen::TensorMap<Eigen::Tensor<float const, 3, 1, long>, 0, Eigen::MakePointer> const, Eigen::TensorBroadcastingOp<Eigen::DSizes<long, 3> const, Eigen::TensorReshapingOp<Eigen::DSizes<long, 3> const, Eigen::TensorReductionOp<Eigen::internal::MaxReducer<float, 0>, std::array<int, 1ul> const, Eigen::TensorMap<Eigen::Tensor<float const, 3, 1, long>, 0, Eigen::MakePointer> const, Eigen::MakePointer> const> const> const> const> const, Eigen::MakePointer> const> const> const, Eigen::DefaultDevice>::TensorEvaluator(Eigen::TensorCwiseBinaryOp<Eigen::internal::scalar_sum_op<float const, float const>, Eigen::TensorReductionOp<Eigen::internal::MaxReducer<float, 0>, std::array<int, 1ul> const, Eigen::TensorMap<Eigen::Tensor<float const, 3, 1, long>, 0, Eigen::MakePointer> const, Eigen::MakePointer> const, Eigen::TensorCwiseUnaryOp<Eigen::internal::scalar_log_op<float>, Eigen::TensorReductionOp<Eigen::internal::SumReducer<float>, std::array<int, 1ul> const, Eigen::TensorCwiseUnaryOp<Eigen::internal::scalar_exp_op<float>, Eigen::TensorCwiseBinaryOp<Eigen::internal::scalar_difference_op<float const, float const>, Eigen::TensorMap<Eigen::Tensor<float const, 3, 1, long>, 0, Eigen::MakePointer> const, Eigen::TensorBroadcastingOp<Eigen::DSizes<long, 3> const, Eigen::TensorReshapingOp<Eigen::DSizes<long, 3> const, Eigen::TensorReductionOp<Eigen::internal::MaxReducer<float, 0>, std::array<int, 1ul> const, Eigen::TensorMap<Eigen::Tensor<float const, 3, 1, long>, 0, Eigen::MakePointer> const, Eigen::MakePointer> const> const> const> const> const, Eigen::MakePointer> const> const> const&, Eigen::DefaultDevice const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/build/third_party/eigen3/src/extern_eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorEvaluator.h:577:7
    #6 0x7fd5402479d8 in Eigen::TensorEvaluator<Eigen::TensorReshapingOp<Eigen::DSizes<long, 2> const, Eigen::TensorCwiseBinaryOp<Eigen::internal::scalar_sum_op<float const, float const>, Eigen::TensorReductionOp<Eigen::internal::MaxReducer<float, 0>, std::array<int, 1ul> const, Eigen::TensorMap<Eigen::Tensor<float const, 3, 1, long>, 0, Eigen::MakePointer> const, Eigen::MakePointer> const, Eigen::TensorCwiseUnaryOp<Eigen::internal::scalar_log_op<float>, Eigen::TensorReductionOp<Eigen::internal::SumReducer<float>, std::array<int, 1ul> const, Eigen::TensorCwiseUnaryOp<Eigen::internal::scalar_exp_op<float>, Eigen::TensorCwiseBinaryOp<Eigen::internal::scalar_difference_op<float const, float const>, Eigen::TensorMap<Eigen::Tensor<float const, 3, 1, long>, 0, Eigen::MakePointer> const, Eigen::TensorBroadcastingOp<Eigen::DSizes<long, 3> const, Eigen::TensorReshapingOp<Eigen::DSizes<long, 3> const, Eigen::TensorReductionOp<Eigen::internal::MaxReducer<float, 0>, std::array<int, 1ul> const, Eigen::TensorMap<Eigen::Tensor<float const, 3, 1, long>, 0, Eigen::MakePointer> const, Eigen::MakePointer> const> const> const> const> const, Eigen::MakePointer> const> const> const> const, Eigen::DefaultDevice>::TensorEvaluator(Eigen::TensorReshapingOp<Eigen::DSizes<long, 2> const, Eigen::TensorCwiseBinaryOp<Eigen::internal::scalar_sum_op<float const, float const>, Eigen::TensorReductionOp<Eigen::internal::MaxReducer<float, 0>, std::array<int, 1ul> const, Eigen::TensorMap<Eigen::Tensor<float const, 3, 1, long>, 0, Eigen::MakePointer> const, Eigen::MakePointer> const, Eigen::TensorCwiseUnaryOp<Eigen::internal::scalar_log_op<float>, Eigen::TensorReductionOp<Eigen::internal::SumReducer<float>, std::array<int, 1ul> const, Eigen::TensorCwiseUnaryOp<Eigen::internal::scalar_exp_op<float>, Eigen::TensorCwiseBinaryOp<Eigen::internal::scalar_difference_op<float const, float const>, Eigen::TensorMap<Eigen::Tensor<float const, 3, 1, long>, 0, Eigen::MakePointer> const, Eigen::TensorBroadcastingOp<Eigen::DSizes<long, 3> const, Eigen::TensorReshapingOp<Eigen::DSizes<long, 3> const, Eigen::TensorReductionOp<Eigen::internal::MaxReducer<float, 0>, std::array<int, 1ul> const, Eigen::TensorMap<Eigen::Tensor<float const, 3, 1, long>, 0, Eigen::MakePointer> const, Eigen::MakePointer> const> const> const> const> const, Eigen::MakePointer> const> const> const> const&, Eigen::DefaultDevice const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/build/third_party/eigen3/src/extern_eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMorphing.h:146:9
    #7 0x7fd5402479d8 in Eigen::TensorEvaluator<Eigen::TensorAssignOp<Eigen::TensorMap<Eigen::Tensor<float, 2, 1, long>, 0, Eigen::MakePointer>, Eigen::TensorReshapingOp<Eigen::DSizes<long, 2> const, Eigen::TensorCwiseBinaryOp<Eigen::internal::scalar_sum_op<float const, float const>, Eigen::TensorReductionOp<Eigen::internal::MaxReducer<float, 0>, std::array<int, 1ul> const, Eigen::TensorMap<Eigen::Tensor<float const, 3, 1, long>, 0, Eigen::MakePointer> const, Eigen::MakePointer> const, Eigen::TensorCwiseUnaryOp<Eigen::internal::scalar_log_op<float>, Eigen::TensorReductionOp<Eigen::internal::SumReducer<float>, std::array<int, 1ul> const, Eigen::TensorCwiseUnaryOp<Eigen::internal::scalar_exp_op<float>, Eigen::TensorCwiseBinaryOp<Eigen::internal::scalar_difference_op<float const, float const>, Eigen::TensorMap<Eigen::Tensor<float const, 3, 1, long>, 0, Eigen::MakePointer> const, Eigen::TensorBroadcastingOp<Eigen::DSizes<long, 3> const, Eigen::TensorReshapingOp<Eigen::DSizes<long, 3> const, Eigen::TensorReductionOp<Eigen::internal::MaxReducer<float, 0>, std::array<int, 1ul> const, Eigen::TensorMap<Eigen::Tensor<float const, 3, 1, long>, 0, Eigen::MakePointer> const, Eigen::MakePointer> const> const> const> const> const, Eigen::MakePointer> const> const> const> const> const, Eigen::DefaultDevice>::TensorEvaluator(Eigen::TensorAssignOp<Eigen::TensorMap<Eigen::Tensor<float, 2, 1, long>, 0, Eigen::MakePointer>, Eigen::TensorReshapingOp<Eigen::DSizes<long, 2> const, Eigen::TensorCwiseBinaryOp<Eigen::internal::scalar_sum_op<float const, float const>, Eigen::TensorReductionOp<Eigen::internal::MaxReducer<float, 0>, std::array<int, 1ul> const, Eigen::TensorMap<Eigen::Tensor<float const, 3, 1, long>, 0, Eigen::MakePointer> const, Eigen::MakePointer> const, Eigen::TensorCwiseUnaryOp<Eigen::internal::scalar_log_op<float>, Eigen::TensorReductionOp<Eigen::internal::SumReducer<float>, std::array<int, 1ul> const, Eigen::TensorCwiseUnaryOp<Eigen::internal::scalar_exp_op<float>, Eigen::TensorCwiseBinaryOp<Eigen::internal::scalar_difference_op<float const, float const>, Eigen::TensorMap<Eigen::Tensor<float const, 3, 1, long>, 0, Eigen::MakePointer> const, Eigen::TensorBroadcastingOp<Eigen::DSizes<long, 3> const, Eigen::TensorReshapingOp<Eigen::DSizes<long, 3> const, Eigen::TensorReductionOp<Eigen::internal::MaxReducer<float, 0>, std::array<int, 1ul> const, Eigen::TensorMap<Eigen::Tensor<float const, 3, 1, long>, 0, Eigen::MakePointer> const, Eigen::MakePointer> const> const> const> const> const, Eigen::MakePointer> const> const> const> const> const&, Eigen::DefaultDevice const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/build/third_party/eigen3/src/extern_eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorAssign.h:129:7
    #8 0x7fd5402479d8 in Eigen::internal::TensorExecutor<Eigen::TensorAssignOp<Eigen::TensorMap<Eigen::Tensor<float, 2, 1, long>, 0, Eigen::MakePointer>, Eigen::TensorReshapingOp<Eigen::DSizes<long, 2> const, Eigen::TensorCwiseBinaryOp<Eigen::internal::scalar_sum_op<float const, float const>, Eigen::TensorReductionOp<Eigen::internal::MaxReducer<float, 0>, std::array<int, 1ul> const, Eigen::TensorMap<Eigen::Tensor<float const, 3, 1, long>, 0, Eigen::MakePointer> const, Eigen::MakePointer> const, Eigen::TensorCwiseUnaryOp<Eigen::internal::scalar_log_op<float>, Eigen::TensorReductionOp<Eigen::internal::SumReducer<float>, std::array<int, 1ul> const, Eigen::TensorCwiseUnaryOp<Eigen::internal::scalar_exp_op<float>, Eigen::TensorCwiseBinaryOp<Eigen::internal::scalar_difference_op<float const, float const>, Eigen::TensorMap<Eigen::Tensor<float const, 3, 1, long>, 0, Eigen::MakePointer> const, Eigen::TensorBroadcastingOp<Eigen::DSizes<long, 3> const, Eigen::TensorReshapingOp<Eigen::DSizes<long, 3> const, Eigen::TensorReductionOp<Eigen::internal::MaxReducer<float, 0>, std::array<int, 1ul> const, Eigen::TensorMap<Eigen::Tensor<float const, 3, 1, long>, 0, Eigen::MakePointer> const, Eigen::MakePointer> const> const> const> const> const, Eigen::MakePointer> const> const> const> const> const, Eigen::DefaultDevice, true, (Eigen::internal::TiledEvaluation)0>::run(Eigen::TensorAssignOp<Eigen::TensorMap<Eigen::Tensor<float, 2, 1, long>, 0, Eigen::MakePointer>, Eigen::TensorReshapingOp<Eigen::DSizes<long, 2> const, Eigen::TensorCwiseBinaryOp<Eigen::internal::scalar_sum_op<float const, float const>, Eigen::TensorReductionOp<Eigen::internal::MaxReducer<float, 0>, std::array<int, 1ul> const, Eigen::TensorMap<Eigen::Tensor<float const, 3, 1, long>, 0, Eigen::MakePointer> const, Eigen::MakePointer> const, Eigen::TensorCwiseUnaryOp<Eigen::internal::scalar_log_op<float>, Eigen::TensorReductionOp<Eigen::internal::SumReducer<float>, std::array<int, 1ul> const, Eigen::TensorCwiseUnaryOp<Eigen::internal::scalar_exp_op<float>, Eigen::TensorCwiseBinaryOp<Eigen::internal::scalar_difference_op<float const, float const>, Eigen::TensorMap<Eigen::Tensor<float const, 3, 1, long>, 0, Eigen::MakePointer> const, Eigen::TensorBroadcastingOp<Eigen::DSizes<long, 3> const, Eigen::TensorReshapingOp<Eigen::DSizes<long, 3> const, Eigen::TensorReductionOp<Eigen::internal::MaxReducer<float, 0>, std::array<int, 1ul> const, Eigen::TensorMap<Eigen::Tensor<float const, 3, 1, long>, 0, Eigen::MakePointer> const, Eigen::MakePointer> const> const> const> const> const, Eigen::MakePointer> const> const> const> const> const&, Eigen::DefaultDevice const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/build/third_party/eigen3/src/extern_eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorExecutor.h:130:48
    #9 0x7fd54021f111 in Eigen::TensorDevice<Eigen::TensorMap<Eigen::Tensor<float, 2, 1, long>, 0, Eigen::MakePointer>, Eigen::DefaultDevice>& Eigen::TensorDevice<Eigen::TensorMap<Eigen::Tensor<float, 2, 1, long>, 0, Eigen::MakePointer>, Eigen::DefaultDevice>::operator=<Eigen::TensorReshapingOp<Eigen::DSizes<long, 2> const, Eigen::TensorCwiseBinaryOp<Eigen::internal::scalar_sum_op<float const, float const>, Eigen::TensorReductionOp<Eigen::internal::MaxReducer<float, 0>, std::array<int, 1ul> const, Eigen::TensorMap<Eigen::Tensor<float const, 3, 1, long>, 0, Eigen::MakePointer> const, Eigen::MakePointer> const, Eigen::TensorCwiseUnaryOp<Eigen::internal::scalar_log_op<float>, Eigen::TensorReductionOp<Eigen::internal::SumReducer<float>, std::array<int, 1ul> const, Eigen::TensorCwiseUnaryOp<Eigen::internal::scalar_exp_op<float>, Eigen::TensorCwiseBinaryOp<Eigen::internal::scalar_difference_op<float const, float const>, Eigen::TensorMap<Eigen::Tensor<float const, 3, 1, long>, 0, Eigen::MakePointer> const, Eigen::TensorBroadcastingOp<Eigen::DSizes<long, 3> const, Eigen::TensorReshapingOp<Eigen::DSizes<long, 3> const, Eigen::TensorReductionOp<Eigen::internal::MaxReducer<float, 0>, std::array<int, 1ul> const, Eigen::TensorMap<Eigen::Tensor<float const, 3, 1, long>, 0, Eigen::MakePointer> const, Eigen::MakePointer> const> const> const> const> const, Eigen::MakePointer> const> const> const> >(Eigen::TensorReshapingOp<Eigen::DSizes<long, 2> const, Eigen::TensorCwiseBinaryOp<Eigen::internal::scalar_sum_op<float const, float const>, Eigen::TensorReductionOp<Eigen::internal::MaxReducer<float, 0>, std::array<int, 1ul> const, Eigen::TensorMap<Eigen::Tensor<float const, 3, 1, long>, 0, Eigen::MakePointer> const, Eigen::MakePointer> const, Eigen::TensorCwiseUnaryOp<Eigen::internal::scalar_log_op<float>, Eigen::TensorReductionOp<Eigen::internal::SumReducer<float>, std::array<int, 1ul> const, Eigen::TensorCwiseUnaryOp<Eigen::internal::scalar_exp_op<float>, Eigen::TensorCwiseBinaryOp<Eigen::internal::scalar_difference_op<float const, float const>, Eigen::TensorMap<Eigen::Tensor<float const, 3, 1, long>, 0, Eigen::MakePointer> const, Eigen::TensorBroadcastingOp<Eigen::DSizes<long, 3> const, Eigen::TensorReshapingOp<Eigen::DSizes<long, 3> const, Eigen::TensorReductionOp<Eigen::internal::MaxReducer<float, 0>, std::array<int, 1ul> const, Eigen::TensorMap<Eigen::Tensor<float const, 3, 1, long>, 0, Eigen::MakePointer> const, Eigen::MakePointer> const> const> const> const> const, Eigen::MakePointer> const> const> const> const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/build/third_party/eigen3/src/extern_eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDevice.h:37:7
    #10 0x7fd54021f111 in void phi::LogsumexpFunctor<float>::operator()<Eigen::DefaultDevice, Eigen::TensorMap<Eigen::Tensor<float const, 3, 1, long>, 0, Eigen::MakePointer>, Eigen::TensorMap<Eigen::Tensor<float, 2, 1, long>, 0, Eigen::MakePointer>, std::array<int, 1ul> >(Eigen::DefaultDevice const&, Eigen::TensorMap<Eigen::Tensor<float const, 3, 1, long>, 0, Eigen::MakePointer>*, Eigen::TensorMap<Eigen::Tensor<float, 2, 1, long>, 0, Eigen::MakePointer>*, std::array<int, 1ul> const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/kernels/impl/logsumexp_kernel_impl.h:55:22
    #11 0x7fd54021f111 in void phi::funcs::ReduceFunctor<phi::CPUContext, float, 3ul, 1ul, phi::LogsumexpFunctor<float> >(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor*, std::vector<long, std::allocator<long> > const&, bool) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/kernels/funcs/reduce_function.h:1246:5
    #12 0x7fd5402160f3 in void phi::LogsumexpKernel<float, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const&, std::vector<long, std::allocator<long> > const&, bool, bool, phi::DenseTensor*) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/kernels/impl/logsumexp_kernel_impl.h:106:5
    #13 0x7fd53c3b936e in paddle::experimental::logsumexp(paddle::experimental::Tensor const&, std::vector<long, std::allocator<long> > const&, bool, bool) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/api/lib/api.cc:16587:5
    #14 0x7fd5301de5fa in logsumexp_ad_func(paddle::experimental::Tensor const&, std::vector<long, std::allocator<long> >, bool, bool) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/eager/api/generated/eager_generated/forwards/dygraph_functions.cc:27492:21
    #15 0x7fd52c6bdc40 in paddle::pybind::eager_api_logsumexp(_object*, _object*, _object*) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/pybind/eager_op_function.cc:12017:68
    #16 0x5025f3 in PyCFunction_Call (/usr/bin/python3.8+0x5025f3)
    #17 0x500db4 in _PyObject_MakeTpCall (/usr/bin/python3.8+0x500db4)
    #18 0x566223 in _PyEval_EvalFrameDefault (/usr/bin/python3.8+0x566223)
    #19 0x55f470 in _PyEval_EvalCodeWithName (/usr/bin/python3.8+0x55f470)
    #20 0x5016c5 in _PyFunction_Vectorcall (/usr/bin/python3.8+0x5016c5)
    #21 0x5610ed in _PyEval_EvalFrameDefault (/usr/bin/python3.8+0x5610ed)
    #22 0x55f470 in _PyEval_EvalCodeWithName (/usr/bin/python3.8+0x55f470)
    #23 0x55f102 in PyEval_EvalCode (/usr/bin/python3.8+0x55f102)
    #24 0x62a1ef  (/usr/bin/python3.8+0x62a1ef)
    #25 0x62a179  (/usr/bin/python3.8+0x62a179)
    #26 0x47a7f2  (/usr/bin/python3.8+0x47a7f2)
    #27 0x47a5cb in PyRun_SimpleFileExFlags (/usr/bin/python3.8+0x47a5cb)
    #28 0x4247dc in _init (/usr/bin/python3.8+0x4247dc)
    #29 0x5fb9b8 in Py_BytesMain (/usr/bin/python3.8+0x5fb9b8)
    #30 0x7fd5f3ab383f in __libc_start_main /build/glibc-S7Ft5T/glibc-2.23/csu/../csu/libc-start.c:291
    #31 0x5fb8b8 in _start (/usr/bin/python3.8+0x5fb8b8)
AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: FPE (/lib/x86_64-linux-gnu/libgcc_s.so.1+0x5cd7) in __udivti3
==9616==ABORTING

@Ligoml
Copy link
Contributor Author

Ligoml commented Jan 18, 2023

Case19: paddle.min

Reproduced Case:

import paddle
import numpy as np
array = np.array([], dtype=np.float32)
x = paddle.to_tensor(np.reshape(array, [0, 0, 0]), dtype='float32')
paddle.min(x, axis=0)

Stack Trace Message:

AddressSanitizer:DEADLYSIGNAL
=================================================================
==194480==ERROR: AddressSanitizer: FPE on unknown address 0x7fd1b1773cd7 (pc 0x7fd1b1773cd7 bp 0x7ffe666c4f10 sp 0x7ffe666c4ea8 T0)
    #0 0x7fd1b1773cd7 in __udivti3 (/lib/x86_64-linux-gnu/libgcc_s.so.1+0x5cd7)
    #1 0x7fd0fcf98c15 in Eigen::internal::(anonymous namespace)::DividerHelper<64, long>::computeMultiplier(int, long) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/build/third_party/eigen3/src/extern_eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIntDiv.h:128:82
    #2 0x7fd0fcf98c15 in Eigen::internal::TensorIntDivisor<long, false>::TensorIntDivisor(long) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/build/third_party/eigen3/src/extern_eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIntDiv.h:165:18
    #3 0x7fd0fcf98c15 in Eigen::TensorReductionEvaluatorBase<Eigen::TensorReductionOp<Eigen::internal::MinReducer<float, 0>, std::array<int, 1ul> const, Eigen::TensorMap<Eigen::Tensor<float const, 3, 1, long>, 0, Eigen::MakePointer> const, Eigen::MakePointer> const, Eigen::DefaultDevice>::TensorReductionEvaluatorBase(Eigen::TensorReductionOp<Eigen::internal::MinReducer<float, 0>, std::array<int, 1ul> const, Eigen::TensorMap<Eigen::Tensor<float const, 3, 1, long>, 0, Eigen::MakePointer> const, Eigen::MakePointer> const&, Eigen::DefaultDevice const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/build/third_party/eigen3/src/extern_eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReduction.h:584:36
    #4 0x7fd0fcf9633e in Eigen::TensorEvaluator<Eigen::TensorReductionOp<Eigen::internal::MinReducer<float, 0>, std::array<int, 1ul> const, Eigen::TensorMap<Eigen::Tensor<float const, 3, 1, long>, 0, Eigen::MakePointer> const, Eigen::MakePointer> const, Eigen::DefaultDevice>::TensorEvaluator(Eigen::TensorReductionOp<Eigen::internal::MinReducer<float, 0>, std::array<int, 1ul> const, Eigen::TensorMap<Eigen::Tensor<float const, 3, 1, long>, 0, Eigen::MakePointer> const, Eigen::MakePointer> const&, Eigen::DefaultDevice const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/build/third_party/eigen3/src/extern_eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReduction.h:990:115
    #5 0x7fd0fcf9633e in Eigen::TensorEvaluator<Eigen::TensorAssignOp<Eigen::TensorMap<Eigen::Tensor<float, 2, 1, long>, 0, Eigen::MakePointer>, Eigen::TensorReductionOp<Eigen::internal::MinReducer<float, 0>, std::array<int, 1ul> const, Eigen::TensorMap<Eigen::Tensor<float const, 3, 1, long>, 0, Eigen::MakePointer> const, Eigen::MakePointer> const> const, Eigen::DefaultDevice>::TensorEvaluator(Eigen::TensorAssignOp<Eigen::TensorMap<Eigen::Tensor<float, 2, 1, long>, 0, Eigen::MakePointer>, Eigen::TensorReductionOp<Eigen::internal::MinReducer<float, 0>, std::array<int, 1ul> const, Eigen::TensorMap<Eigen::Tensor<float const, 3, 1, long>, 0, Eigen::MakePointer> const, Eigen::MakePointer> const> const&, Eigen::DefaultDevice const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/build/third_party/eigen3/src/extern_eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorAssign.h:129:7
    #6 0x7fd0fcf9633e in Eigen::internal::TensorExecutor<Eigen::TensorAssignOp<Eigen::TensorMap<Eigen::Tensor<float, 2, 1, long>, 0, Eigen::MakePointer>, Eigen::TensorReductionOp<Eigen::internal::MinReducer<float, 0>, std::array<int, 1ul> const, Eigen::TensorMap<Eigen::Tensor<float const, 3, 1, long>, 0, Eigen::MakePointer> const, Eigen::MakePointer> const> const, Eigen::DefaultDevice, true, (Eigen::internal::TiledEvaluation)0>::run(Eigen::TensorAssignOp<Eigen::TensorMap<Eigen::Tensor<float, 2, 1, long>, 0, Eigen::MakePointer>, Eigen::TensorReductionOp<Eigen::internal::MinReducer<float, 0>, std::array<int, 1ul> const, Eigen::TensorMap<Eigen::Tensor<float const, 3, 1, long>, 0, Eigen::MakePointer> const, Eigen::MakePointer> const> const&, Eigen::DefaultDevice const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/build/third_party/eigen3/src/extern_eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorExecutor.h:130:48
    #7 0x7fd0fcf68494 in Eigen::TensorDevice<Eigen::TensorMap<Eigen::Tensor<float, 2, 1, long>, 0, Eigen::MakePointer>, Eigen::DefaultDevice>& Eigen::TensorDevice<Eigen::TensorMap<Eigen::Tensor<float, 2, 1, long>, 0, Eigen::MakePointer>, Eigen::DefaultDevice>::operator=<Eigen::TensorReductionOp<Eigen::internal::MinReducer<float, 0>, std::array<int, 1ul> const, Eigen::TensorMap<Eigen::Tensor<float const, 3, 1, long>, 0, Eigen::MakePointer> const, Eigen::MakePointer> >(Eigen::TensorReductionOp<Eigen::internal::MinReducer<float, 0>, std::array<int, 1ul> const, Eigen::TensorMap<Eigen::Tensor<float const, 3, 1, long>, 0, Eigen::MakePointer> const, Eigen::MakePointer> const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/build/third_party/eigen3/src/extern_eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDevice.h:37:7
    #8 0x7fd0fcf68494 in void phi::funcs::MinFunctor::operator()<Eigen::DefaultDevice, Eigen::TensorMap<Eigen::Tensor<float const, 3, 1, long>, 0, Eigen::MakePointer>, Eigen::TensorMap<Eigen::Tensor<float, 2, 1, long>, 0, Eigen::MakePointer>, std::array<int, 1ul> >(Eigen::DefaultDevice const&, Eigen::TensorMap<Eigen::Tensor<float const, 3, 1, long>, 0, Eigen::MakePointer>*, Eigen::TensorMap<Eigen::Tensor<float, 2, 1, long>, 0, Eigen::MakePointer>*, std::array<int, 1ul> const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/kernels/funcs/reduce_functor.h:87:22
    #9 0x7fd0fcf68494 in void phi::funcs::ReduceFunctor<phi::CPUContext, float, 3ul, 1ul, phi::funcs::MinFunctor>(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor*, std::vector<long, std::allocator<long> > const&, bool) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/kernels/funcs/reduce_function.h:1246:5
    #10 0x7fd0fcf51780 in void phi::funcs::ReduceKernelImpl<phi::CPUContext, float, float, phi::funcs::MinFunctor>(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor*, std::vector<long, std::allocator<long> > const&, bool, bool) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/kernels/funcs/reduce_function.h:1367:7
    #11 0x7fd0fcda72ce in void phi::Reduce<phi::CPUContext, float, phi::funcs::MinFunctor>(phi::CPUContext const&, phi::DenseTensor const&, bool, std::vector<long, std::allocator<long> > const&, bool, paddle::experimental::DataType, phi::DenseTensor*)::'lambda'()::operator()() const::'lambda7'()::operator()() const /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/kernels/cpu/reduce.h:49:5
    #12 0x7fd0fcda72ce in void phi::Reduce<phi::CPUContext, float, phi::funcs::MinFunctor>(phi::CPUContext const&, phi::DenseTensor const&, bool, std::vector<long, std::allocator<long> > const&, bool, paddle::experimental::DataType, phi::DenseTensor*)::'lambda'()::operator()() const /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/kernels/cpu/reduce.h:49:5
    #13 0x7fd0fcd99a86 in void phi::Reduce<phi::CPUContext, float, phi::funcs::MinFunctor>(phi::CPUContext const&, phi::DenseTensor const&, bool, std::vector<long, std::allocator<long> > const&, bool, paddle::experimental::DataType, phi::DenseTensor*) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/kernels/cpu/reduce.h:49:5
    #14 0x7fd0fcd992f3 in void phi::MinRawKernel<float, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const&, paddle::experimental::IntArrayBase<phi::DenseTensor> const&, bool, bool, phi::DenseTensor*) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/kernels/cpu/reduce_min_kernel.cc:32:3
    #15 0x7fd0fa6d82de in paddle::experimental::min(paddle::experimental::Tensor const&, paddle::experimental::IntArrayBase<paddle::experimental::Tensor> const&, bool) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/api/lib/api.cc:18393:5
    #16 0x7fd0ee53f6de in min_ad_func(paddle::experimental::Tensor const&, paddle::experimental::IntArrayBase<paddle::experimental::Tensor>, bool) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/eager/api/generated/eager_generated/forwards/dygraph_functions.cc:30228:21
    #17 0x7fd0ea9cfe05 in paddle::pybind::eager_api_min(_object*, _object*, _object*) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/pybind/eager_op_function.cc:13248:51
    #18 0x5025f3 in PyCFunction_Call (/usr/bin/python3.8+0x5025f3)
    #19 0x500db4 in _PyObject_MakeTpCall (/usr/bin/python3.8+0x500db4)
    #20 0x566223 in _PyEval_EvalFrameDefault (/usr/bin/python3.8+0x566223)
    #21 0x55f470 in _PyEval_EvalCodeWithName (/usr/bin/python3.8+0x55f470)
    #22 0x5016c5 in _PyFunction_Vectorcall (/usr/bin/python3.8+0x5016c5)
    #23 0x5610ed in _PyEval_EvalFrameDefault (/usr/bin/python3.8+0x5610ed)
    #24 0x55f470 in _PyEval_EvalCodeWithName (/usr/bin/python3.8+0x55f470)
    #25 0x55f102 in PyEval_EvalCode (/usr/bin/python3.8+0x55f102)
    #26 0x62a1ef  (/usr/bin/python3.8+0x62a1ef)
    #27 0x62a179  (/usr/bin/python3.8+0x62a179)
    #28 0x47a7f2  (/usr/bin/python3.8+0x47a7f2)
    #29 0x47a5cb in PyRun_SimpleFileExFlags (/usr/bin/python3.8+0x47a5cb)
    #30 0x4247dc in _init (/usr/bin/python3.8+0x4247dc)
    #31 0x5fb9b8 in Py_BytesMain (/usr/bin/python3.8+0x5fb9b8)
    #32 0x7fd1b1d8a83f in __libc_start_main /build/glibc-S7Ft5T/glibc-2.23/csu/../csu/libc-start.c:291
    #33 0x5fb8b8 in _start (/usr/bin/python3.8+0x5fb8b8)
AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: FPE (/lib/x86_64-linux-gnu/libgcc_s.so.1+0x5cd7) in __udivti3
==194480==ABORTING

@Ligoml
Copy link
Contributor Author

Ligoml commented Jan 18, 2023

Case20: paddle.min

Reproduced Case:

import paddle
import numpy as np
array = np.array([], dtype=np.float32)
x = paddle.to_tensor(np.reshape(array, [0, 0, 0, 0, 0, 0, 0]), dtype='float32')
paddle.min(x, axis=0)

Stack Trace Message:

AddressSanitizer:DEADLYSIGNAL
=================================================================
==108797==ERROR: AddressSanitizer: FPE on unknown address 0x7f40f66a4be3 (pc 0x7f40f66a4be3 bp 0x7ffd361ea110 sp 0x7ffd361e9da0 T0)
    #0 0x7f40f66a4be3 in void phi::funcs::HandleLargeDim<phi::CPUContext, float, phi::funcs::MinFunctor>(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor*, std::vector<long, std::allocator<long> > const&, bool) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/kernels/funcs/reduce_function.h:1317:50
    #1 0x7f40f66a4394 in void phi::funcs::ReduceKernelImpl<phi::CPUContext, float, float, phi::funcs::MinFunctor>(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor*, std::vector<long, std::allocator<long> > const&, bool, bool) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/kernels/funcs/reduce_function.h:1350:7
    #2 0x7f40f64fa2ce in void phi::Reduce<phi::CPUContext, float, phi::funcs::MinFunctor>(phi::CPUContext const&, phi::DenseTensor const&, bool, std::vector<long, std::allocator<long> > const&, bool, paddle::experimental::DataType, phi::DenseTensor*)::'lambda'()::operator()() const::'lambda7'()::operator()() const /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/kernels/cpu/reduce.h:49:5
    #3 0x7f40f64fa2ce in void phi::Reduce<phi::CPUContext, float, phi::funcs::MinFunctor>(phi::CPUContext const&, phi::DenseTensor const&, bool, std::vector<long, std::allocator<long> > const&, bool, paddle::experimental::DataType, phi::DenseTensor*)::'lambda'()::operator()() const /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/kernels/cpu/reduce.h:49:5
    #4 0x7f40f64eca86 in void phi::Reduce<phi::CPUContext, float, phi::funcs::MinFunctor>(phi::CPUContext const&, phi::DenseTensor const&, bool, std::vector<long, std::allocator<long> > const&, bool, paddle::experimental::DataType, phi::DenseTensor*) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/kernels/cpu/reduce.h:49:5
    #5 0x7f40f64ec2f3 in void phi::MinRawKernel<float, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const&, paddle::experimental::IntArrayBase<phi::DenseTensor> const&, bool, bool, phi::DenseTensor*) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/kernels/cpu/reduce_min_kernel.cc:32:3
    #6 0x7f40f3e2b2de in paddle::experimental::min(paddle::experimental::Tensor const&, paddle::experimental::IntArrayBase<paddle::experimental::Tensor> const&, bool) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/api/lib/api.cc:18393:5
    #7 0x7f40e7c926de in min_ad_func(paddle::experimental::Tensor const&, paddle::experimental::IntArrayBase<paddle::experimental::Tensor>, bool) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/eager/api/generated/eager_generated/forwards/dygraph_functions.cc:30228:21
    #8 0x7f40e4122e05 in paddle::pybind::eager_api_min(_object*, _object*, _object*) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/pybind/eager_op_function.cc:13248:51
    #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 0x7f41ab4dd83f 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)
AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: FPE /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/kernels/funcs/reduce_function.h:1317:50 in void phi::funcs::HandleLargeDim<phi::CPUContext, float, phi::funcs::MinFunctor>(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor*, std::vector<long, std::allocator<long> > const&, bool)
==108797==ABORTING

@Ligoml
Copy link
Contributor Author

Ligoml commented Jan 18, 2023

Case21: paddle.mode

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')
paddle.mode(x, axis=0)

Stack Trace Message:

AddressSanitizer:DEADLYSIGNAL
=================================================================
==163314==ERROR: AddressSanitizer: FPE on unknown address 0x7f55be0eecd7 (pc 0x7f55be0eecd7 bp 0x7fff22135930 sp 0x7fff221358c8 T0)
    #0 0x7f55be0eecd7 in __udivti3 (/lib/x86_64-linux-gnu/libgcc_s.so.1+0x5cd7)
    #1 0x7f550e4e14bf in Eigen::internal::(anonymous namespace)::DividerHelper<64, long>::computeMultiplier(int, long) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/build/third_party/eigen3/src/extern_eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIntDiv.h:128:82
    #2 0x7f550e4e14bf in Eigen::internal::TensorIntDivisor<long, false>::TensorIntDivisor(long) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/build/third_party/eigen3/src/extern_eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIntDiv.h:165:18
    #3 0x7f550e4e14bf in Eigen::TensorEvaluator<Eigen::TensorShufflingOp<std::array<int, 2ul> const, Eigen::TensorMap<Eigen::Tensor<float const, 2, 1, long>, 0, Eigen::MakePointer> const> const, Eigen::DefaultDevice>::TensorEvaluator(Eigen::TensorShufflingOp<std::array<int, 2ul> const, Eigen::TensorMap<Eigen::Tensor<float const, 2, 1, long>, 0, Eigen::MakePointer> const> const&, Eigen::DefaultDevice const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/build/third_party/eigen3/src/extern_eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorShuffling.h:155:34
    #4 0x7f550e4e14bf in Eigen::TensorEvaluator<Eigen::TensorAssignOp<Eigen::TensorMap<Eigen::Tensor<float, 2, 1, long>, 0, Eigen::MakePointer>, Eigen::TensorShufflingOp<std::array<int, 2ul> const, Eigen::TensorMap<Eigen::Tensor<float const, 2, 1, long>, 0, Eigen::MakePointer> const> const> const, Eigen::DefaultDevice>::TensorEvaluator(Eigen::TensorAssignOp<Eigen::TensorMap<Eigen::Tensor<float, 2, 1, long>, 0, Eigen::MakePointer>, Eigen::TensorShufflingOp<std::array<int, 2ul> const, Eigen::TensorMap<Eigen::Tensor<float const, 2, 1, long>, 0, Eigen::MakePointer> const> const> const&, Eigen::DefaultDevice const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/build/third_party/eigen3/src/extern_eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorAssign.h:129:7
    #5 0x7f550e4df9d0 in Eigen::internal::TensorExecutor<Eigen::TensorAssignOp<Eigen::TensorMap<Eigen::Tensor<float, 2, 1, long>, 0, Eigen::MakePointer>, Eigen::TensorShufflingOp<std::array<int, 2ul> const, Eigen::TensorMap<Eigen::Tensor<float const, 2, 1, long>, 0, Eigen::MakePointer> const> const> const, Eigen::DefaultDevice, true, (Eigen::internal::TiledEvaluation)1>::run(Eigen::TensorAssignOp<Eigen::TensorMap<Eigen::Tensor<float, 2, 1, long>, 0, Eigen::MakePointer>, Eigen::TensorShufflingOp<std::array<int, 2ul> const, Eigen::TensorMap<Eigen::Tensor<float const, 2, 1, long>, 0, Eigen::MakePointer> const> const> const&, Eigen::DefaultDevice const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/build/third_party/eigen3/src/extern_eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorExecutor.h:186:15
    #6 0x7f550e40776d in Eigen::TensorDevice<Eigen::TensorMap<Eigen::Tensor<float, 2, 1, long>, 0, Eigen::MakePointer>, Eigen::DefaultDevice>& Eigen::TensorDevice<Eigen::TensorMap<Eigen::Tensor<float, 2, 1, long>, 0, Eigen::MakePointer>, Eigen::DefaultDevice>::operator=<Eigen::TensorShufflingOp<std::array<int, 2ul> const, Eigen::TensorMap<Eigen::Tensor<float const, 2, 1, long>, 0, Eigen::MakePointer> const> >(Eigen::TensorShufflingOp<std::array<int, 2ul> const, Eigen::TensorMap<Eigen::Tensor<float const, 2, 1, long>, 0, Eigen::MakePointer> const> const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/build/third_party/eigen3/src/extern_eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDevice.h:37:7
    #7 0x7f550e40776d in phi::funcs::Transpose<phi::CPUContext, float, 2>::operator()(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor*, std::vector<int, std::allocator<int> > const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/kernels/funcs/math_function_impl.h:73:28
    #8 0x7f5507da61b3 in void phi::funcs::TransCompute<phi::CPUContext, float>(int, phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor*, std::vector<int, std::allocator<int> > const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/kernels/funcs/math_function.h:147:7
    #9 0x7f550aafd5b0 in void phi::ModeKernel<float, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const&, int, bool, phi::DenseTensor*, phi::DenseTensor*) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/kernels/cpu/mode_kernel.cc:90:5
    #10 0x7f550705a5f8 in paddle::experimental::mode(paddle::experimental::Tensor const&, int, bool) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/api/lib/api.cc:18599:5
    #11 0x7f54faece05d in mode_ad_func(paddle::experimental::Tensor const&, int, bool) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/eager/api/generated/eager_generated/forwards/dygraph_functions.cc:30610:21
    #12 0x7f54f7352432 in paddle::pybind::eager_api_mode(_object*, _object*, _object*) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/pybind/eager_op_function.cc:13402:52
    #13 0x5025f3 in PyCFunction_Call (/usr/bin/python3.8+0x5025f3)
    #14 0x500db4 in _PyObject_MakeTpCall (/usr/bin/python3.8+0x500db4)
    #15 0x566223 in _PyEval_EvalFrameDefault (/usr/bin/python3.8+0x566223)
    #16 0x55f470 in _PyEval_EvalCodeWithName (/usr/bin/python3.8+0x55f470)
    #17 0x5016c5 in _PyFunction_Vectorcall (/usr/bin/python3.8+0x5016c5)
    #18 0x5610ed in _PyEval_EvalFrameDefault (/usr/bin/python3.8+0x5610ed)
    #19 0x55f470 in _PyEval_EvalCodeWithName (/usr/bin/python3.8+0x55f470)
    #20 0x55f102 in PyEval_EvalCode (/usr/bin/python3.8+0x55f102)
    #21 0x62a1ef  (/usr/bin/python3.8+0x62a1ef)
    #22 0x62a179  (/usr/bin/python3.8+0x62a179)
    #23 0x47a7f2  (/usr/bin/python3.8+0x47a7f2)
    #24 0x47a5cb in PyRun_SimpleFileExFlags (/usr/bin/python3.8+0x47a5cb)
    #25 0x4247dc in _init (/usr/bin/python3.8+0x4247dc)
    #26 0x5fb9b8 in Py_BytesMain (/usr/bin/python3.8+0x5fb9b8)
    #27 0x7f55be70583f in __libc_start_main /build/glibc-S7Ft5T/glibc-2.23/csu/../csu/libc-start.c:291
    #28 0x5fb8b8 in _start (/usr/bin/python3.8+0x5fb8b8)
AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: FPE (/lib/x86_64-linux-gnu/libgcc_s.so.1+0x5cd7) in __udivti3
==163314==ABORTING

@Ligoml
Copy link
Contributor Author

Ligoml commented Jan 18, 2023

Case22: paddle.lerp

Reproduced Case:

import paddle
import numpy as np
x = paddle.to_tensor([83.92], dtype='float32')
array = np.array([], dtype=np.float32)
y = paddle.to_tensor(np.reshape(array, [0]), dtype='float32')
weight = paddle.to_tensor(np.reshape(array, [0]), dtype='float32')
paddle.lerp(x, y, weight)

Stack Trace Message:

AddressSanitizer:DEADLYSIGNAL
=================================================================
==210993==ERROR: AddressSanitizer: FPE on unknown address 0x7f36fca923d4 (pc 0x7f36fca923d4 bp 0x7ffd06475280 sp 0x7ffd064750a0 T0)
    #0 0x7f36fca923d4 in Eigen::TensorEvaluator<Eigen::TensorBroadcastingOp<Eigen::DSizes<int, 1> const, Eigen::TensorMap<Eigen::Tensor<float const, 1, 1, long>, 0, Eigen::MakePointer> const> const, Eigen::DefaultDevice>::indexRowMajor(long) const /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/build/third_party/eigen3/src/extern_eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBroadcasting.h:312:30
    #1 0x7f36fca923d4 in Eigen::TensorEvaluator<Eigen::TensorBroadcastingOp<Eigen::DSizes<int, 1> const, Eigen::TensorMap<Eigen::Tensor<float const, 1, 1, long>, 0, Eigen::MakePointer> const> const, Eigen::DefaultDevice>::BroadcastBlock(Eigen::DSizes<long, 1> const&, Eigen::DSizes<long, 1> const&, Eigen::DSizes<long, 2> const&, Eigen::DSizes<long, 2> const&, Eigen::DSizes<long, 2> const&, long, long, Eigen::internal::TensorBlockScratchAllocator<Eigen::DefaultDevice>&, float*, float**, unsigned long*) const /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/build/third_party/eigen3/src/extern_eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBroadcasting.h:1030:52
    #2 0x7f36fca91949 in Eigen::TensorEvaluator<Eigen::TensorBroadcastingOp<Eigen::DSizes<int, 1> const, Eigen::TensorMap<Eigen::Tensor<float const, 1, 1, long>, 0, Eigen::MakePointer> const> const, Eigen::DefaultDevice>::BroadcastBlockAlongBcastDim(Eigen::TensorEvaluator<Eigen::TensorBroadcastingOp<Eigen::DSizes<int, 1> const, Eigen::TensorMap<Eigen::Tensor<float const, 1, 1, long>, 0, Eigen::MakePointer> const> const, Eigen::DefaultDevice>::BlockBroadcastingParams, long, Eigen::internal::TensorBlockScratchAllocator<Eigen::DefaultDevice>&, float*, float**, unsigned long*) const /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/build/third_party/eigen3/src/extern_eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBroadcasting.h
    #3 0x7f36fca90d2c in Eigen::TensorEvaluator<Eigen::TensorBroadcastingOp<Eigen::DSizes<int, 1> const, Eigen::TensorMap<Eigen::Tensor<float const, 1, 1, long>, 0, Eigen::MakePointer> const> const, Eigen::DefaultDevice>::block(Eigen::internal::TensorBlockDescriptor<1, long>&, Eigen::internal::TensorBlockScratchAllocator<Eigen::DefaultDevice>&, bool) const /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/build/third_party/eigen3/src/extern_eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBroadcasting.h:674:28
    #4 0x7f370541d443 in Eigen::TensorEvaluator<Eigen::TensorCwiseBinaryOp<Eigen::internal::scalar_product_op<float const, float const>, Eigen::TensorBroadcastingOp<Eigen::DSizes<int, 1> const, Eigen::TensorMap<Eigen::Tensor<float const, 1, 1, long>, 0, Eigen::MakePointer> const> const, Eigen::TensorCwiseBinaryOp<Eigen::internal::scalar_difference_op<float const, float const>, Eigen::TensorBroadcastingOp<Eigen::DSizes<int, 1> const, Eigen::TensorMap<Eigen::Tensor<float const, 1, 1, long>, 0, Eigen::MakePointer> const> const, Eigen::TensorBroadcastingOp<Eigen::DSizes<int, 1> const, Eigen::TensorMap<Eigen::Tensor<float const, 1, 1, long>, 0, Eigen::MakePointer> const> const> const> const, Eigen::DefaultDevice>::block(Eigen::internal::TensorBlockDescriptor<1, long>&, Eigen::internal::TensorBlockScratchAllocator<Eigen::DefaultDevice>&, bool) const /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/build/third_party/eigen3/src/extern_eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorEvaluator.h:670:35
    #5 0x7f370541d443 in Eigen::TensorEvaluator<Eigen::TensorCwiseBinaryOp<Eigen::internal::scalar_sum_op<float const, float const>, Eigen::TensorBroadcastingOp<Eigen::DSizes<int, 1> const, Eigen::TensorMap<Eigen::Tensor<float const, 1, 1, long>, 0, Eigen::MakePointer> const> const, Eigen::TensorCwiseBinaryOp<Eigen::internal::scalar_product_op<float const, float const>, Eigen::TensorBroadcastingOp<Eigen::DSizes<int, 1> const, Eigen::TensorMap<Eigen::Tensor<float const, 1, 1, long>, 0, Eigen::MakePointer> const> const, Eigen::TensorCwiseBinaryOp<Eigen::internal::scalar_difference_op<float const, float const>, Eigen::TensorBroadcastingOp<Eigen::DSizes<int, 1> const, Eigen::TensorMap<Eigen::Tensor<float const, 1, 1, long>, 0, Eigen::MakePointer> const> const, Eigen::TensorBroadcastingOp<Eigen::DSizes<int, 1> const, Eigen::TensorMap<Eigen::Tensor<float const, 1, 1, long>, 0, Eigen::MakePointer> const> const> const> const> const, Eigen::DefaultDevice>::block(Eigen::internal::TensorBlockDescriptor<1, long>&, Eigen::internal::TensorBlockScratchAllocator<Eigen::DefaultDevice>&, bool) const /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/build/third_party/eigen3/src/extern_eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorEvaluator.h:671:38
    #6 0x7f370541d443 in Eigen::TensorEvaluator<Eigen::TensorAssignOp<Eigen::TensorMap<Eigen::Tensor<float, 1, 1, long>, 0, Eigen::MakePointer>, Eigen::TensorCwiseBinaryOp<Eigen::internal::scalar_sum_op<float const, float const>, Eigen::TensorBroadcastingOp<Eigen::DSizes<int, 1> const, Eigen::TensorMap<Eigen::Tensor<float const, 1, 1, long>, 0, Eigen::MakePointer> const> const, Eigen::TensorCwiseBinaryOp<Eigen::internal::scalar_product_op<float const, float const>, Eigen::TensorBroadcastingOp<Eigen::DSizes<int, 1> const, Eigen::TensorMap<Eigen::Tensor<float const, 1, 1, long>, 0, Eigen::MakePointer> const> const, Eigen::TensorCwiseBinaryOp<Eigen::internal::scalar_difference_op<float const, float const>, Eigen::TensorBroadcastingOp<Eigen::DSizes<int, 1> const, Eigen::TensorMap<Eigen::Tensor<float const, 1, 1, long>, 0, Eigen::MakePointer> const> const, Eigen::TensorBroadcastingOp<Eigen::DSizes<int, 1> const, Eigen::TensorMap<Eigen::Tensor<float const, 1, 1, long>, 0, Eigen::MakePointer> const> const> const> const> const> const, Eigen::DefaultDevice>::evalBlock(Eigen::internal::TensorBlockDescriptor<1, long>&, Eigen::internal::TensorBlockScratchAllocator<Eigen::DefaultDevice>&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/build/third_party/eigen3/src/extern_eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorAssign.h:221:42
    #7 0x7f370541c9a8 in Eigen::internal::TensorExecutor<Eigen::TensorAssignOp<Eigen::TensorMap<Eigen::Tensor<float, 1, 1, long>, 0, Eigen::MakePointer>, Eigen::TensorCwiseBinaryOp<Eigen::internal::scalar_sum_op<float const, float const>, Eigen::TensorBroadcastingOp<Eigen::DSizes<int, 1> const, Eigen::TensorMap<Eigen::Tensor<float const, 1, 1, long>, 0, Eigen::MakePointer> const> const, Eigen::TensorCwiseBinaryOp<Eigen::internal::scalar_product_op<float const, float const>, Eigen::TensorBroadcastingOp<Eigen::DSizes<int, 1> const, Eigen::TensorMap<Eigen::Tensor<float const, 1, 1, long>, 0, Eigen::MakePointer> const> const, Eigen::TensorCwiseBinaryOp<Eigen::internal::scalar_difference_op<float const, float const>, Eigen::TensorBroadcastingOp<Eigen::DSizes<int, 1> const, Eigen::TensorMap<Eigen::Tensor<float const, 1, 1, long>, 0, Eigen::MakePointer> const> const, Eigen::TensorBroadcastingOp<Eigen::DSizes<int, 1> const, Eigen::TensorMap<Eigen::Tensor<float const, 1, 1, long>, 0, Eigen::MakePointer> const> const> const> const> const> const, Eigen::DefaultDevice, true, (Eigen::internal::TiledEvaluation)1>::run(Eigen::TensorAssignOp<Eigen::TensorMap<Eigen::Tensor<float, 1, 1, long>, 0, Eigen::MakePointer>, Eigen::TensorCwiseBinaryOp<Eigen::internal::scalar_sum_op<float const, float const>, Eigen::TensorBroadcastingOp<Eigen::DSizes<int, 1> const, Eigen::TensorMap<Eigen::Tensor<float const, 1, 1, long>, 0, Eigen::MakePointer> const> const, Eigen::TensorCwiseBinaryOp<Eigen::internal::scalar_product_op<float const, float const>, Eigen::TensorBroadcastingOp<Eigen::DSizes<int, 1> const, Eigen::TensorMap<Eigen::Tensor<float const, 1, 1, long>, 0, Eigen::MakePointer> const> const, Eigen::TensorCwiseBinaryOp<Eigen::internal::scalar_difference_op<float const, float const>, Eigen::TensorBroadcastingOp<Eigen::DSizes<int, 1> const, Eigen::TensorMap<Eigen::Tensor<float const, 1, 1, long>, 0, Eigen::MakePointer> const> const, Eigen::TensorBroadcastingOp<Eigen::DSizes<int, 1> const, Eigen::TensorMap<Eigen::Tensor<float const, 1, 1, long>, 0, Eigen::MakePointer> const> const> const> const> const> const&, Eigen::DefaultDevice const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/build/third_party/eigen3/src/extern_eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorExecutor.h:206:19
    #8 0x7f370540ac08 in Eigen::TensorDevice<Eigen::TensorMap<Eigen::Tensor<float, 1, 1, long>, 0, Eigen::MakePointer>, Eigen::DefaultDevice>& Eigen::TensorDevice<Eigen::TensorMap<Eigen::Tensor<float, 1, 1, long>, 0, Eigen::MakePointer>, Eigen::DefaultDevice>::operator=<Eigen::TensorCwiseBinaryOp<Eigen::internal::scalar_sum_op<float const, float const>, Eigen::TensorBroadcastingOp<Eigen::DSizes<int, 1> const, Eigen::TensorMap<Eigen::Tensor<float const, 1, 1, long>, 0, Eigen::MakePointer> const> const, Eigen::TensorCwiseBinaryOp<Eigen::internal::scalar_product_op<float const, float const>, Eigen::TensorBroadcastingOp<Eigen::DSizes<int, 1> const, Eigen::TensorMap<Eigen::Tensor<float const, 1, 1, long>, 0, Eigen::MakePointer> const> const, Eigen::TensorCwiseBinaryOp<Eigen::internal::scalar_difference_op<float const, float const>, Eigen::TensorBroadcastingOp<Eigen::DSizes<int, 1> const, Eigen::TensorMap<Eigen::Tensor<float const, 1, 1, long>, 0, Eigen::MakePointer> const> const, Eigen::TensorBroadcastingOp<Eigen::DSizes<int, 1> const, Eigen::TensorMap<Eigen::Tensor<float const, 1, 1, long>, 0, Eigen::MakePointer> const> const> const> const> >(Eigen::TensorCwiseBinaryOp<Eigen::internal::scalar_sum_op<float const, float const>, Eigen::TensorBroadcastingOp<Eigen::DSizes<int, 1> const, Eigen::TensorMap<Eigen::Tensor<float const, 1, 1, long>, 0, Eigen::MakePointer> const> const, Eigen::TensorCwiseBinaryOp<Eigen::internal::scalar_product_op<float const, float const>, Eigen::TensorBroadcastingOp<Eigen::DSizes<int, 1> const, Eigen::TensorMap<Eigen::Tensor<float const, 1, 1, long>, 0, Eigen::MakePointer> const> const, Eigen::TensorCwiseBinaryOp<Eigen::internal::scalar_difference_op<float const, float const>, Eigen::TensorBroadcastingOp<Eigen::DSizes<int, 1> const, Eigen::TensorMap<Eigen::Tensor<float const, 1, 1, long>, 0, Eigen::MakePointer> const> const, Eigen::TensorBroadcastingOp<Eigen::DSizes<int, 1> const, Eigen::TensorMap<Eigen::Tensor<float const, 1, 1, long>, 0, Eigen::MakePointer> const> const> const> const> const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/build/third_party/eigen3/src/extern_eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDevice.h:37:7
    #9 0x7f370540ac08 in void phi::LerpFunction<phi::CPUContext, float, 1ul>(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/kernels/impl/lerp_kernel_impl.h:48:27
    #10 0x7f370540ac08 in void phi::LerpKernel<float, phi::CPUContext>(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/kernels/impl/lerp_kernel_impl.h:77:7
    #11 0x7f37013bb838 in paddle::experimental::lerp(paddle::experimental::Tensor const&, 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:15644:5
    #12 0x7f36f51af9ca in lerp_ad_func(paddle::experimental::Tensor const&, 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:26067:21
    #13 0x7f36f16bea7e in paddle::pybind::eager_api_lerp(_object*, _object*, _object*) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/pybind/eager_op_function.cc:11325:48
    #14 0x5025f3 in PyCFunction_Call (/usr/bin/python3.8+0x5025f3)
    #15 0x500db4 in _PyObject_MakeTpCall (/usr/bin/python3.8+0x500db4)
    #16 0x566223 in _PyEval_EvalFrameDefault (/usr/bin/python3.8+0x566223)
    #17 0x55f470 in _PyEval_EvalCodeWithName (/usr/bin/python3.8+0x55f470)
    #18 0x5016c5 in _PyFunction_Vectorcall (/usr/bin/python3.8+0x5016c5)
    #19 0x564f2d in _PyEval_EvalFrameDefault (/usr/bin/python3.8+0x564f2d)
    #20 0x55f470 in _PyEval_EvalCodeWithName (/usr/bin/python3.8+0x55f470)
    #21 0x55f102 in PyEval_EvalCode (/usr/bin/python3.8+0x55f102)
    #22 0x62a1ef  (/usr/bin/python3.8+0x62a1ef)
    #23 0x62a179  (/usr/bin/python3.8+0x62a179)
    #24 0x47a7f2  (/usr/bin/python3.8+0x47a7f2)
    #25 0x47a5cb in PyRun_SimpleFileExFlags (/usr/bin/python3.8+0x47a5cb)
    #26 0x4247dc in _init (/usr/bin/python3.8+0x4247dc)
    #27 0x5fb9b8 in Py_BytesMain (/usr/bin/python3.8+0x5fb9b8)
    #28 0x7f37b8adb83f in __libc_start_main /build/glibc-S7Ft5T/glibc-2.23/csu/../csu/libc-start.c:291
    #29 0x5fb8b8 in _start (/usr/bin/python3.8+0x5fb8b8)
AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: FPE /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/build/third_party/eigen3/src/extern_eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBroadcasting.h:312:30 in Eigen::TensorEvaluator<Eigen::TensorBroadcastingOp<Eigen::DSizes<int, 1> const, Eigen::TensorMap<Eigen::Tensor<float const, 1, 1, long>, 0, Eigen::MakePointer> const> const, Eigen::DefaultDevice>::indexRowMajor(long) const
==210993==ABORTING

@Ligoml
Copy link
Contributor Author

Ligoml commented Jan 18, 2023

Case23: paddle.floor_mod

Reproduced Case:

import paddle
import numpy as np
x = paddle.to_tensor([59], dtype='int32')
y = paddle.to_tensor([0], dtype='int32')
paddle.floor_mod(x, y)

Stack Trace Message:

==155145==ERROR: AddressSanitizer: FPE on unknown address 0x7f85fcaa53c4 (pc 0x7f85fcaa53c4 bp 0x7ffdf3c3d450 sp 0x7ffdf3c3cd20 T0)
    #0 0x7f85fcaa53c4 in phi::funcs::RemainderFunctor<int, void>::operator()(int, int) const /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/kernels/funcs/elementwise_functor.h:504:15
    #1 0x7f85fcaa53c4 in int* std::transform<int const*, int const*, int*, phi::funcs::RemainderFunctor<int, void> >(int const*, int const*, int const*, int*, phi::funcs::RemainderFunctor<int, void>) /usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/stl_algo.h:4343:14
    #2 0x7f85fcaa53c4 in void paddle::platform::Transform<phi::CPUContext>::operator()<int const*, int const*, int*, phi::funcs::RemainderFunctor<int, void> >(phi::CPUContext const&, int const*, int const*, int const*, int*, phi::funcs::RemainderFunctor<int, void>) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/platform/transform.h:94:5
    #3 0x7f85fcaa53c4 in phi::funcs::TransformFunctor<phi::funcs::RemainderFunctor<int, void>, int, phi::CPUContext, int>::Run() const /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/kernels/funcs/elementwise_base.h:224:5
    #4 0x7f85fcaa53c4 in void phi::funcs::ElementwiseCompute<phi::funcs::RemainderFunctor<int, void>, int, int>(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, int, phi::funcs::RemainderFunctor<int, void>, phi::DenseTensor*) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/kernels/funcs/elementwise_base.h:386:13
    #5 0x7f85fcaa4de2 in void phi::RemainderRawKernel<int, 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_kernel.cc:59:5
    #6 0x7f85f7aa7572 in paddle::experimental::remainder(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:21029:5
    #7 0x7f85eb996a7c in remainder_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:34567:21
    #8 0x7f85e7da8994 in paddle::pybind::eager_api_remainder(_object*, _object*, _object*) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/pybind/eager_op_function.cc:15350:46
    #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 0x564f2d in _PyEval_EvalFrameDefault (/usr/bin/python3.8+0x564f2d)
    #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 0x7f86af0fb83f 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)
AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: FPE /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/kernels/funcs/elementwise_functor.h:504:15 in phi::funcs::RemainderFunctor<int, void>::operator()(int, int) const
==155145==ABORTING

@Ligoml
Copy link
Contributor Author

Ligoml commented Jan 18, 2023

Case24: paddle.chunk

Reproduced Case:

import paddle
import numpy as np
array = np.array([5.421010862427522e-18, 0.0, 0.0, 0.0], dtype=np.float32)
x = paddle.to_tensor(np.reshape(array, [4]), dtype='float32')
paddle.chunk(x, chunks=0)

Stack Trace Message:

==202701==ERROR: AddressSanitizer: FPE on unknown address 0x7f26506d521c (pc 0x7f26506d521c bp 0x7ffca86775d0 sp 0x7ffca8676ee0 T0)
    #0 0x7f26506d521c in phi::SplitWithNumInferMeta(phi::MetaTensor const&, int, paddle::experimental::ScalarBase<phi::DenseTensor> const&, std::vector<phi::MetaTensor*, std::allocator<phi::MetaTensor*> >, phi::MetaConfig) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/infermeta/unary.cc:3532:5
    #1 0x7f26498cf7b0 in paddle::experimental::split_with_num(paddle::experimental::Tensor const&, int, paddle::experimental::ScalarBase<paddle::experimental::Tensor> const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/api/lib/api.cc:23771:3
    #2 0x7f263d81dd27 in split_with_num_ad_func(paddle::experimental::Tensor const&, int, 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:38631:21
    #3 0x7f2639bc1903 in paddle::pybind::eager_api_split_with_num(_object*, _object*, _object*) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/pybind/eager_op_function.cc:17138:58
    #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 0x55fa97 in _PyEval_EvalCodeWithName (/usr/bin/python3.8+0x55fa97)
    #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 0x7f2700eb383f 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)

@Ligoml
Copy link
Contributor Author

Ligoml commented Jan 18, 2023

Case25: paddle.dot

Reproduced Case:

import paddle
import numpy as np
array = np.array([], dtype=np.float32)
x = paddle.to_tensor(np.reshape(array, [0]), dtype='float32')
y = paddle.to_tensor(np.reshape(array, [0]), dtype='float32')
paddle.dot(x, y)

Stack Trace Message:

==115998==ERROR: AddressSanitizer: FPE on unknown address 0x7fc3c30398ca (pc 0x7fc3c30398ca bp 0x7ffe65586ed0 sp 0x7ffe65586df0 T0)
    #0 0x7fc3c30398ca in void phi::DotKernel<float, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor*) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/kernels/cpu/dot_kernel.cc:40:25
    #1 0x7fc3c30398ca in phi::KernelImpl<void (*)(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor*), &(void phi::DotKernel<float, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor*))>::VariadicCompute(phi::DeviceContext 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:239:12
    #2 0x7fc3bd6f9a32 in paddle::experimental::dot(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:1917:5
    #3 0x7fc3b129c433 in dot_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:4496:21
    #4 0x7fc3ad9fdc16 in paddle::pybind::eager_api_dot(_object*, _object*, _object*) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/pybind/eager_op_function.cc:1414:40
    #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 0x564f2d in _PyEval_EvalFrameDefault (/usr/bin/python3.8+0x564f2d)
    #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 0x7fc47501783f 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)

@Ligoml
Copy link
Contributor Author

Ligoml commented Jan 18, 2023

Case26: paddle.all

Reproduced Case:

import paddle
import numpy as np
array = np.array([], dtype=np.int32)
array = array.astype(bool)
x = paddle.to_tensor(np.reshape(array, (0, 0, 0)), dtype='bool')
paddle.all(x, axis=0, keepdim=True)

Stack Trace Message:

==92180==ERROR: AddressSanitizer: FPE on unknown address 0x7f73d5902cd7 (pc 0x7f73d5902cd7 bp 0x7ffd495de730 sp 0x7ffd495de6c8 T0)
    #0 0x7f73d5902cd7 in __udivti3 (/lib/x86_64-linux-gnu/libgcc_s.so.1+0x5cd7)
    #1 0x7f7321ab00f5 in Eigen::internal::(anonymous namespace)::DividerHelper<64, long>::computeMultiplier(int, long) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/build/third_party/eigen3/src/extern_eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIntDiv.h:128:82
    #2 0x7f7321ab00f5 in Eigen::internal::TensorIntDivisor<long, false>::TensorIntDivisor(long) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/build/third_party/eigen3/src/extern_eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIntDiv.h:165:18
    #3 0x7f7321ab00f5 in Eigen::TensorReductionEvaluatorBase<Eigen::TensorReductionOp<Eigen::internal::AndReducer, std::array<int, 1ul> const, Eigen::TensorMap<Eigen::Tensor<bool const, 3, 1, long>, 0, Eigen::MakePointer> const, Eigen::MakePointer> const, Eigen::DefaultDevice>::TensorReductionEvaluatorBase(Eigen::TensorReductionOp<Eigen::internal::AndReducer, std::array<int, 1ul> const, Eigen::TensorMap<Eigen::Tensor<bool const, 3, 1, long>, 0, Eigen::MakePointer> const, Eigen::MakePointer> const&, Eigen::DefaultDevice const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/build/third_party/eigen3/src/extern_eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReduction.h:584:36
    #4 0x7f7321aaf6b0 in Eigen::TensorEvaluator<Eigen::TensorReductionOp<Eigen::internal::AndReducer, std::array<int, 1ul> const, Eigen::TensorMap<Eigen::Tensor<bool const, 3, 1, long>, 0, Eigen::MakePointer> const, Eigen::MakePointer> const, Eigen::DefaultDevice>::TensorEvaluator(Eigen::TensorReductionOp<Eigen::internal::AndReducer, std::array<int, 1ul> const, Eigen::TensorMap<Eigen::Tensor<bool const, 3, 1, long>, 0, Eigen::MakePointer> const, Eigen::MakePointer> const&, Eigen::DefaultDevice const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/build/third_party/eigen3/src/extern_eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReduction.h:990:115
    #5 0x7f7321aaf6b0 in Eigen::TensorEvaluator<Eigen::TensorAssignOp<Eigen::TensorMap<Eigen::Tensor<bool, 2, 1, long>, 0, Eigen::MakePointer>, Eigen::TensorReductionOp<Eigen::internal::AndReducer, std::array<int, 1ul> const, Eigen::TensorMap<Eigen::Tensor<bool const, 3, 1, long>, 0, Eigen::MakePointer> const, Eigen::MakePointer> const> const, Eigen::DefaultDevice>::TensorEvaluator(Eigen::TensorAssignOp<Eigen::TensorMap<Eigen::Tensor<bool, 2, 1, long>, 0, Eigen::MakePointer>, Eigen::TensorReductionOp<Eigen::internal::AndReducer, std::array<int, 1ul> const, Eigen::TensorMap<Eigen::Tensor<bool const, 3, 1, long>, 0, Eigen::MakePointer> const, Eigen::MakePointer> const> const&, Eigen::DefaultDevice const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/build/third_party/eigen3/src/extern_eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorAssign.h:129:7
    #6 0x7f7321aaf6b0 in Eigen::internal::TensorExecutor<Eigen::TensorAssignOp<Eigen::TensorMap<Eigen::Tensor<bool, 2, 1, long>, 0, Eigen::MakePointer>, Eigen::TensorReductionOp<Eigen::internal::AndReducer, std::array<int, 1ul> const, Eigen::TensorMap<Eigen::Tensor<bool const, 3, 1, long>, 0, Eigen::MakePointer> const, Eigen::MakePointer> const> const, Eigen::DefaultDevice, false, (Eigen::internal::TiledEvaluation)0>::run(Eigen::TensorAssignOp<Eigen::TensorMap<Eigen::Tensor<bool, 2, 1, long>, 0, Eigen::MakePointer>, Eigen::TensorReductionOp<Eigen::internal::AndReducer, std::array<int, 1ul> const, Eigen::TensorMap<Eigen::Tensor<bool const, 3, 1, long>, 0, Eigen::MakePointer> const, Eigen::MakePointer> const> const&, Eigen::DefaultDevice const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/build/third_party/eigen3/src/extern_eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorExecutor.h:98:41
    #7 0x7f7321aaf6b0 in Eigen::TensorDevice<Eigen::TensorMap<Eigen::Tensor<bool, 2, 1, long>, 0, Eigen::MakePointer>, Eigen::DefaultDevice>& Eigen::TensorDevice<Eigen::TensorMap<Eigen::Tensor<bool, 2, 1, long>, 0, Eigen::MakePointer>, Eigen::DefaultDevice>::operator=<Eigen::TensorReductionOp<Eigen::internal::AndReducer, std::array<int, 1ul> const, Eigen::TensorMap<Eigen::Tensor<bool const, 3, 1, long>, 0, Eigen::MakePointer> const, Eigen::MakePointer> >(Eigen::TensorReductionOp<Eigen::internal::AndReducer, std::array<int, 1ul> const, Eigen::TensorMap<Eigen::Tensor<bool const, 3, 1, long>, 0, Eigen::MakePointer> const, Eigen::MakePointer> const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/build/third_party/eigen3/src/extern_eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDevice.h:37:7
    #8 0x7f7321aaf6b0 in void phi::funcs::AllFunctor::operator()<Eigen::DefaultDevice, Eigen::TensorMap<Eigen::Tensor<bool const, 3, 1, long>, 0, Eigen::MakePointer>, Eigen::TensorMap<Eigen::Tensor<bool, 2, 1, long>, 0, Eigen::MakePointer>, std::array<int, 1ul> >(Eigen::DefaultDevice const&, Eigen::TensorMap<Eigen::Tensor<bool const, 3, 1, long>, 0, Eigen::MakePointer>*, Eigen::TensorMap<Eigen::Tensor<bool, 2, 1, long>, 0, Eigen::MakePointer>*, std::array<int, 1ul> const&) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/kernels/funcs/reduce_functor.h:95:22
    #9 0x7f7321a99285 in void phi::funcs::ReduceFunctor<phi::CPUContext, bool, 3ul, 1ul, phi::funcs::AllFunctor>(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor*, std::vector<long, std::allocator<long> > const&, bool) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/kernels/funcs/reduce_function.h:1246:5
    #10 0x7f7321a81fba in void phi::funcs::ReduceKernelImpl<phi::CPUContext, bool, bool, phi::funcs::AllFunctor>(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor*, std::vector<long, std::allocator<long> > const&, bool, bool) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/kernels/funcs/reduce_function.h:1367:7
    #11 0x7f7321a80044 in void phi::BoolReduceKernel<phi::CPUContext, bool, phi::funcs::AllFunctor>(phi::CPUContext const&, phi::DenseTensor const&, std::vector<long, std::allocator<long> > const&, bool, bool, phi::DenseTensor*) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/kernels/cpu/reduce.h:88:3
    #12 0x7f731e6b4145 in paddle::experimental::all(paddle::experimental::Tensor const&, std::vector<long, std::allocator<long> > const&, bool) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/phi/api/lib/api.cc:7076:5
    #13 0x7f7312318d1f in all_ad_func(paddle::experimental::Tensor const&, std::vector<long, std::allocator<long> >, bool) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/eager/api/generated/eager_generated/forwards/dygraph_functions.cc:12904:21
    #14 0x7f730e9ae7ec in paddle::pybind::eager_api_all(_object*, _object*, _object*) /home/work/wangying/paddlepaddle/pdpd_source_code_new/pdpd_1109/Paddle/paddle/fluid/pybind/eager_op_function.cc:5051:51
    #15 0x5025f3 in PyCFunction_Call (/usr/bin/python3.8+0x5025f3)
    #16 0x500db4 in _PyObject_MakeTpCall (/usr/bin/python3.8+0x500db4)
    #17 0x566223 in _PyEval_EvalFrameDefault (/usr/bin/python3.8+0x566223)
    #18 0x55f470 in _PyEval_EvalCodeWithName (/usr/bin/python3.8+0x55f470)
    #19 0x5016c5 in _PyFunction_Vectorcall (/usr/bin/python3.8+0x5016c5)
    #20 0x5610ed in _PyEval_EvalFrameDefault (/usr/bin/python3.8+0x5610ed)
    #21 0x55f470 in _PyEval_EvalCodeWithName (/usr/bin/python3.8+0x55f470)
    #22 0x55f102 in PyEval_EvalCode (/usr/bin/python3.8+0x55f102)
    #23 0x62a1ef  (/usr/bin/python3.8+0x62a1ef)
    #24 0x62a179  (/usr/bin/python3.8+0x62a179)
    #25 0x47a7f2  (/usr/bin/python3.8+0x47a7f2)
    #26 0x47a5cb in PyRun_SimpleFileExFlags (/usr/bin/python3.8+0x47a5cb)
    #27 0x4247dc in _init (/usr/bin/python3.8+0x4247dc)
    #28 0x5fb9b8 in Py_BytesMain (/usr/bin/python3.8+0x5fb9b8)
    #29 0x7f73d5f1983f in __libc_start_main /build/glibc-S7Ft5T/glibc-2.23/csu/../csu/libc-start.c:291
    #30 0x5fb8b8 in _start (/usr/bin/python3.8+0x5fb8b8)

@RedContritio
Copy link
Contributor

Case6: paddle.nn.functional.softmax_with_cross_entropy
在 cpu, python3.7 环境下复现失败。

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.7/dist-packages/paddle/nn/functional/loss.py", line 2320, in softmax_with_cross_entropy
    axis,
  File "/usr/local/lib/python3.7/dist-packages/paddle/nn/functional/loss.py", line 278, in fluid_softmax_with_cross_entropy
    axis,
ValueError: (InvalidArgument) Input(Logits) and Input(Label) should in same shape in dimensions except axis.
  [Hint: Expected logits_dims[i] == labels_dims[i], but received logits_dims[i]:0 != labels_dims[i]:140721759615927.] (at /paddle/paddle/phi/infermeta/binary.cc:915)

@RedContritio
Copy link
Contributor

RedContritio commented Jan 23, 2023

Case 19 和 Case 26 未复现,但有相近错误 (min 和 all 都能触发)

import paddle
import numpy as np
array = np.array([], dtype=np.float32)
x = paddle.to_tensor(np.reshape(array, [0, 0, 0, 0]), dtype='float32')
paddle.min(x, axis=0)

发生条件是 reshape 的 shape 为 (0, 0, ... 0) 且 len(shape) in range(4, 7)
(大于等于 7 的情况在 #50013 中已修复)

会发生

--------------------------------------
C++ Traceback (most recent call last):
--------------------------------------
0   min_ad_func(paddle::experimental::Tensor const&, paddle::experimental::IntArrayBase<paddle::experimental::Tensor>, bool)
1   paddle::experimental::min(paddle::experimental::Tensor const&, paddle::experimental::IntArrayBase<paddle::experimental::Tensor> const&, bool)
2   void phi::MinRawKernel<float, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const&, paddle::experimental::IntArrayBase<phi::DenseTensor> const&, bool, bool, phi::DenseTensor*)
3   void phi::Reduce<phi::CPUContext, float, phi::funcs::MinFunctor>(phi::CPUContext const&, phi::DenseTensor const&, bool, std::vector<long, std::allocator<long> > const&, bool, paddle::experimental::DataType, phi::DenseTensor*)
4   void phi::funcs::ReduceKernelImpl<phi::CPUContext, float, float, phi::funcs::MinFunctor>(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor*, std::vector<long, std::allocator<long> > const&, bool, bool)
5   void phi::funcs::ReduceFunctor<phi::CPUContext, float, 4ul, 1ul, phi::funcs::MinFunctor>(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor*, std::vector<long, std::allocator<long> > const&, bool)

----------------------
Error Message Summary:
----------------------
FatalError: `Erroneous arithmetic operation` is detected by the operating system.
  [TimeInfo: *** Aborted at 1674474275 (unix time) try "date -d @1674474275" if you are using GNU date ***]
  [SignalInfo: *** SIGFPE (@0x7f850f02d0ef) received by PID 663826 (TID 0x7f8514469740) from PID 251842799 ***]

Floating point exception (core dumped)

update 2023/1/24 2:43
触发条件为 len(shape) - len(axis) >= 3len(shape) < 7

@co63oc
Copy link
Contributor

co63oc commented Mar 16, 2023

Case6: paddle.nn.functional.softmax_with_cross_entropy

Reproduced Case:

import paddle
import numpy as np
array = np.array([], dtype=np.float32)
logits = paddle.to_tensor(np.reshape(array, [1, 0]), dtype='float32')
array = np.array([1], dtype=np.float32)
label = paddle.to_tensor(np.reshape(array, [1]), dtype='float32')
paddle.nn.functional.softmax_with_cross_entropy(logits, label, soft_label=True, numeric_stable_mode=True, axis=0)

Stack Trace Message:

==206963==ERROR: AddressSanitizer: FPE on unknown address 0x7f3da0602cd7 (pc 0x7f3da0602cd7 bp 0x7ffef5a33690 sp 0x7ffef5a33628 T0)
    #0 0x7f3da0602cd7 in __udivti3 (/lib/x86_64-linux-gnu/libgcc_s.so.1+0x5cd7)
    #1 0x7f3ce737daf0 in Eigen::internal::(anonymous namespace)::DividerHelper<64, long>::computeMultiplier(int, long) /home/work/wangying/paddlepaddle/pdpd_source_code/Paddle/build/third_party/eigen3/src/extern_eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIntDiv.h:128:82
    #2 0x7f3ce737daf0 in Eigen::internal::TensorIntDivisor<long, false>::TensorIntDivisor(long) /home/work/wangying/paddlepaddle/pdpd_source_code/Paddle/build/third_party/eigen3/src/extern_eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIntDiv.h:165:18

NOTE:

* `paddle.nn.functional.softmax_with_cross_entropy` 可触发
  `third_party/eigen3/src/extern_eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIntDiv.h:128` 的除0问题,原因可能是没有对传入参数 logits 的 shape 做严格的检查。

* `paddle.nn.functional.softmax_with_cross_entropy` could trigger the divide by 0 problems in  `third_party/eigen3/src/extern_eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIntDiv.h:128`, may be caused by lacking enough input parameter check for the `shape` of `logits`.
  struct DividerHelper<64, T> {
    static EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE uint64_t computeMultiplier(const int log_div, const T divider) {
#if EIGEN_HAS_BUILTIN_INT128 && !defined(EIGEN_GPU_COMPILE_PHASE) && !defined(SYCL_DEVICE_ONLY)
      return static_cast<uint64_t>((static_cast<__uint128_t>(1) << (64+log_div)) / static_cast<__uint128_t>(divider) - (static_cast<__uint128_t>(1) << 64) + 1); // <-- 128行
#else

使用aistudio develop环境测试是已经修改为抛出异常
图片

@wanghuancoder
Copy link
Contributor

这个我也复现了一下,在我的机器上已经不抱任何问题了。我把这个case关掉。非常感谢~

@Difers
Copy link
Contributor

Difers commented Mar 20, 2023

这个我也复现了一下,在我的机器上已经不抱任何问题了。我把这个case关掉。非常感谢~

@co63oc测试图可以看到一个小错误,检查shape的时候,labels_dim[i]越界访问了一个空指针~
#51850

@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

7 participants