check the execution of tensorflow with gdb

Here I list some callstack of tensorflow which is collected through gdb.

0x1 Session::Run()

1
2
3
4
5
6
7
8
9
10
11
(gdb) bt
#0 tensorflow::DirectSession::Run (this=0x55a688ed3660, run_options=..., inputs=std::vector of length 3, capacity 3 = {...}, output_names=std::vector of length 0, capacity 0, target_nodes=std::vector of length 1, capacity 1 = {...}, outputs=0x7f375da478e0, run_metadata=0x7f375da47930) at tensorflow/core/common_runtime/direct_session.cc:439
#1 0x00007f3784cea307 in TF_Run_Helper (session=0x55a688ed3660, handle=0x0, run_options=0x0, input_pairs=std::vector of length 3, capacity 3 = {...}, output_tensor_names=std::vector of length 0, capacity 0, c_outputs=0x7f375da47d00, target_oper_names=std::vector of length 1, capacity 1 = {...}, run_metadata=0x0, status=0x7f37200d5e80) at tensorflow/c/c_api.cc:680
#2 0x00007f3784cea874 in TF_Run (s=0x55a688ed2af0, run_options=0x0, c_input_names=0x7f375da47c60, c_inputs=0x7f375da47cb0, ninputs=3, c_output_names=0x7f375da48060, c_outputs=0x7f375da47d00, noutputs=0, c_target_oper_names=0x7f375da480b0, ntargets=1, run_metadata=0x0, status=0x7f37200d5e80) at tensorflow/c/c_api.cc:735
#3 0x00007f37847382dd in tensorflow::TF_Run_wrapper_helper (session=0x55a688ed2af0, handle=0x0, run_options=0x0, feed_dict=0x7f3762b029d8, output_names=..., target_nodes=..., out_status=0x7f37200d5e80, out_values=0x7f375da48100, run_outputs=0x0) at tensorflow/python/client/tf_session_helper.cc:96
#4 0x00007f3784738936 in tensorflow::TF_Run_wrapper (session=0x55a688ed2af0, run_options=0x0, feed_dict=0x7f3762b029d8, output_names=..., target_nodes=..., out_status=0x7f37200d5e80, out_values=0x7f375da48100, run_outputs=0x0) at tensorflow/python/client/tf_session_helper.cc:149
#5 0x00007f37846bf7e4 in _wrap_TF_Run (args=0x7f376350cdb0) at bazel-out/k8-py3-dbg/bin/tensorflow/python/pywrap_tensorflow_internal.cc:15067
#6 0x000055a68528b2a1 in _PyCFunction_FastCallDict ()
#7 0x000055a68531e0a0 in call_function ()
#8 0x000055a68533f62a in _PyEval_EvalFrameDefault ()
#9 0x000055a685318c78 in PyEval_EvalCodeEx ()

0x2 OpKernel::Compute()

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
(gdb) bt
#0 0x00007f377fe7ee70 in tensorflow::OpKernelContext::input(int)@plt ()from /home/kevin/anaconda3/lib/python3.6/site-packages/tensorflow/python/../libtensorflow_framework.so
#1 0x00007f378001d8dd in tensorflow::HandleFromInput (ctx=0x7f3724169150, input=0) at tensorflow/core/framework/resource_mgr.cc:279
#2 0x00007f37859298b8 in tensorflow::QueueOpKernel::ComputeAsync(tensorflow::OpKernelContext*, std::function<void ()>) (this=0x7f37200cbfb0, ctx=0x7f3724169150, callback=...) at tensorflow/core/kernels/queue_ops.cc:37
#3 0x00007f378482cab8 in tensorflow::Device::ComputeAsync(tensorflow::AsyncOpKernel*, tensorflow::OpKernelContext*, std::function<void ()>)(this=0x55a688ee3260, op_kernel=0x7f37200cbfb0, context=0x7f3724169150, done=...) at ./tensorflow/core/common_runtime/device.h:89
#4 0x00007f37806b1b6e in tensorflow::(anonymous namespace)::ExecutorState::Process (this=0x7f37200d3440, tagged_node=..., scheduled_usec=0)at tensorflow/core/common_runtime/executor.cc:1647
#5 0x00007f37806c01a7 in std::_Mem_fn_base<void (tensorflow::(anonymous namespace)::ExecutorState::*)(tensorflow::(anonymous namespace)::ExecutorState::TaggedNode, long long), true>::operator()<tensorflow::(anonymous namespace)::ExecutorState::TaggedNode&, long long&, void> (this=0x7f37240337a0, __object=0x7f37200d3440) at /usr/include/c++/5/functional:600
#6 0x00007f37806bfc62 in std::_Bind<std::_Mem_fn<void (tensorflow::(anonymous namespace)::ExecutorState::*)(tensorflow::(anonymous namespace)::ExecutorState::TaggedNode, long long int)>(tensorflow::(anonymous namespace)::ExecutorState*, tensorflow::(anonymous namespace)::ExecutorState::TaggedNode, long long int)>::__call<void, 0ul, 1ul, 2ul>(<unknown type in /home/kevin/anaconda3/lib/python3.6/site-packages/tensorflow/python/../libtensorflow_framework.so, CU 0x314f884, DIE 0x31e50c1>, std::_Index_tuple<0ul, 1ul, 2ul>) (this=0x7f37240337a0, __args=<unknown type in /home/kevin/anaconda3/lib/python3.6/site-packages/tensorflow/python/../libtensorflow_framework.so, CU 0x314f884, DIE 0x31e50c1>) at /usr/include/c++/5/functional:1074
#7 0x00007f37806bda06 in std::_Bind<std::_Mem_fn<void (tensorflow::(anonymous namespace)::ExecutorState::*)(tensorflow::(anonymous namespace)::ExecutorState::TaggedNode, long long int)>(tensorflow::(anonymous namespace)::ExecutorState*, tensorflow::(anonymous namespace)::ExecutorState::TaggedNode, long long int)>::operator()<, void>(void) (this=0x7f37240337a0) at /usr/include/c++/5/functional:1133
#8 0x00007f37806bb2ac in std::_Function_handler<void(), std::_Bind<std::_Mem_fn<void (tensorflow::(anonymous namespace)::ExecutorState::*)(tensorflow::(anonymous namespace)::ExecutorState::TaggedNode, long long int)>(tensorflow::(anonymous namespace)::ExecutorState*, tensorflow::(anonymous namespace)::ExecutorState::TaggedNode, long long int)> >::_M_invoke(const std::_Any_data &) (__functor=...)at /usr/include/c++/5/functional:1871
#9 0x00007f377ff7f984 in std::function<void ()>::operator()() const (this=0x7f372407f320) at /usr/include/c++/5/functional:2267
#10 0x00007f3780197b9e in tensorflow::thread::EigenEnvironment::ExecuteTask (this=0x55a688ed3c58, t=...)at tensorflow/core/lib/core/threadpool.cc:81
#11 0x00007f378019a65c in Eigen::NonBlockingThreadPoolTempl<tensorflow::thread::EigenEnvironment>::WorkerLoop (this=0x55a688ed3c50, thread_id=1) at external/eigen_archive/unsupported/Eigen/CXX11/src/ThreadPool/NonBlockingThreadPool.h:232
#12 0x00007f3780198aae in Eigen::NonBlockingThreadPoolTempl<tensorflow::thread::EigenEnvironment>::NonBlockingThreadPoolTempl(int, bool, tensorflow::thread::EigenEnvironment)::{lambda()#1}::operator()() const ()at external/eigen_archive/unsupported/Eigen/CXX11/src/ThreadPool/NonBlockingThreadPool.h:65
#13 0x00007f378019bc7c in std::_Function_handler<void (), Eigen::NonBlockingThreadPoolTempl<tensorflow::thread::EigenEnvironment>::NonBlockingThreadPoolTempl(int, bool, tensorflow::thread::EigenEnvironment)::{lambda()#1}>::_M_invoke(std::_Any_data const&) (__functor=...)at /usr/include/c++/5/functional:1871
#14 0x00007f377ff7f984 in std::function<void ()>::operator()() const (this=0x55a688ed3050) at /usr/include/c++/5/functional:2267
#15 0x00007f3780197907 in tensorflow::thread::EigenEnvironment::CreateThread(std::function<void ()>)::{lambda()#1}::operator()() const (__closure=0x55a688ed3050) at tensorflow/core/lib/core/threadpool.cc:56
#16 0x00007f37801998d8 in std::_Function_handler<void (), tensorflow::thread::EigenEnvironment::CreateThread(std::function<void ()>)::{lambda()#1}>::_M_invoke(std::_Any_data const&) (__functor=...) at /usr/include/c++/5/functional:1871
#17 0x00007f377ff7f984 in std::function<void ()>::operator()() const (this=0x55a688f199b8) at /usr/include/c++/5/functional:2267
#18 0x00007f37801dcf38 in std::_Bind_simple<std::function<void ()> ()>::_M_invoke<>(std::_Index_tuple<>) (this=0x55a688f199b8)at /usr/include/c++/5/functional:1531
#19 0x00007f37801dcea1 in std::_Bind_simple<std::function<void ()> ()>::operator()() (this=0x55a688f199b8)at /usr/include/c++/5/functional:1520
#20 0x00007f37801dce40 in std::thread::_Impl<std::_Bind_simple<std::function<void ()> ()> >::_M_run() (this=0x55a688f199a0)at /usr/include/c++/5/thread:115
#21 0x00007f377ed4fc80 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#22 0x00007f3796f746ba in start_thread (arg=0x7f3760247700) at pthread_create.c:333#23 0x00007f3796caa3dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

0x3 Producer of tenforflow

It is trigged by test.py to send command to tenforflow native code.
producer

0x4 Consumer of tenforflow

Tensorflow’s thread pull task from the queue then execute it
consumer

0x5 gdb debug of convolutional_network.py

1
2
3
4
5
6
7
8
9
10
11
12
(gdb) bt
#0 0x00007f90a7e2d8f0 in tensorflow::ConvBackpropComputeDimensions(tensorflow::StringPiece, int, tensorflow::TensorShape const&, tensorflow::TensorShape const&, tensorflow::TensorShape const&, std::vector<int, std::allocator<int> > const&, tensorflow::Padding, tensorflow::TensorFormat, tensorflow::ConvBackpropDimensions*)@plt () from /home/kevin/anaconda3/lib/python3.6/site-packages/tensorflow/python/_pywrap_tensorflow_internal.so
#1 0x00007f90ab73bb73 in tensorflow::Conv2DCustomBackpropInputOp<Eigen::ThreadPoolDevice, float>::Compute (this=0x556909e28fa0, context=0x7f9083774840) at tensorflow/core/kernels/conv_grad_input_ops.cc:311
#2 0x00007f90a3ee091b in tensorflow::ThreadPoolDevice::Compute ( this=0x5569092d1f30, op_kernel=0x556909e28fa0, context=0x7f9083774840) at tensorflow/core/common_runtime/threadpool_device.cc:59
#3 0x00007f90a3e7bc0a in tensorflow::(anonymous namespace)::ExecutorState::Process (this=0x556909f04770, tagged_node=..., scheduled_usec=0) at tensorflow/core/common_runtime/executor.cc:1652
#4 0x00007f90a3e8a1a7 in std::_Mem_fn_base<void (tensorflow::(anonymous namespace)::ExecutorState::*)(tensorflow::(anonymous namespace)::ExecutorState::TaggedNode, long long), true>::operator()<tensorflow::(anonymous namespace)::ExecutorState::TaggedNode&, long long&, void> (this=0x7f904c695d50, __object=0x556909f04770) at /usr/include/c++/5/functional:600
#5 0x00007f90a3e89c62 in std::_Bind<std::_Mem_fn<void (tensorflow::(anonymous namespace)::ExecutorState::*)(tensorflow::(anonymous namespace)::ExecutorState::TaggedNode, long long int)>(tensorflow::(anonymous namespace)::ExecutorState*, tensorflow::(anonymous namespace)::ExecutorState::TaggedNode, long long int)>::__call<void, 0ul, 1ul, 2ul>(<unknown type in /home/kevin/anaconda3/lib/python3.6/site-packages/tensorflow/python/../libtensorflow_framework.so, CU 0x314f884, DIE 0x31e50c1>, std::_Index_tuple<0ul, 1ul, 2ul>) (this=0x7f904c695d50, ---Type <return> to continue, or q <return> to quit--- __args=<unknown type in /home/kevin/anaconda3/lib/python3.6/site-packages/tensorflow/python/../libtensorflow_framework.so, CU 0x314f884, DIE 0x31e50c1>) at /usr/include/c++/5/functional:1074
#6 0x00007f90a3e87a06 in std::_Bind<std::_Mem_fn<void (tensorflow::(anonymous namespace)::ExecutorState::*)(tensorflow::(anonymous namespace)::ExecutorState::TaggedNode, long long int)>(tensorflow::(anonymous namespace)::ExecutorState*, tensorflow::(anonymous namespace)::ExecutorState::TaggedNode, long long int)>::operator()<, void>(void) (this=0x7f904c695d50) at /usr/include/c++/5/functional:1133
#7 0x00007f90a3e852ac in std::_Function_handler<void(), std::_Bind<std::_Mem_fn<void (tensorflow::(anonymous namespace)::ExecutorState::*)(tensorflow::(anonymous namespace)::ExecutorState::TaggedNode, long long int)>(tensorflow::(anonymous namespace)::ExecutorState*, tensorflow::(anonymous namespace)::ExecutorState::TaggedNode, long long int)> >::_M_invoke(const std::_Any_data &) (__functor=...) at /usr/include/c++/5/functional:1871
#8 0x00007f90a3749984 in std::function<void ()>::operator()() const ( this=0x7f904c6c5d40) at /usr/include/c++/5/functional:2267 #9 0x00007f90a3961b9e in tensorflow::thread::EigenEnvironment::ExecuteTask ( this=0x5569091d82c8, t=...) at tensorflow/core/lib/core/threadpool.cc:81
#10 0x00007f90a396465c in Eigen::NonBlockingThreadPoolTempl<tensorflow::thread::EigenEnvironment>::WorkerLoop (this=0x5569091d82c0, thread_id=1) at external/eigen_archive/unsupported/Eigen/CXX11/src/ThreadPool/NonBlockingThreadPool.h:232
#11 0x00007f90a3962aae in Eigen::NonBlockingThreadPoolTempl<tensorflow::thread::EigenEnvironment>::NonBlockingThreadPoolTempl(int, bool, tensorflow::thread::EigenEnvironment)::{lambda()#1}::operator()() const () at external/eigen_archive/unsupported/Eigen/CXX11/src/ThreadPool/NonBlockingThreadPool.h:65
1
2
3
4
5
6
7
(gdb) c Continuing.
[Switching to Thread 0x7f9083775700 (LWP 3586)]
Thread 13 "python" hit Breakpoint 5, 0x00007f90a7e2d8f0 in tensorflow::ConvBackpropComputeDimensions(tensorflow::StringPiece, int, tensorflow::TensorShape const&, tensorflow::TensorShape const&, tensorflow::TensorShape const&, std::vector<int, std::allocator<int> > const&, tensorflow::Padding, tensorflow::TensorFormat, tensorflow::ConvBackpropDimensions*)@plt () from /home/kevin/anaconda3/lib/python3.6/site-packages/tensorflow/python/_pywrap_tensorflow_internal.so
(gdb) n
Single stepping until exit from function _ZN10tensorflow29ConvBackpropComputeDimensionsENS_11StringPieceEiRKNS_11TensorShapeES3_S3_RKSt6vectorIiSaIiEENS_7PaddingENS_12TensorFormatEPNS_22ConvBackpropDimensionsE@plt, which has no line number information. [Switching to Thread 0x7f90819b9700 (LWP 3587)] Thread 14 "python" hit Breakpoint 5, 0x00007f90a7e2d8f0 in tensorflow::ConvBackpropComputeDimensions(tensorflow::StringPiece, int, tensorflow::TensorShape const&, tensorflow::TensorShape const&, tensorflow::TensorShape const&, std::vector<int, std::allocator<int> > const&, tensorflow::Padding, tensorflow::TensorFormat, tensorflow::ConvBackpropDimensions*)@plt () from /home/kevin/anaconda3/lib/python3.6/site-packages/tensorflow/python/_pywrap_tensorflow_internal.so
(gdb)
Single stepping until exit from function _ZN10tensorflow29ConvBackpropComputeDimensionsENS_11StringPieceEiRKNS_11TensorShapeES3_S3_RKSt6vectorIiSaIiEENS_7PaddingENS_12TensorFormatEPNS_22ConvBackpropDimensionsE@plt, which has no line number information. tensorflow::ConvBackpropComputeDimensions (label=..., num_spatial_dims=32656, input_shape=..., filter_shape=..., out_backprop_shape=..., strides=std::vector of length 4, capacity 4 = {...}, padding=tensorflow::VALID, data_format=tensorflow::FORMAT_NHWC, dims=0x7f90819b8240) at tensorflow/core/kernels/conv_grad_ops.cc:156 156 ConvBackpropDimensions* dims) { (gdb) n [Switching to Thread 0x7f9083775700 (LWP 3586)] Thread 13 "python" hit Breakpoint 5, tensorflow::ConvBackpropComputeDimensions (label=..., num_spatial_dims=2, input_shape=..., filter_shape=..., out_backprop_shape=..., strides=std::vector of length 4, capacity 4 = {...}, padding=tensorflow::VALID, data_format=tensorflow::FORMAT_NHWC, dims=0x7f9083774240) at tensorflow/core/kernels/conv_grad_ops.cc:160 160 one_dilations, strides, padding, data_format, dims);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
(gdb)
#0 std::operator==<tensorflow::Status::State, std::default_delete<tensorflow::Status::State> >(std::unique_ptr<tensorflow::Status::State, std::default_delete<tensorflow::Status::State> > const&, decltype(nullptr)) ( __x=std::unique_ptr<tensorflow::Status::State> containing 0x0) at /usr/include/c++/5/bits/unique_ptr.h:631
#1 0x00007f90a7e9e41d in tensorflow::Status::ok (this=0x7f90819b8150) at ./tensorflow/core/lib/core/status.h:53
#2 0x00007f90ab73bb86 in tensorflow::Conv2DCustomBackpropInputOp<Eigen::ThreadPoolDevice, float>::Compute (this=0x556909e5c730, context=0x7f90819b8840) at tensorflow/core/kernels/conv_grad_input_ops.cc:311
#3 0x00007f90a3ee091b in tensorflow::ThreadPoolDevice::Compute ( this=0x5569092d1f30, op_kernel=0x556909e5c730, context=0x7f90819b8840) at tensorflow/core/common_runtime/threadpool_device.cc:59
#4 0x00007f90a3e7bc0a in tensorflow::(anonymous namespace)::ExecutorState::Process (this=0x55690a0f5150, tagged_node=..., scheduled_usec=0) at tensorflow/core/common_runtime/executor.cc:1652
#5 0x00007f90a3e8a1a7 in std::_Mem_fn_base<void (tensorflow::(anonymous namespace)::ExecutorState::*)(tensorflow::(anonymous namespace)::ExecutorState::TaggedNode, long long), true>::operator()<tensorflow::(anonymous namespace)::ExecutorState::TaggedNode&, long long&, void> (this=0x7f90508b25b0, __object=0x55690a0f5150) at /usr/include/c++/5/functional:600
#6 0x00007f90a3e89c62 in std::_Bind<std::_Mem_fn<void (tensorflow::(anonymous namespace)::ExecutorState::*)(tensorflow::(anonymous namespace)::ExecutorState::TaggedNode, long long int)>(tensorflow::(anonymous namespace)::ExecutorState*, tensorflow::(anonymous namespace)::ExecutorState::TaggedNode, long long int)>::__call<void, 0ul, 1ul, 2ul>(<unknown type in /home/kevin/anaconda3/lib/python3.6/site-packages/tensorflow/python/../libtensorflow_framework.so, CU 0x314f884, DIE 0x31e50c1>, std::_Index_tuple<0ul, 1ul, 2ul>) (this=0x7f90508b25b0, __args=<unknown type in /home/kevin/anaconda3/lib/python3.6/site-packages/tensorflow/python/../libtensorflow_framework.so, CU 0x314f884, DIE 0x31e50c1>) at /usr/include/c++/5/functional:1074 ---Type <return> to continue, or q <return> to quit---
(gdb) n
tensorflow::Conv2DCustomBackpropInputOp<Eigen::ThreadPoolDevice, float>::Compute (this=0x556909e5c730, context=0x7f90819b8840) at tensorflow/core/kernels/conv_grad_input_ops.cc:317 317 Tensor* in_backprop = nullptr;
(gdb) list
312 ConvBackpropComputeDimensions( 313 "Conv2DCustomBackpropInput", /*num_spatial_dims=*/2, 314 input_shape, filter.shape(), out_backprop.shape(), 315 strides_, padding_, data_format_, &dims)); 316 317 Tensor* in_backprop = nullptr; 318 OP_REQUIRES_OK(context, 319 context->allocate_output(0, input_shape, &in_backprop)); 320 321 // TODO(andydavis) Consider moving code shared with
(gdb) n
318 OP_REQUIRES_OK(context,
(gdb)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Thread info
(gdb) info threads
Id Target Id Frame
1 Thread 0x7f90bab09700 (LWP 3530) "python" pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
2 Thread 0x7f90b6a6a700 (LWP 3531) "python" 0x00007f90ba6f387f in __libc_recv (fd=4, buf=0x7f90b6a7afc8, n=4, flags=0) at ../sysdeps/unix/sysv/linux/x86_64/recv.c:28
3 Thread 0x7f908fc55700 (LWP 3560) "python" pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
4 Thread 0x7f908f454700 (LWP 3561) "python" pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
5 Thread 0x7f908ec53700 (LWP 3562) "python" pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
6 Thread 0x7f908e452700 (LWP 3563) "python" pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
7 Thread 0x7f908693b700 (LWP 3578) "python" 0x00007f90ba6f2827 in futex_abstimed_wait_cancelable (private=0, abstime=0x0, expected=0, futex_word=0x7f9068013280) at ../sysdeps/unix/sysv/linux/futex-internal.h:205
8 Thread 0x7f9085f7a700 (LWP 3581) "python" pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
9 Thread 0x7f9085779700 (LWP 3582) "python" pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
10 Thread 0x7f9084f78700 (LWP 3583) "python" pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
11 Thread 0x7f9084777700 (LWP 3584) "python" pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
12 Thread 0x7f9083f76700 (LWP 3585) "python" tensorflow::ConvBackpropComputeDimensions (label=..., num_spatial_dims=2, input_shape=..., filter_shape=..., out_backprop_shape=..., strides=std::vector of length 4, capacity 4 = {...}, padding=tensorflow::VALID, data_format=tensorflow::FORMAT_NHWC, ---Type <return> to continue, or q <return> to quit--- dims=0x7f9083f75240) at tensorflow/core/kernels/conv_grad_ops.cc:160
13 Thread 0x7f9083775700 (LWP 3586) "python" pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185 *
14 Thread 0x7f90819b9700 (LWP 3587) "python" tensorflow::ConvBackpropComputeDimensions (label=..., num_spatial_dims=2, input_shape=..., filter_shape=..., out_backprop_shape=..., strides=std::vector of length 4, capacity 4 = {...}, padding=tensorflow::VALID, data_format=tensorflow::FORMAT_NHWC, dims=0x7f90819b8240) at tensorflow/core/kernels/conv_grad_ops.cc:160
15 Thread 0x7f90811b8700 (LWP 3588) "python" pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
16 Thread 0x7f90809b7700 (LWP 3589) "python" pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
17 Thread 0x7f907dde7700 (LWP 3590) "python" 0x00007f90ba6f2827 in futex_abstimed_wait_cancelable (private=0, abstime=0x0, expected=0, futex_word=0x7f9038001380) at ../sysdeps/unix/sysv/linux/futex-internal.h:205