studieredcorn / STEMiO

0 stars 0 forks source link

Multiple Branches of Subsystems Caused System Corruption #27

Closed studieredcorn closed 6 years ago

studieredcorn commented 7 years ago

When using the US Government System I had navigated it fine for awhile with no issues. During that time there was only one path of subsystems to navigate (US Government>>US Government>>Legislative Branch). I added a subsystem under the Executive Branch (US Government>>US Government>>Executive Branch) called DOE and clicked Save System. From that point forward, clicking on "US Government" then "Get Existing System" points me directly to the "Executive Branch" Subsystem and the website is crashed (no other function works, and the website has to be refreshed). I have since restored the system from backup files, but the error can be recreated simply by opening up any subsystem and creating a "branch" in the subsystem path. For example, I can create something under "US Senate" b/c it is in line with US Government>>US Government>>Legistlative Branch>>US Senate, but after I have created US Senate I cannot also create a subsystem for the US House of Representatives US Government>>US Government>>Legistlative Branch>>US House of Representatives b/c then there are two branches of subsystems; one going down US House of Representatives and the other going down US Senate. This problem with "branching" appears to hold true at any level in the system hierarchy.

I tried to recreate the error in the simple "Bug Detector" system by creating multiple branches of subsystems, but this alone did not produce a crash. This has happened to me a few times and best I can tell it occurs during a combination of branching to a new line of subsystems AND when working in a complex system with lots of inputs and outputs and subsystems.

mlepilov commented 7 years ago

I am not sure if this behavior is what causes the crash (as you mention, just making multiple branches alone works fine). My best guess re: complexity is that, in complex system, there is simply more time for the user to do something that would trigger a crash. For example, there is more time for the user to create a new object while linking a current object, which I am almost positive causes corruption (and should be listed as a bug).

studieredcorn commented 6 years ago

I rebuilt the system after the recent updates and multiple branches did not lead to a crash.