#643 Error saving file (Error renaming temporary file: Text file

pending
nobody
None
5
2014-08-25
2011-02-17
Anonymous
No

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)

Discussion

  • dregad

    dregad - 2011-11-19

    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)

     
  • dregad

    dregad - 2011-11-19

    I found a workaround:

    - edit ~/.config/geany/geany.conf
    - set use_safe_file_saving=true
    - save the file
    - restart Geany

    Hope this helps.

     
  • Colomban Wendling

    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.

     
  • Colomban Wendling

    • status: open --> pending
     

Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks