Hello! Backup import fails with the following weird, unclear error:
INFO 03-14 11:20:14.787 BackupImportController.java 57284 240 org.apache.openmeetings.servlet.outputhandler.BackupImportController [main] - Organizations import complete, starting user import [ERROR] [main] org.apache.openmeetings.cli.Admin - Restore failed java.lang.NullPointerException: null at org.simpleframework.xml.convert.Reference.getType(Reference.java:70) ~[simple-xml-jar-2.6.9.jar:na] at org.simpleframework.xml.core.Factory.getOverride(Factory.java:143) ~[simple-xml-jar-2.6.9.jar:na] at org.simpleframework.xml.core.ObjectFactory.getInstance(ObjectFactory.java:63) ~[simple-xml-jar-2.6.9.jar:na] at org.simpleframework.xml.core.Composite.read(Composite.java:139) ~[simple-xml-jar-2.6.9.jar:na] at org.simpleframework.xml.core.Composite.readVariable(Composite.java:623) ~[simple-xml-jar-2.6.9.jar:na] at org.simpleframework.xml.core.Composite.readInstance(Composite.java:573) ~[simple-xml-jar-2.6.9.jar:na] at org.simpleframework.xml.core.Composite.readUnion(Composite.java:549) ~[simple-xml-jar-2.6.9.jar:na] at org.simpleframework.xml.core.Composite.readElement(Composite.java:532) ~[simple-xml-jar-2.6.9.jar:na] at org.simpleframework.xml.core.Composite.readElements(Composite.java:445) ~[simple-xml-jar-2.6.9.jar:na] at org.simpleframework.xml.core.Composite.access$400(Composite.java:59) ~[simple-xml-jar-2.6.9.jar:na] at org.simpleframework.xml.core.Composite$Builder.read(Composite.java:1383) ~[simple-xml-jar-2.6.9.jar:na] at org.simpleframework.xml.core.Composite.read(Composite.java:201) ~[simple-xml-jar-2.6.9.jar:na] at org.simpleframework.xml.core.Composite.read(Composite.java:148) ~[simple-xml-jar-2.6.9.jar:na] at org.simpleframework.xml.core.Composite.readVariable(Composite.java:623) ~[simple-xml-jar-2.6.9.jar:na] at org.simpleframework.xml.core.Composite.readInstance(Composite.java:573) ~[simple-xml-jar-2.6.9.jar:na] at org.simpleframework.xml.core.Composite.readUnion(Composite.java:549) ~[simple-xml-jar-2.6.9.jar:na] at org.simpleframework.xml.core.Composite.readElement(Composite.java:532) ~[simple-xml-jar-2.6.9.jar:na] at org.simpleframework.xml.core.Composite.readElements(Composite.java:445) ~[simple-xml-jar-2.6.9.jar:na] at org.simpleframework.xml.core.Composite.access$400(Composite.java:59) ~[simple-xml-jar-2.6.9.jar:na] at org.simpleframework.xml.core.Composite$Builder.read(Composite.java:1383) ~[simple-xml-jar-2.6.9.jar:na] at org.simpleframework.xml.core.Composite.read(Composite.java:201) ~[simple-xml-jar-2.6.9.jar:na] at org.simpleframework.xml.core.Composite.read(Composite.java:148) ~[simple-xml-jar-2.6.9.jar:na] at org.simpleframework.xml.core.Traverser.read(Traverser.java:92) ~[simple-xml-jar-2.6.9.jar:na] at org.simpleframework.xml.core.Persister.read(Persister.java:625) ~[simple-xml-jar-2.6.9.jar:na] at org.simpleframework.xml.core.Persister.read(Persister.java:606) ~[simple-xml-jar-2.6.9.jar:na] at org.simpleframework.xml.core.Persister.read(Persister.java:584) ~[simple-xml-jar-2.6.9.jar:na] at org.apache.openmeetings.servlet.outputhandler.BackupImportController.readUserList(BackupImportController.java:737) ~[openmeetings-2.1.0-RELEASE.jar:na] at org.apache.openmeetings.servlet.outputhandler.BackupImportController.readUserList(BackupImportController.java:691) ~[openmeetings-2.1.0-RELEASE.jar:na] at org.apache.openmeetings.servlet.outputhandler.BackupImportController.performImport(BackupImportController.java:245) ~[openmeetings-2.1.0-RELEASE.jar:na] at org.apache.openmeetings.cli.Admin.restoreOm(Admin.java:616) [openmeetings-2.1.0-RELEASE.jar:na] at org.apache.openmeetings.cli.Admin.process(Admin.java:262) [openmeetings-2.1.0-RELEASE.jar:na] at org.apache.openmeetings.cli.Admin.main(Admin.java:623) [openmeetings-2.1.0-RELEASE.jar:na] It does not matter the version of openmeetings. I tried to restore 2.1.0 backup to 3.0.7, and to 2.1.0 (the same version which produced backup file). The case of this error was the state_id in address in user definition. If state_id is not in predefined list of state ids - import fails. As I understand state for ldap users is taken from Active Directory field (which can be empty or contain any string), and openmeetings creates new state_id with new state name if no-one was matched. As a result importing backup constantly fails until I fixed state_id to one of predefined (update om_user set state_id=221). I guess at least error in this case can be more informative.