Bottles icon indicating copy to clipboard operation
Bottles copied to clipboard

[Bug]: Bottle creation fails when using Games template

Open JohnTheCoolingFan opened this issue 1 month ago • 0 comments

Describe the bug

When creating a bottle using Games template, the creation process fails and on the next launch of the bottles app I get the following error log:

[Errno 2] No such file or directory: '/home/USER/.var/app/com.usebottles.bottles/data/bottles/templates/c566283e-0a0b-413e-b3ae-96432c49cf21'  File "/app/share/bottles/bottles/backend/utils/threading.py", line 62, in __target
    result = self.task_func(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/app/share/bottles/bottles/backend/managers/manager.py", line 1287, in create_bottle
    TemplateManager.unpack_template(template, config)

  File "/app/share/bottles/bottles/backend/managers/template.py", line 193, in unpack_template
    shutil.copytree(

  File "/usr/lib/python3.11/shutil.py", line 571, in copytree
    with os.scandir(src) as itr:
         ^^^^^^^^^^^^^^^

To Reproduce

  1. Open the botles app
  2. Create a new bottle using Games template
  3. Watch it immediately fail
  4. Close the errored bottle creation dialogue
  5. Close and start the app again
  6. Observe the reported crash message from previous launch

Package

Flatpak from Flathub

Distribution

Gentoo

Debugging Information

Official Package: true
Version: '51.11'
DE/WM: gnome
Display:
    X.org: true
    X.org (port): :0
    Wayland: true
Graphics:
    vendors:
        amd:
            vendor: amd
            envs:
                DRI_PRIME: '1'
            icd: /usr/lib/x86_64-linux-gnu/GL/vulkan/icd.d/radeon_icd.x86_64.json:/usr/lib/i386-linux-gnu/GL/vulkan/icd.d/radeon_icd.i686.json
    prime:
        integrated: null
        discrete: null
Kernel:
    Type: Linux
    Version: 6.6.28-gentoo-dist
Disk:
    Total: 16786186240
    Free: 16786022400
RAM:
    MemTotal: 31.3GiB
    MemAvailable: 25.7GiB
Bottles_envs: null

Troubleshooting Logs

16:36:55 (INFO) Bottles Started! 
16:36:58 (INFO) Performing Bottles checks… 
16:36:58 (INFO) Dxvks found:
	 - dxvk-2.1-1-d14dcf5
	 - dxvk-2.3
 
16:36:58 (INFO) Vkd3ds found:
	 - vkd3d-proton-2.8-1-b7fb41b
 
16:36:58 (INFO) Nvapis found:
	 - dxvk-nvapi-v0.6.2
 
16:36:58 (INFO) Latencyflexs found:
	 - latencyflex-v0.1.1
 
16:36:58 (INFO) Runners found:
	 - soda-8.0-2
	 - wine-ge-proton7-41
	 - ge-proton8-30
	 - GE-Proton8-30
	 - GE-Proton7-53
	 - sys-wine-9.0
 
16:36:58 (INFO) Temp directory cleaned successfully! 
16:36:58 (ERROR) Config file not exists 
Traceback (most recent call last):
  File "/app/share/bottles/bottles/backend/models/config.py", line 183, in load
    raise FileNotFoundError("Config file not exists")
FileNotFoundError: Config file not exists
16:36:58 (INFO) Bottles found:
	 - BrickLink Studio 2.0
	 - GOG games
 
16:36:58 (INFO) Catalog installers loaded 
16:36:58 (INFO) Catalog dependencies loaded 
16:36:58 (INFO) Catalog components loaded 
16:37:16 (INFO) Generating bottle configuration… 
16:37:16 (INFO) Unpacking template: c566283e-0a0b-413e-b3ae-96432c49cf21 
16:37:16 (ERROR) Error while running async job: <bound method Manager.create_bottle of <bottles.backend.managers.manager.Manager object at 0x7f9ec31fb090>>
	Exception: [Errno 2] Нет такого файла или каталога: '/home/jtcf/.var/app/com.usebottles.bottles/data/bottles/templates/c566283e-0a0b-413e-b3ae-96432c49cf21'
 
  File "/app/share/bottles/bottles/backend/utils/threading.py", line 62, in __target
    result = self.task_func(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/share/bottles/bottles/backend/managers/manager.py", line 1287, in create_bottle
    TemplateManager.unpack_template(template, config)
  File "/app/share/bottles/bottles/backend/managers/template.py", line 193, in unpack_template
    shutil.copytree(
  File "/usr/lib/python3.11/shutil.py", line 571, in copytree
    with os.scandir(src) as itr:
         ^^^^^^^^^^^^^^^

Additional context

Might be related to #3370

The bottle directory does get created, but it is empty

JohnTheCoolingFan avatar May 21 '24 13:05 JohnTheCoolingFan