You are here

Snowfall breaks mxRun when applied to a model with non-independent submodels

> summary(mxRun(multivTwinSatModel))
Running multivTwinSat
The Major iteration limit was reached (Mx status BLUE).

name       matrix row    col      Estimate  Std.Error

1 MZ.CholMZ 1 1 13.42733135 1.6998343
2 MZ.CholMZ 2 1 -11.29844592 5.0999658

180 DZ.ExpMeanDZ 1 t2var6 76.25965274 2.9879526

Observed statistics: 960
Estimated parameters: 180
Degrees of freedom: 780
-2 log likelihood: 7259.518
Saturated -2 log likelihood: NA
numObs: 101
Chi-Square: NA
p: NA
AIC (Mx): 5699.518
BIC (Mx): 1829.862
adjusted BIC:
RMSEA: NA
frontend elapsed time: 0.3536689 secs
backend elapsed time: 3.226609 mins
openmx version number: 0.2.5-1050

Warning message:
In model 'multivTwinSat' NPSOL returned a non-zero status code 4. The Major iteration limit was reached (Mx status BLUE).
>
> library(snowfall)
Loading required package: snow
> sfInit(parallel = TRUE, cpus = ???)
Error: unexpected ')' in "sfInit(parallel = TRUE, cpus = ???)"
> sfLibrary(OpenMx)
Library OpenMx loaded.
Library OpenMx loaded in cluster.

> summary(mxRun(multivTwinSatModel))
Running multivTwinSat
Error in checkForRemoteErrors(val) :
one node produced an error: trying to get slot "name" from an object of a basic class ("NULL") with no slots
Error in summary(mxRun(multivTwinSatModel)) :
error in evaluating the argument 'object' in selecting a method for function 'summary'

However, if the submodels are declared to be independent, everything is ok (and speedy):

multivTwinSatModel$MZ@independent<-T
multivTwinSatModel$DZ@independent<-T
multivTwinSatFit <- mxRun(multivTwinSatModel)
Running multivTwinSat

AttachmentSize
Plain text icon iqnl.txt13.32 KB
Binary Data snowfallProblem.R2.06 KB
Reporter: 
Created: 
Wed, 02/03/2010 - 16:20
Updated: 
Wed, 02/17/2010 - 22:17

Comments

There is a bug in the snowfall library where the sfApply() functions crash if the input has zero length. I've added a workaround to the omxApply() functions to avoid any computation for these cases. It's been added in r1070. This should fix any issues in the OpenMx library, since we use the omxApply() wrappers around the snowfall functions.

Sounds good but somehow my build of OpenMx now fails (and it was ok earlier today). Everything looks ok up to this step:

gcc-4.2 -arch x86_64 -std=gnu99 -dynamiclib -Wl,-headerpad_max_install_names -undefined dynamic_lookup -single_module -multiply_defined suppress -L/usr/local/lib -o OpenMx.so npsolWrap.o omxAlgebra.o omxAlgebraFunctions.o omxAlgebraObjective.o omxData.o omxFIMLObjective.o omxMLObjective.o omxMatrix.o omxObjective.o omxObjectiveTable.o omxRAMObjective.o omxRObjective.o omxRowObjective.o omxState.o omxSymbolTable.o sadmvn.o -lgfortran -L/Library/Frameworks/R.framework/Resources/lib/x86_64 -lRblas -L/Library/Frameworks/R.framework/Resources/lib/x86_64 -lRlapack -lnpsol -L../inst/npsol/osx -lgfortran -F/Library/Frameworks/R.framework/.. -framework R -Wl,-framework -Wl,CoreFoundation
** R
Error in parse(outFile) :
/private/tmp/RtmpMzp7Zj/R.INSTALL10d63af1/OpenMx/R/MxRun.R:1:1: unexpected input
1: <<
^
ERROR: unable to collate files for package ‘OpenMx’
* removing ‘/Library/Frameworks/R.framework/Resources/library/OpenMx’
* restoring previous ‘/Library/Frameworks/R.framework/Resources/library/OpenMx’
make: *** [install] Error 1

I misspelled length in one instance, but that didn't stop the package from compiling on windows or OS 10.5. I don't have access to a snow leopard machine. Try 'svn status' to make sure you have not modified any files locally. Then a 'svn update' and a 'make clean install'. Not sure what's breaking for you.

Ah yes, my fiddling about to get sqrt(2)'d standard errors created a conflict which only just emerged. All's now well with building the os x version under 10.6.2 and R 2.10.1.

Automatically closed -- issue fixed for 2 weeks with no activity.