at last i found the problem the problem is my test file is an file of zero length. so i will not call scp_write after push_file at that case
if i didn't call scp_write after push_file, any api i call will fail! so, the problem ends. remeber to call scp_write after push_file , no matter the file has content or not
