From your error the resource is not an valid jpg as the error state, and the following errors after that just a chain.
I would suggest you to use this Library I wrote on PHP image upload, resize and crop called eImage
Try this code Instead:
function make_thumb($image_path, $thumb_path, $thumb_width) {
$src_img = imagecreatefromjpeg("$image_path");
$origw=imagesx($src_img);
$origh=imagesy($src_img);
// This calculations goes is for?
// note that diff is not being used
$new_w = $thumb_width;
$diff = $origw/$new_w;
$new_h = $new_w;
// end of calculation
$canvas = imagecreatetruecolor($new_w,$new_h);
imagecopyresampled($canvas,$src_img,0,0,0,0,$new_w,$new_h,$origw,$origh);
imagejpeg($canvas, $thumb_path);
imagedestroy($src_img);
imagedestroy($canvas);
return true;
}