The reason for “An unknown error has occurred” error is broken/corrupted image.
Please check that your image is ok, has absolute path, and please make sure that your server doesn’t have some king of protection against direct downloads of your images (hotlinking protection).You can check your images using Facebook Debugger Tool – just enter the URL of your image to the field, click “Debug” and see the error.

Twitter throws “Error creating status” for the exact same reason.

UPD: Sometimes Facebook throws this error when it’s servers overloaded or their image cache is corrupted. The thing to do in that case is to wait couple days till they fix it on their side.