ODK briefcase does not start anymore

Dear ODKers,
What is the problem? Please be detailed.
I have been using ODK for data collection for the past few weeks and used briefcase to pull and export the data from a collect directory. It worked just fine for some time, but now the briefcase jar file does not open anymore.

What ODK tool and version are you using? And on what device and operating system version?
I am using the latest odk collect (v1.19.0) version. After the problem first occured with the previous briefcase version, I downloaded v1.14.0, but the problem prevails. The operating systems is windows 10 pro and java 1.8.0_201.

What you have you tried to fix the problem?
I have reinstalled java as well as deleted and re-downloaded the briefcase jar file. java is running fine, but when I try to open briefcase through the cmd window, this is the error: Mär 04, 2019 4:56:06 PM java.util.prefs.WindowsPreferences
WARNING: Could not open/create prefs root node Software\JavaSoft\Prefs at root 0x80000002. Windows RegCreateKeyEx(...) returned error code 5.
Failed to launch Briefcase GUI
Following this warning, I have created a prefs key like suggested here, but the warning prevails and briefcase does not open.
After re-installing java, briefcase opens once, lets me pull data, but they do not appear in the export window and after briefcase is closed, it does not reopen.

Please let me know if you need any more information.
All the best, Lisa.

1 Like

Hi, @LisaR!

Could you find the briefcase.log log file and attach it here so that we can see if there's any message that helps us understand what's the problem? The file is usually in the same directory where you launch Briefcase from.

1 Like

Do you have a significant number of forms/instances in your 'ODK Briefcase' folder? If so this could be the source of the problem. I would open and run with more ram using the cmd by allocating more ram

"C:\Program Files (x86)\Java\jre1.8.0_65\bin\javaw.exe" -"Xmx1024m" -jar "ODK Briefcase v1.x.x Production.jar"

Alternatively you can remove existing forms/instances from the "ODK Brieface" folder (just place them in another folder/archive). This is the better solution I have found.

Thank you @ggalmazor for having a look at the problem. This is what the latest log file says: 2019-03-05 08:15:13,739 [main] ERROR o.o.briefcase.ui.MainBriefcaseWindow - Failed to launch GUI
java.lang.IllegalStateException: Duplicate key org.opendatakit.briefcase.model.FormStatus@55cf0d14
at java.util.stream.Collectors.lambda$throwingMerger$0(Unknown Source)
at java.util.HashMap.merge(Unknown Source)
at java.util.stream.Collectors.lambda$toMap$58(Unknown Source)
at java.util.stream.ReduceOps$3ReducingSink.accept(Unknown Source)
at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source)
at java.util.stream.AbstractPipeline.copyInto(Unknown Source)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source)
at java.util.stream.AbstractPipeline.evaluate(Unknown Source)
at java.util.stream.ReferencePipeline.collect(Unknown Source)
at org.opendatakit.briefcase.transfer.TransferForms.rebuildIndex(TransferForms.java:174)
at org.opendatakit.briefcase.transfer.TransferForms.(TransferForms.java:50)
at org.opendatakit.briefcase.transfer.TransferForms.from(TransferForms.java:65)
at org.opendatakit.briefcase.ui.push.PushPanel.from(PushPanel.java:100)
at org.opendatakit.briefcase.ui.MainBriefcaseWindow.(MainBriefcaseWindow.java:116)
at org.opendatakit.briefcase.ui.MainBriefcaseWindow.launchGUI(MainBriefcaseWindow.java:77)
at org.opendatakit.briefcase.Launcher.lambda$main$0(Launcher.java:67)
at org.opendatakit.common.cli.Cli.lambda$run$5(Cli.java:136)
at java.lang.Iterable.forEach(Unknown Source)
at org.opendatakit.common.cli.Cli.run(Cli.java:136)
at org.opendatakit.briefcase.Launcher.main(Launcher.java:79)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:58)

Thank you for the idea. I have 3 forms with 269 instances for one, 50 for another and 21 for the last. I tried your suggestions, but unfortunately, both ways, allocating more ram and removing the instances, do not solve the problem.

Hi, @LisaR!

That part of the log message I'm quoting tells us that there's at least a couple of forms in Briefcase's storage folder that share the same form ID. This is something that Briefcase doesn't support and will refuse to start until this is solved.

Since you have only three forms, here's what you can try:

  • Make a backup copy of your ODK Briefcase Storage directory (the one you configured in the Settings tab)
  • Remove all but one form inside the forms directory inside it
  • Open Briefcase and hit the "Reload cache" button in the Settings tab
  • Close Briefcase.
  • Restore one form so that there are two forms now.
  • Repeat open briefcase, reload cache, etc.
  • Restore the last form and repeat

Eventually you will get the error and that will tell you which of the forms has the duplicated form ID. You can keep that one in a separate storage directory and switch between them using the Settings tab.

1 Like

Thank you very much! This way did not work exactly because still briefcase did not even open, but I think this way I found the real problem. I had deleted and re-downloaded briefcase, but then specified the same storage directory without having deleted the "ODK Briefcase Storage" file. After doing so, it could open again without problems. Additionally, there were indeed some older versions of the forms or its instances in one of the files that I was pulling from. After deleting them as well, everything works perfectly. Thank you!

2 Likes

I'm glad that it's working again :slight_smile: