LycheeOrg / Lychee

A great looking and easy-to-use photo-management-system you can run on your server, to manage and share photos.
https://lycheeorg.github.io/
MIT License
3.35k stars 299 forks source link

Pictures not showing after migration #973

Closed agrotux closed 3 years ago

agrotux commented 3 years ago

Hi there! I have a lychee install on some cheap hoster with lots of space, I did the install via their cpanel. I now updated the install from 4.0.8 to 4.2.2 and lychee asked me to do a migration afterwards. Unfortunately all my albums are empty now - there are no thumbnails showing up inside the galleries just a blank screen. Album thumbnails do show. I can create new galleries and upload images, but even those new ones are not visible. Unfortunately logs or diagnostics don't show me something I understand as an error. And I have basically no experience (yet) with lychee other than uploading images... Where do I start? lychee.log

lychee.diagnostic.txt

ildyria commented 3 years ago

I can see from your log that you did the migration on the 15th:

    2021-04-19 18:22:14 -- notice  -- App\ModelFunctions\SessionFunctions::log_as_admin -- 176 -- User (xxxxx) has logged in from xxx.xxx.xxx.xxx
    2021-04-15 17:56:18 -- notice  -- App\Legacy\Legacy::log_as_admin -- 63 -- User (xxxxx) has logged in from xxx.xxx.xxx.xxx (legacy)

And I don't see anything wrong from your diagnostics:

    Diagnostics
    -------
    Warning: Dropbox import not working. dropbox_key is empty.

    System Information
    --------------
    Lychee Version (release):        4.2.2
    DB Version:                      4.2.2

    composer install:                --no-dev
    APP_ENV:                         production
    APP_DEBUG:                       false

    System:                          Linux
    PHP Version:                     7.4
    Max uploaded file size:          128M
    Max post size:                   256M
    MySQL Version:                   10.2.37-MariaDB-log-cll-lve

    Imagick:                         1
    Imagick Active:                  0
    Imagick Version:                 1802
    GD Version:                      2.2.5

Hummm :thinking:

Do you have a SQL access to your database, something like PhpMyAdmin?

but even those new ones are not visible.

THAT is very weird. Can you join on on gitter (you can just use your github account): https://gitter.im/LycheeOrg/Lobby so we can see what we can do to help you further?

kamil4 commented 3 years ago

If this is a public gallery that we could visit on our own and have a look, then do send the URL...

agrotux commented 3 years ago

yes, I do have access to phpmyadmin. I made a test gallery like I normally do, if that is of any help: https://livibild.gallery/public/#16188917734362 I just found out: I cannot see the images inside the test gallery, but I can see the pictures in the recent pictures

I will try and come to gitter this evening (i have to go to work first...)

kamil4 commented 3 years ago

I just found out: I cannot see the images inside the test gallery, but I can see the pictures in the recent pictures

That is oddly similar to #969 but I think we determined it to be caused by PHP 8 there, whereas you are using 7.4. Weird...

BTW, viewing the photo from the album thumb works (https://livibild.gallery/public/#16188917734362/16188918048832) but yeah, why isn't it displayed in the album view?

agrotux commented 3 years ago

I got offered a update to 4.3.0 today, unfortunately no change.

agrotux commented 3 years ago

did a complete new install - same issue still https://livibild.gallery/public/#16190346112713

eemitev commented 3 years ago

I may be experiencing a related issue. kamil4 pointed me towards this issue and related issue #969. All were very helpful! I was able to circumvent and temporary resolve my trouble by: 1) Creating a new album using the web interface 2) Editing the MySQL database -> Edited table albums -> id from 14 digits to 10 digits (before uploading any pictures in the album). I simply edited the ID and cut off 4 digits from the end. 3) Uploaded pictures using the web interface and the album is now behaving as expected.

I am running github tag v4.3.0

    Diagnostics
    -------
    Warning: Dropbox import not working. dropbox_key is empty.

    System Information
    --------------
    Lychee Version (git):            No git data found.
    DB Version:                      4.3.0

    composer install:                --no-dev
    APP_ENV:                         production
    APP_DEBUG:                       false

    System:                          Linux
    PHP Version:                     7.4
    Max uploaded file size:          500M
    Max post size:                   500M
    MySQL Version:                   5.7.34

    Imagick:                         1
    Imagick Active:                  1
    Imagick Version:                 1802
    GD Version:                      2.2.5
kamil4 commented 3 years ago

@eemitev, could you say something more about the system hosting your Lychee server? Is it x86, arm, something else entirely? 32-bit or 64-bit? Is it some form of shared hosting? If you have shell access, could you include the output of uname -a ?

Lychee advanced settings include the force_32bit_ids config (documented here) which, if set to 1, will force the use of 10-character IDs. But we don't generally recommend it as IDs must be unique and should be hard to guess, which is harder to ensure with fewer digits.

eemitev commented 3 years ago

Shared hosting, x86 64-bit

Linux _removed_ 3.10.0-962.3.2.lve1.5.42.el7.x86_64 #1 SMP Mon Nov 9 08:11:18 EST 2020 x86_64 x86_64 x86_64 GNU/Linux

I haven't tried the option you mentioned. I'll give it a try when I get a chance.

kamil4 commented 3 years ago

Could it be something about MySQL 5.7? That was also the version in #969. On the other hand, the OP of this issue is using MariaDB 10.2.37.

eemitev commented 3 years ago

Lychee advanced settings -> force_32bit_ids config fixes the issue.

kamil4 commented 3 years ago

Awesome!

@agrotux can you try that as well and report back?

While it's good to know that we may have a workaround, we still need to figure out the underlying bug and, if possible, fix it...

kamil4 commented 3 years ago

Also, @eemitev, just to confirm, what is the output of the following shell command in your case?

php -r 'echo PHP_INT_MAX . "\n";'
eemitev commented 3 years ago
php -r 'echo PHP_INT_MAX . "\n";'
9223372036854775807
pseudex commented 3 years ago

Today I upgraded from 4.3.0 to 4.3.4 and I have the same problem. Only thumbnails on Albums are shown. But no thumbnail of any picture in it if I open them. If I force the ids to 32 bit doesn't do anything. It was running before with these high numbers. I created an album with 32bit and the id is indeed shorter. But the album looks the same.

For now I will try to revert back to v4.3.0. update: Reverting back did work (mariadb restore + www dir-restore)

System: rock64 (SOC) OS: Debian bullseye PHP: 8.0 httpserver: apache2

test_album test_album_inside

This is what the photo::get request looks like

XHRPOSThttps: //lychee.example.de/api/Photo::get
[HTTP/1.1 200 OK 114ms
] 
1
{
    "id": "1630414507",
    "title": "OCM_KGF_HW_Sp\u00fclen",
    "description": "",
    "tags": "",
    "star": "0",
    "public": "0",
    "album": "1630414489",
    "url": "uploads\/big\/c288a829243039eabb002f3df44cb3d1.png",
    "width": 699,
    "height": 568,
    "type": "image\/png",
    "filesize": 29823,
    "iso": "",
    "aperture": "",
    "make": "",
    "model": "",
    "shutter": "",
    "focal": "",
    "lens": "",
    "latitude": null,
    "longitude": null,
    "altitude": null,
    "imgDirection": null,
    "location": null,
    "livePhotoContentID": null,
    "livePhotoUrl": null,
    "created_at": "2021-08-31T12:55:07+00:00",
    "updated_at": "2021-08-31T12:55:07+00:00",
    "taken_at": null,
    "taken_at_orig_tz": null,
    "license": "reserved",
    "sizeVariants": {
        "thumb": {
            "url": "uploads\/thumb\/c288a829243039eabb002f3df44cb3d1.jpeg",
            "width": 200,
            "height": 200
        },
        "thumb2x": null,
        "small": {
            "url": "uploads\/small\/c288a829243039eabb002f3df44cb3d1.png",
            "width": 443,
            "height": 360
        },
        "small2x": null,
        "medium": null,
        "medium2x": null
    },
    "downloadable": "1",
    "share_button_visible": "1"
}
php -r 'echo PHP_INT_MAX . "\n";'
9223372036854775807

uname -a
Linux rock64 5.10.35-rockchip64 #21.05.1 SMP PREEMPT Fri May 7 13:53:11 UTC 2021 aarch64 GNU/Linux
    Diagnostics
    -------
    Warning: Dropbox import not working. dropbox_key is empty.

    System Information
    --------------
    Lychee Version (release):        4.3.4
    DB Version:                      4.3.4

    composer install:                --no-dev
    APP_ENV:                         production
    APP_DEBUG:                       false

    System:                          Linux
    PHP Version:                     8
    Max uploaded file size:          10G
    Max post size:                   4G
    MySQL Version:                   10.5.11-MariaDB-1

    Imagick:                         1
    Imagick Active:                  1
    Imagick Version:                 1691
    GD Version:                      2.2.5

    Config Information
    --------------
    version:                         040304
    check_for_updates:               0
    sorting_Photos_col:              taken_at
    sorting_Photos_order:            DESC
    sorting_Albums_col:              id
    sorting_Albums_order:            ASC
    imagick:                         1
    skip_duplicates:                 1
    small_max_width:                 0
    small_max_height:                360
    medium_max_width:                1920
    medium_max_height:               1080
    lang:                            de
    layout:                          1
    image_overlay_type:              date
    default_license:                 reserved
    compression_quality:             90
    full_photo:                      1
    delete_imported:                 0
    Mod_Frame:                       1
    Mod_Frame_refresh:               30
    thumb_2x:                        1
    small_2x:                        1
    medium_2x:                       1
    landing_page_enable:             0
    landing_owner:                   John Smith
    landing_title:                   John Smith
    landing_subtitle:                Cats, Dogs & Humans Photography
    landing_facebook:                https://www.facebook.com/JohnSmith
    landing_flickr:                  https://www.flickr.com/JohnSmith
    landing_twitter:                 https://www.twitter.com/JohnSmith
    landing_instagram:               https://instagram.com/JohnSmith
    landing_youtube:                 https://www.youtube.com/JohnSmith
    landing_background:              dist/cat.jpg
    site_title:                      Kaiserphotos - Lychee v4
    site_copyright_enable:           1
    site_copyright_begin:            2019
    site_copyright_end:              2021
    additional_footer_text:          
    display_social_in_gallery:       0
    public_search:                   0
    SL_enable:                       0
    SL_for_admin:                    0
    public_recent:                   0
    recent_age:                      7
    public_starred:                  0
    downloadable:                    0
    photos_wraparound:               1
    map_display:                     1
    zip64:                           1
    map_display_public:              0
    map_provider:                    Wikimedia
    force_32bit_ids:                 0
    map_include_subalbums:           0
    update_check_every_days:         3
    has_exiftool:                    0
    share_button_visible:            0
    import_via_symlink:              1
    has_ffmpeg:                      1
    location_decoding:               0
    location_decoding_timeout:       30
    location_show:                   1
    location_show_public:            0
    rss_enable:                      0
    rss_recent_days:                 7
    rss_max_items:                   100
    prefer_available_xmp_metadata:   0
    editor_enabled:                  1
    lossless_optimization:           0
    swipe_tolerance_x:               150
    swipe_tolerance_y:               250
    local_takestamp_video_formats:   .avi|.mov
    log_max_num_line:                1000
    unlock_password_photos_with_url_param: 0
    nsfw_visible:                    1
    nsfw_blur:                       0
    nsfw_warning:                    0
    nsfw_warning_admin:              0
    map_display_direction:           1
    album_subtitle_type:             oldstyle
    upload_processing_limit:         4
    public_photos_hidden:            1
kamil4 commented 3 years ago

@pseudex I strongly recommend that rather than adding a comment to a previously closed issue, you open a new one.

Your problem appears to be different to what was originally discussed in this issue because, based on the second screenshot you included (thank you!) the album is not empty, however, the small variant images are not displayed for some reason. The problem discussed in this issue was with albums that show as completely empty. Also, force_32bit_ids would be unlikely to make a difference between 4.3.0 and 4.3.4.

Is there any chance that you could set up a public Lychee 4.3.4 instance demonstrating the problem? The response to photo::get appears to be pretty sane so it's a bit of a mystery what might be going on. I'm guessing it's a front end bug, and these can often be debugged remotely if only I can see that album in my browser window...

pseudex commented 2 years ago

sorry for the late reply. I gave it another shot and upgraded to 4.4.0 today. The problem was the dist-directory. This was pointed by apache via an alias directive to a custom directory. This custom one I'm not using anymore. It was commented out in the .env file. In the .conf file of the site it was still in there. Now my instance is running with the up to date verison