Se ti interessa, vorrei aggiungere una mia idea che potrebbe essere utile anche a te nel merito di questa questione.
Ho provato ad aprire l'immagine jpg che ridimensionata diventa nera, con un programma di fotoritocco.
Il risultato è che il programma va in errore.
Poi ho rinominato l'estensione della foto in png e il programma di fotoritocco l'ha aperta.
In Windows se rinomini una jpg in png e viceversa la foto viene visualizzata comunque.
Il mio sospetto è quindi che la foto che stò esaminando (che ho scaricato da internet), sia stata rinominata da png a jpg.
ovviamente la funzione php si accorge che quella non è una jpg e quindi sballa tutto.