-
Notifications
You must be signed in to change notification settings - Fork 34
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ensure OpenMx is the package associated with MxRAMModel objects #16
Comments
FYI, teaching a class, about 5/50 people had this error last week. It seemed to have something to do with package order. Went away with reinstall package, restart R. |
No idea how to reproduce this or whether it's even an OpenMx problem. Closing until we receive a better bug report. |
I wonder if this issue is worth revisiting in light of thread 4311? |
Doesn’t the result of 2.8.3 upgrade eliminating the error imply that the problem is fixed?
|
But upgrading didn't resolve the issue. What did was krzysiek re-running his MxModels anew, instead of loading them from a saved workspace. |
Should we revisit this issue? It's still tripping users up. |
I think we should indicate which prior versions of OpenMx would be compatible with the present one. If none, that’s just the way it is. We could then issue an error on attempts to load outdated versions:
“Sorry, this mxModel was saved with an earlier version of OpenMx which is not compatible with the version you are using. Please first rerun the original model with your newer version, which will make it compatible."
On Jan 26, 2018, at 8:24 PM, RMKirkpatrick <notifications@github.com<mailto:notifications@github.com>> wrote:
Should we revisit this issue? It's still tripping users up.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub<#16 (comment)>, or mute the thread<https://github.com/notifications/unsubscribe-auth/ACNfDciv6X-Sfb7US49MTBveUJ4Wu8aQks5tOiaCgaJpZM4L9fRw>.
|
Or maybe "“Sorry, this mxModel was saved with an earlier version of OpenMx (version string) which we can't be sure is fully binary compatible with the version you are using. Please first rerun the original model with your newer version, which will make it compatible."
i.e., not sure developers will be able to maintain a list of all compatible version-spans.
t
… On 29 Jan 2018, at 11:04 am, Michael Neale ***@***.***> wrote:
I think we should indicate which prior versions of OpenMx would be compatible with the present one. If none, that’s just the way it is. We could then issue an error on attempts to load outdated versions:
“Sorry, this mxModel was saved with an earlier version of OpenMx which is not compatible with the version you are using. Please first rerun the original model with your newer version, which will make it compatible."
On Jan 26, 2018, at 8:24 PM, RMKirkpatrick ***@***.******@***.***>> wrote:
Should we revisit this issue? It's still tripping users up.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub<#16 (comment)>, or mute the thread<https://github.com/notifications/unsubscribe-auth/ACNfDciv6X-Sfb7US49MTBveUJ4Wu8aQks5tOiaCgaJpZM4L9fRw>.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub <#16 (comment)>, or mute the thread <https://github.com/notifications/unsubscribe-auth/AAs7nP2fZ9BricOM6OJP6Uq93UqywGLLks5tPaXVgaJpZM4L9fRw>.
|
Yeah, it isn’t clear to me what would cause crash/failure to load and what would not. Changing slot type or number seems to be the major culprit in backward compatibility. Maybe there are ways to code more politely so that such changes don’t affect backward saved mxModel incompatibilities? In any case, I am firmly of the opinion that we really should do something for the unsuspecting user out there.
Another useful thing is checkpointing - it’s easy to reload estimates into a model from the solution, despite not having to run the thing again - very handy if wall time was a month or something. I almost feel like we should automatically dump the estimates out in a readable form (pasting from summary isn’t fun and summary of mxModels can be broken by a version update). Or stash them so they can always be easily extracted from a prior version’s mxModel and fed into omxSetParameters() with no fuss. Perhaps this is the easiest way to go?
|
N.B. that we DO warn the user if s/he is running an MxModel that was created with a version of OpenMx different from the one currently loaded. See line 72 in R/MxModel.R and line 21 in R/MxRun.R . |
I'm reopening this issue, because I think I finally have a fix for it. Today, I read the R Internals manual, concerning S4 classes (plus another document to which the manual links). Based on what it said, I began to suspect that this issue is caused by MxRAMModels never being As a proof of concept, I attach summary.MxRAMModel.diff.txt, which is a git diff relative to 7ebcc10 . If I rebuild OpenMx after making the changes reflected in the diff, I can run loadtest--181129.R, save R's workspace, restart R, and load the saved workspace, and OpenMx is automatically loaded into R's workspace with it. That is the current behavior for objects of class "MxModel", but that is new behavior for objects of class "MxRAMModel". I'm running R in RStudio, FYI. For reference, this is the forums thread about this issue: https://openmx.ssri.psu.edu/thread/4199 . |
The changes reflected in that diff are just proof-of-concept. The actual implementation of the bug-fix will have to be less crude. We should probably discuss it at a meeting. And we should implement analogous changes for MxLISRELModels, too. |
Wow, Rob, accolades to your tenacity on solving this one! |
@jpritikin Thanks! |
Oh, ba80a3f , for Pete's sake! Can it be that the bug-fix that has eluded us all this time IS A SINGLE LINE OF CODE?! Fingers crossed that travis and the nightly run both pass. Edit: well, travis failed, but that wasn't my fault. |
If |
Well, it looks like the fix for this issue was much simpler than I thought. Contrary to my initial suspicion, it's not actually necessary for objects of class "MxRAMModel" to be The nightly run passed all tests. Could someone please independently verify that it works? You should be able to build R from the head of the master branch, run loadtest--181129.R, let it save R's workspace, restart R, load the saved workspace, and see OpenMx get automatically loaded into R's workspace with it. Once someone confirms that it works, this issue can be closed. |
I'm going to close this issue. We can reopen it if it turns out my fix doesn't work. |
summary() bug or deep mystery of the universe
http://openmx.ssri.psu.edu/thread/4199
Is the package (OpenMx) associated with MxRAMModel objects not being stored as part of the class definition?
The text was updated successfully, but these errors were encountered: