Closed lo-co closed 8 years ago
Write execution method is non-reentrant. Changing this will likely fix the problem.
OK...making this reentrant did not do the trick.
Not getting what we're expecting with the mirrored file. For example, when we start a new file on c:/ a new mirror is not opened.
This was not just an issue with the mirror file - we had a race condition that was preventing writing of the header to the second file that hit the stack. On top of this, we had files being opened in 2 places
Change File Write Status
in the File Actor
libraryFile Actor::Generate New File
I removed the file open method from the Change File Write Status
message but am still not getting headers written now.
Removed the wrapper in File Actor::Generate New File
. Execution method was already Non-reentrant
.
OK...so I think that we are almost there. The Humidifier.Med
and Humidifier.High
data objects are not being sent back. We either need to send something to fill these variables or remove them from the data set.
In the latter case, we need to add a mechanic to remove it if the humidifier is not available.
File writing is currently not working!!!
Message from Michael:
What is meant by 'we need to add a mechanic to remove it...'?
It's frustrating that we can't save now - could the software be 'rolled back' to a version that works as soon as possible? We are meant to be performing a whole load of testing and data collection this week - this would have been fine with yesterdays version of the software, which at least saved data. Today, the User Interface doesn't even seem to show any communication / data.
This is a note to myself.
First, let me say that when you all make changes, it has side effects. Sometimes it is because the code is in a fragile state. So, it breaks and shows why it is fragile and that is good. The humidification is an example of this. It caused several problems because I have not explained well what is intended to happen.
In this case, the we have two IDs added to the pool of objects that are sending data - Humidifier.med
and Humidifier.high
. If NO data is sent back, then the system is still waiting for that information so that it can write the header properly and you don't get that odd looking data file with the wrong number of headings.
None of this is a problem - you all need to be taking charge and we can learn and improve operations in the system.
Second, this is probably not the best place for comments like the above. These would be better addressed in email as they don't seem to pertain to this particular issue. That being said, I will go ahead and address these here:
It's frustrating that we can't save now - could the software be 'rolled back' to a version that works as soon as possible?
Maybe? It would be better and possibly quicker to address this right now as I spent about 4 or 5 hours looking at this yesterday and know what the problem is.
We are meant to be performing a whole load of testing and data collection this week - this would have been fine with yesterdays version of the software, which at least saved data.
I had no idea. Please communicate to me that the system should not be worked on if you are performing critical tests. In development, I don't always leave things in a functional state.
Today, the User Interface doesn't even seem to show any communication / data.
This is not what I observed.
Looks like this works now.
There is no header in the mirror file. I suspect this has something to do with the flag that is used to indicate whether a header has been written.