upscayl icon indicating copy to clipboard operation
upscayl copied to clipboard

[BUG][PATH PARSING] Cannot upscayl Non-ASCII path

Open conradolandia opened this issue 2 months ago β€’ 6 comments

Checklist

  • [X] I have tried ALL of the steps mentioned in the troubleshooting guide.
  • [X] I have searched for this in the issues tab.
  • [ ] My error involves vkEnumeratePhysicalDevices or vkCreateInstance, which means I should ignore the other issues and file this one despite the last checkbox.

Describe the Bug

If the path that contains the destination folder, or the folder itself, has non-ascii characters in the name, the program fails to save and show the enlarged image. The logs say the image has been processed correctly and report it as saved in the selected path, but the image is not saved (or shown in the UI) unless an output folder without non-ascii characters in the name or path is selected. The log does not display any errors. By all accounts, the image should be saved but it's not, and the UI does not display it.

To Reproduce

  1. Set the output to a folder called lΓ‘mpara or caΓ±Γ³n.
  2. Try to upscale any image.

Upscayl Version (or commit hash)

2.10.9 and 2.11

Platform

Linux

OS Version

Arch Linux (using both AUR and AppImage)

GPU Name

AMD Lexa PRO (Radeon RX 550X rev. c7)

Expected Behavior

The image should be saved correctly in any folder with write permissions.

Screenshots

imagen

imagen

Logs

βš™οΈ Setting saveImageAs to png
πŸ”€ Setting model to realesrgan-x4plus
βš™οΈ Setting gpuId to empty string
πŸ”€ Setting model to 
πŸ”€ Setting model to realesrgan-x4plus
πŸ”„ Resetting image paths
‡️ Dropped file:  {"type":"image/png","filePath":"/home/andi/ñ/Captura de pantalla de 2024-04-29 12-50-27.png","extension":"png"}
πŸ–Ό Setting image path:  /home/andi/Γ±/Captura de pantalla de 2024-04-29 12-50-27.png
πŸ—‚ Setting output path:  /home/andi/Γ±
πŸ–Ό imagePath:  /home/andi/Γ±/Captura de pantalla de 2024-04-29 12-50-27.png
πŸ”€ Extension:  png
πŸ”„ Resetting Upscaled Image Path
🏁 UPSCAYL
πŒ– BACKEND REPORTED:  πŸ–ΌοΈ Updating No Image Processing:  false
πŒ– BACKEND REPORTED:  πŸ“ Updating Compression:  0
πŒ– BACKEND REPORTED:  Is Default Model? :  true
πŒ– BACKEND REPORTED:  βœ… Upscayl Variables:  {"model":"realesrgan-x4plus","gpuId":null,"saveImageAs":"png","inputDir":"/home/andi/Γ±","outputDir":"/home/andi/Γ±","fullfileName":"Captura de pantalla de 2024-04-29 12-50-27.png","fileName":"Captura de pantalla de 2024-04-29 12-50-27","scale":"4","outFile":"/home/andi/Γ±/Captura de pantalla de 2024-04-29 12-50-27_upscayl_4x_realesrgan-x4plus.png","compression":0}
πŒ– BACKEND REPORTED:  πŸ“’ Upscayl Command:  -i,/home/andi/Γ±/Captura de pantalla de 2024-04-29 12-50-27.png,-o,/home/andi/Γ±/Captura de pantalla de 2024-04-29 12-50-27_upscayl_4x_realesrgan-x4plus.png,-s 4,-m,/opt/upscayl/models,-n,realesrgan-x4plus,-f,png
πŒ– BACKEND REPORTED:  πŸ‘Ά Updating Child Processes:  {"binary":"/opt/upscayl/bin/upscayl-bin","args":["/opt/upscayl/bin/upscayl-bin","-i","/home/andi/Γ±/Captura de pantalla de 2024-04-29 12-50-27.png","-o","/home/andi/Γ±/Captura de pantalla de 2024-04-29 12-50-27_upscayl_4x_realesrgan-x4plus.png","-s 4","-m","/opt/upscayl/models","-n","realesrgan-x4plus","-f","png"]}
πŒ– BACKEND REPORTED:  πŸ›‘ Updating Stopped:  false
πŒ– BACKEND REPORTED:  image upscayl:  πŸš€ Starting Upscayl - Copyright Β© 2024
✨ Detected scale x4

🚧 UPSCAYL_PROGRESS:  πŸš€ Starting Upscayl - Copyright Β© 2024
✨ Detected scale x4

πŒ– BACKEND REPORTED:  image upscayl:  [0 AMD Radeon RX 550 / 550 Series (RADV POLARIS12)]  queueC=1[4]  queueG=0[1]  queueT=0[1]
[0 AMD Radeon RX 550 / 550 Series (RADV POLARIS12)]  bugsbn1=0  bugbilz=0  bugcopc=0  bugihfa=0
[0 AMD Radeon RX 550 / 550 Series (RADV POLARIS12)]  fp16-p/s/a=1/1/0  int8-p/s/a=1/1/1
[0 AMD Radeon RX 550 / 550 Series (RADV POLARIS12)]  subgroup=64  basic=1  vote=1  ballot=1  shuffle=1
[1 AMD Radeon Graphics (RADV RENOIR)]  queueC=1[4]  queueG=0[1]  queueT=0[1]
[1 AMD Radeon Graphics (RADV RENOIR)]  bugsbn1=0  bugbilz=0  bugcopc=0  bugihfa=0
[1 AMD Radeon Graphics (RADV RENOIR)]  fp16-p/s/a=1/1/1  int8-p/s/a=1/1/1
[1 AMD Radeon Graphics (RADV RENOIR)]  subgroup=64  basic=1  vote=1  ballot=1  shuffle=1

🚧 UPSCAYL_PROGRESS:  [0 AMD Radeon RX 550 / 550 Series (RADV POLARIS12)]  queueC=1[4]  queueG=0[1]  queueT=0[1]
[0 AMD Radeon RX 550 / 550 Series (RADV POLARIS12)]  bugsbn1=0  bugbilz=0  bugcopc=0  bugihfa=0
[0 AMD Radeon RX 550 / 550 Series (RADV POLARIS12)]  fp16-p/s/a=1/1/0  int8-p/s/a=1/1/1
[0 AMD Radeon RX 550 / 550 Series (RADV POLARIS12)]  subgroup=64  basic=1  vote=1  ballot=1  shuffle=1
[1 AMD Radeon Graphics (RADV RENOIR)]  queueC=1[4]  queueG=0[1]  queueT=0[1]
[1 AMD Radeon Graphics (RADV RENOIR)]  bugsbn1=0  bugbilz=0  bugcopc=0  bugihfa=0
[1 AMD Radeon Graphics (RADV RENOIR)]  fp16-p/s/a=1/1/1  int8-p/s/a=1/1/1
[1 AMD Radeon Graphics (RADV RENOIR)]  subgroup=64  basic=1  vote=1  ballot=1  shuffle=1

πŒ– BACKEND REPORTED:  image upscayl:  0.00%

🚧 UPSCAYL_PROGRESS:  0.00%

πŒ– BACKEND REPORTED:  image upscayl:  2.50%

🚧 UPSCAYL_PROGRESS:  2.50%

πŒ– BACKEND REPORTED:  image upscayl:  5.00%

🚧 UPSCAYL_PROGRESS:  5.00%

πŒ– BACKEND REPORTED:  image upscayl:  7.50%

🚧 UPSCAYL_PROGRESS:  7.50%

πŒ– BACKEND REPORTED:  image upscayl:  10.00%

🚧 UPSCAYL_PROGRESS:  10.00%

πŒ– BACKEND REPORTED:  image upscayl:  12.50%

🚧 UPSCAYL_PROGRESS:  12.50%

πŒ– BACKEND REPORTED:  image upscayl:  15.00%

🚧 UPSCAYL_PROGRESS:  15.00%

πŒ– BACKEND REPORTED:  image upscayl:  17.50%

🚧 UPSCAYL_PROGRESS:  17.50%

πŒ– BACKEND REPORTED:  image upscayl:  20.00%

🚧 UPSCAYL_PROGRESS:  20.00%

πŒ– BACKEND REPORTED:  image upscayl:  22.50%

🚧 UPSCAYL_PROGRESS:  22.50%

πŒ– BACKEND REPORTED:  image upscayl:  25.00%

🚧 UPSCAYL_PROGRESS:  25.00%

πŒ– BACKEND REPORTED:  image upscayl:  27.50%

🚧 UPSCAYL_PROGRESS:  27.50%

πŒ– BACKEND REPORTED:  image upscayl:  30.00%

🚧 UPSCAYL_PROGRESS:  30.00%

πŒ– BACKEND REPORTED:  image upscayl:  32.50%

🚧 UPSCAYL_PROGRESS:  32.50%

πŒ– BACKEND REPORTED:  image upscayl:  35.00%

🚧 UPSCAYL_PROGRESS:  35.00%

πŒ– BACKEND REPORTED:  image upscayl:  37.50%

🚧 UPSCAYL_PROGRESS:  37.50%

πŒ– BACKEND REPORTED:  image upscayl:  40.00%

🚧 UPSCAYL_PROGRESS:  40.00%

πŒ– BACKEND REPORTED:  image upscayl:  42.50%

🚧 UPSCAYL_PROGRESS:  42.50%

πŒ– BACKEND REPORTED:  image upscayl:  45.00%

🚧 UPSCAYL_PROGRESS:  45.00%

πŒ– BACKEND REPORTED:  image upscayl:  47.50%

🚧 UPSCAYL_PROGRESS:  47.50%

πŒ– BACKEND REPORTED:  image upscayl:  50.00%

🚧 UPSCAYL_PROGRESS:  50.00%

πŒ– BACKEND REPORTED:  image upscayl:  52.50%

🚧 UPSCAYL_PROGRESS:  52.50%

πŒ– BACKEND REPORTED:  image upscayl:  55.00%

🚧 UPSCAYL_PROGRESS:  55.00%

πŒ– BACKEND REPORTED:  image upscayl:  57.50%

🚧 UPSCAYL_PROGRESS:  57.50%

πŒ– BACKEND REPORTED:  image upscayl:  60.00%

🚧 UPSCAYL_PROGRESS:  60.00%

πŒ– BACKEND REPORTED:  image upscayl:  62.50%

🚧 UPSCAYL_PROGRESS:  62.50%

πŒ– BACKEND REPORTED:  image upscayl:  65.00%

🚧 UPSCAYL_PROGRESS:  65.00%

πŒ– BACKEND REPORTED:  image upscayl:  67.50%

🚧 UPSCAYL_PROGRESS:  67.50%

πŒ– BACKEND REPORTED:  image upscayl:  70.00%

🚧 UPSCAYL_PROGRESS:  70.00%

πŒ– BACKEND REPORTED:  image upscayl:  72.50%

🚧 UPSCAYL_PROGRESS:  72.50%

πŒ– BACKEND REPORTED:  image upscayl:  75.00%

🚧 UPSCAYL_PROGRESS:  75.00%

πŒ– BACKEND REPORTED:  image upscayl:  77.50%

🚧 UPSCAYL_PROGRESS:  77.50%

πŒ– BACKEND REPORTED:  image upscayl:  80.00%

🚧 UPSCAYL_PROGRESS:  80.00%

πŒ– BACKEND REPORTED:  image upscayl:  82.50%

🚧 UPSCAYL_PROGRESS:  82.50%

πŒ– BACKEND REPORTED:  image upscayl:  85.00%

🚧 UPSCAYL_PROGRESS:  85.00%

πŒ– BACKEND REPORTED:  image upscayl:  87.50%

🚧 UPSCAYL_PROGRESS:  87.50%

πŒ– BACKEND REPORTED:  image upscayl:  90.00%

🚧 UPSCAYL_PROGRESS:  90.00%

πŒ– BACKEND REPORTED:  image upscayl:  92.50%

🚧 UPSCAYL_PROGRESS:  92.50%

πŒ– BACKEND REPORTED:  image upscayl:  95.00%

🚧 UPSCAYL_PROGRESS:  95.00%

πŒ– BACKEND REPORTED:  image upscayl:  97.50%

🚧 UPSCAYL_PROGRESS:  97.50%

πŒ– BACKEND REPORTED:  image upscayl:  🏞️ Resizing image according to output scale

🚧 UPSCAYL_PROGRESS:  🏞️ Resizing image according to output scale

πŒ– BACKEND REPORTED:  image upscayl:  🏞️ Resized image from 784x413 to 3136x1652

🚧 UPSCAYL_PROGRESS:  🏞️ Resized image from 784x413 to 3136x1652

πŒ– BACKEND REPORTED:  πŸ’― Done upscaling
πŒ– BACKEND REPORTED:  β™» Scaling and converting now...
upscaledImagePath:  /home/andi/Γ±/Captura%20de%20pantalla%20de%202024-04-29%2012-50-27_upscayl_4x_realesrgan-x4plus.png
πŸ’― UPSCAYL_DONE:  /home/andi/Γ±/Captura%20de%20pantalla%20de%202024-04-29%2012-50-27_upscayl_4x_realesrgan-x4plus.png
βš™οΈ Getting saveImageAs from localStorage:  png
βš™οΈ Getting model from localStorage:  {"label":"General Photo (Real-ESRGAN)","value":"realesrgan-x4plus"}
βš™οΈ Setting gpuId to empty string

conradolandia avatar Apr 29 '24 18:04 conradolandia

Huh, interesting. #770 mentions the same bug but I was unable to reproduce it.

Using lΓ‘mpara as the directory name caused the error on Linux.

On MacOS, It's not the case, the image upscayls just fine.

NayamAmarshe avatar Apr 30 '24 07:04 NayamAmarshe

Huh, interesting. #770 mentions the same bug but I was unable to reproduce it.

Using lΓ‘mpara as the directory name caused the error on Linux.

On MacOS, It's not the case, the image upscayls just fine.

I think it was very hasty to close my thread, and I don't understand why. I have tested on two different computers, with different versions of Tumbleweed (6 months without updating one of them) and the problem occurred on both of them. Also, I was previously using Upscayl without problems in folders with non-ASCII characters, so if suddenly after an update of Upscayl, it stops working properly, I think it is clear that some change in Upscayl causes the problem, and even more when all the other applications work in those folders with the same files without problems.

For my part, I have again taken the trouble to check from which version some change in the Upscayl code caused this problem to occur and I have found out that it is the versions after 2.9.8 that fail. Interestingly, version 2.9.9 at least gave an error (not like the latest version, which tells the user that β€˜everything is fine’). In 2.9.9 it shows this error:

🚧 UPSCAYL_PROGRESS:  93.33%

🐞 BACKEND REPORTED:  πŸ’― Done upscaling
🐞 BACKEND REPORTED:  β™» Scaling and converting now...
🐞 BACKEND REPORTED:  πŸ“ Processing Image:  {"originalWidth":860,"originalHeight":500,"customWidth":null,"scale":"3","saveImageAs":"png","compressionPercentage":0,"compressionLevel":0}
🐞 BACKEND REPORTED:  πŸ–ΌοΈ Checking if original image exists:  /#Ñçñ#/cartel_pequeΓ±a.webp
🐞 BACKEND REPORTED:  ❌ Error processing (scaling and converting) the image. Please report this error on GitHub. Error: Input file is missing: /#Ñçñ#/cartel_pequeña_upscayl_3x_realesrgan-x4plus.png

It shows an error about Upscayl is not able to find same file was processing.

I even tried to test the install version (RPM) but I couldn't, because it doesn't find the libuuid library (in openSUSE, it's libuuid1).

Of course, in any way I can help you find out what's going on by providing more information or testing, please let me know.

RafaelLinux avatar Apr 30 '24 08:04 RafaelLinux

@RafaelLinux I only closed the other thread because I was unable to reproduce the issue with your provided paths on Linux. This issue however, mentioned another name which I was able to reproduce the bug with.

NayamAmarshe avatar Apr 30 '24 09:04 NayamAmarshe

I'll investigate more

NayamAmarshe avatar Apr 30 '24 09:04 NayamAmarshe

Interestingly, version 2.9.9 at least gave an error (not like the latest version, which tells the user that β€˜everything is fine’).

That's because in 2.9.9 we pointed a separate tool to the file path to post-process it. We later infused processing into our own CLI which tries to output it all in one go.

aaronliu0130 avatar Apr 30 '24 13:04 aaronliu0130

I expect it helps in some way.

RafaelLinux avatar Apr 30 '24 17:04 RafaelLinux