fix DebugStringEx crash bug
Created by: jacquesqiao
222: I0211 11:31:05.356113 2759680832 executor.cc:127] Op(elementwise_mul), inputs:{X[tmp_3[1]({})], Y[tmp_4[1]({})]}, outputs:{Out[tmp_5[1]({})]}.
222: I0211 11:31:05.356137 2759680832 executor.cc:127] Op(increment), inputs:{X[_generated_var_0[1]({})]}, outputs:{Out[_generated_var_0[1]({})]}.
222: I0211 11:31:05.356161 2759680832 tensor_util.h:36] Copy 1 from CPUPlace to CPUPlace
222: I0211 11:31:05.356173 2759680832 fetch_op.cc:62] Fetch variable _generated_var_0 to fetch
222: I0211 11:31:05.356180 2759680832 executor.cc:127]
222: E
222: ======================================================================
222: ERROR: test_decay (__main__.TestLearningRateDecay)
222: ----------------------------------------------------------------------
222: Traceback (most recent call last):
222: File "test_learning_rate_decay.py", line 145, in test_decay
222: self.check_decay(py_decay_fn, fluid_decay_fn, kwargs)
222: File "test_learning_rate_decay.py", line 99, in check_decay
222: fetch_list=[global_step, decayed_lr])
222: File "/Users/qiaolongfei/project/paddle/cmake-build-debug/python/build/lib-python/paddle/v2/fluid/executor.py", line 290, in run
222: self.executor.run(program.desc, scope, 0, True, True)
222: EnforceNotMet: holder_ should not be null
222: Tensor holds no memory. Call Tensor::mutable_data first. at [/Users/qiaolongfei/project/paddle/paddle/fluid/framework/tensor_impl.h:63]
222: PaddlePaddle Call Stacks:
222: 0 0x10e1468a7p paddle::platform::EnforceNotMet::EnforceNotMet(std::exception_ptr, char const*, int) + 759
222: 1 0x10e149e59p paddle::framework::Tensor::check_memory_size() const + 745
222: 2 0x10e15d9a5p unsigned long* paddle::framework::Tensor::data<unsigned long>() + 21
222: 3 0x10e85d9c4p paddle::framework::operator<<(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, std::__1::vector<paddle::framework::Vector<unsigned long>, std::__1::allocator<paddle::framework::Vector<unsigned long> > > const&) + 148
222: 4 0x10e851623p paddle::framework::OperatorBase::DebugStringEx(paddle::framework::Scope const*) const + 1459
222: 5 0x10e1fc1a1p paddle::framework::Executor::Run(paddle::framework::ProgramDesc const&, paddle::framework::Scope*, int, bool, bool) + 1777
222: 6 0x10e173d5ap _ZZN8pybind1112cpp_function10initializeIZNS0_C1IvN6paddle9framework8ExecutorEJRKNS4_11ProgramDescEPNS4_5ScopeEibbEJNS_4nameENS_9is_methodENS_7siblingEEEEMT0_FT_DpT1_EDpRKT2_EUlPS5_S8_SA_ibbE_vJSO_S8_SA_ibbEJSB_SC_SD_EEEvOSF_PFSE_SH_ESN_ENKUlRNS_6detail13function_callEE_clESV_ + 106
222: 7 0x10e14fa2ap pybind11::cpp_function::dispatcher(_object*, _object*, _object*) + 5562
222: 8 0x101bc69a3p PyEval_EvalFrameEx + 27247
222: 9 0x101bbfd3ep PyEval_EvalCodeEx + 1617
222: 10 0x101bca45ep fast_function + 117