5.7.5.1 CRITICAL FILE MANAGER ISSUE: Image Upload & Replace Errors in File Manager

Permalink
I am apparently not alone in this issue.

1. When I upload an image via the File Manager, the end result says 0.00 KB and shows no thumbnail yet I can view the image just fine in the File Manager (See 1st Screenshot).

2. If I try and "replace" an existing file, I get a "500 Error" (See 2nd Screenshot).

Here my Environment:
# concrete5 Version
Core Version - 5.7.5.1
Version Installed - 5.7.5.1
Database Version - 20150713000000

# concrete5 Packages
Breadcrumb Trail Page Links (1.0), Easy Image Gallery (1.1.9), HonestWebsites Simple testimonials (1.0.0), Icons for Redactor (0.9), Mortar (1.0.0), Quick Tabs (1.0), Responsive Embed (1.0.0), SVG Social Media Icons (0.9.4), Table Block (0.9.2), Thumb Gallery (1.0.3).

# concrete5 Overrides
blocks/feature/view.php, blocks/feature, languages/pt_BR/LC_MESSAGES/messages.mo, languages/pt_BR/LC_MESSAGES, languages/pt_BR, languages/de_DE/LC_MESSAGES/messages.mo, languages/de_DE/LC_MESSAGES, languages/de_DE, languages/da_DK/LC_MESSAGES/messages.mo, languages/da_DK/LC_MESSAGES, languages/da_DK, languages/pl_PL/LC_MESSAGES/messages.mo, languages/pl_PL/LC_MESSAGES, languages/pl_PL, languages/tr_TR/LC_MESSAGES/messages.mo, languages/tr_TR/LC_MESSAGES, languages/tr_TR, languages/sv_SE/LC_MESSAGES/messages.mo, languages/sv_SE/LC_MESSAGES, languages/sv_SE, languages/nl_NL/LC_MESSAGES/messages.mo, languages/nl_NL/LC_MESSAGES, languages/nl_NL, languages/ja_JP/LC_MESSAGES/messages.mo, languages/ja_JP/LC_MESSAGES, languages/ja_JP, languages/it_IT/LC_MESSAGES/messages.mo, languages/it_IT/LC_MESSAGES, languages/it_IT, languages/fi_FI/LC_MESSAGES/messages.mo, languages/fi_FI/LC_MESSAGES, languages/fi_FI, languages/el_GR/LC_MESSAGES/messages.mo, languages/el_GR/LC_MESSAGES, languages/el_GR, languages/fr_FR/LC_MESSAGES/messages.mo, languages/fr_FR/LC_MESSAGES, languages/fr_FR, languages/ru_RU/LC_MESSAGES/messages.mo, languages/ru_RU/LC_MESSAGES, languages/ru_RU, blocks/feature/view.php, blocks/feature, languages/pt_BR/LC_MESSAGES/messages.mo, languages/pt_BR/LC_MESSAGES, languages/pt_BR, languages/de_DE/LC_MESSAGES/messages.mo, languages/de_DE/LC_MESSAGES, languages/de_DE, languages/da_DK/LC_MESSAGES/messages.mo, languages/da_DK/LC_MESSAGES, languages/da_DK, languages/pl_PL/LC_MESSAGES/messages.mo, languages/pl_PL/LC_MESSAGES, languages/pl_PL, languages/tr_TR/LC_MESSAGES/messages.mo, languages/tr_TR/LC_MESSAGES, languages/tr_TR, languages/sv_SE/LC_MESSAGES/messages.mo, languages/sv_SE/LC_MESSAGES, languages/sv_SE, languages/nl_NL/LC_MESSAGES/messages.mo, languages/nl_NL/LC_MESSAGES, languages/nl_NL, languages/ja_JP/LC_MESSAGES/messages.mo, languages/ja_JP/LC_MESSAGES, languages/ja_JP, languages/it_IT/LC_MESSAGES/messages.mo, languages/it_IT/LC_MESSAGES, languages/it_IT, languages/fi_FI/LC_MESSAGES/messages.mo, languages/fi_FI/LC_MESSAGES, languages/fi_FI, languages/el_GR/LC_MESSAGES/messages.mo, languages/el_GR/LC_MESSAGES, languages/el_GR, languages/fr_FR/LC_MESSAGES/messages.mo, languages/fr_FR/LC_MESSAGES, languages/fr_FR, languages/ru_RU/LC_MESSAGES/messages.mo, languages/ru_RU/LC_MESSAGES, languages/ru_RU

# concrete5 Cache Settings
Block Cache - On
Overrides Cache - On
Full Page Caching - On - If blocks on the particular page allow it.
Full Page Cache Lifetime - Every 6 hours (default setting).

# Server Software
Apache

# Server API
cgi-fcgi

# PHP Version
5.4.43

# PHP Extensions
bcmath, bz2, calendar, cgi-fcgi, Core, ctype, curl, date, dba, dom, enchant, ereg, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, imagick, imap, intl, ionCube Loader, json, ldap, libxml, mbstring, mcrypt, mhash, mysql, mysqli, odbc, openssl, pcntl, pcre, PDO, pdo_dblib, pdo_mysql, PDO_ODBC, pdo_pgsql, pdo_sqlite, pgsql, Phar, posix, pspell, readline, recode, Reflection, session, shmop, SimpleXML, soap, sockets, SourceGuardian, SPL, sqlite3, standard, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, wddx, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend Guard Loader, zip, zlib.

# PHP Settings
max_execution_time - 30
log_errors_max_len - 1024
max_file_uploads - 20
max_input_nesting_level - 64
max_input_time - 600
max_input_vars - 1000
memory_limit - 256M
post_max_size - 50M
sql.safe_mode - Off
upload_max_filesize - 50M
ldap.max_links - Unlimited
mysql.max_links - Unlimited
mysql.max_persistent - Unlimited
mysqli.max_links - Unlimited
mysqli.max_persistent - Unlimited
odbc.max_links - Unlimited
odbc.max_persistent - Unlimited
pcre.backtrack_limit - 1000000
pcre.recursion_limit - 100000
pgsql.max_links - Unlimited
pgsql.max_persistent - Unlimited
session.cache_limiter - <i>no value</i>
session.gc_maxlifetime - 1440
soap.wsdl_cache_limit - 5

2 Attachments

barkingtuna
 
Mnkras replied on at Permalink Reply
Mnkras
Can you check your server logs?
barkingtuna replied on at Permalink Reply
barkingtuna
What am I looking for? Database Query log or the actual log in the Bluehost account?
barkingtuna replied on at Permalink Reply
barkingtuna
There is nothing in the error log on Bluehost pertaining to this site today and I have supposedly triggered at least 5 errors this morning according to the messages.
barkingtuna replied on at Permalink Reply
barkingtuna
Refreshed the error log and got the following:

[30-Sep-2015 09:50:36 America/Denver] PHP Fatal error: Maximum execution time of 30 seconds exceeded in /home8/barking7/public_html/fortlocks/concrete/vendor/imagine/imagine/lib/Imagine/Imagick/Image.php on line 620
[30-Sep-2015 09:54:47 America/Denver] PHP Fatal error: Maximum execution time of 30 seconds exceeded in /home8/barking7/public_html/fortlocks/concrete/vendor/imagine/imagine/lib/Imagine/Imagick/Image.php on line 228
[30-Sep-2015 09:59:39 America/Denver] PHP Fatal error: Maximum execution time of 30 seconds exceeded in /home8/barking7/public_html/fortlocks/concrete/vendor/imagine/imagine/lib/Imagine/Imagick/Image.php on line 620
[30-Sep-2015 10:03:01 America/Denver] PHP Fatal error: Maximum execution time of 30 seconds exceeded in /home8/barking7/public_html/fortlocks/concrete/vendor/imagine/imagine/lib/Imagine/Imagick/Image.php on line 228
[30-Sep-2015 10:18:00 America/Denver] PHP Fatal error: Maximum execution time of 30 seconds exceeded in /home8/barking7/public_html/fortlocks/concrete/vendor/imagine/imagine/lib/Imagine/Imagick/Image.php on line 306
[30-Sep-2015 10:27:16 America/Denver] PHP Fatal error: Maximum execution time of 30 seconds exceeded in /home8/barking7/public_html/fortlocks/concrete/vendor/imagine/imagine/lib/Imagine/Imagick/Image.php on line 620
barkingtuna replied on at Permalink Reply 1 Attachment
barkingtuna
More info... the errors above apply to either file replacing or dragging from desktop into the File Manager. I get a different error if I try and upload via the other method and select a file from the desktop. It says "Maximum execution time of 30 seconds exceeded" although the time elapsed is less than 5 seconds. See screenshot
barkingtuna replied on at Permalink Reply 1 Attachment
barkingtuna
FYI... See attached which includes the Error Log, php5.ini file, and current .htaccess file.
barkingtuna replied on at Permalink Reply
barkingtuna
Another thing... if I "replace" an existing file, while I get the error message every time, the file actually gets replaced in the files manager despite appearances.
mkly replied on at Permalink Best Answer Reply
mkly
What happens if you comment out the class_exists check so it always returns 'image/gd' here?

https://github.com/concrete5/concrete5/blob/develop/web/concrete/src...
barkingtuna replied on at Permalink Reply
barkingtuna
Success is what happened... thanks Mike!

<?php
namespace Concrete\Core\Support\Facade;
class Image extends Facade
{
    public static function getFacadeAccessor()
    {
        /**if (class_exists('Imagick')) {
            try {
                $imagick = new \Imagick();
                $v = $imagick->getVersion();
                list($version, $year, $month, $day, $q, $website) = sscanf(
                    $v['versionString'],
                    'ImageMagick %s %04d-%02d-%02d %s %s');
                if (version_compare($version, '6.2.9') >= 0) {
                    return 'image/imagick';
barkingtuna replied on at Permalink Reply
barkingtuna
Ok... so if I want to make this permanent, do I need to add it to the application directory and create this path?

application/concrete/src/Support/Facade/Image.php
mkly replied on at Permalink Reply
mkly
Honestly I'm not quite sure. Haven't come across that situation yet. Someone smarter than me should probably chime in. First thing I would try is(not tested):
<?php
return array(
    'facades' => array(
        'Image' => '\Application\Core\Support\Facade\Image'
    )
);

In /application/config/app.php
Then copy the Image.php file over to /application/src/Support/Facade/Image.php
Then change the namespace in the new file to be
namespace Application\Core\Support\Facade;


Give it a whirl and see what happens. I don't know if application app.php can merge over the facades config like that, but I guess we'll find out.

EDIT: Fixed forgotten path
barkingtuna replied on at Permalink Reply
barkingtuna
Not too many people I've come across smarter than you...
mkly replied on at Permalink Reply
mkly
Oops forgot a line. See edited reply above.
barkingtuna replied on at Permalink Reply
barkingtuna
Hey Mike... just did a clean install of 5.7.5.2 and got this error right out of the gates.