I cant reproduce this all the time but sometimes when I am uploading multiple photos (when I try 2MB or more so I can spot this error) one or 2 of the photo being uploaded in that set fails and shows a HTTP Error. However, in the album this failed photo will appear as white empty file with nothing in it. When this error happens, the console shows this:
POST http://site...... 502 (Bad Gateway) error. plupload.js:2980
The nginx error log shows this:
2014/11/12 01:12:20 [error] 20446#0: *2257 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 106.xx.2.xxx, server: site.com, request: "POST /index.php?option=com_easysocial&controller=photos&task=upload&format=json&tmpl=component&albumId=8&layout=form&uid=944&type=user&createStream=0&d1500f5be8d179d038fa269a738b5c08=1 HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "site.com", referrer: "http://site.com/community/albums/item/8-see/user/me"
I dont understand why the connection was dropped by nginx (only sometimes this happens). Its not the php upload limit, mysql limit or anything like that. Another time when similar error happened, nginx showed this:
2014/11/11 23:36:01 [error] 20443#0: *243 upstream sent invalid status "0 Null primary key not allowed." while reading response header from upstream, client: 106.xx.2.xxx, server: site.com, request: "POST /?option=com_easysocial&_ts=1415729145607 HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "site.com", referrer: "http://site.com/community/albums/form/3-yeah/user/me"
Php error showed this and nothing useful:
[12-Nov-2014 01:12:20] WARNING: [pool www] child 20858 exited on signal 9 (SIGKILL) after 1651.367964 seconds from start
[12-Nov-2014 01:12:20] NOTICE: [pool www] child 21097 started
MySql error log showed this warning:
141112 1:12:33 [Warning] Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. INSERT IGNORE... SELECT is unsafe because the order in which rows are retrieved by the SELECT determines which (if any) rows are ignored. This order cannot be predicted and may differ on master and the slave. Statement: INSERT IGNORE INTO `joom_finder_terms` (`term`, `stem`, `common`, `phrase`, `weight`, `soundex`, `language`) SELECT ta.term, ta.stem, ta.common, ta.phrase, ta.term_weight, SOUNDEX(ta.term), ta.language FROM `joom_finder_tokens_aggregate` AS ta WHERE ta.term_id = 0 GROUP BY ta.term
I cant seem to find out why it fails. Are you able to guide me what might be causing this issue on my server plz... This only happens to some uploads and not easy to reproduce consistently.