Comments (37)
No rush, and now I know why trash function not work (maybe), compiled the source code and run (out of curiosity I compiled it in fedora 37 and ran it in debian bookworm/testing), and now I see the error.
Trashing on system internal mounts is not supported
Found it's because of "bind mounts", the relevant line in my fstab.
LABEL=RAID1-HD /home/wgimenes/.var btrfs nosuid,nodev,compress-force=zstd,user_subvol_rm_allowed,autodefrag,x-systemd.device-timeout=0,subvolid=265,subvol=/USERDATA/wgimenes/.var 0 0
Basically I mount flatpak app settings from a different storage than my root filesystem, now that I realized that Nautilus/Files doesn't have the option to send it to the trash (I just rm -rf or shift+del all the time, I have snapshots, not reason to use trash).
The performance hit is because that folder is on my HDD's, I didn't mention it but all my files are also encrypted, and sorry I know my english is not good but i'm trying my best 😢.
from protonplus.
Dont worry, your english is better then some people I know ahah
from protonplus.
Ffs, I think I will break my keyboard ahah
from protonplus.
I will kill that widget once I find him ahah.
from protonplus.
I should be able to fix that this weekend.
from protonplus.
I'll probably do it later today, but can't confirm. Anyway even if I do it today, the next update will not be today.
from protonplus.
Would you be able to test from the source from the branch associated with this issue and tell me if it's working for you?
from protonplus.
Tested but I need to patch with branch 37-bugcritical-error-the-application-crashes-during-startup.
The *.tar.gz file is removed fine, but now takes so much time to remove some compatibility tools, like 30s-50s and i see the message "com.vysper.ProtonPlus is not responding", the file is removed anyway, just takes time to finish.
I downloaded several tools and try the option "Clean launcher", the same happens, all files is removed just takes time to finish.
from protonplus.
Oh I forgot to put that in another thread, my bad. For the perfomance problem, that's to be expected since I needed to write a recursive function to delete everything which may not be the most optimized way, but I can't do much more. Personally it took no time to delete them tho. What's your system specs if I may?
from protonplus.
I had to create that recursive function since you did not support the trash function for I don't know what reasons.
from protonplus.
I had to create that recursive function since you did not support the trash function for I don't know what reasons.
And my 3 systems have the same problem, just don't know why too.
from protonplus.
Oh I forgot to put that in another thread, my bad. For the perfomance problem, that's to be expected since I needed to write a recursive function to delete everything which may not be the most optimized way, but I can't do much more. Personally it took no time to delete them tho. What's your system specs if I may?
I think the relevant specs is this:
Processor: i7 7700k
Ram: 16GB x2
Storage: 120GB SSD x2, 1TB NVMe x2, 1TB HDD x2, 2TB HDD
But maybe the performance hit on my side is because I use BTRFS and ZFS.
from protonplus.
The problem is the only way left for me to do something to delete file in a fast way is to run a command which is a bit meh in my book. If I remember correctly some people had problem with that too. So we are a bit in an impasse.
from protonplus.
I've looked and I can't find any mention of that causing a problem, but I'm sure I read that somewhere.
from protonplus.
Can you tell me if it works for you now? I've gone the command way instead of my custom delete function.
from protonplus.
Download and delete Boxtron/Roberta OK
Download and delete Proton-GE/NorthststarProton NOK.
ProtonPlus is not responding, need click to force close.
Spam forever until I force to close.
(protonplus:2): Gtk-CRITICAL **: 01:17:11.420: gtk_widget_get_visible: assertion 'GTK_IS_WIDGET (widget)' failed
(protonplus:2): Gtk-CRITICAL **: 01:17:11.420: gtk_widget_get_visible: assertion 'GTK_IS_WIDGET (widget)' failed
(protonplus:2): Gtk-CRITICAL **: 01:17:11.420: gtk_widget_get_visible: assertion 'GTK_IS_WIDGET (widget)' failed
(protonplus:2): Gtk-CRITICAL **: 01:17:11.420: gtk_widget_get_visible: assertion 'GTK_IS_WIDGET (widget)' failed
(protonplus:2): Gtk-CRITICAL **: 01:17:11.420: gtk_widget_get_visible: assertion 'GTK_IS_WIDGET (widget)' failed
(protonplus:2): Gtk-CRITICAL **: 01:17:11.420: gtk_widget_get_visible: assertion 'GTK_IS_WIDGET (widget)' failed
(protonplus:2): Gtk-CRITICAL **: 01:17:11.420: gtk_widget_get_visible: assertion 'GTK_IS_WIDGET (widget)' failedApplication exited
Sometimes I see this on output and ProtonPlus freeze until I close.
(protonplus:2): Gtk-WARNING **: 01:32:03.308: Trying to snapshot ProtonPlusWindowsHome 0x55a13cf442d0 without a current allocation
Application exited
Download and delete Luxorpeda NOK
ProtonPlus is not responding, need click to force close.
Aplication exited
In all situations the compatibility tool and *.tar.gz files is removed and bulk remove is working very fine.
from protonplus.
I guess I'll have to do it with my recursive function then. I'll try to improve it.
from protonplus.
The recursive function is ok, just a little slow for some reason, it's annoying that Vala doesn't have a "delete folder anyway" function.
from protonplus.
I will try to improve my function, but I don't know how much time it will take.
from protonplus.
In that case I'm thinking I can use the trash function and if it doesnt work I use my recursive function as a fallback method. Of course I will improve it so its not that slow.
from protonplus.
It's a fair solution, maybe most people don't even face this "bug" in the first place.
from protonplus.
Yeah I think most people have access to the trash ahah
from protonplus.
Can you test the branch from this issue please :)
I decided not to make my function faster since it's a lot of multi threading stuff and my I'm not the best with that. I'll do it for next update, but for now I think pushing an update that fixes this issue and some others is more important. Don't worry tho, I will not forget you tho. For 0.3.3 it will be better ;)
from protonplus.
Nice, it's good to be remembered :)
I tested the branch, it works... but not so much... the *.tar.gz files are always deleted and works fine, the compatibility tools are deleted, but sometimes the app closes when the deletion is finished, the same happens if I delete in bulk. Reading the logs it seems that the "trash" function is tried and then goes to the "delete" function, this for each file, wouldn't it be better to try the "trash" function and if it fails just use the "delete" function? Maybe that's the problem.
from protonplus.
Oh damn, yeah I should do that. Thanks 😊
from protonplus.
Okay, so basically I did like you told me and I made so that the cleanup utility creates a thread for each folder to delete instead of a thread for all of them so it should be way faster to delete using that since they will all be deleted at the same time.
from protonplus.
For people that can use the trash() function it will change nothing, but for you it should be a big plus.
from protonplus.
IT WORKS!
from protonplus.
Tell me if that works for you and if so I'm gonna publish an update that is really due ahah
from protonplus.
Oh god, some weird things happening right now, the try "trash" and after try "delete" is vanished, good work mate 👍
The *.tar.gz files as always works, and most of the time compatibility tools are removed (single or bulk) without any problem, but it still persists in taking time to remove the compatibility tools, sometimes the app crashes if I try to remove something, and I see that on the output.
Spamming until I force close the app.
...
(protonplus:2): Gtk-CRITICAL **: 21:50:12.979: gtk_widget_get_visible: assertion 'GTK_IS_WIDGET (widget)' failed
(protonplus:2): Gtk-CRITICAL **: 21:50:12.979: gtk_widget_get_visible: assertion 'GTK_IS_WIDGET (widget)' failed
(protonplus:2): Gtk-CRITICAL **: 21:50:12.979: gtk_widget_get_visible: assertion 'GTK_IS_WIDGET (widget)' failed
(protonplus:2): Gtk-CRITICAL **: 21:50:12.979: gtk_widget_get_visible: assertion 'GTK_IS_WIDGET (widget)' failed
(protonplus:2): Gtk-CRITICAL **: 21:50:12.979: gtk_widget_get_visible: assertion 'GTK_IS_WIDGET (widget)' failed
(protonplus:2): Gtk-CRITICAL **: 21:50:12.979: gtk_widget_get_visible: assertion 'GTK_IS_WIDGET (widget)' failed
Application exited
The same as above but not spam and the app closes without any interaction.
(protonplus:2): Gtk-CRITICAL **: 21:52:44.691: gtk_widget_get_visible: assertion 'GTK_IS_WIDGET (widget)' failed
(protonplus:2): Gtk-CRITICAL **: 21:52:44.691: gtk_widget_get_visible: assertion 'GTK_IS_WIDGET (widget)' failed
Application exited
App freezes and I need to force close, and partially removed the compatibility tool, rarely occurs.
Error removing file /home/wgimenes/.var/app/com.valvesoftware.Steam/data/Steam/compatibilitytools.d/GE-Proton7-43/files: Directory not empty
Error removing file /home/wgimenes/.var/app/com.valvesoftware.Steam/data/Steam/compatibilitytools.d/GE-Proton7-43: Directory not empty
(protonplus:2): GLib-CRITICAL **: 23:05:46.602: g_sequence_get: assertion '!is_end (iter)' failed
Application exited
I thought if I moved the steam compatibility tool folder to an SSD if it would improve performance, I made a btrfs subvolume on the SSD and mounted the subvolume in the Steam compatibility tool folder, checked with Nautilus/Files that the recycle bin does not exist, tested again, unfortunately got the same results 😢
from protonplus.
Updated the branch from this issue. I made it cleaner and a bit simpler. Tell me if that works any better for you.
from protonplus.
MY GOD, GOOD NEWS, the long time to remove is here unfortunately, but have been improved a lot, now it takes to remove one compatibility tool 18s-22s, reduced by almost half the time, I am very happy with the results, the bulk deletion still takes a long time, but I ended up not timing it before, so I can't confirm, but it also seems to have improved.
The bad news is the app crashes sometimes, and if crashes takes the same time to remove the compatibility tools like before, this is rare to happen.
(protonplus:2): Gtk-CRITICAL **: 03:26:37.758: gtk_widget_get_visible: assertion 'GTK_IS_WIDGET (widget)' failed
Application exited
Great job mate you deserve it 👏
from protonplus.
I'll continue working on a fix for that tomorrow when I wake up.
from protonplus.
I tried to optimize the process a bit, can you tell me if now that works any better please :)
from protonplus.
I just closed another issue where GLib was the issue. I think I will try to use Posix to delete stuff to for people in your position.
from protonplus.
@wehagy Hey, just wanted to know if things are any better for you so that we can start fixing this issue again.
from protonplus.
Since this issue was fixed in #81, I will now close it.
from protonplus.
Related Issues (20)
- [BUG] Releases are not always deleted properly HOT 1
- [FEATURE] DXVK, VKD3D & NVAPI Updater HOT 16
- Installed wine runner isn't detected HOT 3
- Error when installing a runner for Steam for the first time HOT 7
- [BUG] HOT 1
- [FEATURE] Add ability to download older proton-ge versions HOT 9
- [BUG] Clicking to delete steam proton versions in ProtonPlus isn't deleting files HOT 5
- [FEATURE] Always up to date version of a runner HOT 5
- Some entries are missing in the pot file and therefor not translated HOT 7
- [FEATURE] Proton Prefix HOT 13
- [FEATURE] Show if a version is in use HOT 2
- [FEATURE] A Download Indicator HOT 2
- [BUG] Visual Problems with v0.4.7 HOT 8
- [BUG] Can't see installed only proton verions. HOT 7
- [FEATURE] Adding Steam Tinker Launch to possible downloads HOT 1
- [FEATURE] Backend Rework
- [BUG] Unacceptable TLS certificate error HOT 3
- [FEATURE] New app Icon HOT 11
- [FEATURE] Add RTSP variant of GE Proton to the supported types HOT 2
- [BUG] Proton RTSP installing doesnt work properly HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from protonplus.