i always use geany in my archlinux virtual machine. the machine's host sytem is winXP, the guest system is archlinux. the vm is virtualbox 4.0.2.
today, i update the geany from 0.19.1 to 0.20, i don't modify any configure and don't open the other any program in these periods.
i am trying to save my php file after editing some word, and jump a error info "Error saving file (Error renaming temporary file: Text file busy)".
the files is
the geany write a temporary files like ".goutputstream-PKGYQV" to the directory.
i remove geany 0.20, and reinstall geany 0.19.1, all edit and save is OK.
i update to geany 0.19.2, the all is OK.
i reinstall geany 0.20, the error come back.
# geany --version
geany 0.20 (built on Jan 6 2011 with GTK 2.22.1, GLib 2.26.1, GIO)
i find the bug of ID: 3126535 here that is similar to mine. but it's no help to me.
now, i use geany 0.19.2.
# geany --version
geany 0.19.2 (built on Dec 2 2010 with GTK 2.22.1, GLib 2.26.1)
I experience the same behavior, but I am on Virtualbox 4.1.4 running Ubuntu 11.10 and geany 0.20 (built on Jul 1 2011 with GTK 2.24.5, GLib 2.29.8, GIO)
I found a workaround:
- edit ~/.config/geany/geany.conf
- set use_safe_file_saving=true
- save the file
- restart Geany
Hope this helps.
This look like a problem in GIO mishandling the VB share (or simply getting into trouble discovering the backend FS is actually MS-Windows, and then that it can't replace a file currently opened). Geany 0.21 adds an option (in the Various pref tab) named "use_gio_unsafe_file_saving" that allows to choose whether to use GIO for "unsafe" file saving (e.g. without disk space exhaustion recovery). Please try unchecking it.
Actually, there are 3 ways Geany can save a file (described roughly below):
1) the "unsafe" ways (may loose data in case write fails in the middle):
1.1) Direct overwrite of the data (use_atomic_file_saving=false, use_gio_unsafe_file_saving=false). This method is quite efficient, but cannot write on remote media and is "unsafe" as described above;
1.2) The GIO way, depends on the GIO backend (use_atomic_file_saving=false, use_gio_unsafe_file_saving=true). This method works on remote media, may be efficient (or not, depends on the backend) and allows for backup (gio_unsafe_save_backup=true). However, it tries to do some things to be more "safe" about data loss (though this isn't really working) and may even lead to write problems in some situation, like the discussed one;
2) the "safe" way (should never loose data) using g_file_set_contents() (use_atomic_file_saving=true). This method should handle disk space exhaustion gracefully, but looses files attributes (like permissions, executable bit, etc.).
As you see, each method has its own drawbacks; and we unfortunately don't know of a perfect solution. For now, we allow the user to configure file saving the way that better fits his/her needs, hoping it's enough.
This problem occurred for me using Windows 10 host and Ubuntu 18.4 guest, using Gnome 3.28.2, running on VirtualBox 5.2.18 and Geany 1.32.
To solve:
Setting:
use_atomic_file_saving=true
gio_unsafe_save_backup=false
use_gio_unsafe_file_saving=false
Originally, the three options above were: false, false, true.
Hope this helps someone.