"The file has been changed on the file system." problem

Oxygen general issues.
andras
Posts: 4
Joined: Mon May 17, 2010 12:26 pm

"The file has been changed on the file system." problem

Post by andras »

Hello everyone,

I get the following error message in about 70% of my time while trying to save my edits using oXygen:
"The file has been changed on the file system. Do you want to load the changes?
This will lose the changes performed in editor."

It is an error message because I do not attempt to modify the files from anywhere else but from oXygen editor.

Because I could not find any resolution for the problem on the Internet, even if the problem seems to be a known/common problem, I would appreciate it if someone could give me some hints where to look for the solution.

Thanks in advance!

Regards,
András
adrian
Posts: 2855
Joined: Tue May 17, 2005 4:01 pm

Re: "The file has been changed on the file system." problem

Post by adrian »

Hi,

I have sent you a private email as a response to your report on our support email address.

I'm pasting here the content of that email.
What version and build number of Oxygen are you using(Help -> About)?

Does this happen every time you save any document in Oxygen, or is it a specific document?
Does the message appear immediately after saving or is it delayed?

Are the documents located on a network share, repository or other form of storage and not on the local hard drive?
Also, are the files from a working copy of a version control system(CVS, SVN , Mercurial, etc)?

The message should only be triggered if Oxygen detects a modification(timestamp was altered) was made to the edited file in the file system outside of its own Save operation.
The message cannot be disabled since it was considered that it's a rare occasion that a file is modified in Oxygen and also get altered from another application.

I guess this could get triggered for at least two reasons:
- the file really gets modified(or its timestamp is altered) from outside of Oxygen by some other application
- the file save to the file system is somehow delayed and at the time Oxygen keeps its timestamp the file isn't actually saved in the file system yet. This could happen if the file is on a network share or other form of repository.
Let me know if you want to continue this discussion here or via email.

Regards,
Adrian
Adrian Buza
<oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger
http://www.oxygenxml.com
andras
Posts: 4
Joined: Mon May 17, 2010 12:26 pm

Re: "The file has been changed on the file system." problem

Post by andras »

Hi,

I am using the following version:
<oXygen/> XML Author 11.2, build 2010041214
I get this in about 70% of my time trying to save no matter what file I edit.
Other people in the office using the same software do not experience the same problem for some reason.
We have our files on a network drive, from where we check them out to another network drive using SVN. From there, the xml files can be opened using a Java software dealing with all the files in the checkout folder. If I select open in that Java software, the individual xml files are opened by oXygen for editing.

I would appreciate your help in solving this especially because I am not sure that the save operation does save all my edits.

Thanks,
András
adrian
Posts: 2855
Joined: Tue May 17, 2005 4:01 pm

Re: "The file has been changed on the file system." problem

Post by adrian »

Hi,

I forgot to ask on what platform are you running Oxygen, what Operating System?

I find your setup to be rather complicated and unusual and I believe there is a large number of possibilities in which the files could really get modified outside of Oxygen.
So if I understood correctly there are other people in your office using the same setup and editing files in the same way without having this problem.
Are you sure there aren't several people editing the same file at the same time? Is there a file locking mechanism in place that prevents this?

What is the location of the files(file path) when they are opened in Oxygen(right click on a file tab and Copy Location). Are they located on the local machine in a temporary folder or do they point to the network drive?

Also, let's check something simple. If you copy an xml file to your Desktop and open it from there in Oxygen, modify it and then save it, does the same thing dialog pop up?

Regards,
Adrian
Adrian Buza
<oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger
http://www.oxygenxml.com
andras
Posts: 4
Joined: Mon May 17, 2010 12:26 pm

Re: "The file has been changed on the file system." problem

Post by andras »

Hi,

The OS is Windows XP.

I have tried what you suggest: I copied the files to my local drive and tested it. I did not receive the error message this way.
It seems the problem is with the network drive.
Our local IT is checking it now.

Thank you for your help!

Regards,
András
andras
Posts: 4
Joined: Mon May 17, 2010 12:26 pm

Re: "The file has been changed on the file system." problem

Post by andras »

Hi,

We have conducted some experiments here.
We tried to edit xml files on the local drive and on the server.
The error could be reproduced only on the server.

We tested several files and got the same results.
In the end, we tried to use the Ctrl+S keyboard shortcut instead of selecting File and then Save in oXygen (which is supposed to be the same). It seems the error doesn't come up using Ctrl+S!
The only difference in the process I see is selecting the File menu (if selecting Save really does the same as Ctrl+S).
It seems we have a bug here!

If you can resolve the bug and have a patch for it (or a new oXygen version having the solution comes out), please let me know.

Thanks and greetings,
András
adrian
Posts: 2855
Joined: Tue May 17, 2005 4:01 pm

Re: "The file has been changed on the file system." problem

Post by adrian »

Hi,

I can confirm that this is indeed a bug. It happened very rarely in our test scenario but we did manage to reproduce it when using File -> Save for a file opened from a network share.

I have added this to our bug tracking tool and we will fix it in the next build of Oxygen. We'll let you know as soon as that is available.

Meanwhile you can use the workaround you have found, the Ctrl+S shortcut instead of File -> Save.

Thank you for reporting this.

Regards,
Adrian
Adrian Buza
<oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger
http://www.oxygenxml.com
jakob
Posts: 3
Joined: Thu Sep 02, 2010 11:12 pm

Re: "The file has been changed on the file system." problem

Post by jakob »

Hello,

we're encountering this behaviour (bug?) with the latest version of OxygenXML 12.2. It happens exclusively with files on a networked resource (either directly using an UNC path, or via a mapped drive). Yes, we're on Windows XP Pro.

Ctrl + S does not work as a workaround for us.

I suspected that Oxygen observes file modification files on the remote server and the local machine and will alert the user if the remote file appears to be newer than the currently opened version (as if it was edited and saved by another user). However, see the third screenshot that shows that times are the same on both machines (using the same NTP server to set the time). Unless, that is, if Oxygen considers sub-second differences to be important.

This is really getting annoying, so I would be grateful for any help you can give us. Thanks,
Jakob.

Screenshots:

"The file has been changed on the file system. Do you want to load the changes? This will lose the changes performed in editor." http://i.imgur.com/TmGPh.gif

"The file has been chaned on the file system. Do you want to load the changes?" http://i.imgur.com/lFEeP.gif

Screen capture of the two date/time settings dialog on the server and my desktop: http://i.imgur.com/YCDbP.png
adrian
Posts: 2855
Joined: Tue May 17, 2005 4:01 pm

Re: "The file has been changed on the file system." problem

Post by adrian »

Hello,

Oxygen does indeed monitor the file modification timestamps, which are down to miliseconds(sub-second differences are important, no approximations are allowed). However, the server and workstation system time is irrelevant. When opening or saving a file, Oxygen simply remembers the file modification timestamp. The file modification timestamp is then polled at various times to check if the file has been modified by another application. If the timestamp of the file from the file system is different than the one remembered by Oxygen, the mentioned message dialog("The file has been chaned on the file system. Do you want to load the changes?") prompts the user to intervene


The problem originally reported in this thread was an occasional synchronization issue between the save operation and the updating and monitoring mechanism of the file modification timestamp. This has been fixed in v12.0.


Does the problem happen to you with any file from a network share or only with specific files?
Does this happen consistently, every time you save a file, or only occasionally?

Regards,
Adrian
Adrian Buza
<oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger
http://www.oxygenxml.com
Post Reply