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.37k stars 298 forks source link

stream_copy_to_stream() HttpException 500 #2285

Closed tasiotas closed 7 months ago

tasiotas commented 8 months ago

Detailed description of the problem [REQUIRED]

Upgraded to v5. While uploading about 50 images, mid way through the process I get this error message in the browser.

In v4, uploads sometimes would fail, but the list would continue and I could see failed uploads in the list. Then I could go and try them again.

::stream_copy_to_stream:50 stream_copy_to_stream(): Argument #1 ($from) must be of type resource, null given
App\Image\Files\NativeLocalFile::append:119 stream_copy_to_stream(): Argument #1 ($from) must be of type resource, null given;

image

Output of the diagnostics [REQUIRED]

 Diagnostics
    -----------
        Warning: /ho********************************blic/uploads/ has permissions 0755, but should have 2775
        Warning: /ho********************************blic/uploads/thumb2x has permissions 0775, but should have 2775
        Warning: /ho********************************blic/uploads/thumb2x/56 has permissions 0775, but should have 2775
        Warning: /ho********************************blic/uploads/thumb2x/56/8a has permissions 0775, but should have 2775
        Warning: /ho********************************blic/uploads/thumb2x/56/34 has permissions 0775, but should have 2775
        Warning: 179618 more directories with wrong permissions
        Warning: Dropbox import not working. dropbox_key is empty.
        Warning: You may experience problems when uploading a photo of large size or handling many/large albums. Take a look in the FAQ for details.
        Info: Found 30 small that could be generated.
              You can use `php artisan lychee:generate_thumbs small 30` to generate them.
        Info: Found 19 small2x that could be generated.
              You can use `php artisan lychee:generate_thumbs small2x 19` to generate them.
        Info: Found 44 medium2x that could be generated.
              You can use `php artisan lychee:generate_thumbs medium2x 44` to generate them.

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

        composer install:                        --no-dev
        APP_ENV:                                 production
        APP_DEBUG:                               false
        APP_URL:                                 set
        APP_DIR:                                 default
        LOG_VIEWER_ENABLED:                      true
        LIVEWIRE_ENABLED:                        true

        System:                                  Linux
        PHP Version:                             8.3.1
        PHP User agent:                          Lychee/4 (https://lycheeorg.github.io/)
        Timezone:                                America/Vancouver
        Max uploaded file size:                  512M
        Max post size:                           512M
        Livewire chunk size:                     12.00 MB
        Max execution time:                      90
        MySQL Version:                           10.5.23-MariaDB-log

        exec() Available:                        yes
        Imagick Available:                       1
        Imagick Enabled:                         1
        Imagick Version:                         1690
        GD Version:                              bundled (2.1.0 compatible)
        Number of foreign key:                   12 found.

    Config Information
    ------------------
        version:                                 050102
        check_for_updates:                       0
        sorting_photos_col:                      title
        sorting_photos_order:                    ASC
        sorting_albums_col:                      title
        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:                                    en
        image_overlay_type:                      none
        default_license:                         none
        compression_quality:                     90
        grants_full_photo_access:                1
        delete_imported:                         0
        mod_frame_enabled:                       1
        mod_frame_refresh:                       30
        thumb_2x:                                1
        small_2x:                                1
        medium_2x:                               1
        landing_page_enable:                     0
        site_owner:                              
        landing_title:                           John Smith
        landing_subtitle:                        Cats, Dogs & Humans Photography
        sm_facebook_url:                         https://www.facebook.com/JohnSmith
        sm_flickr_url:                           https://www.flickr.com/JohnSmith
        sm_twitter_url:                          https://www.twitter.com/JohnSmith
        sm_instagram_url:                        https://instagram.com/JohnSmith
        sm_youtube_url:                          https://www.youtube.com/JohnSmith
        landing_background:                      dist/cat.webp
        site_title:                              
        footer_show_copyright:                   0
        site_copyright_begin:                    2019
        site_copyright_end:                      2019
        footer_additional_text:                  
        footer_show_social_media:                0
        search_public:                           0
        SL_enable:                               0
        SL_for_admin:                            0
        recent_age:                              1
        grants_download:                         1
        photos_wraparound:                       1
        map_display:                             0
        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:                      0
        has_ffmpeg:                              0
        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
        nsfw_banner_override:                    
        map_display_direction:                   1
        album_subtitle_type:                     oldstyle
        upload_processing_limit:                 1
        new_photos_notification:                 0
        legacy_id_redirection:                   1
        zip_deflate_level:                       6
        SA_enabled:                              0
        default_album_protection:                1
        album_decoration:                        all
        album_decoration_orientation:            row
        allow_username_change:                   1
        auto_fix_orientation:                    0
        use_job_queues:                          1
        random_album_id:                         starred
        use_last_modified_date_when_no_exif_date: 0
        ffmpeg_path:                             
        ffprobe_path:                            
        layout:                                  justified
        date_format_photo_thumb:                 M j, Y, g:i:s A e
        date_format_photo_overlay:               M j, Y, g:i:s A e
        date_format_sidebar_uploaded:            M j, Y, g:i:s A e
        date_format_sidebar_taken_at:            M j, Y, g:i:s A e
        date_format_hero_min_max:                F Y
        date_format_hero_created_at:             M j, Y, g:i:s A T
        date_format_album_thumb:                 M Y
        upload_chunk_size:                       0
        nsfw_banner_blur_backdrop:               0
        search_pagination_limit:                 1000
        search_minimum_length_required:          4
        photo_layout_justified_row_height:       320
        photo_layout_masonry_column_width:       300
        photo_layout_grid_column_width:          250
        photo_layout_square_column_width:        200
        photo_layout_gap:                        12
        display_thumb_album_overlay:             always
        display_thumb_photo_overlay:             hover
        default_album_thumb_aspect_ratio:        1/1
        use_album_compact_header:                0
        login_button_position:                   left
        back_button_enabled:                     0
        back_button_text:                        Return to Home
        back_button_url:                         /

Browser and system

chrome 121 Windows 11

ildyria commented 8 months ago

In v4, uploads sometimes would fail, but the list would continue and I could see failed uploads in the list. Then I could go and try them again.

If so then add LIVEWIRE_ENABLED=false to your .env this will disable temporarily the v5 front-end. Once you are done with your uploads you can comment the line by prefixing it with # and will be using the new front-end.

I don't have time yet to investigate your issue more. That being said, seeing all those permission problems is not encouraging.

ildyria commented 8 months ago

I will probably trouble you to check if those are still there once #2140 is merged.