[8.4.1] ERA viewer won't start

"To launch the graphical ERA tool, either run the Monkey C: Start ERA Viewer command from the command palette of Visual Studio Code"

After installing SDK 8.4.1 ERA viewer won't start from the VSC menu. Actually it states Open ERA Viewer instead of Start ERA Viewer. Rolling back to 8.4.0 it works fine.

  • The first time I ran the 8.4.1 version I was prompted for my credentials.  I entered them and was able to see my ERA reports.  The only odd thing is it didn't close the window where I'd entered my credentials, so I closed it.  Running ERA again went right to my ERA reports.

    So basically, working OK for me.... (win11)

  • On Windows, I see the same behaviour as jim_m_58 where I was prompted to enter credentials (as noted in the changelog), but the credentials window closed automatically.

    I do find it strange that the previous version of the ERA viewer apparently continues to work without credentials.

    This tells me that the previous ERA viewer either:

    - already passes credentials to the ERA service (but then why do we need to enter them again in the new version?)

    - currently works fine without credentials (does this imply that eventually old ERA viewers will stop working?)

    EDIT: I tried it on Mac and it works fine there, too.

  • Glad it works for you guys, however for me it still is not working (win 11). Maybe because I just pushed the update with regard to the timer issue in onLayout using 8.4.1 to production. I don't know, tried a lot, but don't even get a message.

  • At least this time I don't expect any more errors, last time I just pushed a new release which had half the code base changed :D.

  • I did notice that on Mac, the ERA viewer asks me for credentials every time. And when I run the ERA Viewer from the command line, I do see some Java error messages in the console, although it does work after entering credentials.

    ❯ ./era
    java.lang.NumberFormatException: Cannot parse null string
    	at java.base/java.lang.Integer.parseInt(Integer.java:624)
    	at java.base/java.lang.Integer.parseInt(Integer.java:778)
    	at com.garmin.connectiq.era.net.CredentialsHandler.getServerFromConfigFile(CredentialsHandler.java:301)
    	at com.garmin.connectiq.era.cli.EraDownloader.main(EraDownloader.java:30)

    You can try running the ERA viewer from the command line and see if there's any error messages that point to a problem so you can post a bug report.

    - Determine the bin\ folder for the current SDK as in https://developer.garmin.com/connect-iq/reference-guides/monkey-c-command-line-setup/

    (Another way to do this is to use "Monkey C: Open Sample Folder" in VS Code, which opens ...\ConnectIQ\[current SDK]\Samples, then navigate up one folder)

    - Open the SDK's bin\ folder in Windows Terminal / command prompt

    - Type:

    era

    (on Windows, this will actually run era.bat)

  • C:\Users\benni\AppData\Roaming\Garmin\ConnectIQ\Sdks\connectiq-sdk-win-8.4.1-2026-02-03-e9f77eeaa\bin>era
    Exception in thread "main" java.lang.UnsupportedClassVersionError: com/garmin/connectiq/era/cli/EraDownloader has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0

    [..]

    However Java tells me I already have the latest version running on the system ().

  • From Mac after I gave my credentials it showed the "usual" error message window. I even reported it here yesterday: https://forums.garmin.com/developer/connect-iq/i/bug-reports/bug-server-error-in-era-viewer?CommentId=98d76de6-f27c-4bc7-976b-34ba92043e99 

    ...

    Well, no it doesn't work. It's a 1 shot thing, as flowsatate wrote: need to log in every time I open ERA viewer.

  • Exactly what version of Java are you using? Type the following command in terminal / command prompt:

    java -version

    From the error message you posted, it sounds like you are using Java 8 (aka 1.8), while the new ERA viewer requires Java 11 or higher:

    https://stackoverflow.com/questions/9170832/list-of-java-class-file-format-major-version-numbers

    I typically use the Java version offered here: https://adoptium.net/ (Eclipse Temurin)

    Currently it's offering version 25 (LTS), although I use 21.x on my Mac and Windows PC. (I don't bother to update all the time)

    Btw, Java 8 is 12 years old at this point, and a few distributions have stopped offering free public updates. which might explain why Garmin apparently switched to a newer Java version [or maybe they wanted to use some newer features, idk].

    However Java tells me I already have the latest version running on the system

    This probably just means that you have the latest minor version of whatever major version is installed on your system.

    e.g. If you are running Java 8, then it means you have the latest version of Java 8, not that you have the absolute latest Java major version [which is Java 25].

  • C:\Users\benni>java -version
    java version "1.8.0_481"
    Java(TM) SE Runtime Environment (build 1.8.0_481-b10)
    Java HotSpot(TM) 64-Bit Server VM (build 25.481-b10, mixed mode)

    I'll dive into it first thing in the morning. Thanks for your help so far.