Tidypics - problem with gif photos

When I upload simple gif photo (no animation) I see only the name of the photo not the the thumbnail. Other formats are OK.

When I click the slideshow of an album I receive error:

Image not found: my-site/photos/thumbnail/215/small
Image not found: my-site/photos/thumbnail/215/large

Sometime the slideshow stuck.

Please help

Same problem with Elgg 2.3.9 and also Elgg 2.3.7

 

  • I can't recognize it: Elgg 2.3.9, TidyPics 2.3.6

  • Which version of Tidypics?

    What have you selected as the image library to be used by Tidypics on the Tidypics plugin settings page? GD php extension or something else? In case of GD php extension currently used could you alternatively use either Imagick php extension of ImageMagick tools? If it's a memory issue (lack of enough memory) the other two image libraries should work much better as they have much lower memory requirements.

    It might also be worth checking the Server Information tab of the Tidypics plugin settings to see if gif format is supported by GD on your server.

    If you can't use another image library but the GD php extension it might be necessary to increase memory_limit in .htaccess for Tidypics (rather GD) to be able to re-size larger images. You can also test with reducing the image resolution of a gif image you are trying to upload to see if it works then. If this is the case it's definitely a memory_issue (limiting is here mainly the image resolution and not the image filesize).

    For support of animated gifs you should use either Imagick or ImageMagick anyway as the GD php extension can't resize animated gifs correctly. You would just get the first image frame as the resized image then.

  • I use Tidypics version 2.3.6, 

    ImageMagick - Optimization of thumbnail filesize - Complex

    Server Info:

    PHP Version 5.6.39
    GD Enabled Elgg requires the GD extension to be loaded
    imagick Enabled
    exec() Enabled Required for ImageMagick command line
    Memory Available to PHP 64MB Change memory_limit to increase
    Memory Used to Load This Page 6.78 MB This is approximately the minimum per page
    Max File Upload Size 5.00 MB Max size of an uploaded photo file
    Max Post Size 8.00 MB Max post size = sum of photos + html form
    Max Input Time -1s Time script waits for upload to finish
    Max Execution Time 300s Max time a script will run
    GD imagejpeg Enabled
    GD imagepng Enabled
    GD imagegif Enabled
    EXIF Enabled

     

     

     

     

     

     

  • Is there any error logged?

    Maybe post_max_size is too small in .htaccess. It's only the default 8M on your server. It needs to be large enough to hold all images uploaded in one go plugin the size of the resized image files.

  • This is my .htaccess

    <IfModule mod_php5.c>
    	# If using PHP 5.6
    
    	# limit the maximum memory consumed by the php script to 64 MB
    	php_value memory_limit 64M
    	# post_max_size is the maximum size of ALL the data that is POST'ed to php at a time (8 MB)
    	php_value post_max_size 8388608
    	# upload_max_filesize is the maximum size of a single uploaded file (5 MB)
    	php_value upload_max_filesize 5242880
    	# on development servers, set to 1 to display errors. Set to 0 on production servers.
    	php_value display_errors 0
    </IfModule>
  • With imagick it is OK. The problem is only with ImageMagick 

    FYI
    In both imagick and ImageMagick and also for png and jpg I receive "Pause on caught exception" and error. Please see at the bottom of the following file at line = FileUploaded: function(up, file, info).. etc.
    define(function(require) {
    
    var $ = require('jquery');
    
    var elgg = require('elgg');
    
    var Ajax = require('elgg/Ajax');
    
    
    // manage Spinner manually
    
    var ajax = new Ajax(false);
    
    
    function init() {
    
    var fields = ['Elgg', 'user_guid', 'album_guid', 'batch', 'tidypics_token'];
    
    var data = elgg.security.token;
    
    
    $(fields).each(function(i, name) {
    
    var value = $('input[name=' + name + ']').val();
    
    if (value) {
    
    data[name] = value;
    
    }
    
    });
    
    
    var maxfilesize = $("#uploader").data('maxfilesize');
    
    var maxfiles = $("#uploader").data('maxnumber');
    
    
    var client_resizing = $("#uploader").data('client-resizing');
    
    
    if (client_resizing == true) {
    
    var client_width = $("#uploader").data('client-width');
    
    var client_height = $("#uploader").data('client-height');
    
    var remove_exif = $("#uploader").data('remove-exif');
    
    var preserve_exif = !remove_exif;
    
    
    var resizing_parameters = {
    
    width: client_width,
    
    height: client_height,
    
    quality: 100,
    
    preserve_headers: preserve_exif
    
    };
    
    } else {
    
    var resizing_parameters = false;
    
    }
    
    
    $("#uploader").plupload({
    
    // General settings
    
    runtimes : 'html5,html4',
    
    url : elgg.get_site_url() + 'action/photos/image/ajax_upload',
    
    file_data_name : 'Image',
    
    
    dragdrop: true,
    
    sortable: true,
    
    multipart_params : data,
    
    max_file_size : maxfilesize + 'mb',
    
    
    filters : [
    
    {title : elgg.echo('tidypics:uploader:filetype'), extensions : "jpg,jpeg,gif,png"}
    
    ],
    
    
    // Views to activate
    
    views: {
    
    list: true,
    
    thumbs: true,
    
    active: 'thumbs'
    
    },
    
    
    resize : resizing_parameters,
    
    
    init : {
    
    UploadComplete: function(up, files) {
    
    // Called when all files are either uploaded or failed
    
    ajax.action('photos/image/ajax_upload_complete', {
    
    data: {
    
    album_guid: data.album_guid,
    
    batch: data.batch
    
    }
    
    }).done(function(json, status, jqXHR) {
    
    if (jqXHR.AjaxData.status == -1) {
    
    if (!json.error.message.length) {
    
    window.location.href = elgg.normalize_url('photos/siteimagesall');
    
    } else {
    
    location.reload();
    
    }
    
    return;
    
    }
    
    var url = elgg.normalize_url('photos/edit/' + json.batch_guid);
    
    window.location.href = url;
    
    return;
    
    });
    
    },
    
    
    FilesAdded: function(up, files) {
    
    if(up.files.length > maxfiles ) {
    
    alert(elgg.echo('tidypics:exceedmax_number', [maxfiles]));
    
    }
    
    if(up.files.length > maxfiles ) {
    
    up.splice(maxfiles);
    
    }
    
    if (up.files.length >= maxfiles) {
    
    up.disableBrowse(true);
    
    }
    
    },
    
    
    FilesRemoved: function(up, files) {
    
    if (up.files.length < maxfiles) {
    
    up.disableBrowse(false);
    
    }
    
    },
    
    
    FileUploaded: function(up, file, info) { up = o.Uploader {id: "o_1cv45t94l14i1o8q95218kshfj1", uid: "o_1cv45t94l14i1o8q95218kshfj1", state: 2, features: {…}, runtime: "html5", …}, file = n {id: "o_1cv45thg31oppgbl1bg81ut2rrca", name: "disease.gif", type: "image/gif", size: 9220, origSize: 9220, …}, info = {response: null, status: 200, responseHeaders: "pragma: no-cache
    
    ↵date: Wed, 19 Dec 2018 21:28:44 …ngth: 0
    
    ↵expires: Thu, 19 Nov 1981 08:52:00 GMT
    
    ↵"}
    
    var response = jQuery.parseJSON(info.response);
    
    if (response.error.message.length) {
    
    elgg.register_error(response.error.message);
    
    up.stop();
    
    return;
    
    }
    
    }
    
    }
    
    });
    
    }
    
    
    init();
    
    });

     

     

     

  • error logged

    "Tidypics warning: Image Magick convert failed" in file path/mod/tidypics/lib/resize.php (line 525)

     "Tidypics warning: failed to create thumbnails - ImageMagick command line" in file path/mod/tidypics/classes/TidypicsImage.php (line 485)
  • If it works with Imagick and GD php extensions for all image types and with Image Magick also for everything but gifs I think the problem is very likely not Tidypics but Image Magick.

    Only for gif images Tidypics uses for the conversion command of Image Magick (i.e. creation of thumbnails) an additional parameter ("-coalesce") because animated gifs wouldn't resize without glitches otherwise. Now I believe your Image Magick version might be either too old to support the coalesce parameter or has some issue with it. I had tested it with the latest 6.x release when adding the parameter (most likely some 6.8.8 version back then). The current version of Image Magick is 7.0.8 where it also seems to work fine. You can find out which version of Image Magick is installed on your server on the Image Magick tab of the Tidypics plugin settings page. If the version is older than 6.8.8 I would suggest to upgrade and then try again (best would be to upgrade to the latest 7.0.8 as the 6.x branch most likely isn't supported anymore).

  • You are right

    This what they say

    Version: ImageMagick 6.7.2-7 2017-03-23 Q16 http://www.imagemagick.org Copyright: Copyright (C) 1999-2011 ImageMagick Studio LLC Features: OpenMP

    I'll check with the hosting company

    Thank you very much