Skip to content

[BUG] - Internal server error when editing recipe with long slug after URL import #5321

Open
@let92

Description

@let92

First Check

  • This is not a feature request.
  • I added a very descriptive title to this issue (title field is above this).
  • I used the GitHub search to find a similar issue and didn't find it.
  • I searched the Mealie documentation, with the integrated search.
  • I already read the docs and didn't find an answer.
  • This issue can be replicated on the demo site (https://demo.mealie.io/).

What is the issue you are experiencing?

Changing the name of a recipe imported by URL with a long slug will cause a 500 internal server error "File name too long" saved in the container log.

Steps to Reproduce

  1. Create a recipe calling API "recipes/create/url" or on web app with this URL: https://www.instagram.com/reel/DGYfiexBvtE
  2. Change the name to something shorter like "Pasta" and edit the recipe on web app or by calling API "recipes/giallozafferano-on-instagram-il-piatto-vincente-di-simone-barlaam-medaglia-d-oro-e-d-argento-a-parigi-2024-paccheri-tricolore-se-ve-li-siete-persi-dovete-assolutamente-rimediare-lulugargari-ingredienti-paccheri-320-gr-spinacini-500-gr-nocciole-50-gr-ricotta-350-gr-olio-evo-q-b-limone-non-trattato-con-buccia-edibile-q-b-menta-q-b-peperoncino-fresco-q-b-10-pomodorini-ciliegino-preparazione-saltiamo-gli-spinaci-in-padella-lasciamo-raffreddare-e-frulliamo-insieme-a-ricotta-olio-sale-pepe-e-peperoncino-fresco-cuociamo-la-pasta-al-dente-e-mantechiamo-fuori-dal-fuoco-con-la-crema-tostiamo-a-parte-noci-o-nocciole-e-frulliamo-con-scorza-di-limone-impiattiamo-i-paccheri-con-qualche-spinacino-fresco-ciuffetti-di-ricotta-pomodorini-tagliati-in-4-e-la-polvere-di-nocciole-e-limone-buon-appetito-dmtc-pr-finp-nuotoparalimpico-giallozafferano-ricette-olimpiadi-paralimpiadi-atleti-simonebarlaam-cucina-paccheri-pasta-spinaci"
  3. Receive 500 internal server error even if the change on name was made (that is a problem for the client waiting for the success edit response)

Please provide relevant logs

INFO 2025-04-07T15:28:05 - HTTP Request: GET https://www.instagram.com/reel/DGYfiexBvtE "HTTP/1.1 200 OK"

ERROR 2025-04-07T15:28:07 - Recipe Scraper was unable to extract a recipe from https://www.instagram.com/reel/DGYfiexBvtE

ERROR 2025-04-07T15:28:07 - Recipe Scraper was unable to extract a recipe from https://www.instagram.com/reel/DGYfiexBvtE

ERROR 2025-04-07T15:28:07 - Recipe Scraper was unable to extract a recipe from https://www.instagram.com/reel/DGYfiexBvtE

ERROR 2025-04-07T15:28:07 - Recipe Scraper was unable to extract a recipe from https://www.instagram.com/reel/DGYfiexBvtE

INFO 2025-04-07T15:28:07 - Image URL: https://scontent-mxp2-1.cdninstagram.com/v/t51.29350-15/481705055_1145502520642357_8216014025923782750_n.jpg?stp=cmp1_dst-jpg_e35_s640x640_tt6&_nc_cat=110&ccb=1-7&_nc_sid=18de74&_nc_ohc=6kkDJYR6EwYQ7kNvwGptyVP&_nc_oc=AdkBnZmEnJlRxV70Iyfalh8dUn9z91aboiME70Jiu_WaSEZ6CVuHcRpgp7pWWsENf_s&_nc_zt=23&_nc_ht=scontent-mxp2-1.cdninstagram.com&_nc_gid=jd1SmiL4iBEkW1jOeHQm9w&oh=00_AfEzYysyNGH8Wp6rSyMCXwbeNV1ey-2vU71FSj_MwKK7LQ&oe=67F99C65

INFO 2025-04-07T15:28:07 - HTTP Request: GET https://scontent-mxp2-1.cdninstagram.com/v/t51.29350-15/481705055_1145502520642357_8216014025923782750_n.jpg?stp=cmp1_dst-jpg_e35_s640x640_tt6&_nc_cat=110&ccb=1-7&_nc_sid=18de74&_nc_ohc=6kkDJYR6EwYQ7kNvwGptyVP&_nc_oc=AdkBnZmEnJlRxV70Iyfalh8dUn9z91aboiME70Jiu_WaSEZ6CVuHcRpgp7pWWsENf_s&_nc_zt=23&_nc_ht=scontent-mxp2-1.cdninstagram.com&_nc_gid=jd1SmiL4iBEkW1jOeHQm9w&oh=00_AfEzYysyNGH8Wp6rSyMCXwbeNV1ey-2vU71FSj_MwKK7LQ&oe=67F99C65 "HTTP/1.1 200 OK"

INFO 2025-04-07T15:28:07 - original.jpg minified

INFO 2025-04-07T15:28:07 - Tiny image saved

INFO 2025-04-07T15:28:07 - [:56584] 201 Created "POST /api/recipes/create/url HTTP/1.1"

INFO 2025-04-07T15:28:11 - [:56584] 200 OK "GET /api/recipes/giallozafferano-on-instagram-il-piatto-vincente-di-simone-barlaam-medaglia-d-oro-e-d-argento-a-parigi-2024-paccheri-tricolore-se-ve-li-siete-persi-dovete-assolutamente-rimediare-lulugargari-ingredienti-paccheri-320-gr-spinacini-500-gr-nocciole-50-gr-ricotta-350-gr-olio-evo-q-b-limone-non-trattato-con-buccia-edibile-q-b-menta-q-b-peperoncino-fresco-q-b-10-pomodorini-ciliegino-preparazione-saltiamo-gli-spinaci-in-padella-lasciamo-raffreddare-e-frulliamo-insieme-a-ricotta-olio-sale-pepe-e-peperoncino-fresco-cuociamo-la-pasta-al-dente-e-mantechiamo-fuori-dal-fuoco-con-la-crema-tostiamo-a-parte-noci-o-nocciole-e-frulliamo-con-scorza-di-limone-impiattiamo-i-paccheri-con-qualche-spinacino-fresco-ciuffetti-di-ricotta-pomodorini-tagliati-in-4-e-la-polvere-di-nocciole-e-limone-buon-appetito-dmtc-pr-finp-nuotoparalimpico-giallozafferano-ricette-olimpiadi-paralimpiadi-atleti-simonebarlaam-cucina-paccheri-pasta-spinaci HTTP/1.1"

INFO 2025-04-07T15:28:20 - [127.0.0.1:37584] 200 OK "GET /api/app/about HTTP/1.1"

ERROR 2025-04-07T15:28:28 - Unknown Error on recipe controller action

ERROR 2025-04-07T15:28:28 - Unknown Error on recipe controller action

ERROR 2025-04-07T15:28:28 - [Errno 36] File name too long: '/app/data/recipes/giallozafferano-on-instagram-il-piatto-vincente-di-simone-barlaam-medaglia-d-oro-e-d-argento-a-parigi-2024-paccheri-tricolore-se-ve-li-siete-persi-dovete-assolutamente-rimediare-lulugargari-ingredienti-paccheri-320-gr-spinacini-500-gr-nocciole-50-gr-ricotta-350-gr-olio-evo-q-b-limone-non-trattato-con-buccia-edibile-q-b-menta-q-b-peperoncino-fresco-q-b-10-pomodorini-ciliegino-preparazione-saltiamo-gli-spinaci-in-padella-lasciamo-raffreddare-e-frulliamo-insieme-a-ricotta-olio-sale-pepe-e-peperoncino-fresco-cuociamo-la-pasta-al-dente-e-mantechiamo-fuori-dal-fuoco-con-la-crema-tostiamo-a-parte-noci-o-nocciole-e-frulliamo-con-scorza-di-limone-impiattiamo-i-paccheri-con-qualche-spinacino-fresco-ciuffetti-di-ricotta-pomodorini-tagliati-in-4-e-la-polvere-di-nocciole-e-limone-buon-appetito-dmtc-pr-finp-nuotoparalimpico-giallozafferano-ricette-olimpiadi-paralimpiadi-atleti-simonebarlaam-cucina-paccheri-pasta-spinaci'

Traceback (most recent call last):

File "/opt/mealie/lib/python3.12/site-packages/mealie/routes/recipe/recipe_crud_routes.py", line 365, in update_one

ERROR 2025-04-07T15:28:28 - [Errno 36] File name too long: '/app/data/recipes/giallozafferano-on-instagram-il-piatto-vincente-di-simone-barlaam-medaglia-d-oro-e-d-argento-a-parigi-2024-paccheri-tricolore-se-ve-li-siete-persi-dovete-assolutamente-rimediare-lulugargari-ingredienti-paccheri-320-gr-spinacini-500-gr-nocciole-50-gr-ricotta-350-gr-olio-evo-q-b-limone-non-trattato-con-buccia-edibile-q-b-menta-q-b-peperoncino-fresco-q-b-10-pomodorini-ciliegino-preparazione-saltiamo-gli-spinaci-in-padella-lasciamo-raffreddare-e-frulliamo-insieme-a-ricotta-olio-sale-pepe-e-peperoncino-fresco-cuociamo-la-pasta-al-dente-e-mantechiamo-fuori-dal-fuoco-con-la-crema-tostiamo-a-parte-noci-o-nocciole-e-frulliamo-con-scorza-di-limone-impiattiamo-i-paccheri-con-qualche-spinacino-fresco-ciuffetti-di-ricotta-pomodorini-tagliati-in-4-e-la-polvere-di-nocciole-e-limone-buon-appetito-dmtc-pr-finp-nuotoparalimpico-giallozafferano-ricette-olimpiadi-paralimpiadi-atleti-simonebarlaam-cucina-paccheri-pasta-spinaci'

Traceback (most recent call last):

recipe = self.service.update_one(slug, data)

         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "/opt/mealie/lib/python3.12/site-packages/mealie/services/recipe/recipe_service.py", line 404, in update_one

self.check_assets(new_data, recipe.slug)

File "/opt/mealie/lib/python3.12/site-packages/mealie/services/recipe/recipe_service.py", line 97, in check_assets

copytree(current_dir, recipe.directory, dirs_exist_ok=True)

File "/usr/local/lib/python3.12/shutil.py", line 598, in copytree

with os.scandir(src) as itr:

     ^^^^^^^^^^^^^^^

OSError: [Errno 36] File name too long: '/app/data/recipes/giallozafferano-on-instagram-il-piatto-vincente-di-simone-barlaam-medaglia-d-oro-e-d-argento-a-parigi-2024-paccheri-tricolore-se-ve-li-siete-persi-dovete-assolutamente-rimediare-lulugargari-ingredienti-paccheri-320-gr-spinacini-500-gr-nocciole-50-gr-ricotta-350-gr-olio-evo-q-b-limone-non-trattato-con-buccia-edibile-q-b-menta-q-b-peperoncino-fresco-q-b-10-pomodorini-ciliegino-preparazione-saltiamo-gli-spinaci-in-padella-lasciamo-raffreddare-e-frulliamo-insieme-a-ricotta-olio-sale-pepe-e-peperoncino-fresco-cuociamo-la-pasta-al-dente-e-mantechiamo-fuori-dal-fuoco-con-la-crema-tostiamo-a-parte-noci-o-nocciole-e-frulliamo-con-scorza-di-limone-impiattiamo-i-paccheri-con-qualche-spinacino-fresco-ciuffetti-di-ricotta-pomodorini-tagliati-in-4-e-la-polvere-di-nocciole-e-limone-buon-appetito-dmtc-pr-finp-nuotoparalimpico-giallozafferano-ricette-olimpiadi-paralimpiadi-atleti-simonebarlaam-cucina-paccheri-pasta-spinaci'

File "/opt/mealie/lib/python3.12/site-packages/mealie/routes/recipe/recipe_crud_routes.py", line 365, in update_one

recipe = self.service.update_one(slug, data)

         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "/opt/mealie/lib/python3.12/site-packages/mealie/services/recipe/recipe_service.py", line 404, in update_one

self.check_assets(new_data, recipe.slug)

File "/opt/mealie/lib/python3.12/site-packages/mealie/services/recipe/recipe_service.py", line 97, in check_assets

copytree(current_dir, recipe.directory, dirs_exist_ok=True)

File "/usr/local/lib/python3.12/shutil.py", line 598, in copytree

with os.scandir(src) as itr:

     ^^^^^^^^^^^^^^^

OSError: [Errno 36] File name too long: '/app/data/recipes/giallozafferano-on-instagram-il-piatto-vincente-di-simone-barlaam-medaglia-d-oro-e-d-argento-a-parigi-2024-paccheri-tricolore-se-ve-li-siete-persi-dovete-assolutamente-rimediare-lulugargari-ingredienti-paccheri-320-gr-spinacini-500-gr-nocciole-50-gr-ricotta-350-gr-olio-evo-q-b-limone-non-trattato-con-buccia-edibile-q-b-menta-q-b-peperoncino-fresco-q-b-10-pomodorini-ciliegino-preparazione-saltiamo-gli-spinaci-in-padella-lasciamo-raffreddare-e-frulliamo-insieme-a-ricotta-olio-sale-pepe-e-peperoncino-fresco-cuociamo-la-pasta-al-dente-e-mantechiamo-fuori-dal-fuoco-con-la-crema-tostiamo-a-parte-noci-o-nocciole-e-frulliamo-con-scorza-di-limone-impiattiamo-i-paccheri-con-qualche-spinacino-fresco-ciuffetti-di-ricotta-pomodorini-tagliati-in-4-e-la-polvere-di-nocciole-e-limone-buon-appetito-dmtc-pr-finp-nuotoparalimpico-giallozafferano-ricette-olimpiadi-paralimpiadi-atleti-simonebarlaam-cucina-paccheri-pasta-spinaci'

INFO 2025-04-07T15:28:28 - [:56620] 500 Internal Server Error "PUT /api/recipes/giallozafferano-on-instagram-il-piatto-vincente-di-simone-barlaam-medaglia-d-oro-e-d-argento-a-parigi-2024-paccheri-tricolore-se-ve-li-siete-persi-dovete-assolutamente-rimediare-lulugargari-ingredienti-paccheri-320-gr-spinacini-500-gr-nocciole-50-gr-ricotta-350-gr-olio-evo-q-b-limone-non-trattato-con-buccia-edibile-q-b-menta-q-b-peperoncino-fresco-q-b-10-pomodorini-ciliegino-preparazione-saltiamo-gli-spinaci-in-padella-lasciamo-raffreddare-e-frulliamo-insieme-a-ricotta-olio-sale-pepe-e-peperoncino-fresco-cuociamo-la-pasta-al-dente-e-mantechiamo-fuori-dal-fuoco-con-la-crema-tostiamo-a-parte-noci-o-nocciole-e-frulliamo-con-scorza-di-limone-impiattiamo-i-paccheri-con-qualche-spinacino-fresco-ciuffetti-di-ricotta-pomodorini-tagliati-in-4-e-la-polvere-di-nocciole-e-limone-buon-appetito-dmtc-pr-finp-nuotoparalimpico-giallozafferano-ricette-olimpiadi-paralimpiadi-atleti-simonebarlaam-cucina-paccheri-pasta-spinaci HTTP/1.1"

Mealie Version

v2.8.0

Deployment

Docker (Synology)

Additional Deployment Details

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingtriage

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions