Random external modifications to project

I’m running the latest beta (but I’ve been seeing this issue since the first releases of the 8.x series). I have a local gateway and designer; everything runs on my laptop. I’m the only user of this gateway.
Now, when I save a project in designer, I get random conflicts due to purported differences between my version of the project and the one from the gateway, which I always resolve by choosing to use my version for all changes. However this is annoying and I don’t think I should be seeing this as I’m the only user who modifies things on the gateway. The changes coming from the gateway have an author of “external”, and when I get the conflict window I see batches of messages like the following in the log just before the time I hit “save”:

jvm 1    | I [g.IgnitionProjectManager      ] [16:39:17]: Setting LastModification to "external" on myproject/vision/Form_machine [com.inductiveautomation.vision/windows] 
jvm 1    | I [g.IgnitionProjectManager      ] [16:39:17]: Setting LastModification to "external" on myproject/vision/Menu window [com.inductiveautomation.vision/windows] 
jvm 1    | I [g.IgnitionProjectManager      ] [16:39:17]: Setting LastModification to "external" on myproject/vision/Form_insert [com.inductiveautomation.vision/windows]                  
jvm 1    | I [g.IgnitionProjectManager      ] [16:39:17]: Setting LastModification to "external" on myproject/vision/test_report [com.inductiveautomation.vision/windows]       
jvm 1    | I [g.IgnitionProjectManager      ] [16:39:17]: Setting LastModification to "external" on myproject/vision/Form_worker [com.inductiveautomation.vision/windows] 
jvm 1    | I [g.IgnitionProjectManager      ] [16:39:17]: Setting LastModification to "external" on myproject/vision/Form_building_site [com.inductiveautomation.vision/windows]      
jvm 1    | I [g.IgnitionProjectManager      ] [16:39:17]: Setting LastModification to "external" on myproject/report_3 [com.inductiveautomation.reporting/reports]     
jvm 1    | I [g.IgnitionProjectManager      ] [16:39:17]: Setting LastModification to "external" on myproject/area_inventory [com.inductiveautomation.reporting/reports]         
jvm 1    | I [g.IgnitionProjectManager      ] [16:39:17]: Setting LastModification to "external" on myproject/worker_inventory [com.inductiveautomation.reporting/reports]  
jvm 1    | I [g.IgnitionProjectManager      ] [16:39:17]: Setting LastModification to "external" on myproject/machine_inventory [com.inductiveautomation.reporting/reports]  

Almost always, the elements marked as “external” are windows or reports I haven’t even touched or opened in any way in the whole session.
So, where are these phantom modifications coming from?

1 Like

We’ve had a few users (even internal in the company) report things like this, but we haven’t isolated a root cause very firmly yet.
First question: Are you running any aggressive antivirus or similar program(s) on your laptop? They might be doing an invasive enough scan that it’s triggering the comparison checks.
Next question: Are you using Windows? So far, that’s been a common thread, but not conclusive.

It’s a windows VM dedicated solely to ignition, not connected to the Internet and thus no antivirus (well, except windows defender, I can try disabling it).

Anyway, just to give you more information I’ll try setting up a Linux gateway and see whether it happens with that as well.

1 Like

From a quick test, it looks like Windows has little to do with it. I set up a Linux gateway (only the gateway) and used the windows designer to connect to it. Still randomly getting the conflict window when saving, but now I’m seeing the “Setting LastModification to “external”” messages on the Linux gateway log, and that certainly has no antivirus whatsoever, because I installed a barebone debian with nothing else. I’ll do some more testing.

1 Like

You’re always going to see those messages once the first time you start or resources are otherwise imported. Any resource that doesn’t have a LastModification set on it when the project system first encounters it will get an “external” LastModification.

Are you continually seeing these messages for the same resources?

I don’t know whether those LastModification are carried over when doing a gateway backup + restore (that’s what I did to populate the linux gateway). Anyway, yes, after some time running, it looks like some resources tend to be marked more than others (some of those I never opened, some other I had opened and saved, both when they were on the Windows gateway and now on the Linux gateway):

$ grep external logs/wrapper.log
INFO   | jvm 1    | I [g.IgnitionProjectManager      ] [21:02:57]: Setting LastModification to "external" on myproject/vision/Form_worker [com.inductiveautomation.vision/windows] 
INFO   | jvm 1    | I [g.IgnitionProjectManager      ] [21:02:57]: Setting LastModification to "external" on myproject/report_test [com.inductiveautomation.reporting/reports] 
INFO   | jvm 1    | I [g.IgnitionProjectManager      ] [21:02:57]: Setting LastModification to "external" on myproject/area_inventory [com.inductiveautomation.reporting/reports] 
INFO   | jvm 1    | I [g.IgnitionProjectManager      ] [21:02:57]: Setting LastModification to "external" on myproject/worker_inventory [com.inductiveautomation.reporting/reports] 
INFO   | jvm 1    | I [g.IgnitionProjectManager      ] [21:02:57]: Setting LastModification to "external" on myproject/machine_inventory [com.inductiveautomation.reporting/reports] 
INFO   | jvm 1    | I [g.IgnitionProjectManager      ] [21:15:14]: Setting LastModification to "external" on myproject/vision/Form_worker [com.inductiveautomation.vision/windows] 
INFO   | jvm 1    | I [g.IgnitionProjectManager      ] [21:15:14]: Setting LastModification to "external" on myproject/report_test [com.inductiveautomation.reporting/reports] 
INFO   | jvm 1    | I [g.IgnitionProjectManager      ] [21:15:14]: Setting LastModification to "external" on myproject/area_inventory [com.inductiveautomation.reporting/reports] 
INFO   | jvm 1    | I [g.IgnitionProjectManager      ] [21:15:14]: Setting LastModification to "external" on myproject/worker_inventory [com.inductiveautomation.reporting/reports] 
INFO   | jvm 1    | I [g.IgnitionProjectManager      ] [21:15:14]: Setting LastModification to "external" on myproject/machine_inventory [com.inductiveautomation.reporting/reports] 
INFO   | jvm 1    | I [g.IgnitionProjectManager      ] [21:18:42]: Setting LastModification to "external" on myproject/vision/Form_worker [com.inductiveautomation.vision/windows] 
INFO   | jvm 1    | I [g.IgnitionProjectManager      ] [21:18:42]: Setting LastModification to "external" on myproject/report_test [com.inductiveautomation.reporting/reports] 
INFO   | jvm 1    | I [g.IgnitionProjectManager      ] [21:18:42]: Setting LastModification to "external" on myproject/area_inventory [com.inductiveautomation.reporting/reports] 
INFO   | jvm 1    | I [g.IgnitionProjectManager      ] [21:18:42]: Setting LastModification to "external" on myproject/worker_inventory [com.inductiveautomation.reporting/reports] 
INFO   | jvm 1    | I [g.IgnitionProjectManager      ] [21:18:42]: Setting LastModification to "external" on myproject/machine_inventory [com.inductiveautomation.reporting/reports] 
INFO   | jvm 1    | I [g.IgnitionProjectManager      ] [21:28:14]: Setting LastModification to "external" on myproject/vision/Menu window [com.inductiveautomation.vision/windows] 
INFO   | jvm 1    | I [g.IgnitionProjectManager      ] [21:28:14]: Setting LastModification to "external" on myproject/vision/Form_worker [com.inductiveautomation.vision/windows] 
INFO   | jvm 1    | I [g.IgnitionProjectManager      ] [21:28:14]: Setting LastModification to "external" on myproject/report_test [com.inductiveautomation.reporting/reports] 
INFO   | jvm 1    | I [g.IgnitionProjectManager      ] [21:28:14]: Setting LastModification to "external" on myproject/area_inventory [com.inductiveautomation.reporting/reports] 
INFO   | jvm 1    | I [g.IgnitionProjectManager      ] [21:28:14]: Setting LastModification to "external" on myproject/worker_inventory [com.inductiveautomation.reporting/reports] 
INFO   | jvm 1    | I [g.IgnitionProjectManager      ] [21:28:14]: Setting LastModification to "external" on myproject/machine_inventory [com.inductiveautomation.reporting/reports] 
INFO   | jvm 1    | I [g.IgnitionProjectManager      ] [21:39:19]: Setting LastModification to "external" on myproject/vision/Menu window [com.inductiveautomation.vision/windows] 
INFO   | jvm 1    | I [g.IgnitionProjectManager      ] [21:39:19]: Setting LastModification to "external" on myproject/vision/Form_worker [com.inductiveautomation.vision/windows] 
INFO   | jvm 1    | I [g.IgnitionProjectManager      ] [21:39:19]: Setting LastModification to "external" on myproject/report_test [com.inductiveautomation.reporting/reports] 
INFO   | jvm 1    | I [g.IgnitionProjectManager      ] [21:39:19]: Setting LastModification to "external" on myproject/area_inventory [com.inductiveautomation.reporting/reports] 
INFO   | jvm 1    | I [g.IgnitionProjectManager      ] [21:39:19]: Setting LastModification to "external" on myproject/worker_inventory [com.inductiveautomation.reporting/reports] 
INFO   | jvm 1    | I [g.IgnitionProjectManager      ] [21:39:19]: Setting LastModification to "external" on myproject/machine_inventory [com.inductiveautomation.reporting/reports] 
INFO   | jvm 1    | I [g.IgnitionProjectManager      ] [22:51:14]: Setting LastModification to "external" on myproject/vision/Menu window [com.inductiveautomation.vision/windows] 
INFO   | jvm 1    | I [g.IgnitionProjectManager      ] [22:51:14]: Setting LastModification to "external" on myproject/vision/Form_worker [com.inductiveautomation.vision/windows] 
INFO   | jvm 1    | I [g.IgnitionProjectManager      ] [22:51:14]: Setting LastModification to "external" on myproject/project/util_functions [ignition/script-python] 
INFO   | jvm 1    | I [g.IgnitionProjectManager      ] [22:51:14]: Setting LastModification to "external" on myproject/report_test [com.inductiveautomation.reporting/reports] 
INFO   | jvm 1    | I [g.IgnitionProjectManager      ] [22:51:14]: Setting LastModification to "external" on myproject/area_inventory [com.inductiveautomation.reporting/reports] 
INFO   | jvm 1    | I [g.IgnitionProjectManager      ] [22:51:14]: Setting LastModification to "external" on myproject/worker_inventory [com.inductiveautomation.reporting/reports] 
INFO   | jvm 1    | I [g.IgnitionProjectManager      ] [22:51:14]: Setting LastModification to "external" on myproject/machine_inventory [com.inductiveautomation.reporting/reports] 
INFO   | jvm 1    | I [g.IgnitionProjectManager      ] [23:04:20]: Setting LastModification to "external" on myproject/vision/Form_machine [com.inductiveautomation.vision/windows] 
INFO   | jvm 1    | I [g.IgnitionProjectManager      ] [23:04:20]: Setting LastModification to "external" on myproject/vision/Menu window [com.inductiveautomation.vision/windows] 
INFO   | jvm 1    | I [g.IgnitionProjectManager      ] [23:04:20]: Setting LastModification to "external" on myproject/vision/Form_worker [com.inductiveautomation.vision/windows] 
INFO   | jvm 1    | I [g.IgnitionProjectManager      ] [23:04:20]: Setting LastModification to "external" on myproject/vision/Form_building_site_open [com.inductiveautomation.vision/windows] 
INFO   | jvm 1    | I [g.IgnitionProjectManager      ] [23:04:20]: Setting LastModification to "external" on myproject/report_test [com.inductiveautomation.reporting/reports] 
INFO   | jvm 1    | I [g.IgnitionProjectManager      ] [23:04:20]: Setting LastModification to "external" on myproject/area_inventory [com.inductiveautomation.reporting/reports] 
INFO   | jvm 1    | I [g.IgnitionProjectManager      ] [23:04:20]: Setting LastModification to "external" on myproject/worker_inventory [com.inductiveautomation.reporting/reports] 
INFO   | jvm 1    | I [g.IgnitionProjectManager      ] [23:04:20]: Setting LastModification to "external" on myproject/machine_inventory [com.inductiveautomation.reporting/reports] 
INFO   | jvm 1    | I [g.IgnitionProjectManager      ] [23:17:28]: Setting LastModification to "external" on myproject/vision/Form_machine [com.inductiveautomation.vision/windows] 
INFO   | jvm 1    | I [g.IgnitionProjectManager      ] [23:17:28]: Setting LastModification to "external" on myproject/vision/Menu window [com.inductiveautomation.vision/windows] 
INFO   | jvm 1    | I [g.IgnitionProjectManager      ] [23:17:28]: Setting LastModification to "external" on myproject/vision/Form_insert_coordinates_area [com.inductiveautomation.vision/windows] 
INFO   | jvm 1    | I [g.IgnitionProjectManager      ] [23:17:28]: Setting LastModification to "external" on myproject/vision/Form_worker [com.inductiveautomation.vision/windows] 
INFO   | jvm 1    | I [g.IgnitionProjectManager      ] [23:17:28]: Setting LastModification to "external" on myproject/vision/Form_building_site_open [com.inductiveautomation.vision/windows] 
INFO   | jvm 1    | I [g.IgnitionProjectManager      ] [23:17:28]: Setting LastModification to "external" on myproject/report_test [com.inductiveautomation.reporting/reports] 
INFO   | jvm 1    | I [g.IgnitionProjectManager      ] [23:17:28]: Setting LastModification to "external" on myproject/area_inventory [com.inductiveautomation.reporting/reports] 
INFO   | jvm 1    | I [g.IgnitionProjectManager      ] [23:17:28]: Setting LastModification to "external" on myproject/worker_inventory [com.inductiveautomation.reporting/reports] 
INFO   | jvm 1    | I [g.IgnitionProjectManager      ] [23:17:28]: Setting LastModification to "external" on myproject/machine_inventory [com.inductiveautomation.reporting/reports] 
INFO   | jvm 1    | I [g.IgnitionProjectManager      ] [23:39:17]: Setting LastModification to "external" on myproject/vision/Form_machine [com.inductiveautomation.vision/windows] 
INFO   | jvm 1    | I [g.IgnitionProjectManager      ] [23:39:17]: Setting LastModification to "external" on myproject/vision/Menu window [com.inductiveautomation.vision/windows] 
INFO   | jvm 1    | I [g.IgnitionProjectManager      ] [23:39:17]: Setting LastModification to "external" on myproject/vision/Form_insert_coordinates_area [com.inductiveautomation.vision/windows] 
INFO   | jvm 1    | I [g.IgnitionProjectManager      ] [23:39:17]: Setting LastModification to "external" on myproject/vision/report_3 [com.inductiveautomation.vision/windows] 
INFO   | jvm 1    | I [g.IgnitionProjectManager      ] [23:39:17]: Setting LastModification to "external" on myproject/vision/Form_worker [com.inductiveautomation.vision/windows] 
INFO   | jvm 1    | I [g.IgnitionProjectManager      ] [23:39:17]: Setting LastModification to "external" on myproject/vision/Form_building_site_open [com.inductiveautomation.vision/windows] 
INFO   | jvm 1    | I [g.IgnitionProjectManager      ] [23:39:17]: Setting LastModification to "external" on myproject/report_test [com.inductiveautomation.reporting/reports] 
INFO   | jvm 1    | I [g.IgnitionProjectManager      ] [23:39:17]: Setting LastModification to "external" on myproject/area_inventory [com.inductiveautomation.reporting/reports] 
INFO   | jvm 1    | I [g.IgnitionProjectManager      ] [23:39:17]: Setting LastModification to "external" on myproject/worker_inventory [com.inductiveautomation.reporting/reports] 
INFO   | jvm 1    | I [g.IgnitionProjectManager      ] [23:39:17]: Setting LastModification to "external" on myproject/machine_inventory [com.inductiveautomation.reporting/reports] 
INFO   | jvm 1    | I [g.IgnitionProjectManager      ] [23:39:30]: Setting LastModification to "external" on myproject/vision/Form_machine [com.inductiveautomation.vision/windows] 
INFO   | jvm 1    | I [g.IgnitionProjectManager      ] [23:39:30]: Setting LastModification to "external" on myproject/vision/Menu window [com.inductiveautomation.vision/windows] 
INFO   | jvm 1    | I [g.IgnitionProjectManager      ] [23:39:30]: Setting LastModification to "external" on myproject/vision/Form_insert_coordinates_area [com.inductiveautomation.vision/windows] 
INFO   | jvm 1    | I [g.IgnitionProjectManager      ] [23:39:30]: Setting LastModification to "external" on myproject/vision/report_3 [com.inductiveautomation.vision/windows] 
INFO   | jvm 1    | I [g.IgnitionProjectManager      ] [23:39:30]: Setting LastModification to "external" on myproject/vision/Form_worker [com.inductiveautomation.vision/windows] 
INFO   | jvm 1    | I [g.IgnitionProjectManager      ] [23:39:30]: Setting LastModification to "external" on myproject/vision/Form_building_site_open [com.inductiveautomation.vision/windows] 
INFO   | jvm 1    | I [g.IgnitionProjectManager      ] [23:39:30]: Setting LastModification to "external" on myproject/report_test [com.inductiveautomation.reporting/reports] 
INFO   | jvm 1    | I [g.IgnitionProjectManager      ] [23:39:30]: Setting LastModification to "external" on myproject/area_inventory [com.inductiveautomation.reporting/reports] 
INFO   | jvm 1    | I [g.IgnitionProjectManager      ] [23:39:30]: Setting LastModification to "external" on myproject/worker_inventory [com.inductiveautomation.reporting/reports] 
INFO   | jvm 1    | I [g.IgnitionProjectManager      ] [23:39:30]: Setting LastModification to "external" on myproject/machine_inventory [com.inductiveautomation.reporting/reports] 

Some more info (might or might not be relevant): those log entries seem to appear only while I have the designer open. If I close it, no “setting LastModification to “external”” message is written (so far at least).

Can you open a ticket with support and provide them with your gateway backup if possible?

I think someone here might need to try and reproduce this.

I’ll see what I can do, I can’t provide the real gateway backup due to confidentiality, I’ll see if I can set up another test environment where the problem can be reproduced with a certain degree of reliability. It’ll take some time, but I’ll be back.

1 Like

Just a quick update on this one. I upgraded to 8.0.3 stable and the problem has almost disappeared (I say “almost” because I’ve seen it a few times, but nothing compared to before). I’ll come back if the issue worsens.

2 Likes