egara / buttermanager

ButterManager is a BTRFS tool for managing snapshots, balancing filesystems and upgrading the system safetly.
GNU General Public License v3.0
126 stars 5 forks source link

Selecting a subvolume closes Buttermanager #28

Closed lapineige closed 3 years ago

lapineige commented 3 years ago

System : Kubuntu 20.10 Version : 2.3, and master

Hello,

When I select a subvolume, or any folder, the app just quit, and if I open it again nothing was saved. I suppose that's a bug ?

egara commented 3 years ago

Hi! Thanks for the feedback.

Could you tell me how did you install ButterManager? Did you try both native and venv installation?

Could you send me the log too? It is in .buttermanager/buttermanager.log

Thanks!!

On Sun, Feb 21, 2021, 9:56 AM lapineige notifications@github.com wrote:

System : Kubuntu 20.10 Version : 2.3, and master

Hello,

When I select a subvolume, or any folder, the app just quit, and if I open it again nothing was saved. I suppose that's a bug ?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/egara/buttermanager/issues/28, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADIP6SY3XUS7L2F3HS34CH3TADDEVANCNFSM4X6YX53Q .

lapineige commented 3 years ago

I tried both, same result.

Here is the log :

INFO:ConfigManager. Checking OS. DEBIAN found INFO:ConfigManager. Creating PropertiesManager... INFO:ConfigManager. Retrieving user's configuration from buttermanager.yaml file and loading it in memory... INFO:VersionChecker. Checking for a new version of ButterManager. Please wait... INFO:PasswordWindow. Calculating appropriated base font size for UI elements... INFO:PasswordWindow. Base font size = 9 INFO:VersionChecker. Last version is 2.3 and current version is 2.3 INFO:RootSnapshotChecker. Checking if the current snapshot used for root is the default. Please wait... INFO:ButtermanagerMainWindow. BTRFS filesystems found in the system: INFO:ButtermanagerMainWindow. BTRFS Filesystem -> UUID: SomeRandomUUID; Devices: ['/dev/nvme0n1p2']; Mounted Points: ['/', '/home', '/run/timeshift/backup', '/tmp'] INFO:UpdatesChecker. Checking Internet connection. Please wait... INFO:UpdatesChecker. Internet connection is available!

Note: I did try a "balance" operation right after first opening, and this worked.

egara commented 3 years ago

Hi again.

Ok, it should be a bug, but it is not reproducible on Arch where I develop so I have to install a virtual machine to test it and see what happens.

I'll keep you inform and thanks!

lapineige commented 3 years ago

Someone reported to me that it was working on Fedora too.

Thanks a lot for your time :)

egara commented 3 years ago

Thanks to you for your feedback :)

Maybe it is a thing of libraries version or something like that... I'll take a look!

El mar, 23 feb 2021 a las 12:10, lapineige (notifications@github.com) escribió:

Someone reported to me that it was working on Fedora too.

Thanks a lot for your time :)

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/egara/buttermanager/issues/28#issuecomment-784123237, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADIP6S5MBGLHVGFBM6DMFGTTAOELVANCNFSM4X6YX53Q .

-- Eloy García Almadén

lapineige commented 3 years ago

If you want me to give you the version for a list of libraries, feels free to ask :)

egara commented 3 years ago

Hi @lapineige

I come back to you because this weekend I have installed a fresh Kubuntu 21.10 on Virtual Box. This is my experience.

Before the installation of ButterManager, I have installed []all the required libraries](https://github.com/egara/buttermanager#from-the-source-code). I have installed grub-btrfs from Git too.

Installation using venv_install script

This installation creates a virtual environment with all the dependencies and ButterManager will run from this venv. In this case, ButterManager runs OK and the file dialog for choosing locations works fine for me. No problem at all

VirtualBox_Kubuntu 21_1

VirtualBox_Kubuntu 21_2

BUT if you try to integrate ButterManager with grub-btrfs activating Boot the system from GRUB using snapshots which is in Settings tabs, the creating of the snapshot for the root partition will fail and, sincerelly, I don't know why :(

Installation using native_install script

This installation will require all the libraries needed installed natively in the system. When ButterManager runs and you select a location in the file dialog, you are absolutely right. The application crashes silently. No error messages. Nothing!

I'm on Arch Linux and I have installed ButterManager natively via AUR too. This installation is new, because before this version, a venv was used. And I have realized that this exact same problem happens in Arch.

I think it is related to the versions of the libraries and I'm trying to implement a workaround in the next version, so I'll keep you inform.

Meanwhile, if you want to use ButterManager, you can introduce the path manually on the fields and remember, if you want to integrate GRUB with your snapshots, you have to install grub-btrfs check the option in Settings and use the native_install script.

Thank you very much for your feedback again!

lapineige commented 3 years ago

Thanks a lot for your time and for investigating into that issue ! <3

if you try to integrate ButterManager with grub-btrfs activating Boot the system from GRUB using snapshots

I did not touch this option (unchecked by default), nor installed grub-btrfs as it was complicated and I did not need it. Would that be an issue ?

egara commented 3 years ago

I think this would be an issue, but again, in this case, this integration is working perfectly on the native installation so... I don't know, maybe something related to de libraries version I guess...

So, if you don't need GRUB integration to reboot your system directly using a previous snapshot (which, on the other hand, I think is something useful if you don't want to use a live USB when you want to rollback your system), you can stick on the venv installation. In this case, the file manager should work out of the box.

But I'm going to try to implement something different for selecting the directories in the next version in order to avoid this weird behavior of PyQT5.

lapineige commented 3 years ago

Great, then maybe I'll wait for the next version.

Grub integration would be handy indeed, but installation is too complicated for me and I found no package nor ready to use PPA, so I will pass :sweat_smile:

egara commented 3 years ago

Yep, it is sad that grub-btrfs is not packaged for Ubuntu. You could try Manjaro or EndevourOS on Virtual Box and see how it works. You install it and then yay -S buttermanager

Done! 🙂

I'll keep you informed when this bug is fixed in the next version. And thanks again!!!😃

On Sun, Feb 28, 2021, 9:58 PM lapineige notifications@github.com wrote:

Great, then maybe I'll wait for the next version.

Grub integration would be handy indeed, but installation is too complicated for me and I found no package nor ready to use PPA, so I will pass 😅

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/egara/buttermanager/issues/28#issuecomment-787521925, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADIP6SYBDITZW2XKJG7IS5DTBKVAXANCNFSM4X6YX53Q .

egara commented 3 years ago

Hi @lapineige

I have discovered that this issue happens on KDE Plasma Desktop Environment and a native installation of ButterManager. I think it is a bug in PyQT5, so I have introduced a fallback for this case. It is only in devel branch at the moment but when I merge the code into de master branch and release version 2.4 it will be available for everyone.

Cheers!!

lapineige commented 3 years ago

Great, thanks !

lapineige commented 3 years ago

Hello,

I see that the patch is already available in devel, do you want me to test it ? How risky can it be to use the devel branch ?

egara commented 3 years ago

Hi @lapineige and thank you for your help.

Yes, it is save but if you want to try, please, follow these steps:

1.- Make a copy of the configuration file within ~/.buttermanager/buttermanager.yaml because the new feature that I'm developing will change it and it is not finished yet. 2.- Install python3-tk package on Kubuntu if it is not installed yet 3.- Uninstall ButterManager and install it again from devel 4.- Run it and tell me

Then, you can uninstall this version, restore buttermanager.yaml configuration file and install ButterManager stable from master again.

Thank you very much for your help. You are very kind :)

egara commented 3 years ago

New version 2.4 has just been released and this issue should be fixed. Could you test it on Kubuntu @lapineige ?

lapineige commented 3 years ago

Yeah, that's great news ! :D

I think I'm going to try it within a week.

Thanks a lot for your work :)

lapineige commented 3 years ago

So I tried, with native install same crash as before :/ (and no log) But with virtual environment it works ! :tada:

Fun fact: the theme is different between both :thinking:

egara commented 3 years ago

Hi @lapineige and thank you very much for testing!! :)

Yep, this workaround should not be there, because only for this special case when the user is in DE KDE Plasma happens this crash :(

I've tested in GNOME and XFCE and everything works fine (PyQT5 works as expected and file explorer doesn't crash). As I thought before, I think it is something related to PyQT5 and Plasma. For this workaround I use Tkinter (https://docs.python.org/es/3/library/tkinter.html) and this graphic user interface is not very good at theming. I hope this bug is fixed in future versions of PyQT5 and I can get rid of this workaround.

Again, thank you very much for your time, help and contribution with this little project :D

Best,

Eloy

lapineige commented 3 years ago

As an user, that's not a big deal (and it's a way to know if it's native or venv ^^). Thanks for the explanations 🙂

lapineige commented 3 years ago

A quick feedback after trying it more extensively : it works like a charm, thanks a lot :tada: :smiley: The only thing I'm missing is a ~timeshift-like automated snapshot on a regular basis (for every subvolume but /, which is covered by timeshift), but if it makes a snapshot after any (apt) upgrade, then I will have quite a lot of frequent backups (I have updates several times a week-end). I finally found the GUI tool I was missing to make "regular" automated and transparent backup/snapshots for my files. Thanks you so much for your time and work :+1:

egara commented 3 years ago

@lapineige and thanks to you for all the extensive testing you are doing with ButterManager! :)